Modify the right-click menu style

This commit is contained in:
liuhao-startmenu
2020-03-14 21:52:47 +08:00
parent 57cd08aabf
commit cb1acd4c14
4 changed files with 95 additions and 20 deletions
+9 -1
View File
@@ -187,7 +187,6 @@ QStringList UkuiMenuInterface::getDesktopFilePath()
filePathList.removeAll("/usr/share/applications/software-properties-gtk.desktop");
filePathList.removeAll("/usr/share/applications/galternatives.desktop");
filePathList.removeAll("/usr/share/applications/gnome-session-properties.desktop");
filePathList.removeAll("/usr/share/applications/update-manager.desktop");
filePathList.removeAll("/usr/share/applications/pcmanfm-qt-desktop-pref.desktop");
filePathList.removeAll("/usr/share/applications/org.gnome.font-viewer.desktop");
filePathList.removeAll("/usr/share/applications/gucharmap.desktop");
@@ -195,6 +194,15 @@ QStringList UkuiMenuInterface::getDesktopFilePath()
filePathList.removeAll("/usr/share/applications/gnome-language-selector.desktop");
filePathList.removeAll("/usr/share/applications/indicator-china-weather.desktop");
filePathList.removeAll("/usr/share/applications/mate-notification-properties.desktop");
filePathList.removeAll("/usr/share/applications/transmission-gtk.desktop");
filePathList.removeAll("/usr/share/applications/mpv.desktop");
filePathList.removeAll("/usr/share/applications/atril.desktop");
filePathList.removeAll("/usr/share/applications/ukui-control-center.desktop");
filePathList.removeAll("/usr/share/applications/org.kde.kwalletmanager5.desktop");
filePathList.removeAll("/usr/share/applications/system-config-printer.desktop");
filePathList.removeAll("/usr/share/applications/vim.desktop");
filePathList.removeAll("/usr/share/applications/kwalletmanager5-kwalletd.desktop");
filePathList.removeAll("/usr/share/applications/org.gnome.DejaDup.desktop");
return filePathList;
}
+72 -15
View File
@@ -40,7 +40,7 @@ RightClickMenu::RightClickMenu(QWidget *parent):
//常用应用按钮右键菜单
cuappbtnmenu=new QMenu(this);
cuappbtnmenu->setLayoutDirection(Qt::LeftToRight);
cuappbtnmenu->setFixedSize(250+2,36*7+15+12+2);
cuappbtnmenu->setFixedSize(250+2,36*7+4*6+12+2);
CuFix2CommonUseAction=new QWidgetAction(cuappbtnmenu);
CuFix2CommonUseWid=new QWidget();
CuUnfixed4CommonUseAction=new QWidgetAction(cuappbtnmenu);
@@ -63,7 +63,7 @@ RightClickMenu::RightClickMenu(QWidget *parent):
//普通应用按钮右键菜单
appbtnmenu=new QMenu(this);
appbtnmenu->setLayoutDirection(Qt::LeftToRight);
appbtnmenu->setFixedSize(250+2,36*5+10+12+2);
appbtnmenu->setFixedSize(250+2,36*5+4*4+12+2);
Fix2CommonUseAction=new QWidgetAction(appbtnmenu);
Fix2CommonUseWid=new QWidget();
Unfixed4CommonUseAction=new QWidgetAction(appbtnmenu);
@@ -79,13 +79,53 @@ RightClickMenu::RightClickMenu(QWidget *parent):
AttributeAction=new QWidgetAction(appbtnmenu);
AttributeWid=new QWidget();
//间隔线
char lineStyle[100];
sprintf(lineStyle,"QLabel{background-color:%s;}",
RightClickMenuSeparator);
separatorLabel=new QLabel[5];
separatorWid=new QWidget[5];
for(int i=0;i<5;i++)
{
separatorLabel[i].setStyleSheet(lineStyle);
separatorWid[i].setStyleSheet("background:transparent;");
QHBoxLayout* layout=new QHBoxLayout(&separatorWid[i]);
separatorWid[i].setLayout(layout);
layout->setContentsMargins(0,0,0,0);
separatorWid[i].setFixedSize(246,4);
separatorWid[i].setFocusPolicy(Qt::NoFocus);
separatorLabel[i].setFixedSize(separatorWid->width(),1);
layout->addWidget(&separatorLabel[i]);
layout->setAlignment(&separatorLabel[i],Qt::AlignVCenter);
}
separatorAction_1=new QWidgetAction(cuappbtnmenu);
separatorAction_2=new QWidgetAction(cuappbtnmenu);
separatorAction_3=new QWidgetAction(cuappbtnmenu);
separatorAction_4=new QWidgetAction(appbtnmenu);
separatorAction_5=new QWidgetAction(appbtnmenu);
separatorAction_1->setDefaultWidget(&separatorWid[0]);
separatorAction_2->setDefaultWidget(&separatorWid[1]);
separatorAction_3->setDefaultWidget(&separatorWid[2]);
separatorAction_4->setDefaultWidget(&separatorWid[3]);
separatorAction_5->setDefaultWidget(&separatorWid[4]);
separatorAction_1->setDisabled(true);
separatorAction_2->setDisabled(true);
separatorAction_3->setDisabled(true);
separatorAction_4->setDisabled(true);
separatorAction_5->setDisabled(true);
pUkuiMenuInterface=new UkuiMenuInterface;
cmdProc=new QProcess(this);
connect(cmdProc , SIGNAL(readyReadStandardOutput()) , this , SLOT(onReadOutput()));
sprintf(style, "QMenu{padding-left:2px;padding-top:6px;padding-right:2px;padding-bottom:6px;border:1px solid #626c6e;border-radius:3px;background-color:%s;}\
QMenu::separator{height:1px;background-color:%s;margin-top:2px;margin-bottom:2px;}",
RightClickMenuBackground,RightClickMenuSeparator);
// sprintf(style, "QMenu{padding-left:2px;padding-top:6px;padding-right:2px;padding-bottom:6px;border:1px solid %s;border-radius:6px;background-color:%s;}\
// QMenu::separator{height:1px;background-color:%s;margin-top:2px;margin-bottom:2px;}",
// RightClickMenuBorder ,RightClickMenuBackground,RightClickMenuSeparator);
sprintf(style, "QMenu{padding-left:2px;padding-top:6px;padding-right:2px;padding-bottom:6px;border:1px solid %s;border-radius:6px;background-color:%s;}\
QMenu::separator{height:4px;background:transparent;}",
RightClickMenuBorder ,RightClickMenuBackground);
addShutdownAction();
// addOtherAction();
@@ -151,6 +191,8 @@ void RightClickMenu::addCommonUseAppBtnAction()
connect(CuUnfixed4CommonUseAction, SIGNAL(triggered()),this,SLOT(unfixedFromCommonUseActionTriggerSlot()));
}
cuappbtnmenu->addSeparator();
// QString desktopfp=pUkuiMenuInterface->getDesktopPathByAppName(appname);
QDBusInterface iface("com.ukui.panel.desktop",
"/",
@@ -172,13 +214,16 @@ void RightClickMenu::addCommonUseAppBtnAction()
connect(CuUnfixed4TaskBarAction, SIGNAL(triggered()),this,SLOT(unfixedFromTaskbarActionTriggerSlot()));
}
cuappbtnmenu->addSeparator();
initWidgetAction(CuAdd2DesktopWid,"",tr("Add to desktop shortcuts"));
CuAdd2DesktopAction->setDefaultWidget(CuAdd2DesktopWid);
cuappbtnmenu->addAction(CuAdd2DesktopAction);
connect(CuAdd2DesktopAction, SIGNAL(triggered()),this,SLOT(addToDesktopActionTriggerSlot()));
cuappbtnmenu->addSeparator();
// cuappbtnmenu->addSeparator();
cuappbtnmenu->addAction(separatorAction_1);
// cuappbtnmenu->addSeparator();
initWidgetAction(CuDeleteWid,"",tr("Remove from list"));
CuDeleteAction->setDefaultWidget(CuDeleteWid);
@@ -193,6 +238,8 @@ void RightClickMenu::addCommonUseAppBtnAction()
CuDeleteAction->setDisabled(true);
}
cuappbtnmenu->addSeparator();
initWidgetAction(CuDeleteAllWid,"",tr("Remove all"));
CuDeleteAllAction->setDefaultWidget(CuDeleteAllWid);
cuappbtnmenu->addAction(CuDeleteAllAction);
@@ -213,14 +260,18 @@ void RightClickMenu::addCommonUseAppBtnAction()
CuDeleteAllAction->setDisabled(true);
}
cuappbtnmenu->addSeparator();
// cuappbtnmenu->addSeparator();
cuappbtnmenu->addAction(separatorAction_2);
// cuappbtnmenu->addSeparator();
initWidgetAction(CuUninstallWid,":/data/img/mainviewwidget/uninstall.svg",tr("Uninstall"));
CuUninstallAction->setDefaultWidget(CuUninstallWid);
cuappbtnmenu->addAction(CuUninstallAction);
connect(CuUninstallAction, SIGNAL(triggered()),this,SLOT(uninstallActionTriggerSlot()));
cuappbtnmenu->addSeparator();
// cuappbtnmenu->addSeparator();
cuappbtnmenu->addAction(separatorAction_3);
// cuappbtnmenu->addSeparator();
initWidgetAction(CuAttributeWid,":/data/img/mainviewwidget/attributeaction.svg",tr("Attribute"));
CuAttributeAction->setDefaultWidget(CuAttributeWid);
@@ -228,7 +279,7 @@ void RightClickMenu::addCommonUseAppBtnAction()
connect(CuAttributeAction, SIGNAL(triggered()),this,SLOT(attributeActionTriggerSlot()));
cuappbtnmenu->setAttribute(Qt::WA_TranslucentBackground);
cuappbtnmenu->setWindowOpacity(RightClickMenuOpacity);
// cuappbtnmenu->setWindowOpacity(RightClickMenuOpacity);
cuappbtnmenu->setStyleSheet(style);
setting->endGroup();
@@ -259,6 +310,8 @@ void RightClickMenu::addAppBtnAction()
}
setting->endGroup();
appbtnmenu->addSeparator();
// QString desktopfp=pUkuiMenuInterface->getDesktopPathByAppName(appname);
QDBusInterface iface("com.ukui.panel.desktop",
"/",
@@ -281,20 +334,24 @@ void RightClickMenu::addAppBtnAction()
connect(Unfixed4TaskBarAction, SIGNAL(triggered()),this,SLOT(unfixedFromTaskbarActionTriggerSlot()));
}
appbtnmenu->addSeparator();
initWidgetAction(Add2DesktopWid,"",tr("Add to desktop shortcuts"));
Add2DesktopAction->setDefaultWidget(Add2DesktopWid);
appbtnmenu->addAction(Add2DesktopAction);
connect(Add2DesktopAction, SIGNAL(triggered()),this,SLOT(addToDesktopActionTriggerSlot()));
appbtnmenu->addSeparator();
// appbtnmenu->addSeparator();
appbtnmenu->addAction(separatorAction_4);
initWidgetAction(UninstallWid,":/data/img/mainviewwidget/uninstall.svg",tr("Uninstall"));
UninstallAction->setDefaultWidget(UninstallWid);
appbtnmenu->addAction(UninstallAction);
connect(UninstallAction, SIGNAL(triggered()),this,SLOT(uninstallActionTriggerSlot()));
appbtnmenu->addSeparator();
// appbtnmenu->addSeparator();
appbtnmenu->addAction(separatorAction_5);
initWidgetAction(AttributeWid,":/data/img/mainviewwidget/attributeaction.svg",tr("Attribute"));
AttributeAction->setDefaultWidget(AttributeWid);
@@ -302,7 +359,7 @@ void RightClickMenu::addAppBtnAction()
connect(AttributeAction, SIGNAL(triggered()),this,SLOT(attributeActionTriggerSlot()));
appbtnmenu->setAttribute(Qt::WA_TranslucentBackground);
appbtnmenu->setWindowOpacity(RightClickMenuOpacity);
// appbtnmenu->setWindowOpacity(RightClickMenuOpacity);
appbtnmenu->setStyleSheet(style);
}
@@ -349,7 +406,7 @@ void RightClickMenu::addShutdownAction()
connect(ShutDownAction,SIGNAL(triggered()),this,SLOT(shutdownActionTriggerSlot()));
shutdownmenu->setAttribute(Qt::WA_TranslucentBackground);
shutdownmenu->setWindowOpacity(RightClickMenuOpacity);
// shutdownmenu->setWindowOpacity(RightClickMenuOpacity);
shutdownmenu->setStyleSheet(style);
}
@@ -383,7 +440,7 @@ void RightClickMenu::addOtherAction()
connect(OtherListAction,SIGNAL(triggered()),this,SLOT(otherListActionTriggerSlot()));
othermenu->setAttribute(Qt::WA_TranslucentBackground);
othermenu->setWindowOpacity(RightClickMenuOpacity);
// othermenu->setWindowOpacity(RightClickMenuOpacity);
othermenu->setStyleSheet(style);
}
+9
View File
@@ -56,6 +56,15 @@ private:
QProcess* cmdProc=nullptr;
//间隔线
QLabel* separatorLabel=nullptr;
QWidget* separatorWid=nullptr;
QWidgetAction* separatorAction_1=nullptr;
QWidgetAction* separatorAction_2=nullptr;
QWidgetAction* separatorAction_3=nullptr;
QWidgetAction* separatorAction_4=nullptr;
QWidgetAction* separatorAction_5=nullptr;
QMenu* cuappbtnmenu;
QWidgetAction* CuFix2CommonUseAction;
QWidget* CuFix2CommonUseWid;
+5 -4
View File
@@ -31,13 +31,14 @@
#define UserIconBackground "#ffffff"
#define UserIconOpacity 0.20
#define RightClickMenuBackground "rgba(26, 26, 26)"
#define RightClickMenuSeparator "rgba(255, 255, 255, 0.08)"
#define RightClickMenuHover "rgba(255, 255, 255, 0.12)"
#define RightClickMenuBackground "rgba(12, 12, 13, 0.7)"//右键菜单背景
#define RightClickMenuSeparator "rgba(255, 255, 255, 0.08)"//右键菜单分割线
#define RightClickMenuHover "rgba(255, 255, 255, 0.12)"//右键菜单悬浮
#define RightClickMenuBorder "rgba(255, 255, 255, 0.2)"//右键菜单边框
#define RightClickMenuFont "rgba(255, 255, 255, 0.91)"
#define RightClickMenuOpacity 0.95
#define ToolTipBackground "rgba(26, 26, 26, 0.7)"
#define DefaultBackground "rgba(14,19,22,0.90)" //默认态背景色
#define DefaultBackground "rgba(19, 19, 20, 0.7)" //默认态背景色
#define LineBackground "rgba(255,255,255,0.06)" //分割线背景色
#define SBClassifyBtnSelectedBackground "rgba(65, 95, 196, 1)" //侧边栏上部分类按钮选择背景
#define SBFunBtnHoverBackground "rgba(255, 255, 255, 0.14)" //侧边栏目下部功能按钮悬浮背景