diff --git a/frame/main.cpp b/frame/main.cpp index 802bd1622..1ee9c11d3 100644 --- a/frame/main.cpp +++ b/frame/main.cpp @@ -30,11 +30,14 @@ void RegisterDdeSession() int main(int argc, char *argv[]) { + DApplication::loadDXcbPlugin(); + DApplication app(argc, argv); if (!app.setSingleInstance(QString("dde-dock_%1").arg(getuid()))) { qDebug() << "set single instance failed!"; return -1; } + app.setOrganizationName("deepin"); app.setApplicationName("dde-dock"); app.setApplicationDisplayName("DDE Dock"); diff --git a/frame/util/docksettings.cpp b/frame/util/docksettings.cpp index 7f2c7c861..13a1bb648 100644 --- a/frame/util/docksettings.cpp +++ b/frame/util/docksettings.cpp @@ -59,13 +59,13 @@ DockSettings::DockSettings(QWidget *parent) m_keepHiddenAct.setCheckable(true); m_smartHideAct.setCheckable(true); - QMenu *modeSubMenu = new QMenu(&m_settingsMenu); + WhiteMenu *modeSubMenu = new WhiteMenu(&m_settingsMenu); modeSubMenu->addAction(&m_fashionModeAct); modeSubMenu->addAction(&m_efficientModeAct); QAction *modeSubMenuAct = new QAction(tr("Mode"), this); modeSubMenuAct->setMenu(modeSubMenu); - QMenu *locationSubMenu = new QMenu(&m_settingsMenu); + WhiteMenu *locationSubMenu = new WhiteMenu(&m_settingsMenu); locationSubMenu->addAction(&m_topPosAct); locationSubMenu->addAction(&m_bottomPosAct); locationSubMenu->addAction(&m_leftPosAct); @@ -73,14 +73,14 @@ DockSettings::DockSettings(QWidget *parent) QAction *locationSubMenuAct = new QAction(tr("Location"), this); locationSubMenuAct->setMenu(locationSubMenu); - QMenu *sizeSubMenu = new QMenu(&m_settingsMenu); + WhiteMenu *sizeSubMenu = new WhiteMenu(&m_settingsMenu); sizeSubMenu->addAction(&m_largeSizeAct); sizeSubMenu->addAction(&m_mediumSizeAct); sizeSubMenu->addAction(&m_smallSizeAct); QAction *sizeSubMenuAct = new QAction(tr("Size"), this); sizeSubMenuAct->setMenu(sizeSubMenu); - QMenu *statusSubMenu = new QMenu(&m_settingsMenu); + WhiteMenu *statusSubMenu = new WhiteMenu(&m_settingsMenu); statusSubMenu->addAction(&m_keepShownAct); statusSubMenu->addAction(&m_keepHiddenAct); statusSubMenu->addAction(&m_smartHideAct); @@ -92,7 +92,7 @@ DockSettings::DockSettings(QWidget *parent) m_settingsMenu.addAction(sizeSubMenuAct); m_settingsMenu.addAction(statusSubMenuAct); - connect(&m_settingsMenu, &QMenu::triggered, this, &DockSettings::menuActionClicked); + 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); diff --git a/frame/util/docksettings.h b/frame/util/docksettings.h index 2a5601edd..9e10d7517 100644 --- a/frame/util/docksettings.h +++ b/frame/util/docksettings.h @@ -13,6 +13,8 @@ #include #include +#include + extern "C" { #ifdef signals @@ -28,6 +30,18 @@ DWIDGET_USE_NAMESPACE using namespace Dock; +class WhiteMenu : public QMenu +{ + Q_OBJECT +public: + WhiteMenu(QWidget * parent = nullptr) : QMenu(parent) { + QStyle *style = QStyleFactory::create("dlight"); + if (style) setStyle(style); + } + + virtual ~WhiteMenu() {} +}; + class DockSettings : public QObject { Q_OBJECT @@ -88,7 +102,7 @@ private: QRect m_primaryRect; QSize m_mainWindowSize; - QMenu m_settingsMenu; + WhiteMenu m_settingsMenu; QAction m_fashionModeAct; QAction m_efficientModeAct; QAction m_topPosAct;