From 176d58e9f9b88faa83e49d79d98bd35f29e482ae Mon Sep 17 00:00:00 2001 From: listenerri Date: Wed, 16 Jan 2019 10:23:01 +0800 Subject: [PATCH] fix: obtain opacity value too frequently when startup https://github.com/linuxdeepin/internal-discussion/issues/858 Change-Id: I71b82e2ecebe1a3f9437403d2ee90df7c42d0c08 --- frame/util/docksettings.cpp | 21 ++------------------- frame/util/docksettings.h | 3 --- 2 files changed, 2 insertions(+), 22 deletions(-) diff --git a/frame/util/docksettings.cpp b/frame/util/docksettings.cpp index e967739f0..f9647c91a 100644 --- a/frame/util/docksettings.cpp +++ b/frame/util/docksettings.cpp @@ -59,7 +59,6 @@ DockSettings::DockSettings(QWidget *parent) , m_displayInter(new DBusDisplay(this)) , m_dockInter(new DBusDock("com.deepin.dde.daemon.Dock", "/com/deepin/dde/daemon/Dock", QDBusConnection::sessionBus(), this)) , m_itemController(DockItemController::instance(this)) - , m_appearanceInter(new Appearance("com.deepin.daemon.Appearance", "/com/deepin/daemon/Appearance", QDBusConnection::sessionBus(), this)) { m_primaryRect = m_displayInter->primaryRect(); m_primaryRawRect = m_displayInter->primaryRawRect(); @@ -76,8 +75,6 @@ DockSettings::DockSettings(QWidget *parent) DockItem::setDockDisplayMode(m_displayMode); qApp->setProperty(PROP_DISPLAY_MODE, QVariant::fromValue(m_displayMode)); - m_appearanceInter->setSync(false, false); - m_fashionModeAct.setCheckable(true); m_efficientModeAct.setCheckable(true); m_topPosAct.setCheckable(true); @@ -130,15 +127,6 @@ DockSettings::DockSettings(QWidget *parent) m_settingsMenu.addAction(hideSubMenuAct); m_settingsMenu.setTitle("Settings Menu"); - auto onDaemonIsvalid = [=] (bool isValid) { - if (isValid) { - onOpacityChanged(m_appearanceInter->opacity()); - } - else { - m_appearanceInter->startServiceProcess(); - } - }; - connect(&m_settingsMenu, &WhiteMenu::triggered, this, &DockSettings::menuActionClicked); connect(m_dockInter, &DBusDock::PositionChanged, this, &DockSettings::onPositionChanged); connect(m_dockInter, &DBusDock::IconSizeChanged, this, &DockSettings::iconSizeChanged); @@ -146,6 +134,7 @@ DockSettings::DockSettings(QWidget *parent) connect(m_dockInter, &DBusDock::HideModeChanged, this, &DockSettings::hideModeChanged, Qt::QueuedConnection); connect(m_dockInter, &DBusDock::HideStateChanged, this, &DockSettings::hideStateChanged); connect(m_dockInter, &DBusDock::ServiceRestarted, this, &DockSettings::resetFrontendGeometry); + connect(m_dockInter, &DBusDock::OpacityChanged, this, &DockSettings::onOpacityChanged); connect(m_itemController, &DockItemController::itemInserted, this, &DockSettings::dockItemCountChanged, Qt::QueuedConnection); connect(m_itemController, &DockItemController::itemRemoved, this, &DockSettings::dockItemCountChanged, Qt::QueuedConnection); @@ -155,12 +144,6 @@ DockSettings::DockSettings(QWidget *parent) connect(m_displayInter, &DBusDisplay::ScreenHeightChanged, this, &DockSettings::primaryScreenChanged, Qt::QueuedConnection); connect(m_displayInter, &DBusDisplay::ScreenWidthChanged, this, &DockSettings::primaryScreenChanged, Qt::QueuedConnection); - connect(m_appearanceInter, &Appearance::serviceStartFinished, this, [=] { - onDaemonIsvalid(m_appearanceInter->isValid()); - }); - connect(m_appearanceInter, &Appearance::serviceValidChanged, this, onDaemonIsvalid); - connect(m_appearanceInter, &Appearance::OpacityChanged, this, &DockSettings::onOpacityChanged); - DApplication *app = qobject_cast(qApp); if (app) { connect(app, &DApplication::iconThemeChanged, this, &DockSettings::gtkIconThemeChanged); @@ -170,7 +153,7 @@ DockSettings::DockSettings(QWidget *parent) updateForbidPostions(); resetFrontendGeometry(); - onDaemonIsvalid(m_appearanceInter->isValid()); + QTimer::singleShot(0, this, [=] {onOpacityChanged(m_dockInter->opacity());}); } DockSettings &DockSettings::Instance() diff --git a/frame/util/docksettings.h b/frame/util/docksettings.h index 4ddcf26df..5a2986d17 100644 --- a/frame/util/docksettings.h +++ b/frame/util/docksettings.h @@ -27,7 +27,6 @@ #include "dbus/dbusdisplay.h" #include "controller/dockitemcontroller.h" -#include #include #include @@ -41,7 +40,6 @@ DWIDGET_USE_NAMESPACE using namespace Dock; -using Appearance = com::deepin::daemon::Appearance; using DBusDock = com::deepin::dde::daemon::Dock; class WhiteMenu : public QMenu @@ -160,7 +158,6 @@ private: DBusDisplay *m_displayInter; DBusDock *m_dockInter; DockItemController *m_itemController; - Appearance* m_appearanceInter; }; #endif // DOCKSETTINGS_H