fix: obtain opacity value too frequently when startup

https://github.com/linuxdeepin/internal-discussion/issues/858

Change-Id: I71b82e2ecebe1a3f9437403d2ee90df7c42d0c08
This commit is contained in:
listenerri 2019-01-16 10:23:01 +08:00
parent 2bc2f2e831
commit 176d58e9f9
Notes: gerrit 2019-01-16 12:56:01 +08:00
Verified+1: <jenkins@deepin.com>
Code-Review+2: listenerri <listenerri@gmail.com>
Submitted-by: listenerri <listenerri@gmail.com>
Submitted-at: Wed, 16 Jan 2019 12:56:01 +0800
Reviewed-on: https://cr.deepin.io/41356
Project: dde/dde-dock
Branch: refs/heads/master
2 changed files with 2 additions and 22 deletions

View File

@ -59,7 +59,6 @@ DockSettings::DockSettings(QWidget *parent)
, m_displayInter(new DBusDisplay(this)) , m_displayInter(new DBusDisplay(this))
, m_dockInter(new DBusDock("com.deepin.dde.daemon.Dock", "/com/deepin/dde/daemon/Dock", QDBusConnection::sessionBus(), this)) , m_dockInter(new DBusDock("com.deepin.dde.daemon.Dock", "/com/deepin/dde/daemon/Dock", QDBusConnection::sessionBus(), this))
, m_itemController(DockItemController::instance(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_primaryRect = m_displayInter->primaryRect();
m_primaryRawRect = m_displayInter->primaryRawRect(); m_primaryRawRect = m_displayInter->primaryRawRect();
@ -76,8 +75,6 @@ DockSettings::DockSettings(QWidget *parent)
DockItem::setDockDisplayMode(m_displayMode); DockItem::setDockDisplayMode(m_displayMode);
qApp->setProperty(PROP_DISPLAY_MODE, QVariant::fromValue(m_displayMode)); qApp->setProperty(PROP_DISPLAY_MODE, QVariant::fromValue(m_displayMode));
m_appearanceInter->setSync(false, false);
m_fashionModeAct.setCheckable(true); m_fashionModeAct.setCheckable(true);
m_efficientModeAct.setCheckable(true); m_efficientModeAct.setCheckable(true);
m_topPosAct.setCheckable(true); m_topPosAct.setCheckable(true);
@ -130,15 +127,6 @@ DockSettings::DockSettings(QWidget *parent)
m_settingsMenu.addAction(hideSubMenuAct); m_settingsMenu.addAction(hideSubMenuAct);
m_settingsMenu.setTitle("Settings Menu"); 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_settingsMenu, &WhiteMenu::triggered, this, &DockSettings::menuActionClicked);
connect(m_dockInter, &DBusDock::PositionChanged, this, &DockSettings::onPositionChanged); connect(m_dockInter, &DBusDock::PositionChanged, this, &DockSettings::onPositionChanged);
connect(m_dockInter, &DBusDock::IconSizeChanged, this, &DockSettings::iconSizeChanged); 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::HideModeChanged, this, &DockSettings::hideModeChanged, Qt::QueuedConnection);
connect(m_dockInter, &DBusDock::HideStateChanged, this, &DockSettings::hideStateChanged); connect(m_dockInter, &DBusDock::HideStateChanged, this, &DockSettings::hideStateChanged);
connect(m_dockInter, &DBusDock::ServiceRestarted, this, &DockSettings::resetFrontendGeometry); 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::itemInserted, this, &DockSettings::dockItemCountChanged, Qt::QueuedConnection);
connect(m_itemController, &DockItemController::itemRemoved, 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::ScreenHeightChanged, this, &DockSettings::primaryScreenChanged, Qt::QueuedConnection);
connect(m_displayInter, &DBusDisplay::ScreenWidthChanged, 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<DApplication*>(qApp); DApplication *app = qobject_cast<DApplication*>(qApp);
if (app) { if (app) {
connect(app, &DApplication::iconThemeChanged, this, &DockSettings::gtkIconThemeChanged); connect(app, &DApplication::iconThemeChanged, this, &DockSettings::gtkIconThemeChanged);
@ -170,7 +153,7 @@ DockSettings::DockSettings(QWidget *parent)
updateForbidPostions(); updateForbidPostions();
resetFrontendGeometry(); resetFrontendGeometry();
onDaemonIsvalid(m_appearanceInter->isValid()); QTimer::singleShot(0, this, [=] {onOpacityChanged(m_dockInter->opacity());});
} }
DockSettings &DockSettings::Instance() DockSettings &DockSettings::Instance()

View File

@ -27,7 +27,6 @@
#include "dbus/dbusdisplay.h" #include "dbus/dbusdisplay.h"
#include "controller/dockitemcontroller.h" #include "controller/dockitemcontroller.h"
#include <com_deepin_daemon_appearance.h>
#include <com_deepin_dde_daemon_dock.h> #include <com_deepin_dde_daemon_dock.h>
#include <QAction> #include <QAction>
@ -41,7 +40,6 @@
DWIDGET_USE_NAMESPACE DWIDGET_USE_NAMESPACE
using namespace Dock; using namespace Dock;
using Appearance = com::deepin::daemon::Appearance;
using DBusDock = com::deepin::dde::daemon::Dock; using DBusDock = com::deepin::dde::daemon::Dock;
class WhiteMenu : public QMenu class WhiteMenu : public QMenu
@ -160,7 +158,6 @@ private:
DBusDisplay *m_displayInter; DBusDisplay *m_displayInter;
DBusDock *m_dockInter; DBusDock *m_dockInter;
DockItemController *m_itemController; DockItemController *m_itemController;
Appearance* m_appearanceInter;
}; };
#endif // DOCKSETTINGS_H #endif // DOCKSETTINGS_H