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[])
{
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");

View File

@ -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);

View File

@ -13,6 +13,8 @@
#include <QObject>
#include <QSize>
#include <QStyleFactory>
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;