1 Star 0 Fork 11

ZJAY998/ukui-menu

forked from src-openEuler/ukui-menu 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0002-Optimize-the-interaction-strategy-with-the-taskbar.patch 39.16 KB
一键复制 编辑 原始数据 按行查看 历史
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017
From 98c95850ccc70d0a1547f07808073a735318c5a8 Mon Sep 17 00:00:00 2001
From: liuhao-startmenu <liuhao@kylinos.cn>
Date: Wed, 1 Apr 2020 11:59:53 +0800
Subject: [PATCH 2/2] Optimize the interaction strategy with the taskbar
---
main.cpp | 16 +-
src/Interface/ukuimenuinterface.cpp | 10 +-
src/LetterWidget/fullletterwidget.cpp | 6 +-
src/LetterWidget/letterbuttonwidget.cpp | 6 +-
src/MainViewWidget/mainviewwidget.cpp | 12 +-
src/MainWindow/mainwindow.cpp | 98 ++++--------
src/MainWindow/mainwindow.h | 2 +-
.../qtsingleapplication.cpp | 10 +-
src/RightClickMenu/rightclickmenu.cpp | 29 ++--
src/RightClickMenu/rightclickmenu.h | 8 +-
src/SideBarWidget/sidebarwidget.cpp | 142 +-----------------
src/Style/style.cpp | 19 +--
src/UtilityFunction/fullitemdelegate.cpp | 6 +-
src/UtilityFunction/fulllistview.cpp | 5 +-
.../functionclassifybutton.cpp | 36 ++---
src/UtilityFunction/itemdelegate.cpp | 6 +-
src/UtilityFunction/listview.cpp | 7 +-
src/UtilityFunction/pushbutton.cpp | 6 +-
18 files changed, 117 insertions(+), 307 deletions(-)
diff --git a/main.cpp b/main.cpp
index 4b9761d..0975c73 100644
--- a/main.cpp
+++ b/main.cpp
@@ -40,6 +40,12 @@ int main(int argc, char *argv[])
qss.open(QFile::ReadOnly);
qApp->setStyleSheet(qss.readAll());
+// QGSettings* setting=new QGSettings(QString("org.mate.interface").toLocal8Bit());
+// QString value=setting->get("font-name").toString();
+// QFont font;
+// font.setFamily(value);
+// qApp->setFont(font);
+
QString locale = QLocale::system().name();
QTranslator translator;
if (locale == "zh_CN"){
@@ -57,13 +63,9 @@ int main(int argc, char *argv[])
qApp->setStyleSheet(style);
MainWindow w;
- QDBusInterface iface("com.ukui.panel.desktop",
- "/",
- "com.ukui.panel.desktop",
- QDBusConnection::sessionBus());
-
- QDBusReply<int> position=iface.call("GetPanelPosition","");
- QDBusReply<int> panelSize=iface.call("GetPanelSize","");
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.panel.settings").toLocal8Bit());
+ int position=gsetting->get("panelposition").toInt();
+ int panelSize=gsetting->get("panelsize").toInt();
if(position==0)
w.setGeometry(QRect(0,Style::heightavailable-590,376,590));
else if(position==1)
diff --git a/src/Interface/ukuimenuinterface.cpp b/src/Interface/ukuimenuinterface.cpp
index c31893d..577873b 100644
--- a/src/Interface/ukuimenuinterface.cpp
+++ b/src/Interface/ukuimenuinterface.cpp
@@ -126,7 +126,6 @@ QStringList UkuiMenuInterface::getDesktopFilePath()
recursiveSearchFile("/usr/share/applications/");
filePathList.removeAll("/usr/share/applications/peony-folder-handler.desktop");
- filePathList.removeAll("/usr/share/applications/peony.desktop");
filePathList.removeAll("/usr/share/applications/gnome-software-local-file.desktop");
filePathList.removeAll("/usr/share/applications/org.gnome.Software.Editor.desktop");
filePathList.removeAll("/usr/share/applications/apport-gtk.desktop");
@@ -159,7 +158,6 @@ QStringList UkuiMenuInterface::getDesktopFilePath()
filePathList.removeAll("/usr/share/applications/remmina-gnome.desktop");
filePathList.removeAll("/usr/share/applications/ukwm.desktop");
filePathList.removeAll("/usr/share/applications/nm-applet.desktop");
- filePathList.removeAll("/usr/share/applications/peony-home.desktop");
filePathList.removeAll("/usr/share/applications/mate-user-guide.desktop");
filePathList.removeAll("/usr/share/applications/nm-connection-editor.desktop");
filePathList.removeAll("/usr/share/applications/pavucontrol-qt.desktop");
@@ -203,7 +201,13 @@ QStringList UkuiMenuInterface::getDesktopFilePath()
filePathList.removeAll("/usr/share/applications/vim.desktop");
filePathList.removeAll("/usr/share/applications/kwalletmanager5-kwalletd.desktop");
filePathList.removeAll("/usr/share/applications/org.gnome.DejaDup.desktop");
-
+ filePathList.removeAll("/usr/share/applications/redshift.desktop");
+ filePathList.removeAll("/usr/share/applications/python3.8.desktop");
+ filePathList.removeAll("/usr/share/applications/yelp.desktop");
+ filePathList.removeAll("/usr/share/applications/peony-computer.desktop");
+ filePathList.removeAll("/usr/share/applications/peony-home.desktop");
+ filePathList.removeAll("/usr/share/applications/peony-trash.desktop");
+ filePathList.removeAll("/usr/share/applications/peony.desktop");
return filePathList;
}
diff --git a/src/LetterWidget/fullletterwidget.cpp b/src/LetterWidget/fullletterwidget.cpp
index 987b1e8..9fc863c 100644
--- a/src/LetterWidget/fullletterwidget.cpp
+++ b/src/LetterWidget/fullletterwidget.cpp
@@ -271,8 +271,8 @@ void FullLetterWidget::initLetterListScrollArea()
QToolButton:checked{background:transparent;color:#ffffff;border-radius:2px;}",
ClassifyBtnHoverBackground,ClassifyBtnHoverBackground);
- QFont font;
- font.setPixelSize(Style::LeftFontSize);
+// QFont font;
+// font.setPixelSize(Style::LeftFontSize);
QStringList letterbtnlist=this->letterbtnlist;
if(letterbtnlist.contains("&"))
@@ -284,7 +284,7 @@ void FullLetterWidget::initLetterListScrollArea()
letterbtn->setStyleSheet(btnstyle);
letterbtn->setFixedSize(Style::LeftBtnHeight,Style::LeftBtnHeight);
letterbtn->setCheckable(true);
- letterbtn->setFont(font);
+// letterbtn->setFont(font);
buttonList.append(letterbtn);
letterlistscrollareawidLayout->addWidget(letterbtn);
// connect(letterbtn,SIGNAL(clicked()),this,SLOT(letterBtnClickedSlot()));
diff --git a/src/LetterWidget/letterbuttonwidget.cpp b/src/LetterWidget/letterbuttonwidget.cpp
index 69a33c2..b5d5096 100644
--- a/src/LetterWidget/letterbuttonwidget.cpp
+++ b/src/LetterWidget/letterbuttonwidget.cpp
@@ -66,8 +66,8 @@ void LetterButtonWidget::initWidget()
letterlist.append("&&");
letterlist.append("#");
- QFont font;
- font.setPixelSize(Style::LeftFontSize);
+// QFont font;
+// font.setPixelSize(Style::LeftFontSize);
for(int row=0;row<6;row++)
{
for(int col=0;col<5;col++)
@@ -77,7 +77,7 @@ void LetterButtonWidget::initWidget()
QToolButton* btn=new QToolButton(this);
btn->setFixedSize(55,48);
btn->setStyleSheet(QString::fromLocal8Bit(btncolor));
- btn->setFont(font);
+// btn->setFont(font);
btn->setText(letterlist.at(row*5+col));
gridLayout->addWidget(btn,row,col);
connect(btn, SIGNAL(clicked()), this, SLOT(letterBtnClickedSlot()));
diff --git a/src/MainViewWidget/mainviewwidget.cpp b/src/MainViewWidget/mainviewwidget.cpp
index 19121cb..8a4f434 100644
--- a/src/MainViewWidget/mainviewwidget.cpp
+++ b/src/MainViewWidget/mainviewwidget.cpp
@@ -178,10 +178,10 @@ void MainViewWidget::initQueryLineEdit()
pQueryIcon->setStyleSheet("background:transparent");
pQueryIcon->setFixedSize(pixmap->size());
pQueryIcon->setPixmap(*pixmap);
- QFont font;
- font.setPixelSize(Style::QueryLineEditFontSize);
+// QFont font;
+// font.setPixelSize(Style::QueryLineEditFontSize);
pQueryText=new QLabel(pIconTextWid);
- pQueryText->setFont(font);
+// pQueryText->setFont(font);
pQueryText->setText(tr("Search"));
pQueryText->setStyleSheet("background:transparent;color:#626c6e;");
pQueryText->adjustSize();
@@ -203,8 +203,8 @@ void MainViewWidget::initQueryLineEdit()
bool MainViewWidget::eventFilter(QObject *watched, QEvent *event)
{
- QFont font;
- font.setPixelSize(Style::QueryLineEditFontSize);
+// QFont font;
+// font.setPixelSize(Style::QueryLineEditFontSize);
if(watched==querylineEdit)
{
if(event->type()==QEvent::FocusIn)
@@ -219,7 +219,7 @@ bool MainViewWidget::eventFilter(QObject *watched, QEvent *event)
QueryLineEditClickedBorder,QueryLineEditClickedBackground);
querylineEdit->setStyleSheet(style);
querylineEdit->setTextMargins(20,1,0,1);
- querylineEdit->setFont(font);
+// querylineEdit->setFont(font);
if(!querylineEdit->text().isEmpty())
searchAppSlot(querylineEdit->text());
}
diff --git a/src/MainWindow/mainwindow.cpp b/src/MainWindow/mainwindow.cpp
index 27dc2e9..0db0ffa 100644
--- a/src/MainWindow/mainwindow.cpp
+++ b/src/MainWindow/mainwindow.cpp
@@ -74,22 +74,6 @@ MainWindow::MainWindow(QWidget *parent) :
setting->endGroup();
initMainWindow();
-
-// pEnterAnimation=new QPropertyAnimation;
-// pEnterAnimation->setTargetObject(this);
-// pEnterAnimation->setPropertyName("size");
-// pEnterAnimation->setDuration(500);
-// pEnterAnimation->setStartValue(QSize(390,532));
-// pEnterAnimation->setEndValue(QSize(490,532));
-// pEnterAnimation->setEasingCurve(QEasingCurve::Linear);
-
-// pLeaveAnimation=new QPropertyAnimation;
-// pLeaveAnimation->setTargetObject(this);
-// pLeaveAnimation->setPropertyName("size");
-// pLeaveAnimation->setDuration(500);
-// pLeaveAnimation->setStartValue(QSize(490,532));
-// pLeaveAnimation->setEndValue(QSize(390,532));
-// pLeaveAnimation->setEasingCurve(QEasingCurve::Linear);
}
MainWindow::~MainWindow()
@@ -111,6 +95,12 @@ void MainWindow::initMainWindow()
this->setAutoFillBackground(false);
this->setFocusPolicy(Qt::StrongFocus);
+// QPainterPath path;
+// auto rect = this->rect();
+// rect.adjust(1, 1, -1, -1);
+// path.addRoundedRect(rect, 6, 6);
+// setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
+
ui->mainToolBar->hide();
ui->menuBar->hide();
ui->statusBar->hide();
@@ -121,7 +111,7 @@ void MainWindow::initMainWindow()
this->setContentsMargins(0,0,0,0);
frame=new QFrame(this);
- sidebarwid=new SideBarWidget(this);
+ sidebarwid=new SideBarWidget();
mainviewwid=new MainViewWidget(this);
this->setCentralWidget(frame);
@@ -141,11 +131,8 @@ void MainWindow::initMainWindow()
mainlayout->setContentsMargins(0,0,0,0);
mainlayout->setSpacing(0);
centralWidget()->setLayout(mainlayout);
- QDBusInterface iface("com.ukui.panel.desktop",
- "/",
- "com.ukui.panel.desktop",
- QDBusConnection::sessionBus());
- QDBusReply<int> position=iface.call("GetPanelPosition","");
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.panel.settings").toLocal8Bit());
+ int position=gsetting->get("panelposition").toInt();
char style[100];
if(position==0)
sprintf(style, "border:0px;background-color:%s;border-top-right-radius:6px;",DefaultBackground);
@@ -173,6 +160,9 @@ void MainWindow::initMainWindow()
connect(QApplication::primaryScreen(),SIGNAL(geometryChanged(QRect)),
this,SLOT(monitorResolutionChange(QRect)));
+
+ connect(gsetting,SIGNAL(changed(QString)),
+ this,SLOT(panelShangedSlot(QString)));
}
/**
@@ -250,25 +240,11 @@ void MainWindow::paintEvent(QPaintEvent *)
*/
void MainWindow::showFullScreenWidget()
{
-//// this->showMaximized();
-// is_full=true;
-// classification_widget=arg;
-// sidebarwid->setVisible(false);
-// mainviewwid->setVisible(false);
-// char widgetcolor[100];
-// sprintf(widgetcolor, "border:0px;background-color:%s;",MAINVIEWWIDGETCOLOR);
-// mainwidget->setStyleSheet(QString::fromLocal8Bit(widgetcolor));
-// pAnimation->start();
-
is_fullscreen=true;
this->setContentsMargins(0,0,0,0);
- QDBusInterface iface("com.ukui.panel.desktop",
- "/",
- "com.ukui.panel.desktop",
- QDBusConnection::sessionBus());
-
- QDBusReply<int> position=iface.call("GetPanelPosition","");
- QDBusReply<int> panelSize=iface.call("GetPanelSize","");
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.panel.settings").toLocal8Bit());
+ int position=gsetting->get("panelposition").toInt();
+ int panelSize=gsetting->get("panelsize").toInt();
if(position==0)
this->setGeometry(QRect(0,0,Style::widthavailable,Style::heightavailable));
else if(position==1)
@@ -277,7 +253,6 @@ void MainWindow::showFullScreenWidget()
this->setGeometry(QRect(panelSize,0,Style::widthavailable,Style::heightavailable));
else
this->setGeometry(QRect(0,0,Style::widthavailable,Style::heightavailable));
-// this->setGeometry(QApplication::desktop()->availableGeometry());
sidebarwid->loadMaxSidebar();
mainviewwid->loadMaxMainView();
//移除分割线
@@ -295,25 +270,11 @@ void MainWindow::showFullScreenWidget()
*/
void MainWindow::showDefaultWidget()
{
-//// this->showNormal();
-// is_full=false;
-// classification_widget=arg;
-// sidebarwid->setVisible(false);
-// mainviewwid->setVisible(false);
-// char widgetcolor[100];
-// sprintf(widgetcolor, "border:0px;background-color:%s;",MAINVIEWWIDGETCOLOR);
-// mainwidget->setStyleSheet(QString::fromLocal8Bit(widgetcolor));
-// pAnimation->start();
-
is_fullscreen=false;
this->setContentsMargins(0,0,0,0);
- QDBusInterface iface("com.ukui.panel.desktop",
- "/",
- "com.ukui.panel.desktop",
- QDBusConnection::sessionBus());
-
- QDBusReply<int> position=iface.call("GetPanelPosition","");
- QDBusReply<int> panelSize=iface.call("GetPanelSize","");
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.panel.settings").toLocal8Bit());
+ int position=gsetting->get("panelposition").toInt();
+ int panelSize=gsetting->get("panelsize").toInt();
char style[100];
if(position==0)
{
@@ -385,14 +346,6 @@ void MainWindow::mainWindowMakeZero()
sidebarwid->widgetMakeZero();
}
-//void MainWindow::recv_hover_signal_slot(bool is_hover)
-//{
-// if(is_hover)
-// pEnterAnimation->start();
-// else
-// pLeaveAnimation->start();
-//}
-
void MainWindow::monitorResolutionChange(QRect rect)
{
Q_UNUSED(rect);
@@ -400,14 +353,17 @@ void MainWindow::monitorResolutionChange(QRect rect)
QProcess::startDetached(QString("/usr/bin/ukui-menu"));
}
-void MainWindow::setFrameStyle()
+void MainWindow::panelShangedSlot(QString key)
{
- QDBusInterface iface("com.ukui.panel.desktop",
- "/",
- "com.ukui.panel.desktop",
- QDBusConnection::sessionBus());
+ Q_UNUSED(key);
+ qApp->quit();
+ QProcess::startDetached(QString("/usr/bin/ukui-menu"));
+}
- QDBusReply<int> position=iface.call("GetPanelPosition","");
+void MainWindow::setFrameStyle()
+{
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.panel.settings").toLocal8Bit());
+ int position=gsetting->get("panelposition").toInt();
char style[100];
if(!is_fullscreen)
{
diff --git a/src/MainWindow/mainwindow.h b/src/MainWindow/mainwindow.h
index 28f9997..3c48c5b 100644
--- a/src/MainWindow/mainwindow.h
+++ b/src/MainWindow/mainwindow.h
@@ -79,8 +79,8 @@ private Q_SLOTS:
void showFullScreenWidget();//加载全屏窗口
void showDefaultWidget();//显示默认窗口
void recvHideMainWindowSlot();//接收隐藏主窗口信号
-// void recv_hover_signal_slot(bool is_hover);
void monitorResolutionChange(QRect rect);//监控屏幕分辨率
+ void panelShangedSlot(QString key);
};
#endif // MAINWINDOW_H
diff --git a/src/QtSingleApplication/qtsingleapplication.cpp b/src/QtSingleApplication/qtsingleapplication.cpp
index 4a9294d..ae9271d 100644
--- a/src/QtSingleApplication/qtsingleapplication.cpp
+++ b/src/QtSingleApplication/qtsingleapplication.cpp
@@ -333,13 +333,9 @@ void QtSingleApplication::activateWindow()
MainWindow* w=qobject_cast<MainWindow*>(actWin);
w->mainWindowMakeZero();
w->setFrameStyle();
- QDBusInterface iface("com.ukui.panel.desktop",
- "/",
- "com.ukui.panel.desktop",
- QDBusConnection::sessionBus());
-
- QDBusReply<int> position=iface.call("GetPanelPosition","");
- QDBusReply<int> panelSize=iface.call("GetPanelSize","");
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.panel.settings").toLocal8Bit());
+ int position=gsetting->get("panelposition").toInt();
+ int panelSize=gsetting->get("panelsize").toInt();
bool ret=w->checkIfFullScreen();
if(ret)
{
diff --git a/src/RightClickMenu/rightclickmenu.cpp b/src/RightClickMenu/rightclickmenu.cpp
index 24ac63f..165a9d6 100644
--- a/src/RightClickMenu/rightclickmenu.cpp
+++ b/src/RightClickMenu/rightclickmenu.cpp
@@ -172,7 +172,6 @@ RightClickMenu::~RightClickMenu()
void RightClickMenu::addCommonUseAppBtnAction()
{
setting->beginGroup("application");
- QString desktopfp=pUkuiMenuInterface->getDesktopPathByAppName(appname);
QFileInfo fileInfo(desktopfp);
QString desktopfn=fileInfo.fileName();
if(!setting->contains(desktopfn) || setting->value(desktopfn).toInt()>0)
@@ -290,7 +289,6 @@ void RightClickMenu::addAppBtnAction()
{
setting->beginGroup("application");
- QString desktopfp=pUkuiMenuInterface->getDesktopPathByAppName(appname);
QFileInfo fileInfo(desktopfp);
QString desktopfn=fileInfo.fileName();
if(!setting->contains(desktopfn) || setting->value(desktopfn).toInt()>0)
@@ -413,13 +411,13 @@ void RightClickMenu::addShutdownAction()
//其它按钮右键菜单
void RightClickMenu::addOtherAction()
{
- QString desktopfp=pUkuiMenuInterface->getDesktopPathByAppName(appname);
+// QString desktopfp=pUkuiMenuInterface->getDesktopPathByAppName(appname);
QDBusInterface iface("com.ukui.panel.desktop",
"/",
"com.ukui.panel.desktop",
QDBusConnection::sessionBus());
- QDBusReply<bool> ret=iface.call("CheckIfExist",desktopfp);
+ QDBusReply<bool> ret=iface.call("CheckIfExist",this->desktopfp);
if(!ret)
{
initWidgetAction(OtherFix2TaskBarWid,":/data/img/sidebarwidget/fixed.svg",tr("Pin to taskbar"));
@@ -499,7 +497,6 @@ void RightClickMenu::initWidgetAction(QWidget *wid, QString iconstr, QString tex
void RightClickMenu::fixToCommonUseActionTriggerSlot()
{
action_number=1;
- QString desktopfp=pUkuiMenuInterface->getDesktopPathByAppName(appname);
QFileInfo fileInfo(desktopfp);
QString desktopfn=fileInfo.fileName();
setting->beginGroup("application");
@@ -515,7 +512,6 @@ void RightClickMenu::fixToCommonUseActionTriggerSlot()
void RightClickMenu::unfixedFromCommonUseActionTriggerSlot()
{
action_number=2;
- QString desktopfp=pUkuiMenuInterface->getDesktopPathByAppName(appname);
QFileInfo fileInfo(desktopfp);
QString desktopfn=fileInfo.fileName();
setting->beginGroup("application");
@@ -532,7 +528,6 @@ void RightClickMenu::unfixedFromCommonUseActionTriggerSlot()
void RightClickMenu::fixToTaskbarActionTriggerSlot()
{
- QString desktopfp=pUkuiMenuInterface->getDesktopPathByAppName(appname);
QDBusInterface iface("com.ukui.panel.desktop",
"/",
"com.ukui.panel.desktop",
@@ -544,7 +539,6 @@ void RightClickMenu::fixToTaskbarActionTriggerSlot()
void RightClickMenu::unfixedFromTaskbarActionTriggerSlot()
{
- QString desktopfp=pUkuiMenuInterface->getDesktopPathByAppName(appname);
QDBusInterface iface("com.ukui.panel.desktop",
"/",
"com.ukui.panel.desktop",
@@ -555,7 +549,6 @@ void RightClickMenu::unfixedFromTaskbarActionTriggerSlot()
void RightClickMenu::addToDesktopActionTriggerSlot()
{
- QString desktopfp=pUkuiMenuInterface->getDesktopPathByAppName(appname);
QString path=QStandardPaths::writableLocation(QStandardPaths::DesktopLocation);
QFileInfo fileInfo(desktopfp);
QString desktopfn=fileInfo.fileName();
@@ -575,7 +568,6 @@ void RightClickMenu::addToDesktopActionTriggerSlot()
void RightClickMenu::uninstallActionTriggerSlot()
{
// QString exec=pUkuiMenuInterface->getAppExec(pUkuiMenuInterface->getDesktopPathByAppName(appname));
- QString desktopfp=pUkuiMenuInterface->getDesktopPathByAppName(appname);
// QFileInfo fileInfo(exec.split(" ").at(0));
// bool ret=fileInfo.isAbsolute();
@@ -618,7 +610,6 @@ void RightClickMenu::onReadOutput()
void RightClickMenu::attributeActionTriggerSlot()
{
- QString desktopfp=pUkuiMenuInterface->getDesktopPathByAppName(appname);
char command[100];
sprintf(command,"ukui-menu-attr %s",desktopfp.toLocal8Bit().data());
QProcess::startDetached(command);
@@ -628,7 +619,6 @@ void RightClickMenu::attributeActionTriggerSlot()
void RightClickMenu::commonUseDeleteActionTriggerSlot()
{
action_number=8;
- QString desktopfp=pUkuiMenuInterface->getDesktopPathByAppName(appname);
QFileInfo fileInfo(desktopfp);
QString desktopfn=fileInfo.fileName();
setting->beginGroup("application");
@@ -700,17 +690,19 @@ void RightClickMenu::otherListActionTriggerSlot()
qDebug()<<"---2---";
}
-int RightClickMenu::showCommonUseAppBtnMenu(QString appname)
+int RightClickMenu::showCommonUseAppBtnMenu(QString desktopfp)
{
- this->appname=appname;
+ this->desktopfp.clear();
+ this->desktopfp=desktopfp;
addCommonUseAppBtnAction();
cuappbtnmenu->exec(QCursor::pos());
return action_number;
}
-int RightClickMenu::showAppBtnMenu(QString appname)
+int RightClickMenu::showAppBtnMenu(QString desktopfp)
{
- this->appname=appname;
+ this->desktopfp.clear();
+ this->desktopfp=desktopfp;
addAppBtnAction();
appbtnmenu->exec(QCursor::pos());
return action_number;
@@ -723,9 +715,10 @@ int RightClickMenu::showShutdownMenu()
}
-void RightClickMenu::showOtherMenu(QString appname)
+void RightClickMenu::showOtherMenu(QString desktopfp)
{
- this->appname=appname;
+ this->desktopfp.clear();
+ this->desktopfp=desktopfp;
addOtherAction();
othermenu->exec(QCursor::pos());
}
diff --git a/src/RightClickMenu/rightclickmenu.h b/src/RightClickMenu/rightclickmenu.h
index 4b105a5..2e4c62b 100644
--- a/src/RightClickMenu/rightclickmenu.h
+++ b/src/RightClickMenu/rightclickmenu.h
@@ -42,13 +42,13 @@ class RightClickMenu: public QWidget
public:
RightClickMenu(QWidget *parent);
virtual ~RightClickMenu();
- int showCommonUseAppBtnMenu(QString appname);
- int showAppBtnMenu(QString appname);
+ int showCommonUseAppBtnMenu(QString desktopfp);
+ int showAppBtnMenu(QString desktopfp);
int showShutdownMenu();
- void showOtherMenu(QString appname);
+ void showOtherMenu(QString desktopfp);
private:
- QString appname;
+ QString desktopfp;
int action_number;//记录执行的action编号
QSettings* setting=nullptr;
diff --git a/src/SideBarWidget/sidebarwidget.cpp b/src/SideBarWidget/sidebarwidget.cpp
index 481b84d..ca69135 100644
--- a/src/SideBarWidget/sidebarwidget.cpp
+++ b/src/SideBarWidget/sidebarwidget.cpp
@@ -360,16 +360,16 @@ void SideBarWidget::otherBtnRightClickSlot()
int index=otherButtonList.indexOf(btn);
QString desktopfp;
if(index==1)
- desktopfp=QString("/usr/share/applications/peony-qt.desktop");
+ desktopfp=QString("/usr/share/applications/peony-computer.desktop");
if(index==2)
desktopfp=QString("/usr/share/applications/ukui-control-center.desktop");
- othermenu->showOtherMenu(pUkuiMenuInterface->getAppName(desktopfp));
+ othermenu->showOtherMenu(desktopfp);
}
void SideBarWidget::computerBtnClickedSlot()
{
Q_EMIT sendHideMainWindowSignal();
- QProcess::startDetached(QString("peony computer:///"));
+ QProcess::startDetached(QString("/usr/bin/peony computer:///"));
}
void SideBarWidget::controlBtnClickedSlot()
@@ -394,7 +394,7 @@ void SideBarWidget::shutdownBtnClickedSlot()
void SideBarWidget::userIconBtnClickedSlot()
{
Q_EMIT sendHideMainWindowSignal();
- QProcess::startDetached(QString("ukui-control-center --u"));
+ QProcess::startDetached(QString("ukui-control-center -u"));
}
void SideBarWidget::userAccountsChanged()
@@ -511,16 +511,6 @@ void SideBarWidget::setMinSidebarBtn(QPushButton* btn)
childwid->setParent(nullptr);
}
}
-
-
-// btn->setFixedSize(160,48);
-// QLayoutItem* item=btn->layout()->itemAt(1);
-// QWidget* wid=item->widget();
-// QLabel* label=qobject_cast<QLabel*>(wid);
-// int len=label->text().length();
-//// btn->layout()->setContentsMargins(25,0,btn->width()-40-labelicon->width()-letterbtnname->width(),0);
-// btn->layout()->setContentsMargins(25,0,btn->width()-40-labelicon->width()-len*14,0);
-// btn->layout()->setSpacing(15);
}
/**
@@ -587,137 +577,14 @@ void SideBarWidget::setMinBtn()
*/
void SideBarWidget::setMaxSidebarBtn(QPushButton *btn)
{
-// btn->setFixedSize(60,48);
-// btn->layout()->setContentsMargins(0,0,0,0);
-// btn->layout()->setSpacing(10);
-
btn->setFixedSize(Style::SideBarBtnWidth,Style::SideBarBtnHeight);
-// QLayoutItem* item=btn->layout()->itemAt(1);
-// QWidget* wid=item->widget();
-// QLabel* label=qobject_cast<QLabel*>(wid);
-// int len=label->text().length();
-// qDebug()<<len;
-// btn->layout()->setContentsMargins(15,0,btn->width()-40-labelicon->width()-letterbtnname->width(),0);
btn->layout()->setContentsMargins(Style::SideBarSpaceIconLeft,
0,
0,
0);
btn->layout()->setSpacing(Style::SideBarSpaceIconText);
-// btn->setStyleSheet("border:1px solid #ff0000;");
-
}
-//void SideBarWidget::enterEvent(QEvent *e)
-//{
-// this->is_hover=true;
-// Q_UNUSED(e);
-// if(!is_fullscreen)
-// {
-// }
-// else
-// {
-//// pEnterAnimation->start();
-// }
-//}
-
-//void SideBarWidget::leaveEvent(QEvent *e)
-//{
-// this->is_hover=false;
-// Q_UNUSED(e);
-// if(!is_fullscreen)
-// {
-// }
-// else
-// {
-//// pLeaveAnimation->start();
-// }
-//}
-
-//void SideBarWidget::animation_finished_slot()
-//{
-//}
-
-/**
- * 按钮焦点事件过滤
- */
-//bool SideBarWidget::eventFilter(QObject *watched, QEvent *event)
-//{
-// char style[300];
-// sprintf(style,"QToolButton{background-color:%s;border:0px;padding-left:0;}\
-// QToolButton:hover{background-color:%s;}\
-// QToolButton:pressed{background-color:%s;}", SIDEBARWIDGETCOLOR,SIDEBARBTNHOVER,SIDEBARBTNPRESSED);
-
-// char pressstyle[200];
-// sprintf(pressstyle,"QToolButton{background-color:%s;border:0px;padding-left:0;}",MAINVIEWWIDGETCOLOR);
-
-// if(watched==commonusebtn)
-// {
-// if(event->type()==QEvent::FocusIn)
-// {
-// commonusebtn->setStyleSheet(QString::fromLocal8Bit(pressstyle));
-// }
-// else if(event->type()==QEvent::FocusOut){
-// commonusebtn->setStyleSheet(QString::fromLocal8Bit(style));
-
-// }
-// }
-// else if(watched==letterbtn)
-// {
-// if(event->type()==QEvent::FocusIn)
-// {
-// letterbtn->setStyleSheet(QString::fromLocal8Bit(pressstyle));
-// }
-// else if(event->type()==QEvent::FocusOut){
-// letterbtn->setStyleSheet(QString::fromLocal8Bit(style));
-
-// }
-// }
-// else if(watched==functionbtn)
-// {
-// if(event->type()==QEvent::FocusIn)
-// {
-// functionbtn->setStyleSheet(QString::fromLocal8Bit(pressstyle));
-// }
-// else if(event->type()==QEvent::FocusOut){
-// functionbtn->setStyleSheet(QString::fromLocal8Bit(style));
-
-// }
-
-// }
-// //屏蔽按键
-// if(event->type()==QEvent::KeyPress)
-// return true;
-
-// return QWidget::eventFilter(watched,event);
-//}
-
-//void SideBarWidget::mousePressEvent(QMouseEvent *e)
-//{
-// if(e->button()==Qt::RightButton)
-// {
-// if(commonusebtn->hasFocus())
-// {
-// if(is_fullscreen)
-// Q_EMIT send_fullscreen_commonusebtn_signal();
-// else Q_EMIT sendCommonUseBtnSignal();
-
-// }
-// else if(letterbtn->hasFocus())
-// {
-// if(is_fullscreen)
-// Q_EMIT sendFullScreenLetterBtnSignal();
-// else Q_EMIT sendLetterBtnSignal();
-// }
-// else if(functionbtn->hasFocus())
-// {
-// if(is_fullscreen)
-// Q_EMIT sendFullScreenFunctionBtnSignal();
-// else Q_EMIT sendFunctionBtnSignal();
-// }
-
-// }
-//}
-
void SideBarWidget::btnGroupClickedSlot(QAbstractButton *btn)
{
char btncolor[300];
@@ -757,7 +624,6 @@ void SideBarWidget::btnGroupClickedSlot(QAbstractButton *btn)
}
}
else{
-// button->setStyleSheet(QString::fromLocal8Bit(btncolor));
button->setStyleSheet("background:transparent;");
}
}
diff --git a/src/Style/style.cpp b/src/Style/style.cpp
index 4a8ae47..3569990 100644
--- a/src/Style/style.cpp
+++ b/src/Style/style.cpp
@@ -83,13 +83,10 @@ void Style::initWidStyle()
QStringList valstr=value.split(" ");
int fontSize=valstr.at(valstr.count()-1).toInt();
- QDBusInterface iface("com.ukui.panel.desktop",
- "/",
- "com.ukui.panel.desktop",
- QDBusConnection::sessionBus());
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.panel.settings").toLocal8Bit());
+ int position=gsetting->get("panelposition").toInt();
+ int panelSize=gsetting->get("panelsize").toInt();
- QDBusReply<int> position=iface.call("GetPanelPosition","");
- QDBusReply<int> panelSize=iface.call("GetPanelSize","");
if(position==0 || position==1)
{
widthavailable=QApplication::primaryScreen()->geometry().width();
@@ -229,7 +226,7 @@ void Style::initWidStyle()
SideBarBtnWidth=110;
SideBarBtnHeight=43;
SideBarFontSize=fontSize;
- SideBarIconSize=16;
+ SideBarIconSize=19;
SideBarSpaceIconLeft=14;
SideBarSpaceIconText=6;
SideBarSpaceBetweenItem=16;
@@ -273,7 +270,7 @@ void Style::initWidStyle()
SideBarBtnWidth=110;
SideBarBtnHeight=43;
SideBarFontSize=fontSize;
- SideBarIconSize=16;
+ SideBarIconSize=19;
SideBarSpaceIconLeft=14;
SideBarSpaceIconText=6;
SideBarSpaceBetweenItem=16;
@@ -317,7 +314,7 @@ void Style::initWidStyle()
SideBarBtnWidth=110;
SideBarBtnHeight=43;
SideBarFontSize=fontSize;
- SideBarIconSize=16;
+ SideBarIconSize=19;
SideBarSpaceIconLeft=14;
SideBarSpaceIconText=6;
SideBarSpaceBetweenItem=16;
@@ -361,7 +358,7 @@ void Style::initWidStyle()
SideBarBtnWidth=110;
SideBarBtnHeight=43;
SideBarFontSize=fontSize;
- SideBarIconSize=16;
+ SideBarIconSize=19;
SideBarSpaceIconLeft=14;
SideBarSpaceIconText=6;
SideBarSpaceBetweenItem=16;
@@ -405,7 +402,7 @@ void Style::initWidStyle()
SideBarBtnWidth=110;
SideBarBtnHeight=43;
SideBarFontSize=fontSize;
- SideBarIconSize=16;
+ SideBarIconSize=19;
SideBarSpaceIconLeft=14;
SideBarSpaceIconText=6;
SideBarSpaceBetweenItem=16;
diff --git a/src/UtilityFunction/fullitemdelegate.cpp b/src/UtilityFunction/fullitemdelegate.cpp
index e118a93..29de925 100644
--- a/src/UtilityFunction/fullitemdelegate.cpp
+++ b/src/UtilityFunction/fullitemdelegate.cpp
@@ -82,14 +82,14 @@ void FullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
icon=QIcon::fromTheme(QString("application-x-desktop"));
QString appname=pUkuiMenuInterface->getAppName(desktopfp);
- QFont font;
+// QFont font;
QRect iconRect;
- font.setPixelSize(Style::AppListFontSize);
+// font.setPixelSize(Style::AppListFontSize);
iconRect=QRect(rect.x()+Style::AppLeftSpace ,
rect.y()+Style::AppTopSpace,
Style::AppListIconSize,
Style::AppListIconSize);
- painter->setFont(font);
+// painter->setFont(font);
icon.paint(painter,iconRect);
if(module==0)
{
diff --git a/src/UtilityFunction/fulllistview.cpp b/src/UtilityFunction/fulllistview.cpp
index acebac2..18b77c2 100644
--- a/src/UtilityFunction/fulllistview.cpp
+++ b/src/UtilityFunction/fulllistview.cpp
@@ -120,11 +120,10 @@ void FullListView::rightClickedSlot()
QModelIndex index=this->currentIndex();
QVariant var=listmodel->data(index, Qt::DisplayRole);
QString desktopfp=var.value<QString>();
- QString appname=pUkuiMenuInterface->getAppName(desktopfp);
menu=new RightClickMenu(this);
if(module>0)
{
- int ret=menu->showAppBtnMenu(appname);
+ int ret=menu->showAppBtnMenu(desktopfp);
if(ret==1 || ret==2)
{
Q_EMIT sendFixedOrUnfixedSignal();
@@ -135,7 +134,7 @@ void FullListView::rightClickedSlot()
Q_EMIT sendHideMainWindowSignal();
}
else{
- int ret=menu->showCommonUseAppBtnMenu(appname);
+ int ret=menu->showCommonUseAppBtnMenu(desktopfp);
if(ret==1 || ret==2)
{
this->setCurrentIndex(index);
diff --git a/src/UtilityFunction/functionclassifybutton.cpp b/src/UtilityFunction/functionclassifybutton.cpp
index 03090c1..0bec80a 100644
--- a/src/UtilityFunction/functionclassifybutton.cpp
+++ b/src/UtilityFunction/functionclassifybutton.cpp
@@ -62,9 +62,9 @@ FunctionClassifyButton::FunctionClassifyButton(QWidget *parent,
textlabel=new QLabel(this);
textlabel->setText(this->text);
- QFont font;
- font.setPixelSize(textSize);
- textlabel->setFont(font);
+// QFont font;
+// font.setPixelSize(textSize);
+// textlabel->setFont(font);
if(is_fullscreen)
textlabel->setStyleSheet("background:transparent; color:rgba(255, 255, 255, 50%);");
else
@@ -105,9 +105,9 @@ void FunctionClassifyButton::enterEvent(QEvent *e)
svgRender->render(&p);
iconlabel->setPixmap(*pixmap);
iconlabel->setFixedSize(pixmap->size());
- QFont font;
- font.setPixelSize(textSize);
- textlabel->setFont(font);
+// QFont font;
+// font.setPixelSize(textSize);
+// textlabel->setFont(font);
if(enabled)
textlabel->setStyleSheet("background:transparent;color:rgba(255, 255, 255);");
textlabel->adjustSize();
@@ -124,9 +124,9 @@ void FunctionClassifyButton::leaveEvent(QEvent *e)
this->setFixedSize(width,height);
svgRender->load(piconstr);
pixmap=new QPixmap(iconSize,iconSize);
- QFont font;
- font.setPixelSize(textSize);
- textlabel->setFont(font);
+// QFont font;
+// font.setPixelSize(textSize);
+// textlabel->setFont(font);
}
else
@@ -134,9 +134,9 @@ void FunctionClassifyButton::leaveEvent(QEvent *e)
this->setFixedSize(width,height);
svgRender->load(iconstr);
pixmap=new QPixmap(iconSize,iconSize);
- QFont font;
- font.setPixelSize(textSize);
- textlabel->setFont(font);
+// QFont font;
+// font.setPixelSize(textSize);
+// textlabel->setFont(font);
}
// pixmap=new QPixmap(iconSize,iconSize);
@@ -175,9 +175,9 @@ void FunctionClassifyButton::mousePressEvent(QMouseEvent *event)
svgRender->render(&p);
iconlabel->setPixmap(*pixmap);
iconlabel->setFixedSize(pixmap->size());
- QFont font;
- font.setPixelSize(textSize);
- textlabel->setFont(font);
+// QFont font;
+// font.setPixelSize(textSize);
+// textlabel->setFont(font);
textlabel->setStyleSheet("background:transparent;color:#ffffff;");
textlabel->adjustSize();
is_pressed=true;
@@ -203,9 +203,9 @@ void FunctionClassifyButton::mouseReleaseEvent(QMouseEvent *event)
svgRender->render(&p);
iconlabel->setPixmap(*pixmap);
iconlabel->setFixedSize(pixmap->size());
- QFont font;
- font.setPixelSize(textSize);
- textlabel->setFont(font);
+// QFont font;
+// font.setPixelSize(textSize);
+// textlabel->setFont(font);
textlabel->setStyleSheet("background:transparent;color:#ffffff;");
textlabel->adjustSize();
Q_EMIT buttonClicked(this);
diff --git a/src/UtilityFunction/itemdelegate.cpp b/src/UtilityFunction/itemdelegate.cpp
index 57d33b0..4f9f0d1 100644
--- a/src/UtilityFunction/itemdelegate.cpp
+++ b/src/UtilityFunction/itemdelegate.cpp
@@ -59,11 +59,11 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
path.quadTo(rect.topRight(), rect.topRight() + QPointF(-radius, -0));
- QFont font;
+// QFont font;
// font.setFamily("Microsoft YaHei");
- font.setPixelSize(Style::AppListFontSize);
- painter->setFont(font);
+// font.setPixelSize(Style::AppListFontSize);
+// painter->setFont(font);
// QIcon icon=index.model()->data(index,Qt::DecorationRole).value<QIcon>();
QStringList strlist=index.model()->data(index,Qt::DisplayRole).toStringList();
diff --git a/src/UtilityFunction/listview.cpp b/src/UtilityFunction/listview.cpp
index 0443d70..a0d4d1c 100644
--- a/src/UtilityFunction/listview.cpp
+++ b/src/UtilityFunction/listview.cpp
@@ -117,8 +117,7 @@ void ListView::rightClickedSlot()
{
if(strlist.at(1).toInt()==1)
{
- QString appname=pUkuiMenuInterface->getAppName(strlist.at(0));
- int ret=menu->showAppBtnMenu(appname);
+ int ret=menu->showAppBtnMenu(strlist.at(0));
if(ret==1 || ret==2)
Q_EMIT sendFixedOrUnfixedSignal();
if(ret==6)
@@ -128,8 +127,7 @@ void ListView::rightClickedSlot()
}
}
else{
- QString appname=pUkuiMenuInterface->getAppName(strlist.at(0));
- int ret=menu->showCommonUseAppBtnMenu(appname);
+ int ret=menu->showCommonUseAppBtnMenu(strlist.at(0));
if(ret==1 || ret==2)
{
this->setCurrentIndex(index);
@@ -173,7 +171,6 @@ void ListView::rightClickedSlot()
this->selectionModel()->clear();
}
-
}
void ListView::enterEvent(QEvent *e)
diff --git a/src/UtilityFunction/pushbutton.cpp b/src/UtilityFunction/pushbutton.cpp
index 3aff34b..464d729 100644
--- a/src/UtilityFunction/pushbutton.cpp
+++ b/src/UtilityFunction/pushbutton.cpp
@@ -47,10 +47,10 @@ void PushButton::initAppBtn()
char style[100];
sprintf(style,"color:#ffffff;");
- QFont font;
- font.setPixelSize(Style::LeftFontSize);
+// QFont font;
+// font.setPixelSize(Style::LeftFontSize);
QLabel* textlabel=new QLabel(this);
- textlabel->setFont(font);
+// textlabel->setFont(font);
textlabel->setAlignment(Qt::AlignCenter);
textlabel->setStyleSheet(style);
textlabel->setText(name);
--
2.33.0
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/zjay998/ukui-menu.git
git@gitee.com:zjay998/ukui-menu.git
zjay998
ukui-menu
ukui-menu
master

搜索帮助