feat: 增加桌面应用图标的AM访问

修复DockItemManager和AppItem类中对AM接口的访问

Log:
Influence: 任务栏
Task: https://pms.uniontech.com/task-view-133075.html
Change-Id: I93a656f5437a24fb2d964b337b793d4759375dc2
This commit is contained in:
donghualin 2022-06-21 17:42:50 +08:00
parent 241dd68d30
commit 7091b32239
4 changed files with 14 additions and 18 deletions

View File

@ -38,7 +38,7 @@ const QGSettings *DockItemManager::m_dockedSettings = Utils::ModuleSettingsPtr("
DockItemManager::DockItemManager(QObject *parent)
: QObject(parent)
, m_appInter(new DBusDock("com.deepin.dde.daemon.Dock", "/com/deepin/dde/daemon/Dock", QDBusConnection::sessionBus(), this))
, m_appInter(new DockInter(dockServiceName(), dockServicePath(), QDBusConnection::sessionBus(), this))
, m_pluginsInter(new DockPluginsController(this))
, m_loadFinished(false)
{
@ -50,9 +50,9 @@ DockItemManager::DockItemManager(QObject *parent)
AppItem *it = new AppItem(m_appSettings, m_activeSettings, m_dockedSettings, entry);
manageItem(it);
connect(it, &AppItem::requestActivateWindow, m_appInter, &DBusDock::ActivateWindow, Qt::QueuedConnection);
connect(it, &AppItem::requestPreviewWindow, m_appInter, &DBusDock::PreviewWindow);
connect(it, &AppItem::requestCancelPreview, m_appInter, &DBusDock::CancelPreviewWindow);
connect(it, &AppItem::requestActivateWindow, m_appInter, &DockInter::ActivateWindow, Qt::QueuedConnection);
connect(it, &AppItem::requestPreviewWindow, m_appInter, &DockInter::PreviewWindow);
connect(it, &AppItem::requestCancelPreview, m_appInter, &DockInter::CancelPreviewWindow);
connect(this, &DockItemManager::requestUpdateDockItem, it, &AppItem::requestUpdateEntryGeometries);
@ -62,9 +62,9 @@ DockItemManager::DockItemManager(QObject *parent)
// 托盘区域和插件区域 由DockPluginsController获取
// 应用信号
connect(m_appInter, &DBusDock::EntryAdded, this, &DockItemManager::appItemAdded);
connect(m_appInter, &DBusDock::EntryRemoved, this, static_cast<void (DockItemManager::*)(const QString &)>(&DockItemManager::appItemRemoved), Qt::QueuedConnection);
connect(m_appInter, &DBusDock::ServiceRestarted, this, &DockItemManager::reloadAppItems);
connect(m_appInter, &DockInter::EntryAdded, this, &DockItemManager::appItemAdded);
connect(m_appInter, &DockInter::EntryRemoved, this, static_cast<void (DockItemManager::*)(const QString &)>(&DockItemManager::appItemRemoved), Qt::QueuedConnection);
connect(m_appInter, &DockInter::ServiceRestarted, this, &DockItemManager::reloadAppItems);
// 插件信号
connect(m_pluginsInter, &DockPluginsController::pluginItemInserted, this, &DockItemManager::pluginItemInserted, Qt::QueuedConnection);
@ -203,9 +203,9 @@ void DockItemManager::appItemAdded(const QDBusObjectPath &path, const int index)
manageItem(item);
connect(item, &AppItem::requestActivateWindow, m_appInter, &DBusDock::ActivateWindow, Qt::QueuedConnection);
connect(item, &AppItem::requestPreviewWindow, m_appInter, &DBusDock::PreviewWindow);
connect(item, &AppItem::requestCancelPreview, m_appInter, &DBusDock::CancelPreviewWindow);
connect(item, &AppItem::requestActivateWindow, m_appInter, &DockInter::ActivateWindow, Qt::QueuedConnection);
connect(item, &AppItem::requestPreviewWindow, m_appInter, &DockInter::PreviewWindow);
connect(item, &AppItem::requestCancelPreview, m_appInter, &DockInter::CancelPreviewWindow);
connect(this, &DockItemManager::requestUpdateDockItem, item, &AppItem::requestUpdateEntryGeometries);
m_itemList.insert(insertIndex, item);

View File

@ -27,12 +27,10 @@
#include "dockitem.h"
#include "appitem.h"
#include "placeholderitem.h"
#include <com_deepin_dde_daemon_dock.h>
#include "dbusutil.h"
#include <QObject>
using DBusDock = com::deepin::dde::daemon::Dock;
/**
* @brief The DockItemManager class
*
@ -78,7 +76,7 @@ private:
void manageItem(DockItem *item);
private:
DBusDock *m_appInter;
DockInter *m_appInter;
DockPluginsController *m_pluginsInter;
static DockItemManager *INSTANCE;

View File

@ -55,7 +55,7 @@ AppItem::AppItem(const QGSettings *appSettings, const QGSettings *activeAppSetti
, m_activeAppSettings(activeAppSettings)
, m_dockedAppSettings(dockedAppSettings)
, m_appPreviewTips(nullptr)
, m_itemEntryInter(new DockEntryInter("com.deepin.dde.daemon.Dock", entry.path(), QDBusConnection::sessionBus(), this))
, m_itemEntryInter(new DockEntryInter(dockServiceName(), entry.path(), QDBusConnection::sessionBus(), this))
, m_swingEffectView(nullptr)
, m_itemAnimation(nullptr)
, m_wmHelper(DWindowManagerHelper::instance())

View File

@ -28,15 +28,13 @@
#include "appdrag.h"
#include "dbusclientmanager.h"
#include "../widgets/tipswidget.h"
#include "dbusutil.h"
#include <QGraphicsView>
#include <QGraphicsItem>
#include <QGraphicsItemAnimation>
#include <DGuiApplicationHelper>
#include <com_deepin_dde_daemon_dock_entry.h>
using DockEntryInter = com::deepin::dde::daemon::dock::Entry;
class QGSettings;
class AppItem : public DockItem