From 7cdec93fb92358144029413eb3e6d7f55542280b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=B3=E5=8D=9A=E6=96=87?= Date: Thu, 4 Jan 2018 17:22:37 +0800 Subject: [PATCH] disable shadow effect Change-Id: I9903bd013a764ff3b6f790f6bd7e2ccdf50ef93f --- frame/panel/mainpanel.cpp | 29 ++++------------------------- frame/util/docksettings.cpp | 21 ++++++++++++--------- frame/util/docksettings.h | 3 ++- frame/window/mainwindow.cpp | 12 +++++++----- 4 files changed, 25 insertions(+), 40 deletions(-) diff --git a/frame/panel/mainpanel.cpp b/frame/panel/mainpanel.cpp index ac90292d9..99ac1f63b 100644 --- a/frame/panel/mainpanel.cpp +++ b/frame/panel/mainpanel.cpp @@ -44,39 +44,18 @@ MainPanel::MainPanel(QWidget *parent) setBlurRectXRadius(0); setBlurRectYRadius(0); - setMaskColor(QColor(0, 0, 0, 255 * 0.2)); + setMaskColor(QColor(0, 0, 0, 255 * 0.4)); setBlendMode(BehindWindowBlend); setAcceptDrops(true); setAccessibleName("dock-mainpanel"); setObjectName("MainPanel"); setStyleSheet("QWidget #MainPanel {" -// "border:" xstr(PANEL_BORDER) "px solid rgba(162, 162, 162, .2);" // "background-color:rgba(10, 10, 10, .6);" "}" - "QWidget #MainPanel[displayMode='1'] {" - "border:none;" - "}" - // Top - "QWidget #MainPanel[displayMode='0'][position='0'] {" -// "border-bottom-left-radius:5px;" -// "border-bottom-right-radius:5px;" - "}" - // Right - "QWidget #MainPanel[displayMode='0'][position='1'] {" -// "border-top-left-radius:5px;" -// "border-bottom-left-radius:5px;" - "}" - // Bottom - "QWidget #MainPanel[displayMode='0'][position='2'] {" -// "border-top-left-radius:6px;" -// "border-top-right-radius:6px;" - "}" - // Left - "QWidget #MainPanel[displayMode='0'][position='3'] {" -// "border-top-right-radius:5px;" -// "border-bottom-right-radius:5px;" - "}" +// "QWidget #MainPanel[displayMode='1'] {" +// "border:none;" +// "}" "QWidget #MainPanel[position='0'] {" "padding:0 " xstr(PANEL_PADDING) "px;" "border-top:none;" diff --git a/frame/util/docksettings.cpp b/frame/util/docksettings.cpp index ecf42a5be..b5ad35348 100644 --- a/frame/util/docksettings.cpp +++ b/frame/util/docksettings.cpp @@ -130,7 +130,7 @@ DockSettings::DockSettings(QWidget *parent) connect(&m_settingsMenu, &WhiteMenu::triggered, this, &DockSettings::menuActionClicked); connect(m_dockInter, &DBusDock::PositionChanged, this, &DockSettings::onPositionChanged); connect(m_dockInter, &DBusDock::IconSizeChanged, this, &DockSettings::iconSizeChanged); - connect(m_dockInter, &DBusDock::DisplayModeChanged, this, &DockSettings::displayModeChanged); + connect(m_dockInter, &DBusDock::DisplayModeChanged, this, &DockSettings::onDisplayModeChanged); 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); @@ -313,15 +313,17 @@ void DockSettings::onPositionChanged() if (prevPos == nextPos) return; - m_position = nextPos; - DockItem::setDockPosition(m_position); - qApp->setProperty(PROP_POSITION, QVariant::fromValue(m_position)); - - calculateWindowConfig(); - emit positionChanged(prevPos); - m_itemController->refershItemsIcon(); + QTimer::singleShot(200, this, [=] { + m_position = nextPos; + DockItem::setDockPosition(m_position); + qApp->setProperty(PROP_POSITION, QVariant::fromValue(m_position)); + + calculateWindowConfig(); + + m_itemController->refershItemsIcon(); + }); } void DockSettings::iconSizeChanged() @@ -335,7 +337,7 @@ void DockSettings::iconSizeChanged() emit dataChanged(); } -void DockSettings::displayModeChanged() +void DockSettings::onDisplayModeChanged() { // qDebug() << Q_FUNC_INFO; m_displayMode = Dock::DisplayMode(m_dockInter->displayMode()); @@ -345,6 +347,7 @@ void DockSettings::displayModeChanged() calculateWindowConfig(); emit dataChanged(); + emit displayModeChanegd(); } void DockSettings::hideModeChanged() diff --git a/frame/util/docksettings.h b/frame/util/docksettings.h index 3d8559174..f836f21cc 100644 --- a/frame/util/docksettings.h +++ b/frame/util/docksettings.h @@ -84,6 +84,7 @@ signals: void dataChanged() const; void positionChanged(const Position prevPosition) const; void autoHideChanged(const bool autoHide) const; + void displayModeChanegd() const; void windowVisibleChanged() const; void windowHideModeChanged() const; void windowGeometryChanged() const; @@ -96,7 +97,7 @@ private slots: void menuActionClicked(QAction *action); void onPositionChanged(); void iconSizeChanged(); - void displayModeChanged(); + void onDisplayModeChanged(); void hideModeChanged(); void hideStateChanged(); void dockItemCountChanged(); diff --git a/frame/window/mainwindow.cpp b/frame/window/mainwindow.cpp index 41ed5096c..3fe12b0b9 100644 --- a/frame/window/mainwindow.cpp +++ b/frame/window/mainwindow.cpp @@ -333,6 +333,7 @@ void MainWindow::initConnections() connect(m_panelHideAni, &QPropertyAnimation::finished, this, &MainWindow::updateGeometry, Qt::QueuedConnection); connect(m_panelHideAni, &QPropertyAnimation::finished, m_shadowMaskOptimizeTimer, static_cast(&QTimer::start)); connect(m_panelShowAni, &QPropertyAnimation::finished, m_shadowMaskOptimizeTimer, static_cast(&QTimer::start)); + connect(m_settings, &DockSettings::displayModeChanegd, m_shadowMaskOptimizeTimer, static_cast(&QTimer::start)); connect(m_posChangeAni, &QVariantAnimation::valueChanged, this, static_cast(&MainWindow::internalMove)); connect(m_posChangeAni, &QVariantAnimation::finished, this, static_cast(&MainWindow::internalMove), Qt::QueuedConnection); @@ -386,7 +387,7 @@ void MainWindow::positionChanged(const Position prevPos) narrow(prevPos); // reset position & layout and slide out - QTimer::singleShot(100, this, [&] { + QTimer::singleShot(200, this, [&] { resetPanelEnvironment(false, true); updateGeometry(); expand(); @@ -680,11 +681,12 @@ void MainWindow::adjustShadowMask() return; const bool composite = m_wmHelper->hasComposite(); - const bool animationRunning = m_panelShowAni->state() == QPropertyAnimation::Running || - m_panelHideAni->state() == QPropertyAnimation::Running; + const bool isFasion = m_settings->displayMode() == Fashion; +// const bool animationRunning = m_panelShowAni->state() == QPropertyAnimation::Running || +// m_panelHideAni->state() == QPropertyAnimation::Running; - m_platformWindowHandle.setWindowRadius(composite ? 5 : 0); - m_platformWindowHandle.setShadowRadius(!animationRunning && composite ? 60 : 0); + m_platformWindowHandle.setWindowRadius(composite && isFasion ? 5 : 0); +// m_platformWindowHandle.setShadowRadius(!animationRunning && composite ? 60 : 0); } void MainWindow::positionCheck()