diff --git a/frame/item/launcheritem.cpp b/frame/item/launcheritem.cpp index 67b61ade7..b3f7bbd99 100644 --- a/frame/item/launcheritem.cpp +++ b/frame/item/launcheritem.cpp @@ -31,10 +31,12 @@ DCORE_USE_NAMESPACE LauncherItem::LauncherItem(QWidget *parent) - : DockItem(parent), - - m_tips(new TipsWidget(this)) + : DockItem(parent) + , m_launcherInter(new LauncherInter("com.deepin.dde.Launcher", "/com/deepin/dde/Launcher", QDBusConnection::sessionBus(), this)) + , m_tips(new TipsWidget(this)) { + m_launcherInter->setSync(true, false); + setAccessibleName("Launcher"); m_tips->setVisible(false); m_tips->setObjectName("launcher"); @@ -94,12 +96,10 @@ void LauncherItem::mousePressEvent(QMouseEvent *e) connect(proc, static_cast(&QProcess::finished), proc, &QProcess::deleteLater); - DDBusSender() - .service("com.deepin.dde.Launcher") - .interface("com.deepin.dde.Launcher") - .path("/com/deepin/dde/Launcher") - .method("Toggle") - .call(); + if (!m_launcherInter->IsVisible()) { + m_launcherInter->Show(); + } + } QWidget *LauncherItem::popupTips() diff --git a/frame/item/launcheritem.h b/frame/item/launcheritem.h index d31719a33..23b3dda86 100644 --- a/frame/item/launcheritem.h +++ b/frame/item/launcheritem.h @@ -25,6 +25,10 @@ #include "dockitem.h" #include "../widgets/tipswidget.h" +#include + +using LauncherInter = com::deepin::dde::Launcher; + class LauncherItem : public DockItem { Q_OBJECT @@ -46,7 +50,7 @@ private: private: QPixmap m_smallIcon; QPixmap m_largeIcon; - + LauncherInter *m_launcherInter; TipsWidget *m_tips; };