adjust item layout if receive itemUpdate signal

Change-Id: Icf29a0ff3d09b1ef7998939da85f17610467aa5c
This commit is contained in:
石博文 2017-02-09 09:27:03 +08:00
parent cad692b40a
commit 83a0d66185
Notes: Deepin Code Review 2017-02-09 09:48:21 +08:00
Verified+1: Anonymous Coward #1000004
Code-Review+2: 石博文 <sbw@sbw.so>
Submitted-by: 石博文 <sbw@sbw.so>
Submitted-at: Thu, 09 Feb 2017 09:48:21 +0800
Reviewed-on: https://cr.deepin.io/20051
Project: dde/dde-dock
Branch: refs/heads/master
5 changed files with 6 additions and 0 deletions

View File

@ -187,6 +187,7 @@ DockItemController::DockItemController(QObject *parent)
connect(m_pluginsInter, &DockPluginsController::pluginItemInserted, this, &DockItemController::pluginItemInserted, Qt::QueuedConnection);
connect(m_pluginsInter, &DockPluginsController::pluginItemRemoved, this, &DockItemController::pluginItemRemoved, Qt::QueuedConnection);
connect(m_pluginsInter, &DockPluginsController::pluginItemUpdated, this, &DockItemController::itemUpdated, Qt::QueuedConnection);
QMetaObject::invokeMethod(this, "refershItemsIcon", Qt::QueuedConnection);
}

View File

@ -30,6 +30,7 @@ signals:
void itemRemoved(DockItem *item) const;
void itemMoved(DockItem *item, const int index) const;
void itemManaged(DockItem *item) const;
void itemUpdated(DockItem *item) const;
public slots:
void refershItemsIcon();

View File

@ -39,6 +39,8 @@ void DockPluginsController::itemUpdate(PluginsItemInterface * const itemInter, c
Q_ASSERT(item);
item->update();
emit pluginItemUpdated(item);
}
void DockPluginsController::itemRemoved(PluginsItemInterface * const itemInter, const QString &itemKey)

View File

@ -27,6 +27,7 @@ public:
signals:
void pluginItemInserted(PluginsItem *pluginItem) const;
void pluginItemRemoved(PluginsItem *pluginItem) const;
void pluginItemUpdated(PluginsItem *pluginItem) const;
private slots:
void startLoader();

View File

@ -72,6 +72,7 @@ MainPanel::MainPanel(QWidget *parent)
connect(m_itemController, &DockItemController::itemRemoved, this, &MainPanel::itemRemoved, Qt::DirectConnection);
connect(m_itemController, &DockItemController::itemMoved, this, &MainPanel::itemMoved);
connect(m_itemController, &DockItemController::itemManaged, this, &MainPanel::manageItem);
connect(m_itemController, &DockItemController::itemUpdated, m_itemAdjustTimer, static_cast<void (QTimer::*)()>(&QTimer::start));
connect(m_itemAdjustTimer, &QTimer::timeout, this, &MainPanel::adjustItemSize, Qt::QueuedConnection);
m_itemAdjustTimer->setSingleShot(true);