mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 09:23:03 +00:00
feat(mainwindow):dockitem notification window hidden or displayed
This commit is contained in:
parent
d0fdde7a50
commit
f05debd9f5
@ -49,6 +49,7 @@ DockItemManager::DockItemManager(QObject *parent)
|
||||
// 应用区域
|
||||
for (auto entry : m_appInter->entries()) {
|
||||
AppItem *it = new AppItem(entry);
|
||||
manageItem(it);
|
||||
|
||||
connect(it, &AppItem::requestActivateWindow, m_appInter, &DBusDock::ActivateWindow, Qt::QueuedConnection);
|
||||
connect(it, &AppItem::requestPreviewWindow, m_appInter, &DBusDock::PreviewWindow);
|
||||
@ -247,6 +248,7 @@ void DockItemManager::appItemAdded(const QDBusObjectPath &path, const int index)
|
||||
}
|
||||
|
||||
AppItem *item = new AppItem(path);
|
||||
manageItem(item);
|
||||
|
||||
connect(item, &AppItem::requestActivateWindow, m_appInter, &DBusDock::ActivateWindow, Qt::QueuedConnection);
|
||||
connect(item, &AppItem::requestPreviewWindow, m_appInter, &DBusDock::PreviewWindow);
|
||||
@ -281,6 +283,8 @@ void DockItemManager::appItemRemoved(AppItem *appItem)
|
||||
|
||||
void DockItemManager::pluginItemInserted(PluginsItem *item)
|
||||
{
|
||||
manageItem(item);
|
||||
|
||||
// check item is in container
|
||||
if (item->allowContainer() && item->isInContainer()) {
|
||||
return itemDroppedIntoContainer(item);
|
||||
@ -386,3 +390,9 @@ void DockItemManager::sortPluginItems()
|
||||
emit itemInserted(-1, m_itemList[i]);
|
||||
}
|
||||
}
|
||||
|
||||
void DockItemManager::manageItem(DockItem *item)
|
||||
{
|
||||
connect(item, &DockItem::requestRefreshWindowVisible, this, &DockItemManager::requestRefershWindowVisible, Qt::UniqueConnection);
|
||||
connect(item, &DockItem::requestWindowAutoHide, this, &DockItemManager::requestWindowAutoHide, Qt::UniqueConnection);
|
||||
}
|
||||
|
@ -55,6 +55,8 @@ signals:
|
||||
void itemRemoved(DockItem *item) const;
|
||||
void itemUpdated(DockItem *item) const;
|
||||
void fashionTraySizeChanged(const QSize &traySize) const;
|
||||
void requestWindowAutoHide(const bool autoHide) const;
|
||||
void requestRefershWindowVisible() const;
|
||||
|
||||
public slots:
|
||||
void refershItemsIcon();
|
||||
@ -73,6 +75,7 @@ private:
|
||||
void pluginItemInserted(PluginsItem *item);
|
||||
void pluginItemRemoved(PluginsItem *item);
|
||||
void reloadAppItems();
|
||||
void manageItem(DockItem *item);
|
||||
|
||||
private:
|
||||
QTimer *m_updatePluginsOrderTimer;
|
||||
|
@ -405,6 +405,8 @@ void MainWindow::initConnections()
|
||||
|
||||
connect(DockItemManager::instance(), &DockItemManager::itemInserted, m_mainPanel, &MainPanelControl::insertItem, Qt::DirectConnection);
|
||||
connect(DockItemManager::instance(), &DockItemManager::itemRemoved, m_mainPanel, &MainPanelControl::removeItem, Qt::DirectConnection);
|
||||
connect(DockItemManager::instance(), &DockItemManager::requestRefershWindowVisible, this, &MainWindow::updatePanelVisible, Qt::QueuedConnection);
|
||||
connect(DockItemManager::instance(), &DockItemManager::requestWindowAutoHide, m_settings, &DockSettings::setAutoHide);
|
||||
connect(m_mainPanel, &MainPanelControl::itemMoved, DockItemManager::instance(), &DockItemManager::itemMoved, Qt::DirectConnection);
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user