| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #include "MediatorFileTree.h"
- /* 文件夹对比界面的中介者,使用中介者是为了让消息经过中介对象统一调度,避免左右互相依赖导致交互混乱
- */
- MediatorFileTree::MediatorFileTree() :QObject(nullptr)
- {
- }
- MediatorFileTree::~MediatorFileTree()
- {
- }
- void MediatorFileTree::setLeftScrollValue(int value)
- {
- m_leftScrollValue = value;
- //如果左右不相等,则推动对方去同步
- if (m_leftScrollValue != m_rightScrollValue)
- {
- emit syncCurScrollValue(0);
- }
- }
- void MediatorFileTree::setRightScrollValue(int value)
- {
- m_rightScrollValue = value;
- if (m_leftScrollValue != m_rightScrollValue)
- {
- emit syncCurScrollValue(1);
- }
- }
- int MediatorFileTree::getLeftScrollValue()
- {
- return m_leftScrollValue;
- }
- int MediatorFileTree::getRightScrollValue()
- {
- return m_rightScrollValue;
- }
- //设置item。中介本身不保存ITEM,因为太多,发送消息给外面空间
- void MediatorFileTree::setLeftItemStatus(QString name, int status)
- {
- emit syncExpandStatus(name, RC_LEFT, status);
- }
- void MediatorFileTree::setRightItemStatus(QString name, int status)
- {
- emit syncExpandStatus(name, RC_RIGHT, status);
- }
|