Make QMenu DMenu-style, and white only

Change-Id: Ideedc2d9b1f36b7c958194891756330530e7925b
This commit is contained in:
Hualet Wang 2016-12-30 16:30:09 +08:00
parent 49c12eb451
commit 6872bb4d0b
Notes: Deepin Code Review 2016-12-30 16:41:16 +08:00
Verified+1: Anonymous Coward #1000004
Code-Review+2: Hualet Wang <mr.asianwang@gmail.com>
Submitted-by: Hualet Wang <mr.asianwang@gmail.com>
Submitted-at: Fri, 30 Dec 2016 16:41:16 +0800
Reviewed-on: https://cr.deepin.io/18975
Project: dde/dde-dock
Branch: refs/heads/master
3 changed files with 23 additions and 6 deletions

View File

@ -30,11 +30,14 @@ void RegisterDdeSession()
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
DApplication::loadDXcbPlugin();
DApplication app(argc, argv); DApplication app(argc, argv);
if (!app.setSingleInstance(QString("dde-dock_%1").arg(getuid()))) { if (!app.setSingleInstance(QString("dde-dock_%1").arg(getuid()))) {
qDebug() << "set single instance failed!"; qDebug() << "set single instance failed!";
return -1; return -1;
} }
app.setOrganizationName("deepin"); app.setOrganizationName("deepin");
app.setApplicationName("dde-dock"); app.setApplicationName("dde-dock");
app.setApplicationDisplayName("DDE Dock"); app.setApplicationDisplayName("DDE Dock");

View File

@ -59,13 +59,13 @@ DockSettings::DockSettings(QWidget *parent)
m_keepHiddenAct.setCheckable(true); m_keepHiddenAct.setCheckable(true);
m_smartHideAct.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_fashionModeAct);
modeSubMenu->addAction(&m_efficientModeAct); modeSubMenu->addAction(&m_efficientModeAct);
QAction *modeSubMenuAct = new QAction(tr("Mode"), this); QAction *modeSubMenuAct = new QAction(tr("Mode"), this);
modeSubMenuAct->setMenu(modeSubMenu); modeSubMenuAct->setMenu(modeSubMenu);
QMenu *locationSubMenu = new QMenu(&m_settingsMenu); WhiteMenu *locationSubMenu = new WhiteMenu(&m_settingsMenu);
locationSubMenu->addAction(&m_topPosAct); locationSubMenu->addAction(&m_topPosAct);
locationSubMenu->addAction(&m_bottomPosAct); locationSubMenu->addAction(&m_bottomPosAct);
locationSubMenu->addAction(&m_leftPosAct); locationSubMenu->addAction(&m_leftPosAct);
@ -73,14 +73,14 @@ DockSettings::DockSettings(QWidget *parent)
QAction *locationSubMenuAct = new QAction(tr("Location"), this); QAction *locationSubMenuAct = new QAction(tr("Location"), this);
locationSubMenuAct->setMenu(locationSubMenu); locationSubMenuAct->setMenu(locationSubMenu);
QMenu *sizeSubMenu = new QMenu(&m_settingsMenu); WhiteMenu *sizeSubMenu = new WhiteMenu(&m_settingsMenu);
sizeSubMenu->addAction(&m_largeSizeAct); sizeSubMenu->addAction(&m_largeSizeAct);
sizeSubMenu->addAction(&m_mediumSizeAct); sizeSubMenu->addAction(&m_mediumSizeAct);
sizeSubMenu->addAction(&m_smallSizeAct); sizeSubMenu->addAction(&m_smallSizeAct);
QAction *sizeSubMenuAct = new QAction(tr("Size"), this); QAction *sizeSubMenuAct = new QAction(tr("Size"), this);
sizeSubMenuAct->setMenu(sizeSubMenu); sizeSubMenuAct->setMenu(sizeSubMenu);
QMenu *statusSubMenu = new QMenu(&m_settingsMenu); WhiteMenu *statusSubMenu = new WhiteMenu(&m_settingsMenu);
statusSubMenu->addAction(&m_keepShownAct); statusSubMenu->addAction(&m_keepShownAct);
statusSubMenu->addAction(&m_keepHiddenAct); statusSubMenu->addAction(&m_keepHiddenAct);
statusSubMenu->addAction(&m_smartHideAct); statusSubMenu->addAction(&m_smartHideAct);
@ -92,7 +92,7 @@ DockSettings::DockSettings(QWidget *parent)
m_settingsMenu.addAction(sizeSubMenuAct); m_settingsMenu.addAction(sizeSubMenuAct);
m_settingsMenu.addAction(statusSubMenuAct); 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::PositionChanged, this, &DockSettings::onPositionChanged);
connect(m_dockInter, &DBusDock::IconSizeChanged, this, &DockSettings::iconSizeChanged); connect(m_dockInter, &DBusDock::IconSizeChanged, this, &DockSettings::iconSizeChanged);
connect(m_dockInter, &DBusDock::DisplayModeChanged, this, &DockSettings::displayModeChanged); connect(m_dockInter, &DBusDock::DisplayModeChanged, this, &DockSettings::displayModeChanged);

View File

@ -13,6 +13,8 @@
#include <QObject> #include <QObject>
#include <QSize> #include <QSize>
#include <QStyleFactory>
extern "C" extern "C"
{ {
#ifdef signals #ifdef signals
@ -28,6 +30,18 @@ DWIDGET_USE_NAMESPACE
using namespace Dock; 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 class DockSettings : public QObject
{ {
Q_OBJECT Q_OBJECT
@ -88,7 +102,7 @@ private:
QRect m_primaryRect; QRect m_primaryRect;
QSize m_mainWindowSize; QSize m_mainWindowSize;
QMenu m_settingsMenu; WhiteMenu m_settingsMenu;
QAction m_fashionModeAct; QAction m_fashionModeAct;
QAction m_efficientModeAct; QAction m_efficientModeAct;
QAction m_topPosAct; QAction m_topPosAct;