ukui-menu/0262-Adapt-the-light-color-theme.patch
2021-12-10 14:07:39 +08:00

5804 lines
240 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

From 21e4c0bc7c47d5ee6b63d647410184b7f516b406 Mon Sep 17 00:00:00 2001
From: liuhao-startmenu <liuhao@kylinos.cn>
Date: Tue, 10 Nov 2020 15:00:15 +0800
Subject: [PATCH 262/262] Adapt the light color theme
---
main.cpp | 79 +--
src/CommonUseWidget/commonusewidget.cpp | 11 +-
src/CommonUseWidget/fullcommonusewidget.cpp | 6 +-
src/FunctionWidget/fullfunctionwidget.cpp | 181 ++-----
src/FunctionWidget/fullfunctionwidget.h | 13 +-
src/FunctionWidget/functionbuttonwidget.cpp | 13 +-
src/FunctionWidget/functionbuttonwidget.h | 1 +
src/FunctionWidget/functionwidget.cpp | 13 +-
src/Interface/ukuimenuinterface.cpp | 2 +-
src/Interface/ukuimenuinterface.h | 6 +-
src/LetterWidget/fullletterwidget.cpp | 30 +-
src/LetterWidget/fullletterwidget.h | 11 +-
src/LetterWidget/letterbuttonwidget.cpp | 21 +-
src/LetterWidget/letterbuttonwidget.h | 2 +-
src/LetterWidget/letterwidget.cpp | 13 +-
src/MainViewWidget/mainviewwidget.cpp | 458 ++++++++++--------
src/MainViewWidget/mainviewwidget.h | 6 +-
src/MainWindow/mainwindow.cpp | 355 +++++++-------
src/MainWindow/mainwindow.h | 4 +-
src/RightClickMenu/rightclickmenu.cpp | 50 +-
src/RightClickMenu/rightclickmenu.h | 6 -
.../fullsearchresultwidget.cpp | 5 +-
src/SearchResultWidget/searchresultwidget.cpp | 7 +-
src/SideBarWidget/sidebarwidget.cpp | 235 ++++++---
src/SideBarWidget/sidebarwidget.h | 8 +-
src/Style/style.h | 11 +-
src/UtilityFunction/classifybtnscrollarea.cpp | 95 ++++
...fyscrollarea.h => classifybtnscrollarea.h} | 14 +-
src/UtilityFunction/classifyscrollarea.cpp | 36 --
src/UtilityFunction/fullitemdelegate.cpp | 72 +--
src/UtilityFunction/fulllistview.cpp | 68 ++-
src/UtilityFunction/fulllistview.h | 1 +
.../functionclassifybutton.cpp | 120 ++++-
src/UtilityFunction/functionclassifybutton.h | 2 +
src/UtilityFunction/itemdelegate.cpp | 43 +-
src/UtilityFunction/letterclassifybutton.cpp | 113 +++--
src/UtilityFunction/letterclassifybutton.h | 11 +-
src/UtilityFunction/listview.cpp | 27 +-
src/UtilityFunction/listview.h | 1 +
src/UtilityFunction/proxystyle.cpp | 50 ++
src/UtilityFunction/proxystyle.h | 28 ++
src/UtilityFunction/scrollarea.cpp | 86 +++-
src/UtilityFunction/scrollarea.h | 16 +-
.../{pushbutton.cpp => splitbarframe.cpp} | 44 +-
.../{pushbutton.h => splitbarframe.h} | 7 +-
src/UtilityFunction/toolbutton.cpp | 30 +-
src/UtilityFunction/utility.cpp | 51 ++
src/UtilityFunction/utility.h | 7 +
translations/ukui-menu_bo.ts | 326 ++++---------
translations/ukui-menu_tr.ts | 194 +++++---
translations/ukui-menu_zh_CN.ts | 194 +++++---
ukui-menu.pro | 12 +-
52 files changed, 1808 insertions(+), 1387 deletions(-)
create mode 100644 src/UtilityFunction/classifybtnscrollarea.cpp
rename src/UtilityFunction/{classifyscrollarea.h => classifybtnscrollarea.h} (76%)
delete mode 100644 src/UtilityFunction/classifyscrollarea.cpp
create mode 100644 src/UtilityFunction/proxystyle.cpp
create mode 100644 src/UtilityFunction/proxystyle.h
rename src/UtilityFunction/{pushbutton.cpp => splitbarframe.cpp} (72%)
rename src/UtilityFunction/{pushbutton.h => splitbarframe.h} (91%)
diff --git a/main.cpp b/main.cpp
index a710cd3..f42f8dc 100644
--- a/main.cpp
+++ b/main.cpp
@@ -23,9 +23,9 @@
#include <QScreen>
#include <QTranslator>
#include <QLocale>
-#include <KWindowEffects>
#include <X11/Xlib.h>
#include <syslog.h>
+#include "src/UtilityFunction/proxystyle.h"
int main(int argc, char *argv[])
{
@@ -44,6 +44,9 @@ int main(int argc, char *argv[])
return EXIT_SUCCESS;
}
+// auto Style=new ProxyStyle;
+// app.setStyle(Style);
+
QTranslator translator;
if (translator.load(QLocale(), "ukui-menu", "_", QM_FILES_INSTALL_PATH))
app.installTranslator(&translator);
@@ -52,44 +55,48 @@ int main(int argc, char *argv[])
MainWindow w;
app.setActivationWindow(&w);
- KWindowEffects::enableBlurBehind(w.winId(),true);
-
-// int position=0;
-// int panelSize=0;
-// if(QGSettings::isSchemaInstalled(QString("org.ukui.panel.settings").toLocal8Bit()))
-// {
-// QGSettings* gsetting=new QGSettings(QString("org.ukui.panel.settings").toLocal8Bit());
-// if(gsetting->keys().contains(QString("panelposition")))
-// position=gsetting->get("panelposition").toInt();
-// else
-// position=0;
-// if(gsetting->keys().contains(QString("panelsize")))
-// panelSize=gsetting->get("panelsize").toInt();
-// else
-// panelSize=46;
-// }
-// else
-// {
-// position=0;
-// panelSize=46;
-// }
+ w.setProperty("useSystemStyleBlur", true);
-// int x=QApplication::primaryScreen()->geometry().x();
-// int y=QApplication::primaryScreen()->geometry().y();
+ //测试
+ int position=0;
+ int panelSize=0;
+ if(QGSettings::isSchemaInstalled(QString("org.ukui.panel.settings").toLocal8Bit()))
+ {
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.panel.settings").toLocal8Bit());
+ if(gsetting->keys().contains(QString("panelposition")))
+ position=gsetting->get("panelposition").toInt();
+ else
+ position=0;
+ if(gsetting->keys().contains(QString("panelsize")))
+ panelSize=gsetting->get("panelsize").toInt();
+ else
+ panelSize=46;
+ }
+ else
+ {
+ position=0;
+ panelSize=46;
+ }
-// if(position==0)
-// w.setGeometry(QRect(x,y+QApplication::primaryScreen()->geometry().height()-panelSize-Style::minh,Style::minw,Style::minh));
-// else if(position==1)
-// w.setGeometry(QRect(x,y+panelSize,Style::minw,Style::minh));
-// else if(position==2)
-// w.setGeometry(QRect(x+panelSize,y,Style::minw,Style::minh));
-// else
-// w.setGeometry(QRect(x+QApplication::primaryScreen()->geometry().width()-panelSize-Style::minw,y,Style::minw,Style::minh));
+ int x=QApplication::primaryScreen()->geometry().x();
+ int y=QApplication::primaryScreen()->geometry().y();
-// w.setFrameStyle();
-// w.show();
-// w.raise();
-// w.activateWindow();
+ if(position==0)
+ w.setGeometry(QRect(x,y+QApplication::primaryScreen()->geometry().height()-panelSize-Style::minh,
+ Style::minw,Style::minh));
+ else if(position==1)
+ w.setGeometry(QRect(x,y+panelSize,Style::minw,Style::minh));
+ else if(position==2)
+ w.setGeometry(QRect(x+panelSize,y,Style::minw,Style::minh));
+ else
+ w.setGeometry(QRect(x+QApplication::primaryScreen()->geometry().width()-panelSize-Style::minw,y,
+ Style::minw,Style::minh));
+ w.show();
+ w.raise();
+ w.update();
+ w.activateWindow();
+ w.hide();
+ //测试
return app.exec();
}
diff --git a/src/CommonUseWidget/commonusewidget.cpp b/src/CommonUseWidget/commonusewidget.cpp
index 1b9f98d..25bb31f 100644
--- a/src/CommonUseWidget/commonusewidget.cpp
+++ b/src/CommonUseWidget/commonusewidget.cpp
@@ -38,9 +38,8 @@ CommonUseWidget::~CommonUseWidget()
void CommonUseWidget::initUi()
{
this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
- this->setAttribute(Qt::WA_StyledBackground,true);
- this->setStyleSheet("border:0px;background:transparent;");
this->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
+ this->setAttribute(Qt::WA_TranslucentBackground);
this->setFixedSize(Style::defaultMainViewWidWidth,Style::defaultContentWidHeight);
m_ukuiMenuInterface=new UkuiMenuInterface;
@@ -54,8 +53,8 @@ void CommonUseWidget::initUi()
*/
void CommonUseWidget::initAppListWidget()
{
- m_listView=new ListView(this,this->width()-4,this->height(),0);
- m_listView->setGeometry(QRect(0,0,this->width()-4,this->height()));
+ m_listView=new ListView(this,this->width()-6,this->height()-6,0);
+ m_listView->setGeometry(QRect(6,0,this->width()-6,this->height()-6));
m_listView->show();
connect(m_listView,&ListView::sendItemClickedSignal,this,&CommonUseWidget::execApplication);
connect(m_listView,&ListView::sendUpdateAppListSignal,this,&CommonUseWidget::updateListViewSlot);
@@ -97,7 +96,7 @@ void CommonUseWidget::updateListViewSlot()
void CommonUseWidget::updateListView()
{
m_data.clear();
- Q_FOREACH(QString desktopfp,m_ukuiMenuInterface->getAllApp())
+ Q_FOREACH(QString desktopfp,m_ukuiMenuInterface->getAllClassification())
m_data.append(QStringList()<<desktopfp<<"1");
m_listView->updateData(m_data);
}
@@ -118,6 +117,6 @@ void CommonUseWidget::moveScrollBar(int type)
void CommonUseWidget::repaintWidget()
{
this->setFixedSize(Style::defaultMainViewWidWidth,Style::defaultContentWidHeight);
- m_listView->setGeometry(QRect(0,0,this->width()-4,this->height()));
+ m_listView->setGeometry(QRect(6,0,this->width()-6,this->height()-6));
m_listView->show();
}
diff --git a/src/CommonUseWidget/fullcommonusewidget.cpp b/src/CommonUseWidget/fullcommonusewidget.cpp
index d394fed..d9fd0e6 100644
--- a/src/CommonUseWidget/fullcommonusewidget.cpp
+++ b/src/CommonUseWidget/fullcommonusewidget.cpp
@@ -36,13 +36,11 @@ void FullCommonUseWidget::initUi()
{
this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_StyledBackground,true);
- this->setStyleSheet("border:0px;background:transparent;");
this->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
this->setFixedSize(Style::MainViewWidWidth,
Style::AppListWidHeight);
QHBoxLayout* mainLayout=new QHBoxLayout;
-// mainLayout->setContentsMargins(Style::LeftWidWidth,0,0,0);
mainLayout->setContentsMargins(0,0,0,0);
this->setLayout(mainLayout);
m_spaceItem=new QSpacerItem(40,20,QSizePolicy::Expanding,QSizePolicy::Fixed);
@@ -57,7 +55,7 @@ void FullCommonUseWidget::initUi()
void FullCommonUseWidget::initAppListWidget()
{
m_listView=new FullListView(this,0);
- m_listView->setFixedSize(this->width()-Style::LeftWidWidth,this->height());
+ m_listView->setFixedSize(this->width()-Style::LeftWidWidth+1,this->height());
QHBoxLayout *mainLayout=qobject_cast<QHBoxLayout*>(this->layout());
mainLayout->insertWidget(1,m_listView);
connect(m_listView,&FullListView::sendItemClickedSignal,this,&FullCommonUseWidget::execApplication);
@@ -94,7 +92,7 @@ void FullCommonUseWidget::updateListViewSlot()
void FullCommonUseWidget::updateListView()
{
m_data.clear();
- Q_FOREACH(QString desktopfp,m_ukuiMenuInterface->getAllApp())
+ Q_FOREACH(QString desktopfp,m_ukuiMenuInterface->getAllClassification())
m_data.append(desktopfp);
m_listView->updateData(m_data);
}
diff --git a/src/FunctionWidget/fullfunctionwidget.cpp b/src/FunctionWidget/fullfunctionwidget.cpp
index 92d9b17..0e43fb0 100644
--- a/src/FunctionWidget/fullfunctionwidget.cpp
+++ b/src/FunctionWidget/fullfunctionwidget.cpp
@@ -38,9 +38,8 @@ FullFunctionWidget::~FullFunctionWidget()
void FullFunctionWidget::initUi()
{
this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
- this->setAttribute(Qt::WA_StyledBackground,true);
- this->setStyleSheet("border:0px;background:transparent;");
this->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
+ this->setAttribute(Qt::WA_TranslucentBackground);
m_applistWid=new QWidget(this);
m_iconListWid=new QWidget(this);
this->setFixedSize(Style::MainViewWidWidth,
@@ -51,8 +50,6 @@ void FullFunctionWidget::initUi()
QHBoxLayout* mainLayout=new QHBoxLayout;
mainLayout->setContentsMargins(0,0,0,0);
mainLayout->setSpacing(0);
- m_applistWid->setStyleSheet("border:0px;background:transparent;");
- m_iconListWid->setStyleSheet("border:0px;background:transparent");
mainLayout->addWidget(m_iconListWid);
mainLayout->addWidget(m_applistWid);
this->setLayout(mainLayout);
@@ -73,7 +70,8 @@ void FullFunctionWidget::initAppListWidget()
m_applistWid->setLayout(layout);
m_scrollArea=new ScrollArea;
- m_scrollAreaWid=new QWidget;
+ m_scrollAreaWid=new ScrollAreaWid;
+ m_scrollAreaWid->setAttribute(Qt::WA_TranslucentBackground);
m_scrollArea->setFixedSize(m_applistWid->width(),m_applistWid->height());
m_scrollArea->setWidget(m_scrollAreaWid);
m_scrollArea->setWidgetResizable(true);
@@ -168,8 +166,7 @@ void FullFunctionWidget::fillAppList()
void FullFunctionWidget::insertClassificationBtn(QString category)
{
- PushButton* classificationbtn=new PushButton(this,category,m_scrollArea->width()-12,30,2);
-// classificationbtn->setFixedSize(m_scrollArea->width()-12,25);
+ SplitBarFrame* classificationbtn=new SplitBarFrame(this,category,m_scrollArea->width()-12,30,2);
m_scrollAreaWidLayout->addWidget(classificationbtn);
m_classificationList.append(category);
@@ -178,6 +175,10 @@ void FullFunctionWidget::insertClassificationBtn(QString category)
void FullFunctionWidget::insertAppList(QStringList desktopfplist)
{
FullListView* listview=new FullListView(this,2);
+ //修复异常黑框问题
+ connect(m_scrollArea, &ScrollArea::requestUpdate, listview->viewport(), [=](){
+ listview->repaint(listview->rect());
+ });
m_scrollAreaWidLayout->addWidget(listview);
m_data.clear();
for(int i=0;i<desktopfplist.count();i++)
@@ -187,100 +188,6 @@ void FullFunctionWidget::insertAppList(QStringList desktopfplist)
connect(listview,&FullListView::sendHideMainWindowSignal,this,&FullFunctionWidget::sendHideMainWindowSignal);
}
-//void FullFunctionWidget::updateRecentListView()
-//{
-// data.clear();
-// QStringList recentlist;
-// recentlist.clear();
-// recentlist=pUkuiMenuInterface->getRecentApp();
-// if(!recentlist.isEmpty())//最近添加非空
-// {
-// if(m_classificationList.contains(tr("Recently")))//有最近添加分类
-// {
-// QLayoutItem *child;
-// if((child = m_scrollAreaWidLayout->itemAt(1)) != 0)
-// {
-// QWidget* wid=child->widget();
-// FullListView* listview=qobject_cast<FullListView*>(wid);
-// for(int i=0;i<recentlist.count();i++)
-// {
-// QString desktopfp=pUkuiMenuInterface->getDesktopPathByAppName(recentlist.at(i));
-// data.append(desktopfp);
-// }
-// listview->updateData(data);
-// }
-// }
-// else//无最近添加分类
-// {
-// PushButton* classificationbtn=new PushButton(this,tr("Recently"),scrollarea->width()-12,20);
-// classificationbtn->setFixedSize(scrollarea->width()-12,20);
-// m_scrollAreaWidLayout->insertWidget(0,classificationbtn);
-// m_classificationList.insert(0,tr("Recently"));
-
-// FullListView* listview=new FullListView(this,2);
-// m_scrollAreaWidLayout->insertWidget(1,listview);
-// for(int i=0;i<recentlist.count();i++)
-// {
-
-// QString desktopfp=pUkuiMenuInterface->getDesktopPathByAppName(recentlist.at(i));
-// data.append(desktopfp);
-// }
-// listview->addData(data);
-// connect(listview,SIGNAL(sendItemClickedSignal(QString)),this,SLOT(execApplication(QString)));
-
-// //刷新图标列表界面
-// Q_FOREACH (QAbstractButton* button, m_buttonList){
-// m_btnGroup->removeButton(button);
-// }
-// m_buttonList.clear();
-// QLayoutItem *child;
-// while ((child = m_iconListScrollAreaWidLayout->takeAt(0)) != 0) {
-// QWidget* wid=child->widget();
-// m_iconListScrollAreaWidLayout->removeWidget(wid);
-// wid->setParent(nullptr);
-// delete wid;
-// delete child;
-// }
-// initIconListScrollArea();
-// }
-// }
-// else//最近添加为空
-// {
-// if(m_classificationList.contains(tr("Recently")))
-// {
-// int num=0;
-// QLayoutItem *child;
-// while ((child = m_scrollAreaWidLayout->takeAt(0)) != 0) {
-// QWidget* wid=child->widget();
-// m_scrollAreaWidLayout->removeWidget(wid);
-// wid->setParent(nullptr);
-// delete wid;
-// delete child;
-// num++;
-// if(num==2)
-// break;
-// }
-// m_classificationList.removeAt(0);
-
-// //刷新图标列表界面
-// Q_FOREACH (QAbstractButton* button, m_buttonList){
-// m_btnGroup->removeButton(button);
-// }
-// m_buttonList.clear();
-// while ((child = m_iconListScrollAreaWidLayout->takeAt(0)) != 0) {
-// QWidget* wid=child->widget();
-// m_iconListScrollAreaWidLayout->removeWidget(wid);
-// wid->setParent(nullptr);
-// delete wid;
-// delete child;
-// }
-// initIconListScrollArea();
-// }
-// }
-// resizeScrollAreaControls();
-// setting->endGroup();
-//}
-
/**
* 执行应用程序
*/
@@ -312,6 +219,8 @@ void FullFunctionWidget::updateAppListView()
m_btnGroup->removeButton(button);
}
m_buttonList.clear();
+ m_iconListScrollAreaWidLayout->removeItem(m_topSpacerItem);
+ m_iconListScrollAreaWidLayout->removeItem(m_bottomSpacerItem);
while ((child = m_iconListScrollAreaWidLayout->takeAt(0)) != 0) {
QWidget* wid=child->widget();
m_iconListScrollAreaWidLayout->removeWidget(wid);
@@ -358,14 +267,20 @@ void FullFunctionWidget::resizeScrollAreaControls()
*/
void FullFunctionWidget::initIconListWidget()
{
- m_iconListScrollArea=new ClassifyScrollArea(m_iconListWid);
- m_iconListScrollAreaWid=new QWidget;
+ m_iconListScrollArea=new ClassifyBtnScrollArea(m_iconListWid);
+ m_iconListScrollArea->setFixedSize(Style::LeftBtnWidth,
+ m_iconListWid->height());
+ m_iconListScrollAreaWid=new ClassifyBtnScrollAreaWid;
+ m_iconListScrollAreaWid->setFixedSize(m_iconListScrollArea->width(),m_iconListScrollArea->height());
m_iconListScrollAreaWidLayout=new QVBoxLayout;
m_iconListScrollAreaWidLayout->setContentsMargins(0,0,0,0);
m_iconListScrollAreaWidLayout->setSpacing(Style::LeftSpaceBetweenItem);
m_iconListScrollAreaWid->setLayout(m_iconListScrollAreaWidLayout);
m_iconListScrollArea->setWidget(m_iconListScrollAreaWid);
+ m_topSpacerItem=new QSpacerItem(20,40,QSizePolicy::Fixed,QSizePolicy::Expanding);
+ m_bottomSpacerItem=new QSpacerItem(20,40,QSizePolicy::Fixed,QSizePolicy::Expanding);
+
m_btnGroup=new QButtonGroup(m_iconListScrollAreaWid);
m_animation = new QPropertyAnimation(m_iconListScrollArea, "geometry");
@@ -382,33 +297,28 @@ void FullFunctionWidget::initIconListWidget()
*/
void FullFunctionWidget::initIconListScrollArea()
{
+ m_iconListScrollAreaWidLayout->addItem(m_topSpacerItem);
for(int i=0;i<m_classificationList.size();i++)
-// QVector<QStringList> vector=UkuiMenuInterface::functionalVector;
-// QStringList androidlist=vector.at(0);
-// for(int index=0;index<vector.size();index++)
{
-// if(!vector.at(index).isEmpty())
-// {
- FunctionClassifyButton* iconbtn=new FunctionClassifyButton(
- Style::LeftBtnWidth,
- Style::LeftBtnHeight,
- Style::LeftIconSize,
- m_classificationList.at(i),
- true,
- true);
- iconbtn->setChecked(false);
- m_buttonList.append(iconbtn);
- m_iconListScrollAreaWidLayout->addWidget(iconbtn);
-// }
-
+ FunctionClassifyButton* iconbtn=new FunctionClassifyButton(
+ Style::LeftBtnWidth,
+ Style::LeftBtnHeight,
+ Style::LeftIconSize,
+ m_classificationList.at(i),
+ true,
+ true);
+ iconbtn->setChecked(false);
+ m_buttonList.append(iconbtn);
+ m_iconListScrollAreaWidLayout->addWidget(iconbtn);
}
+ m_iconListScrollAreaWidLayout->addItem(m_bottomSpacerItem);
int id=0;
Q_FOREACH (QAbstractButton* btn, m_buttonList) {
m_btnGroup->addButton(btn,id++);
}
connect(m_btnGroup,static_cast<void(QButtonGroup::*)(QAbstractButton*)>(&QButtonGroup::buttonClicked),this,&FullFunctionWidget::btnGroupClickedSlot);
- m_iconListScrollArea->widget()->adjustSize();
+// m_iconListScrollArea->widget()->adjustSize();
m_btnGroup->button(0)->click();
}
@@ -489,14 +399,13 @@ void FullFunctionWidget::valueChangedSlot(int value)
void FullFunctionWidget::enterAnimation()
{
- int height=m_classificationList.size()*Style::LeftBtnHeight+(m_classificationList.size()-1)*Style::LeftSpaceBetweenItem;
m_animation->setDuration(200);//动画总时间
- m_animation->setStartValue(QRect(0,(m_iconListWid->height()-height)/2,
- 0,height));
+ m_animation->setStartValue(QRect(0,0,
+ 0,m_iconListWid->height()));
m_animation->setEndValue(QRect(Style::LeftMargin,
- (m_iconListWid->height()-height)/2,
+ 0,
Style::LeftBtnWidth,
- height));
+ m_iconListWid->height()));
m_animation->setEasingCurve(QEasingCurve::InQuart);
m_animation->start();
m_iconListScrollArea->show();
@@ -504,11 +413,11 @@ void FullFunctionWidget::enterAnimation()
void FullFunctionWidget::setFunctionBtnGeometry()
{
- int height=m_classificationList.size()*Style::LeftBtnHeight+(m_classificationList.size()-1)*Style::LeftSpaceBetweenItem;
+// int height=m_classificationList.size()*Style::LeftBtnHeight+(m_classificationList.size()-1)*Style::LeftSpaceBetweenItem;
m_iconListScrollArea->setGeometry(QRect(Style::LeftMargin,
- (m_iconListWid->height()-height)/2,
+ 0,
Style::LeftBtnWidth,
- height));
+ m_iconListWid->height()));
m_iconListScrollArea->show();
}
@@ -519,22 +428,16 @@ void FullFunctionWidget::repaintWidget()
Style::AppListWidHeight);
m_applistWid->setFixedSize(Style::AppListWidWidth,this->height());
m_iconListWid->setFixedSize(Style::LeftWidWidth,this->height());
+ m_iconListScrollArea->setFixedSize(Style::LeftBtnWidth,
+ m_iconListWid->height());
+ m_iconListScrollAreaWid->setFixedSize(m_iconListScrollArea->width(),m_iconListScrollArea->height());
+// m_iconListScrollArea->widget()->adjustSize();
m_scrollArea->setFixedSize(m_applistWid->width(),m_applistWid->height());
updateAppListView();
}
void FullFunctionWidget::widgetMakeZero()
{
-// Q_FOREACH (QAbstractButton* button, m_buttonList) {
-// int num=m_classificationList.indexOf(functionnamelist.at(m_buttonList.indexOf(button)));
-// if(num!=-1)
-// {
-// m_btnGroup->button(num)->setChecked(true);
-// m_btnGroup->button(num)->click();
-// m_iconListScrollArea->verticalScrollBar()->setSliderPosition(0);
-// break;
-// }
-// }
m_btnGroup->button(0)->click();
m_scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
}
diff --git a/src/FunctionWidget/fullfunctionwidget.h b/src/FunctionWidget/fullfunctionwidget.h
index 8912cb8..185dd8b 100644
--- a/src/FunctionWidget/fullfunctionwidget.h
+++ b/src/FunctionWidget/fullfunctionwidget.h
@@ -35,9 +35,9 @@
#include <gio/gdesktopappinfo.h>
#include "src/Interface/ukuimenuinterface.h"
#include "src/UtilityFunction/scrollarea.h"
-#include "src/UtilityFunction/pushbutton.h"
+#include "src/UtilityFunction/splitbarframe.h"
#include "src/UtilityFunction/fulllistview.h"
-#include "src/UtilityFunction/classifyscrollarea.h"
+#include "src/UtilityFunction/classifybtnscrollarea.h"
#include "src/UtilityFunction/toolbutton.h"
#include "src/UtilityFunction/functionclassifybutton.h"
#include "src/Style/style.h"
@@ -78,18 +78,20 @@ private:
UkuiMenuInterface* m_ukuiMenuInterface=nullptr;
QWidget* m_applistWid=nullptr;
ScrollArea* m_scrollArea=nullptr;
- QWidget* m_scrollAreaWid=nullptr;
+ ScrollAreaWid* m_scrollAreaWid=nullptr;
QVBoxLayout* m_scrollAreaWidLayout=nullptr;
QStringList m_classificationList;//Store the list of category buttons
QStringList m_data;
/*Function classification list interface*/
QWidget* m_iconListWid=nullptr;
- ClassifyScrollArea* m_iconListScrollArea=nullptr;
- QWidget* m_iconListScrollAreaWid=nullptr;
+ ClassifyBtnScrollArea* m_iconListScrollArea=nullptr;
+ ClassifyBtnScrollAreaWid* m_iconListScrollAreaWid=nullptr;
QVBoxLayout* m_iconListScrollAreaWidLayout=nullptr;
QList<QAbstractButton*> m_buttonList;
QButtonGroup* m_btnGroup=nullptr;
+ QSpacerItem* m_topSpacerItem=nullptr;
+ QSpacerItem* m_bottomSpacerItem=nullptr;
/*Animation*/
QPropertyAnimation* m_animation=nullptr;//Function category button animation
@@ -107,7 +109,6 @@ protected:
*/
void initIconListWidget();
void initIconListScrollArea();
-
/**
* @brief Initialize the application list interface
*/
diff --git a/src/FunctionWidget/functionbuttonwidget.cpp b/src/FunctionWidget/functionbuttonwidget.cpp
index 02f3738..0cde546 100644
--- a/src/FunctionWidget/functionbuttonwidget.cpp
+++ b/src/FunctionWidget/functionbuttonwidget.cpp
@@ -48,7 +48,6 @@ void FunctionButtonWidget::initUi()
{
this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_StyledBackground,true);
- this->setStyleSheet("border:0px;background:transparent;");
this->resize(Style::LeftBtnWidth*2+5,Style::LeftBtnHeight*6+25);
QGridLayout* gridLayout=new QGridLayout;
@@ -67,9 +66,21 @@ void FunctionButtonWidget::initUi()
false);
gridLayout->addWidget(iconbtn,row,col);
+ m_buttonList.append(iconbtn);
connect(iconbtn,&FunctionClassifyButton::buttonClicked,this, &FunctionButtonWidget::functionBtnClickedSlot);
if(row*2+col==10)break;
}
+
+ if(QGSettings::isSchemaInstalled(QString("org.ukui.style").toLocal8Bit()))
+ {
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.style").toLocal8Bit());
+ connect(gsetting,&QGSettings::changed,this,[=]{
+ Q_FOREACH (QAbstractButton* btn, m_buttonList) {
+ FunctionClassifyButton *fbtn=qobject_cast<FunctionClassifyButton*>(btn);
+ fbtn->updateIconState();
+ }
+ });
+ }
}
/**
diff --git a/src/FunctionWidget/functionbuttonwidget.h b/src/FunctionWidget/functionbuttonwidget.h
index 2b4bb9b..e2cc5d1 100644
--- a/src/FunctionWidget/functionbuttonwidget.h
+++ b/src/FunctionWidget/functionbuttonwidget.h
@@ -39,6 +39,7 @@ public:
private:
QStringList m_categoryList;
+ QList<QAbstractButton*> m_buttonList;
protected:
/**
diff --git a/src/FunctionWidget/functionwidget.cpp b/src/FunctionWidget/functionwidget.cpp
index 0ea09a1..91303fd 100644
--- a/src/FunctionWidget/functionwidget.cpp
+++ b/src/FunctionWidget/functionwidget.cpp
@@ -38,7 +38,6 @@ void FunctionWidget::initUi()
{
this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_StyledBackground,true);
- this->setStyleSheet("border:0px;background:transparent;");
this->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
this->setFixedSize(Style::defaultMainViewWidWidth,Style::defaultContentWidHeight);
@@ -64,8 +63,8 @@ void FunctionWidget::initUi()
*/
void FunctionWidget::initAppListWidget()
{
- m_appListView=new ListView(this,this->width()-4,this->height(),2);
- m_appListView->setGeometry(QRect(0,0,this->width()-4,this->height()));
+ m_appListView=new ListView(this,this->width()-6,this->height()-6,2);
+ m_appListView->setGeometry(QRect(6,0,this->width()-6,this->height()-6));
m_appListView->show();
fillAppListView(0);
connect(m_appListView,&ListView::sendItemClickedSignal,this,&FunctionWidget::recvItemClickedSlot);
@@ -203,7 +202,7 @@ void FunctionWidget::updateAppListView()
*/
void FunctionWidget::appClassificationBtnClickedSlot()
{
- m_leaveAnimation->setStartValue(QRect(0,0,this->width()-4,this->height()));
+ m_leaveAnimation->setStartValue(QRect(6,0,this->width()-6,this->height()-6));
m_leaveAnimation->setEndValue(QRect(20,20,this->width()-40,this->height()-40));
m_enterAnimation->setStartValue(QRect(-40,-40,this->width()+80,this->height()+80));
m_enterAnimation->setEndValue(QRect((this->width()-Style::LeftBtnWidth*2-5)/2,
@@ -240,7 +239,7 @@ void FunctionWidget::recvFunctionBtnSignal(QString btnname)
Style::LeftBtnHeight*6+25));
m_leaveAnimation->setEndValue(QRect(-40,-40,this->width()+80,this->height()+80));
m_enterAnimation->setStartValue(QRect(20,20,this->width()-40,this->height()-40));
- m_enterAnimation->setEndValue(QRect(0,0,this->width()-4,this->height()));
+ m_enterAnimation->setEndValue(QRect(6,0,this->width()-6,this->height()-6));
m_leaveAnimation->setDuration(80);
m_enterAnimation->setDuration(10);
@@ -271,7 +270,7 @@ void FunctionWidget::animationFinishedSLot()
void FunctionWidget::widgetMakeZero()
{
m_functionBtnWid->hide();
- m_appListView->setGeometry(QRect(0,0,this->width()-4,this->height()));
+ m_appListView->setGeometry(QRect(6,0,this->width()-6,this->height()-6));
m_appListView->show();
m_appListView->verticalScrollBar()->setValue(0);
}
@@ -287,6 +286,6 @@ void FunctionWidget::moveScrollBar(int type)
void FunctionWidget::repaintWidget()
{
this->setFixedSize(Style::defaultMainViewWidWidth,Style::defaultContentWidHeight);
- m_appListView->setGeometry(QRect(0,0,this->width()-4,this->height()));
+ m_appListView->setGeometry(QRect(6,0,this->width()-6,this->height()-6));
m_appListView->show();
}
diff --git a/src/Interface/ukuimenuinterface.cpp b/src/Interface/ukuimenuinterface.cpp
index 82a3d12..87489c5 100644
--- a/src/Interface/ukuimenuinterface.cpp
+++ b/src/Interface/ukuimenuinterface.cpp
@@ -369,7 +369,7 @@ bool UkuiMenuInterface::cmpApp(QStringList &arg_1, QStringList &arg_2)
return false;
}
-QVector<QString> UkuiMenuInterface::getAllApp()
+QVector<QString> UkuiMenuInterface::getAllClassification()
{
QVector<QString> allAppVector;
QVector<QString> commonVector;
diff --git a/src/Interface/ukuimenuinterface.h b/src/Interface/ukuimenuinterface.h
index 4f2d498..e0f703c 100644
--- a/src/Interface/ukuimenuinterface.h
+++ b/src/Interface/ukuimenuinterface.h
@@ -63,10 +63,10 @@ public:
QString getAppComment(QString desktopfp);//获取应用注释
QStringList getDesktopFilePath();//获取系统deskyop文件路径
- QVector<QStringList> getAlphabeticClassification();//获取字母分类
- QVector<QStringList> getFunctionalClassification();//获取功能分类
+ QVector<QStringList> getAlphabeticClassification();//字母分类模块
+ QVector<QStringList> getFunctionalClassification();//功能分类模块
QVector<QString> getCommonUseApp();//获取常用App
- QVector<QString> getAllApp();
+ QVector<QString> getAllClassification();//所有软件模块
void getAndroidApp();//获取安卓应用
static bool cmpApp(QStringList &arg_1,QStringList &arg_2);
bool matchingAppCategories(QString desktopfp,QStringList categorylist);//匹配应用Categories
diff --git a/src/LetterWidget/fullletterwidget.cpp b/src/LetterWidget/fullletterwidget.cpp
index 06641b8..21b46be 100644
--- a/src/LetterWidget/fullletterwidget.cpp
+++ b/src/LetterWidget/fullletterwidget.cpp
@@ -37,9 +37,8 @@ FullLetterWidget::~FullLetterWidget()
void FullLetterWidget::initUi()
{
this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
- this->setAttribute(Qt::WA_StyledBackground,true);
- this->setStyleSheet("border:0px;background:transparent;");
this->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
+ this->setAttribute(Qt::WA_TranslucentBackground);
m_applistWid=new QWidget(this);
m_letterListWid=new QWidget(this);
@@ -51,8 +50,6 @@ void FullLetterWidget::initUi()
QHBoxLayout* mainLayout=new QHBoxLayout;
mainLayout->setContentsMargins(0,0,0,0);
mainLayout->setSpacing(0);
- m_applistWid->setStyleSheet("border:0px;background: transparent;");
- m_letterListWid->setStyleSheet("border:0px;background: transparent;");
mainLayout->addWidget(m_letterListWid);
mainLayout->addWidget(m_applistWid);
this->setLayout(mainLayout);
@@ -72,7 +69,7 @@ void FullLetterWidget::initAppListWidget()
m_applistWid->setLayout(layout);
m_scrollArea=new ScrollArea;
- m_scrollAreaWid=new QWidget;
+ m_scrollAreaWid=new ScrollAreaWid;
m_scrollArea->setWidget(m_scrollAreaWid);
m_scrollArea->setFixedSize(m_applistWid->width(),m_applistWid->height());
m_scrollArea->setWidgetResizable(true);
@@ -86,6 +83,7 @@ void FullLetterWidget::initAppListWidget()
fillAppList();
+
}
/**
@@ -109,12 +107,17 @@ void FullLetterWidget::fillAppList()
letterstr="#";
m_letterList.append(letterstr);//存储分类字符
//插入字母分类按钮
- PushButton* letterbtn=new PushButton(this,letterstr,m_scrollArea->width()-12,30,1);
-// letterbtn->setFixedSize(m_scrollArea->width(),20);
+ SplitBarFrame* letterbtn=new SplitBarFrame(this,letterstr,m_scrollArea->width()-12,30,1);
m_scrollAreaWidLayout->addWidget(letterbtn);
//插入应用列表
FullListView* listview=new FullListView(this,1);
+
+ //修复异常黑框问题
+ connect(m_scrollArea, &ScrollArea::requestUpdate, listview->viewport(), [=](){
+ listview->repaint(listview->rect());
+ });
+
m_scrollAreaWidLayout->addWidget(listview);
m_data.clear();
for(int i=0;i<appList.count();i++)
@@ -212,8 +215,8 @@ void FullLetterWidget::resizeScrollAreaControls()
*/
void FullLetterWidget::initLetterListWidget()
{
- m_letterListScrollArea=new ClassifyScrollArea(m_letterListWid);
- m_letterListScrollAreaWid=new QWidget(m_letterListScrollArea);
+ m_letterListScrollArea=new ClassifyBtnScrollArea(m_letterListWid);
+ m_letterListScrollAreaWid=new ClassifyBtnScrollAreaWid;
m_letterListScrollAreaWidLayout=new QVBoxLayout;
m_letterListScrollAreaWidLayout->setContentsMargins(0,0,0,0);
m_letterListScrollAreaWidLayout->setSpacing(0);
@@ -238,19 +241,14 @@ void FullLetterWidget::initLetterListWidget()
*/
void FullLetterWidget::initLetterListScrollArea()
{
-// m_letterListScrollArea->setStyleSheet("border:1px solid #ff0000;");
-// m_letterListScrollArea->setFixedSize(Style::LeftLetterBtnHeight*2,
-// (m_letterList.size()+1)*Style::LeftLetterBtnHeight);
-
-// m_letterListScrollArea->setStyleSheet("border:1px solid #ff0000;");
if(m_letterList.contains("&"))
m_letterList.replace(m_letterList.indexOf("&"),"&&");
for(int i=0;i<m_letterList.size();i++)
{
LetterClassifyButton* letterbtn=new LetterClassifyButton(m_letterListScrollAreaWid,
- ClassifyBtnHoverBackground,
- ClassifyBtnHoverBackground,
+ true,
m_letterList.at(i));
+ letterbtn->setFixedSize(Style::LeftLetterBtnHeight,Style::LeftLetterBtnHeight);
m_buttonList.append(letterbtn);
m_letterListScrollAreaWidLayout->addWidget(letterbtn);
m_letterListScrollAreaWidLayout->setAlignment(letterbtn,Qt::AlignHCenter);
diff --git a/src/LetterWidget/fullletterwidget.h b/src/LetterWidget/fullletterwidget.h
index 8e7d9c0..dc3a4e4 100644
--- a/src/LetterWidget/fullletterwidget.h
+++ b/src/LetterWidget/fullletterwidget.h
@@ -43,9 +43,9 @@
#include <gio/gdesktopappinfo.h>
#include "src/UtilityFunction/letterclassifybutton.h"
#include "src/UtilityFunction/scrollarea.h"
-#include "src/UtilityFunction/pushbutton.h"
+#include "src/UtilityFunction/splitbarframe.h"
#include "src/UtilityFunction/fulllistview.h"
-#include "src/UtilityFunction/classifyscrollarea.h"
+#include "src/UtilityFunction/classifybtnscrollarea.h"
#include "src/UtilityFunction/toolbutton.h"
#include "src/Style/style.h"
@@ -85,15 +85,15 @@ private:
UkuiMenuInterface* m_ukuiMenuInterface=nullptr;
QWidget* m_applistWid=nullptr;
ScrollArea* m_scrollArea=nullptr;
- QWidget* m_scrollAreaWid=nullptr;
+ ScrollAreaWid* m_scrollAreaWid=nullptr;
QVBoxLayout* m_scrollAreaWidLayout=nullptr;
QStringList m_letterList;//Store the list of letter buttons
QStringList m_data;
/*Alphabetic classification list interface*/
QWidget* m_letterListWid=nullptr;
- ClassifyScrollArea* m_letterListScrollArea=nullptr;
- QWidget* m_letterListScrollAreaWid=nullptr;
+ ClassifyBtnScrollArea* m_letterListScrollArea=nullptr;
+ ClassifyBtnScrollAreaWid* m_letterListScrollAreaWid=nullptr;
QVBoxLayout* m_letterListScrollAreaWidLayout=nullptr;
QList<QAbstractButton*> m_buttonList;
QButtonGroup* m_btnGroup=nullptr;
@@ -110,6 +110,7 @@ protected:
* @brief Initializes UI
*/
void initUi();
+// void paintEvent(QPaintEvent *event);
/**
* @brief fill application list
*/
diff --git a/src/LetterWidget/letterbuttonwidget.cpp b/src/LetterWidget/letterbuttonwidget.cpp
index 31aa016..0af01bb 100644
--- a/src/LetterWidget/letterbuttonwidget.cpp
+++ b/src/LetterWidget/letterbuttonwidget.cpp
@@ -35,7 +35,6 @@ void LetterButtonWidget::initUi()
{
this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_StyledBackground,true);
- this->setStyleSheet("border:0px;background:transparent;");
this->resize(235,366);
QGridLayout* gridLayout=new QGridLayout;
@@ -43,14 +42,6 @@ void LetterButtonWidget::initUi()
gridLayout->setSpacing(5);
this->setLayout(gridLayout);
- char btncolor[400];
- sprintf(btncolor,"QToolButton{background:transparent;color:#ffffff;padding-left:0px;}\
- QToolButton:hover{background-color:%s;color:#ffffff;border-radius:4px;}\
- QToolButton:pressed{background-color:%s;color:#ffffff;border-radius:4px;}\
- QToolButton:disabled{color:rgba(255, 255, 255, 0.25);}",
- ClassifyBtnHoverBackground,
- ClassifyBtnHoverBackground);
-
QStringList letterlist;
letterlist.clear();
for(int i=0;i<26;i++)
@@ -67,12 +58,12 @@ void LetterButtonWidget::initUi()
{
if(row*4+col<letterlist.size())
{
- QToolButton* btn=new QToolButton;
+ LetterClassifyButton* btn=new LetterClassifyButton(this,false,letterlist.at(row*4+col));
+ btn->setFlat(true);
+ btn->setCheckable(false);
btn->setFixedSize(55,48);
- btn->setStyleSheet(QString::fromLocal8Bit(btncolor));
- btn->setText(letterlist.at(row*4+col));
gridLayout->addWidget(btn,row,col);
- connect(btn, &QToolButton::clicked, this, &LetterButtonWidget::letterBtnClickedSlot);
+ connect(btn,&LetterClassifyButton::buttonClicked,this, &LetterButtonWidget::letterBtnClickedSlot);
}
else {
break;
@@ -86,7 +77,7 @@ void LetterButtonWidget::initUi()
*/
void LetterButtonWidget::letterBtnClickedSlot()
{
- QToolButton* btn=dynamic_cast<QToolButton *>(QObject::sender());
+ LetterClassifyButton* btn=dynamic_cast<LetterClassifyButton *>(QObject::sender());
QString btnname=btn->text();
Q_EMIT sendLetterBtnSignal(btnname);
}
@@ -102,7 +93,7 @@ void LetterButtonWidget::recvLetterBtnList(QStringList list)
for(int col=0;col<4;col++)
{
QLayoutItem* item=gridLayout->itemAt(row*4+col);
- QToolButton* btn=static_cast<QToolButton*>(item->widget());
+ LetterClassifyButton* btn=static_cast<LetterClassifyButton*>(item->widget());
QString letterstr=btn->text();
if(list.indexOf(letterstr.at(0))==-1)
btn->setEnabled(false);
diff --git a/src/LetterWidget/letterbuttonwidget.h b/src/LetterWidget/letterbuttonwidget.h
index 904166c..7c03a67 100644
--- a/src/LetterWidget/letterbuttonwidget.h
+++ b/src/LetterWidget/letterbuttonwidget.h
@@ -26,7 +26,7 @@
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QSpacerItem>
-#include "src/UtilityFunction/functionclassifybutton.h"
+#include "src/UtilityFunction/letterclassifybutton.h"
class LetterButtonWidget : public QWidget
{
diff --git a/src/LetterWidget/letterwidget.cpp b/src/LetterWidget/letterwidget.cpp
index 3c13fca..153a2b5 100644
--- a/src/LetterWidget/letterwidget.cpp
+++ b/src/LetterWidget/letterwidget.cpp
@@ -47,7 +47,6 @@ void LetterWidget::initUi()
{
this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_StyledBackground,true);
- this->setStyleSheet("border:0px;background:transparent;");
this->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
this->setFixedSize(Style::defaultMainViewWidWidth,Style::defaultContentWidHeight);
@@ -72,8 +71,8 @@ void LetterWidget::initUi()
*/
void LetterWidget::initAppListWidget()
{
- m_appListView=new ListView(this,this->width()-4,this->height(),1);
- m_appListView->setGeometry(QRect(0,0,this->width()-4,this->height()));
+ m_appListView=new ListView(this,this->width()-6,this->height()-6,1);
+ m_appListView->setGeometry(QRect(6,0,this->width()-6,this->height()-6));
m_appListView->show();
fillAppListView();
connect(m_appListView,&ListView::sendItemClickedSignal,this,&LetterWidget::recvItemClickedSlot);
@@ -176,7 +175,7 @@ void LetterWidget::updateAppListView()
*/
void LetterWidget::appClassificationBtnClickedSlot()
{
- m_leaveAnimation->setStartValue(QRect(0,0,this->width()-4,this->height()));
+ m_leaveAnimation->setStartValue(QRect(6,0,this->width()-6,this->height()-6));
m_leaveAnimation->setEndValue(QRect(20,20,this->width()-40,this->height()-40));
m_enterAnimation->setStartValue(QRect(-40,-40,this->width()+80,this->height()+80));
m_enterAnimation->setEndValue(QRect((this->width()-235)/2,(this->height()-366)/2,235,366));
@@ -208,7 +207,7 @@ void LetterWidget::recvLetterBtnSlot(QString btnname)
m_leaveAnimation->setStartValue(QRect((this->width()-235)/2,(this->height()-366)/2,235,366));
m_leaveAnimation->setEndValue(QRect(-40,-40,this->width()+80,this->height()+80));
m_enterAnimation->setStartValue(QRect(20,20,this->width()-40,this->height()-40));
- m_enterAnimation->setEndValue(QRect(0,0,this->width()-4,this->height()));
+ m_enterAnimation->setEndValue(QRect(6,0,this->width()-6,this->height()-6));
m_leaveAnimation->setDuration(80);
m_enterAnimation->setDuration(10);
@@ -239,7 +238,7 @@ void LetterWidget::animationFinishedSLot()
void LetterWidget::widgetMakeZero()
{
m_letterBtnWid->hide();
- m_appListView->setGeometry(QRect(0,0,this->width()-4,this->height()));
+ m_appListView->setGeometry(QRect(6,0,this->width()-6,this->height()-6));
m_appListView->show();
m_appListView->verticalScrollBar()->setValue(0);
}
@@ -255,6 +254,6 @@ void LetterWidget::moveScrollBar(int type)
void LetterWidget::repaintWidget()
{
this->setFixedSize(Style::defaultMainViewWidWidth,Style::defaultContentWidHeight);
- m_appListView->setGeometry(QRect(0,0,this->width()-4,this->height()));
+ m_appListView->setGeometry(QRect(6,0,this->width()-6,this->height()-6));
m_appListView->show();
}
diff --git a/src/MainViewWidget/mainviewwidget.cpp b/src/MainViewWidget/mainviewwidget.cpp
index fc5c0cc..07bb13f 100644
--- a/src/MainViewWidget/mainviewwidget.cpp
+++ b/src/MainViewWidget/mainviewwidget.cpp
@@ -33,15 +33,6 @@ MainViewWidget::MainViewWidget(QWidget *parent) :
MainViewWidget::~MainViewWidget()
{
-// delete m_commonUseWid;
-// delete m_fullCommonUseWid;
-// delete m_letterWid;
-// delete m_fullLetterWid;
-// delete m_functionWid;
-// delete m_fullFunctionWid;
-// delete m_searchResultWid;
-// delete m_fullSearchResultWid;
-
delete m_ukuiMenuInterface;
delete m_fileWatcher;
delete m_directoryChangedThread;
@@ -54,29 +45,29 @@ void MainViewWidget::initUi()
{
this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_StyledBackground,true);
- this->setStyleSheet("border:0px;background:transparent;");
+ this->setAttribute(Qt::WA_TranslucentBackground);
QVBoxLayout* mainLayout=new QVBoxLayout;
mainLayout->setContentsMargins(0,0,0,0);
mainLayout->setSpacing(0);
m_topWidget=new QWidget;
- m_topWidget->setStyleSheet("border:0px;background:transparent;");
+ m_contentWid=new QWidget;
- m_verticalSpacer=new QSpacerItem(20,40, QSizePolicy::Fixed, QSizePolicy::Expanding);
mainLayout->addWidget(m_topWidget);
- mainLayout->addItem(m_verticalSpacer);
+ mainLayout->addWidget(m_contentWid);
this->setLayout(mainLayout);
this->setFocusPolicy(Qt::NoFocus);
- m_commonUseWid=new CommonUseWidget;
- m_fullCommonUseWid=new FullCommonUseWidget;
- m_letterWid=new LetterWidget;
- m_functionWid=new FunctionWidget;
- m_fullLetterWid=new FullLetterWidget;
- m_fullFunctionWid=new FullFunctionWidget;
- m_fullSearchResultWid=new FullSearchResultWidget;
- m_searchResultWid=new SearchResultWidget;
+ m_commonUseWid=new CommonUseWidget(m_contentWid);
+ m_fullCommonUseWid=new FullCommonUseWidget(m_contentWid);
+ m_letterWid=new LetterWidget(m_contentWid);
+ m_functionWid=new FunctionWidget(m_contentWid);
+ m_fullLetterWid=new FullLetterWidget(m_contentWid);
+ m_fullFunctionWid=new FullFunctionWidget(m_contentWid);
+ m_fullSearchResultWid=new FullSearchResultWidget(m_contentWid);
+ m_searchResultWid=new SearchResultWidget(m_contentWid);
+ hideWidget();
m_ukuiMenuInterface=new UkuiMenuInterface;
@@ -105,8 +96,9 @@ void MainViewWidget::initUi()
addTopControl();
//加载默认视图
+ //搜索区
this->setFixedSize(Style::defaultMainViewWidWidth,Style::minh);
- m_topWidget->setFixedSize(Style::defaultMainViewWidWidth,Style::defaultTopWidHeight);
+ m_topWidget->setFixedSize(this->width(),Style::defaultTopWidHeight);
m_topLayout->setContentsMargins(0,0,0,0);
m_topLayout->setAlignment(m_queryLineEdit,Qt::AlignCenter);
m_queryLineEdit->setFixedSize(Style::defaultQueryLineEditWidth,Style::defaultQueryLineEditHeight);
@@ -114,7 +106,10 @@ void MainViewWidget::initUi()
m_queryWid->setGeometry(QRect((m_queryLineEdit->width()-(m_queryIcon->width()+m_queryText->width()+10))/2,0,
m_queryIcon->width()+m_queryText->width()+10,Style::QueryLineEditHeight));
m_queryWid->show();
- mainLayout->insertWidget(1,m_commonUseWid);
+ //内容区
+ m_contentWid->setFixedSize(this->width(),this->height()-m_topWidget->height());
+ m_commonUseWid->setGeometry(0,0,Style::defaultMainViewWidWidth,Style::defaultContentWidHeight);
+ m_commonUseWid->show();
m_widgetState=1;
m_saveCurrentWidState=1;
@@ -143,11 +138,17 @@ void MainViewWidget::addTopControl()
m_topLayout=new QHBoxLayout;
m_topLayout->setSpacing(0);
m_queryLineEdit=new QLineEdit;
- char style[100];
- sprintf(style, "QLineEdit{border:0px;background-color:%s;border-radius:4px;}",QueryLineEditBackground);
- m_queryLineEdit->setStyleSheet(style);
m_topLayout->addWidget(m_queryLineEdit);
m_topWidget->setLayout(m_topLayout);
+ char style[200];
+ QGSettings gsetting(QString("org.ukui.style").toLocal8Bit());
+ if(gsetting.get("style-name").toString()=="ukui-light")
+ sprintf(style, "QLineEdit{border:1px solid %s;background-color:%s;border-radius:4px;color:#000000;}",
+ QueryLineEditClickedBorderDefault,QueryLineEditDefaultBackground);
+ else
+ sprintf(style, "QLineEdit{border:1px solid %s;background-color:%s;border-radius:4px;color:#ffffff;}",
+ QueryLineEditClickedBorder,QueryLineEditBackground);
+ m_queryLineEdit->setStyleSheet(style);
initQueryLineEdit();
@@ -161,22 +162,27 @@ void MainViewWidget::initQueryLineEdit()
m_queryWid=new QWidget;
m_queryWid->setParent(m_queryLineEdit);
m_queryWid->setFocusPolicy(Qt::NoFocus);
- m_queryWid->setStyleSheet("border:0px;background:transparent");
QHBoxLayout* queryWidLayout=new QHBoxLayout;
- queryWidLayout->setContentsMargins(5,0,0,0);
+ queryWidLayout->setContentsMargins(0,0,0,0);
queryWidLayout->setSpacing(5);
m_queryWid->setLayout(queryWidLayout);
QPixmap pixmap=loadSvg(QString(":/data/img/mainviewwidget/search.svg"),16);
+ QGSettings gsetting(QString("org.ukui.style").toLocal8Bit());
+ if(gsetting.get("style-name").toString()=="ukui-light")//反黑
+ pixmap=drawSymbolicBlackColoredPixmap(pixmap);
+ else
+ pixmap=drawSymbolicColoredPixmap(pixmap);//反白
+ pixmap.setDevicePixelRatio(qApp->devicePixelRatio());
m_queryIcon=new QLabel;
- m_queryIcon->setStyleSheet("background:transparent");
m_queryIcon->setFixedSize(pixmap.size());
m_queryIcon->setPixmap(pixmap);
m_queryText=new QLabel;
m_queryText->setText(tr("Search"));
- m_queryText->setStyleSheet("background:transparent;color:#626c6e;");
m_queryText->adjustSize();
queryWidLayout->addWidget(m_queryIcon);
queryWidLayout->addWidget(m_queryText);
+ queryWidLayout->setAlignment(m_queryIcon,Qt::AlignVCenter);
+ queryWidLayout->setAlignment(m_queryText,Qt::AlignVCenter);
m_queryLineEdit->setFocusPolicy(Qt::ClickFocus);
m_queryLineEdit->installEventFilter(this);
m_queryLineEdit->setContextMenuPolicy(Qt::NoContextMenu);
@@ -197,12 +203,23 @@ bool MainViewWidget::eventFilter(QObject *watched, QEvent *event)
{
if(watched==m_queryLineEdit)
{
+ char style[200];
if(event->type()==QEvent::FocusIn)
{
- char style[200];
- sprintf(style, "QLineEdit{border:1px solid %s;background-color:%s;border-radius:4px;color:#ffffff;}",
- QueryLineEditClickedBorder,QueryLineEditClickedBackground);
- m_queryLineEdit->setStyleSheet(style);
+ if(!m_isFullScreen)
+ {
+ QGSettings gsetting(QString("org.ukui.style").toLocal8Bit());
+ if(gsetting.get("style-name").toString()=="ukui-light")
+ sprintf(style, "QLineEdit{border:1px solid %s;background-color:%s;border-radius:4px;color:#000000;}",
+ QueryLineEditClickedBorderDefault,QueryLineEditClickedDefaultBackground);
+ else
+ sprintf(style, "QLineEdit{border:1px solid %s;background-color:%s;border-radius:4px;color:#ffffff;}",
+ QueryLineEditClickedBorder,QueryLineEditClickedBackground);
+ }
+ else
+ sprintf(style, "QLineEdit{border:1px solid %s;background-color:%s;border-radius:4px;color:#ffffff;}",
+ QueryLineEditClickedBorder,QueryLineEditClickedBackground);
+ m_queryLineEdit->setStyleSheet(style);
if(!m_queryLineEdit->text().isEmpty())
{
if(m_searchKeyWords.isEmpty())
@@ -210,6 +227,8 @@ bool MainViewWidget::eventFilter(QObject *watched, QEvent *event)
}
else
{
+ m_queryWid->layout()->removeWidget(m_queryText);
+ m_queryText->setParent(nullptr);
m_animation->stop();
m_animation->setStartValue(QRect((m_queryLineEdit->width()-(m_queryIcon->width()+m_queryText->width()+10))/2,0,
m_queryIcon->width()+m_queryText->width()+10,Style::QueryLineEditHeight));
@@ -217,7 +236,6 @@ bool MainViewWidget::eventFilter(QObject *watched, QEvent *event)
m_queryIcon->width()+5,Style::QueryLineEditHeight));
m_animation->setEasingCurve(QEasingCurve::OutQuad);
m_animation->start();
-// m_queryLineEdit->setReadOnly(true);
m_queryLineEdit->setTextMargins(-5,1,0,1);
}
m_isSearching=true;
@@ -229,10 +247,21 @@ bool MainViewWidget::eventFilter(QObject *watched, QEvent *event)
{
if(m_isSearching)
{
- char style[100];
- sprintf(style, "QLineEdit{border:0px;background-color:%s;border-radius:4px;}",QueryLineEditBackground);
- m_animation->stop();
+ if(!m_isFullScreen)
+ {
+ QGSettings gsetting(QString("org.ukui.style").toLocal8Bit());
+ if(gsetting.get("style-name").toString()=="ukui-light")
+ sprintf(style, "QLineEdit{border:1px solid %s;background-color:%s;border-radius:4px;color:#000000;}",
+ QueryLineEditClickedBorderDefault,QueryLineEditDefaultBackground);
+ else
+ sprintf(style, "QLineEdit{border:1px solid %s;background-color:%s;border-radius:4px;color:#ffffff;}",
+ QueryLineEditClickedBorder,QueryLineEditBackground);
+ }
+ else
+ sprintf(style, "QLineEdit{border:1px solid %s;background-color:%s;border-radius:4px;color:#ffffff;}",
+ QueryLineEditClickedBorder,QueryLineEditBackground);
m_queryLineEdit->setStyleSheet(style);
+ m_animation->stop();
m_queryText->adjustSize();
m_animation->setStartValue(QRect(0,0,
m_queryIcon->width()+5,Style::QueryLineEditHeight));
@@ -242,10 +271,21 @@ bool MainViewWidget::eventFilter(QObject *watched, QEvent *event)
m_animation->start();
}
}
- else {
- char style[100];
- sprintf(style, "QLineEdit{border:0px;background-color:%s;border-radius:4px;color:#ffffff;}",
- QueryLineEditBackground);
+ else
+ {
+ if(!m_isFullScreen)
+ {
+ QGSettings gsetting(QString("org.ukui.style").toLocal8Bit());
+ if(gsetting.get("style-name").toString()=="ukui-light")
+ sprintf(style, "QLineEdit{border:1px solid %s;background-color:%s;border-radius:4px;color:#000000;}",
+ QueryLineEditClickedDefaultBackground,QueryLineEditDefaultBackground);
+ else
+ sprintf(style, "QLineEdit{border:1px solid %s;background-color:%s;border-radius:4px;color:#ffffff;}",
+ QueryLineEditClickedBorder,QueryLineEditBackground);
+ }
+ else
+ sprintf(style, "QLineEdit{border:1px solid %s;background-color:%s;border-radius:4px;color:#ffffff;}",
+ QueryLineEditClickedBorder,QueryLineEditBackground);
m_queryLineEdit->setStyleSheet(style);
}
m_isSearching=false;
@@ -271,73 +311,57 @@ void MainViewWidget::setLineEditFocus(QString arg)
*/
void MainViewWidget::searchAppSlot(QString arg)
{
-// if(!m_isHiden)
-// {
- if(!arg.isEmpty())//切换至搜索模块
+ if(!arg.isEmpty())//切换至搜索模块
+ {
+ if(m_widgetState!=0)
{
- if(m_widgetState!=0)
- {
- QLayoutItem* child;
- if((child=this->layout()->takeAt(1))!=nullptr)
- {
- QWidget* childWid=child->widget();
- if(childWid!=nullptr)
- {
- this->layout()->removeWidget(childWid);
- childWid->setParent(nullptr);
- }
- }
- m_widgetState=0;
- QVBoxLayout *layout=qobject_cast<QVBoxLayout*>(this->layout());
- if(!m_isFullScreen)
- layout->insertWidget(1,m_searchResultWid);
- else
- layout->insertWidget(1,m_fullSearchResultWid);
- }
- Q_EMIT sendSearchKeyword(arg);
- m_searchAppThread->start();
+ m_widgetState=0;
+ if(!m_isFullScreen)
+ loadSearchResultWidget();
+ else
+ loadFullSearchResultWidget();
}
- else{//切换至分类模块
- if(m_isFullScreen)
- {
- switch (m_saveCurrentWidState) {
- case 1:
- loadFullCommonUseWidget();
- break;
- case 2:
- loadFullLetterWidget();
- break;
- case 3:
- loadFullFunctionWidget();
- default:
- break;
- }
+ Q_EMIT sendSearchKeyword(arg);
+ m_searchAppThread->start();
+ }
+ else{//搜索模块显示所有的软件
+ if(m_isFullScreen)
+ {
+ switch (m_saveCurrentWidState) {
+ case 1:
+ loadFullCommonUseWidget();
+ break;
+ case 2:
+ loadFullLetterWidget();
+ break;
+ case 3:
+ loadFullFunctionWidget();
+ default:
+ break;
}
- else {
- switch (m_saveCurrentWidState) {
- case 1:
- loadCommonUseWidget();
- break;
- case 2:
- loadLetterWidget();
- break;
- case 3:
- loadFunctionWidget();
- break;
- default:
- break;
- }
+ }
+ else {
+ switch (m_saveCurrentWidState) {
+ case 1:
+ loadCommonUseWidget();
+ break;
+ case 2:
+ loadLetterWidget();
+ break;
+ case 3:
+ loadFunctionWidget();
+ break;
+ default:
+ break;
}
}
-
-// }
-// else
-// m_widgetState=m_saveCurrentWidState;
+ }
}
void MainViewWidget::recvSearchResult(QVector<QStringList> arg)
{
m_searchAppThread->quit();
+ m_searchAppThread->wait();
m_fullSearchResultWid->updateAppListView(arg);
m_searchResultWid->updateAppListView(arg);
}
@@ -346,8 +370,8 @@ void MainViewWidget::animationFinishedSlot()
{
if(m_isSearching)//进入搜索状态
{
- m_queryWid->layout()->removeWidget(m_queryText);
- m_queryText->setParent(nullptr);
+// m_queryWid->layout()->removeWidget(m_queryText);
+// m_queryText->setParent(nullptr);
m_queryLineEdit->setTextMargins(20,1,0,1);
if(!m_searchKeyWords.isEmpty())
{
@@ -356,7 +380,28 @@ void MainViewWidget::animationFinishedSlot()
}
}
else//退出搜索状态
+ {
m_queryWid->layout()->addWidget(m_queryText);
+ m_queryWid->layout()->setAlignment(m_queryIcon,Qt::AlignVCenter);
+ m_queryWid->layout()->setAlignment(m_queryText,Qt::AlignVCenter);
+ QPalette pe = m_queryText->palette();
+ if(!m_isFullScreen)
+ {
+ QGSettings gsetting(QString("org.ukui.style").toLocal8Bit());
+ if(gsetting.get("style-name").toString()=="ukui-light")//反黑
+ {
+ pe.setColor(QPalette::Text,QColor(Qt::black));
+ }
+ else
+ {
+ pe.setColor(QPalette::Text,QColor(Qt::white));
+ }
+ }
+ else
+ pe.setColor(QPalette::Text,QColor(Qt::white));
+
+ m_queryText->setPalette(pe);
+ }
}
/**
@@ -365,34 +410,53 @@ void MainViewWidget::animationFinishedSlot()
void MainViewWidget::loadMinMainView()
{
this->setFixedSize(Style::defaultMainViewWidWidth,Style::minh);
- m_topWidget->setFixedSize(Style::defaultMainViewWidWidth,Style::defaultTopWidHeight);
+ //搜索区
+ m_topWidget->setFixedSize(this->width(),Style::defaultTopWidHeight);
m_topLayout->setContentsMargins(0,0,0,0);
m_topLayout->setAlignment(m_queryLineEdit,Qt::AlignCenter);
m_queryLineEdit->setFixedSize(Style::defaultQueryLineEditWidth,Style::defaultQueryLineEditHeight);
if(m_queryLineEdit->text().isEmpty())
{
if(m_queryWid->layout()->count()==1)
+ {
m_queryWid->layout()->addWidget(m_queryText);
+ m_queryWid->layout()->setAlignment(m_queryIcon,Qt::AlignVCenter);
+ m_queryWid->layout()->setAlignment(m_queryText,Qt::AlignVCenter);
+ }
m_queryText->adjustSize();
m_queryWid->setGeometry(QRect((m_queryLineEdit->width()-(m_queryIcon->width()+m_queryText->width()+10))/2,0,
m_queryIcon->width()+m_queryText->width()+10,Style::QueryLineEditHeight));
m_queryWid->show();
}
+ char style[200];
+ QPalette pe = m_queryText->palette();
+ QPixmap pixmap=loadSvg(QString(":/data/img/mainviewwidget/search.svg"),16);
+ QGSettings gsetting(QString("org.ukui.style").toLocal8Bit());
+ if(gsetting.get("style-name").toString()=="ukui-light")
+ {
+ pixmap=drawSymbolicBlackColoredPixmap(pixmap);//反黑
+ pe.setColor(QPalette::Text,QColor(Qt::black));
+ sprintf(style, "QLineEdit{border:1px solid %s;background-color:%s;border-radius:4px;color:#000000;}",
+ QueryLineEditClickedBorderDefault,QueryLineEditDefaultBackground);
+ }
+ else
+ {
+ pixmap=drawSymbolicColoredPixmap(pixmap);//反白
+ pe.setColor(QPalette::Text,QColor(Qt::white));
+ sprintf(style, "QLineEdit{border:1px solid %s;background-color:%s;border-radius:4px;color:#ffffff;}",
+ QueryLineEditClickedBorder,QueryLineEditBackground);
+ }
+ m_queryLineEdit->setStyleSheet(style);
+ pixmap.setDevicePixelRatio(qApp->devicePixelRatio());
+ m_queryIcon->setPixmap(pixmap);
+ m_queryText->setPalette(pe);
+
+ //内容区
+ m_contentWid->setFixedSize(this->width(),this->height()-m_topWidget->height());
if(m_widgetState==0)
{
- QLayoutItem* child;
- if((child=this->layout()->takeAt(1))!=nullptr)
- {
- QWidget* childWid=child->widget();
- if(childWid!=nullptr)
- {
- this->layout()->removeWidget(childWid);
- childWid->setParent(nullptr);
- }
- }
- QVBoxLayout *layout=qobject_cast<QVBoxLayout*>(this->layout());
- layout->insertWidget(1,m_searchResultWid);
+ loadSearchResultWidget();
}
else if(m_widgetState==1)
loadCommonUseWidget();
@@ -401,7 +465,6 @@ void MainViewWidget::loadMinMainView()
else if(m_widgetState==3)
loadFunctionWidget();
m_isFullScreen=false;
-// m_isHiden=false;
}
/**
@@ -411,6 +474,7 @@ void MainViewWidget::loadMaxMainView()
{
this->setFixedSize(Style::MainViewWidWidth,
Style::heightavailable);
+ //搜索区
m_topWidget->setFixedSize(this->width(),Style::TopWidgetHeight);
m_queryLineEdit->setFixedSize(Style::QueryLineEditWidth,Style::QueryLineEditHeight);
@@ -422,27 +486,36 @@ void MainViewWidget::loadMaxMainView()
if(m_queryLineEdit->text().isEmpty())
{
if(m_queryWid->layout()->count()==1)
+ {
m_queryWid->layout()->addWidget(m_queryText);
+ m_queryWid->layout()->setAlignment(m_queryIcon,Qt::AlignVCenter);
+ m_queryWid->layout()->setAlignment(m_queryText,Qt::AlignVCenter);
+ }
m_queryText->adjustSize();
m_queryWid->setGeometry(QRect((m_queryLineEdit->width()-(m_queryIcon->width()+m_queryText->width()+10))/2,0,
m_queryIcon->width()+m_queryText->width()+10,Style::QueryLineEditHeight));
m_queryWid->show();
}
+ char style[200];
+ sprintf(style, "QLineEdit{border:1px solid %s;background-color:%s;border-radius:4px;color:#ffffff;}",
+ QueryLineEditClickedBorder,QueryLineEditBackground);
+ m_queryLineEdit->setStyleSheet(style);
+
+ QPixmap pixmap=loadSvg(QString(":/data/img/mainviewwidget/search.svg"),16);
+ pixmap=drawSymbolicColoredPixmap(pixmap);//反白
+ QPalette pe = m_queryText->palette();
+ pe.setColor(QPalette::Text,QColor(Qt::white));
+ m_queryText->setPalette(pe);
+
+ pixmap.setDevicePixelRatio(qApp->devicePixelRatio());
+ m_queryIcon->setPixmap(pixmap);
+
+ //内容区
+ m_contentWid->setFixedSize(this->width(),this->height()-m_topWidget->height());
if(m_widgetState==0)
{
- QLayoutItem* child;
- if((child=this->layout()->takeAt(1))!=nullptr)
- {
- QWidget* childWid=child->widget();
- if(childWid!=nullptr)
- {
- this->layout()->removeWidget(childWid);
- childWid->setParent(nullptr);
- }
- }
- QVBoxLayout *layout=qobject_cast<QVBoxLayout*>(this->layout());
- layout->insertWidget(1,m_fullSearchResultWid);
+ loadFullSearchResultWidget();
}
else if(m_widgetState==1)
loadFullCommonUseWidget();
@@ -451,7 +524,6 @@ void MainViewWidget::loadMaxMainView()
else if(m_widgetState==3)
loadFullFunctionWidget();
m_isFullScreen=true;
-// m_isHiden=false;
}
void MainViewWidget::resizeControl()
@@ -472,6 +544,7 @@ void MainViewWidget::resizeControl()
0,
(m_topWidget->width()-Style::LeftWidWidth-m_queryLineEdit->width())/2,
0);
+ m_contentWid->setFixedSize(this->width(),this->height()-m_topWidget->height());
}
else
{
@@ -479,6 +552,7 @@ void MainViewWidget::resizeControl()
m_topWidget->setFixedSize(Style::defaultMainViewWidWidth,Style::defaultTopWidHeight);
m_topLayout->setContentsMargins(0,0,0,0);
m_topLayout->setAlignment(m_queryLineEdit,Qt::AlignCenter);
+ m_contentWid->setFixedSize(this->width(),this->height()-m_topWidget->height());
}
}
@@ -493,19 +567,11 @@ void MainViewWidget::loadCommonUseWidget()
m_fullLetterWid->widgetMakeZero();
m_functionWid->widgetMakeZero();
m_fullFunctionWid->widgetMakeZero();
- QLayoutItem *child;
- if((child = this->layout()->takeAt(1)) != nullptr) {
- QWidget* childwid=child->widget();
- if(childwid!=nullptr)
- {
- this->layout()->removeWidget(childwid);
- childwid->setParent(nullptr);
- }
-
- }
- QVBoxLayout *layout=qobject_cast<QVBoxLayout*>(this->layout());
- layout->insertWidget(1,m_commonUseWid);
+ hideWidget();
+ m_commonUseWid->setGeometry(0,0,this->width(),this->height()-m_topWidget->height());
+ m_commonUseWid->show();
m_commonUseWid->updateListView();
+ this->layout()->update();
m_widgetState=1;
m_saveCurrentWidState=1;
}
@@ -520,18 +586,9 @@ void MainViewWidget::loadLetterWidget()
m_fullLetterWid->widgetMakeZero();
m_functionWid->widgetMakeZero();
m_fullFunctionWid->widgetMakeZero();
- QLayoutItem *child;
- if((child = this->layout()->takeAt(1)) != nullptr) {
- QWidget* childwid=child->widget();
- if(childwid!=nullptr)
- {
- this->layout()->removeWidget(childwid);
- childwid->setParent(nullptr);
- }
-
- }
- QVBoxLayout *layout=qobject_cast<QVBoxLayout*>(this->layout());
- layout->insertWidget(1,m_letterWid);
+ hideWidget();
+ m_letterWid->setGeometry(0,0,this->width(),this->height()-m_topWidget->height());
+ m_letterWid->show();
m_widgetState=2;
m_saveCurrentWidState=2;
}
@@ -546,18 +603,9 @@ void MainViewWidget::loadFunctionWidget()
m_letterWid->widgetMakeZero();
m_fullLetterWid->widgetMakeZero();
m_fullFunctionWid->widgetMakeZero();
- QLayoutItem *child;
- if((child = this->layout()->takeAt(1)) != nullptr) {
- QWidget* childwid=child->widget();
- if(childwid!=nullptr)
- {
- this->layout()->removeWidget(childwid);
- childwid->setParent(nullptr);
- }
-
- }
- QVBoxLayout *layout=qobject_cast<QVBoxLayout*>(this->layout());
- layout->insertWidget(1,m_functionWid);
+ hideWidget();
+ m_functionWid->setGeometry(0,0,this->width(),this->height()-m_topWidget->height());
+ m_functionWid->show();
m_widgetState=3;
m_saveCurrentWidState=3;
}
@@ -573,18 +621,9 @@ void MainViewWidget::loadFullCommonUseWidget()
m_fullLetterWid->widgetMakeZero();
m_functionWid->widgetMakeZero();
m_fullFunctionWid->widgetMakeZero();
- QLayoutItem *child;
- if((child = this->layout()->takeAt(1)) != nullptr) {
- QWidget* childwid=child->widget();
- if(childwid!=nullptr)
- {
- this->layout()->removeWidget(childwid);
- childwid->setParent(nullptr);
- }
-
- }
- QVBoxLayout *layout=qobject_cast<QVBoxLayout*>(this->layout());
- layout->insertWidget(1,m_fullCommonUseWid);
+ hideWidget();
+ m_fullCommonUseWid->setGeometry(0,0,this->width(),this->height()-m_topWidget->height());
+ m_fullCommonUseWid->show();
m_fullCommonUseWid->updateListView();
m_widgetState=1;
m_saveCurrentWidState=1;
@@ -600,19 +639,11 @@ void MainViewWidget::loadFullLetterWidget()
m_letterWid->widgetMakeZero();
m_functionWid->widgetMakeZero();
m_fullFunctionWid->widgetMakeZero();
- QLayoutItem *child;
- if((child = this->layout()->takeAt(1)) != nullptr) {
- QWidget* childwid=child->widget();
- if(childwid!=nullptr)
- {
- this->layout()->removeWidget(childwid);
- childwid->setParent(nullptr);
- }
- }
- QVBoxLayout *layout=qobject_cast<QVBoxLayout*>(this->layout());
- layout->insertWidget(1,m_fullLetterWid);
- if(!m_isFullScreen || (m_isFullScreen && m_saveCurrentWidState!=2))
- m_fullLetterWid->enterAnimation();
+ hideWidget();
+ m_fullLetterWid->setGeometry(0,0,this->width(),this->height()-m_topWidget->height());
+ m_fullLetterWid->show();
+// if(!m_isFullScreen || (m_isFullScreen && m_saveCurrentWidState!=2))
+ m_fullLetterWid->enterAnimation();
m_widgetState=2;
m_saveCurrentWidState=2;
}
@@ -627,24 +658,41 @@ void MainViewWidget::loadFullFunctionWidget()
m_letterWid->widgetMakeZero();
m_fullLetterWid->widgetMakeZero();
m_functionWid->widgetMakeZero();
- QLayoutItem *child;
- if((child = this->layout()->takeAt(1)) != nullptr) {
- QWidget* childwid=child->widget();
- if(childwid!=nullptr)
- {
- this->layout()->removeWidget(childwid);
- childwid->setParent(nullptr);
- }
-
- }
- QVBoxLayout *layout=qobject_cast<QVBoxLayout*>(this->layout());
- layout->insertWidget(1,m_fullFunctionWid);
- if(!m_isFullScreen || (m_isFullScreen && m_saveCurrentWidState!=3))
- m_fullFunctionWid->enterAnimation();
+ hideWidget();
+ m_fullFunctionWid->setGeometry(0,0,this->width(),this->height()-m_topWidget->height());
+ m_fullFunctionWid->show();
+// if(!m_isFullScreen || (m_isFullScreen && m_saveCurrentWidState!=3))
+ m_fullFunctionWid->enterAnimation();
m_widgetState=3;
m_saveCurrentWidState=3;
}
+void MainViewWidget::loadSearchResultWidget()
+{
+ hideWidget();
+ m_searchResultWid->setGeometry(0,0,this->width(),this->height()-m_topWidget->height());
+ m_searchResultWid->show();
+}
+
+void MainViewWidget::loadFullSearchResultWidget()
+{
+ hideWidget();
+ m_fullSearchResultWid->setGeometry(0,0,this->width(),this->height()-m_topWidget->height());
+ m_fullSearchResultWid->show();
+}
+
+void MainViewWidget::hideWidget()
+{
+ m_commonUseWid->hide();
+ m_fullCommonUseWid->hide();
+ m_letterWid->hide();
+ m_fullLetterWid->hide();
+ m_functionWid->hide();
+ m_fullFunctionWid->hide();
+ m_searchResultWid->hide();
+ m_fullSearchResultWid->hide();
+}
+
/**
* 进程开启监控槽函数
*/
@@ -730,7 +778,6 @@ void MainViewWidget::repaintWidget()
void MainViewWidget::widgetMakeZero()
{
-// m_isHiden=true;
m_isSearching=false;
m_widgetState=m_saveCurrentWidState;
m_commonUseWid->widgetMakeZero();
@@ -743,9 +790,6 @@ void MainViewWidget::widgetMakeZero()
m_queryLineEdit->clear();
m_queryLineEdit->clearFocus();
m_queryLineEdit->blockSignals(false);
- char style[100];
- sprintf(style, "QLineEdit{border:0px;background-color:%s;border-radius:2px;}",QueryLineEditBackground);
- m_queryLineEdit->setStyleSheet(style);
m_queryLineEdit->setTextMargins(0,1,0,1);
}
diff --git a/src/MainViewWidget/mainviewwidget.h b/src/MainViewWidget/mainviewwidget.h
index 0df64b7..eb0a63a 100644
--- a/src/MainViewWidget/mainviewwidget.h
+++ b/src/MainViewWidget/mainviewwidget.h
@@ -88,7 +88,7 @@ private:
QWidget *m_topWidget=nullptr;
QHBoxLayout *m_topLayout=nullptr;
- QSpacerItem *m_verticalSpacer=nullptr;
+ QWidget *m_contentWid=nullptr;
QLineEdit *m_queryLineEdit=nullptr;
QWidget *m_queryWid=nullptr;
@@ -134,6 +134,10 @@ protected:
* @brief Initializes the query box
*/
void initQueryLineEdit();
+// void paintEvent(QPaintEvent* event);
+ void loadSearchResultWidget();
+ void loadFullSearchResultWidget();
+ void hideWidget();
public Q_SLOTS:
/**
diff --git a/src/MainWindow/mainwindow.cpp b/src/MainWindow/mainwindow.cpp
index 0329518..7f72fcc 100644
--- a/src/MainWindow/mainwindow.cpp
+++ b/src/MainWindow/mainwindow.cpp
@@ -25,6 +25,7 @@
#include <syslog.h>
#include "src/XEventMonitor/xeventmonitor.h"
#include "src/Style/style.h"
+#include <QPalette>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent)
@@ -33,7 +34,7 @@ MainWindow::MainWindow(QWidget *parent) :
UkuiMenuInterface::appInfoVector=m_ukuiMenuInterface->createAppInfoVector();
UkuiMenuInterface::alphabeticVector=m_ukuiMenuInterface->getAlphabeticClassification();
UkuiMenuInterface::functionalVector=m_ukuiMenuInterface->getFunctionalClassification();
- UkuiMenuInterface::allAppVector=m_ukuiMenuInterface->getAllApp();
+ UkuiMenuInterface::allAppVector=m_ukuiMenuInterface->getAllClassification();
Style::initWidStyle();
QString path=QDir::homePath()+"/.config/ukui/ukui-menu.ini";
m_setting=new QSettings(path,QSettings::IniFormat);
@@ -71,10 +72,8 @@ void MainWindow::initUi()
m_line=new QFrame;
m_line->setFrameShape(QFrame::VLine);
m_line->setFixedSize(1,this->height());
+ m_line->setEnabled(false);
mainlayout->addWidget(m_line);
- char linestyle[100];
- sprintf(linestyle, "background-color:%s;",LineBackground);
- m_line->setStyleSheet(linestyle);
mainlayout->addWidget(m_sideBarWid);
m_animation = new QPropertyAnimation(this, "geometry");
@@ -125,6 +124,93 @@ void MainWindow::initUi()
// QString("sendStartMenuSignal"),this,SLOT(recvStartMenuSlot()));
}
+void MainWindow::paintEvent(QPaintEvent *event)
+{
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.control-center.personalise").toLocal8Bit());
+ double transparency=gsetting->get("transparency").toDouble();
+ qreal radius = 0;
+ QRect rect = this->rect();
+ rect.setWidth(rect.width());
+ rect.setHeight(rect.height());
+ rect.setX(this->rect().x());
+ rect.setY(this->rect().y());
+ rect.setWidth(this->rect().width());
+ rect.setHeight(this->rect().height());
+ if(!m_isFullScreen)
+ {
+ radius=6;
+ }
+ else
+ {
+ radius=0;
+ }
+ QPainterPath path;
+ path.moveTo(rect.topRight() - QPointF(radius, 0));
+ path.lineTo(rect.topLeft() + QPointF(radius, 0));
+ path.quadTo(rect.topLeft(), rect.topLeft() + QPointF(0, radius));
+ path.lineTo(rect.bottomLeft() + QPointF(0, -radius));
+ path.quadTo(rect.bottomLeft(), rect.bottomLeft() + QPointF(radius, 0));
+ path.lineTo(rect.bottomRight() - QPointF(radius, 0));
+ path.quadTo(rect.bottomRight(), rect.bottomRight() + QPointF(0, -radius));
+ path.lineTo(rect.topRight() + QPointF(0, radius));
+ path.quadTo(rect.topRight(), rect.topRight() + QPointF(-radius, -0));
+
+ QPainter painter(this);
+ painter.setRenderHint(QPainter::Antialiasing); // 反锯齿;
+ painter.setPen(Qt::transparent);
+ if(!m_isFullScreen)
+ {
+ painter.setBrush(this->palette().base());
+ painter.setPen(Qt::transparent);
+ painter.setOpacity(transparency);
+ painter.drawPath(path);
+ setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
+ }
+ else//全屏固定背景色(黑底白字)
+ {
+// QGSettings gsetting(QString("org.mate.background").toLocal8Bit());
+// QString iconPath =gsetting.get("picture-filename").toString();
+// painter.drawPixmap(0,0,this->width(),this->height(),QPixmap(iconPath));
+
+ if(QGSettings::isSchemaInstalled(QString("org.ukui.control-center.personalise").toLocal8Bit()))
+ {
+ QGSettings gsetting(QString("org.ukui.control-center.personalise").toLocal8Bit());
+ if(gsetting.keys().contains(QString("effect")))
+ {
+ if(gsetting.get("effect").toBool())
+ {
+ painter.setBrush(Qt::black);
+ painter.setPen(Qt::transparent);
+ painter.setOpacity(0.25);
+ painter.drawRect(this->rect());
+ }
+ else
+ {
+ painter.setBrush(this->palette().base());
+ painter.setPen(Qt::transparent);
+ painter.setOpacity(transparency);
+ painter.drawRect(this->rect());
+ }
+ }
+ else
+ {
+ painter.setBrush(this->palette().base());
+ painter.setPen(Qt::transparent);
+ painter.setOpacity(transparency);
+ painter.drawRect(this->rect());
+ }
+ }
+ else
+ {
+ painter.setBrush(this->palette().base());
+ painter.setPen(Qt::transparent);
+ painter.setOpacity(transparency);
+ painter.drawRect(this->rect());
+ }
+ }
+ QMainWindow::paintEvent(event);
+}
+
/**
* 显示全屏窗口
*/
@@ -282,7 +368,7 @@ void MainWindow::animationValueFinishedSlot()
m_sideBarWid->loadMinSidebar();
m_mainViewWid->loadMinMainView();
}
- setFrameStyle();
+// setFrameStyle();
}
/**
@@ -447,20 +533,42 @@ void MainWindow::loadMainWindow()
int y=QApplication::primaryScreen()->geometry().y();
if(m_isFullScreen)
{
+ //修复界面黑框问题
+ QRect startRect;
+ QRect endRect;
if(position==0)
- this->setGeometry(QRect(x,y,QApplication::primaryScreen()->geometry().width(),QApplication::primaryScreen()->geometry().height()-panelSize));
+ {
+ startRect.setRect(x,y+QApplication::primaryScreen()->geometry().height()-panelSize-Style::minh,Style::minw,Style::minh);
+ endRect.setRect(x,y,QApplication::primaryScreen()->geometry().width(),QApplication::primaryScreen()->geometry().height()-panelSize);
+ }
else if(position==1)
- this->setGeometry(QRect(x,y+panelSize,QApplication::primaryScreen()->geometry().width(),QApplication::primaryScreen()->geometry().height()-panelSize));
+ {
+ startRect.setRect(x,y+panelSize,Style::minw,Style::minh);
+ endRect.setRect(x,y+panelSize,QApplication::primaryScreen()->geometry().width(),QApplication::primaryScreen()->geometry().height()-panelSize);
+ }
else if(position==2)
- this->setGeometry(QRect(x+panelSize,y,QApplication::primaryScreen()->geometry().width()-panelSize,QApplication::primaryScreen()->geometry().height()));
+ {
+ startRect.setRect(x+panelSize,y,Style::minw,Style::minh);
+ endRect.setRect(x+panelSize,y,QApplication::primaryScreen()->geometry().width()-panelSize,QApplication::primaryScreen()->geometry().height());
+ }
else
- this->setGeometry(QRect(x,y,QApplication::primaryScreen()->geometry().width()-panelSize,QApplication::primaryScreen()->geometry().height()));
- m_sideBarWid->loadMaxSidebar();
- m_sideBarWid->setSideBarBtnGeometry();
- m_mainViewWid->loadMaxMainView();
- QPainterPath path;
- path.addRect(this->rect());
- setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
+ {
+ startRect.setRect(x+QApplication::primaryScreen()->geometry().width()-panelSize-Style::minw,y,Style::minw,Style::minh);
+ endRect.setRect(x,y,QApplication::primaryScreen()->geometry().width()-panelSize,QApplication::primaryScreen()->geometry().height());
+ }
+
+ this->centralWidget()->layout()->removeWidget(m_mainViewWid);
+ m_mainViewWid->setParent(nullptr);
+ this->centralWidget()->layout()->removeWidget(m_line);
+ m_line->setParent(nullptr);
+ this->centralWidget()->layout()->removeWidget(m_sideBarWid);
+ m_sideBarWid->setParent(nullptr);
+
+ m_animation->setDuration(1);//动画总时间
+ m_animation->setStartValue(startRect);
+ m_animation->setEndValue(endRect);
+ m_animation->setEasingCurve(QEasingCurve::Linear);
+ m_animation->start();
}
else
{
@@ -478,75 +586,6 @@ void MainWindow::loadMainWindow()
m_sideBarWid->loadMinSidebar();
m_mainViewWid->loadMinMainView();
}
- setFrameStyle();
-
- //默认开启默认态
-// if(QGSettings::isSchemaInstalled(QString("org.ukui.control-center.desktop").toLocal8Bit()))
-// {
-// QGSettings* gsetting=new QGSettings(QString("org.ukui.control-center.desktop").toLocal8Bit());
-// bool ret=false;
-// if(gsetting->keys().contains(QString("menufullScreen")))
-// ret=gsetting->get("menufull-screen").toBool();
-// if(ret)
-// {
-// if(position==0)
-// this->setGeometry(QRect(x,y,QApplication::primaryScreen()->geometry().width(),QApplication::primaryScreen()->geometry().height()-panelSize));
-// else if(position==1)
-// this->setGeometry(QRect(x,y+panelSize,QApplication::primaryScreen()->geometry().width(),QApplication::primaryScreen()->geometry().height()-panelSize));
-// else if(position==2)
-// this->setGeometry(QRect(x+panelSize,y,QApplication::primaryScreen()->geometry().width()-panelSize,QApplication::primaryScreen()->geometry().height()));
-// else
-// this->setGeometry(QRect(x,y,QApplication::primaryScreen()->geometry().width()-panelSize,QApplication::primaryScreen()->geometry().height()));
-// this->centralWidget()->layout()->removeWidget(m_line);
-// m_line->setParent(nullptr);
-// m_sideBarWid->loadMaxSidebar();
-// m_mainViewWid->loadMaxMainView();
-// m_sideBarWid->enterAnimation();
-// QPainterPath path;
-// path.addRect(this->rect());
-// setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
-// m_isFullScreen=true;
-// }
-// else
-// {
-// if(position==0)
-// this->setGeometry(QRect(x,y+QApplication::primaryScreen()->geometry().height()-panelSize-Style::minh,
-// Style::minw,Style::minh));
-// else if(position==1)
-// this->setGeometry(QRect(x,y+panelSize,Style::minw,Style::minh));
-// else if(position==2)
-// this->setGeometry(QRect(x+panelSize,y,Style::minw,Style::minh));
-// else
-// this->setGeometry(QRect(x+QApplication::primaryScreen()->geometry().width()-panelSize-Style::minw,y,
-// Style::minw,Style::minh));
-// QHBoxLayout* mainLayout=qobject_cast<QHBoxLayout*>(this->centralWidget()->layout());
-// mainLayout->insertWidget(1,m_line);
-// m_sideBarWid->loadMinSidebar();
-// m_mainViewWid->loadMinMainView();
-// m_isFullScreen=false;
-// }
-// }
-// else
-// {
-// if(position==0)
-// this->setGeometry(QRect(x,y+QApplication::primaryScreen()->geometry().height()-panelSize-Style::minh,
-// Style::minw,Style::minh));
-// else if(position==1)
-// this->setGeometry(QRect(x,y+panelSize,Style::minw,Style::minh));
-// else if(position==2)
-// this->setGeometry(QRect(x+panelSize,y,Style::minw,Style::minh));
-// else
-// this->setGeometry(QRect(x+QApplication::primaryScreen()->geometry().width()-panelSize-Style::minw,y,
-// Style::minw,Style::minh));
-
-// QHBoxLayout *mainLayout=qobject_cast<QHBoxLayout*>(this->centralWidget()->layout());
-// mainLayout->insertWidget(1,m_line);
-// m_sideBarWid->loadMinSidebar();
-// m_mainViewWid->loadMinMainView();
-// m_isFullScreen=false;
-// }
-
-// setFrameStyle();
}
void MainWindow::monitorResolutionChange(QRect rect)
@@ -628,114 +667,62 @@ void MainWindow::repaintWidget()
this->setGeometry(QRect(x+QApplication::primaryScreen()->geometry().width()-panelSize-Style::minw,y,
Style::minw,Style::minh));
-// QHBoxLayout *mainLayout=qobject_cast<QHBoxLayout*>(this->centralWidget()->layout());
-// mainLayout->insertWidget(1,m_line);
m_sideBarWid->loadMinSidebar();
m_mainViewWid->resizeControl();
}
- setFrameStyle();
}
}
-void MainWindow::setFrameStyle()
-{
- int position=0;
- int panelSize=0;
- if(QGSettings::isSchemaInstalled(QString("org.ukui.panel.settings").toLocal8Bit()))
- {
- QGSettings* gsetting=new QGSettings(QString("org.ukui.panel.settings").toLocal8Bit());
- if(gsetting->keys().contains(QString("panelposition")))
- position=gsetting->get("panelposition").toInt();
- else
- position=0;
- if(gsetting->keys().contains(QString("panelsize")))
- panelSize=gsetting->get("panelsize").toInt();
- else
- panelSize=46;
- }
- else
- {
- position=0;
- panelSize=46;
- }
- char style[100];
-
- QString m_defaultBackground;
- if(QGSettings::isSchemaInstalled(QString("org.ukui.control-center.personalise").toLocal8Bit()))
- {
- QGSettings* gsetting=new QGSettings(QString("org.ukui.control-center.personalise").toLocal8Bit());
- if(gsetting->keys().contains(QString("transparency")))
- {
- double transparency=gsetting->get("transparency").toDouble();
- m_defaultBackground=QString("rgba(19, 19, 20,"+QString::number(transparency)+")");
- }
- else
- m_defaultBackground=QString("rgba(19, 19, 20, 0.7)");
- }
- else
- m_defaultBackground=QString("rgba(19, 19, 20, 0.7)");
+//void MainWindow::setFrameStyle()
+//{
+// int position=0;
+// int panelSize=0;
+// if(QGSettings::isSchemaInstalled(QString("org.ukui.panel.settings").toLocal8Bit()))
+// {
+// QGSettings* gsetting=new QGSettings(QString("org.ukui.panel.settings").toLocal8Bit());
+// if(gsetting->keys().contains(QString("panelposition")))
+// position=gsetting->get("panelposition").toInt();
+// else
+// position=0;
+// if(gsetting->keys().contains(QString("panelsize")))
+// panelSize=gsetting->get("panelsize").toInt();
+// else
+// panelSize=46;
+// }
+// else
+// {
+// position=0;
+// panelSize=46;
+// }
- if(!m_isFullScreen)
- {
- QRectF rect;
- rect.setX(this->rect().x()+1);
- rect.setY(this->rect().y()+1);
- rect.setWidth(this->rect().width()-2);
- rect.setHeight(this->rect().height()-2);
- const qreal radius = 6;
- QPainterPath path;
+// QRectF rect;
+// rect.setX(this->rect().x()+1);
+// rect.setY(this->rect().y()+1);
+// rect.setWidth(this->rect().width()-2);
+// rect.setHeight(this->rect().height()-2);
+// qreal radius = 0;
+// QPainterPath path;
+// if(!m_isFullScreen)
+// {
+// radius=12;
+// }
+// else
+// {
+// radius=0;
+// }
- if(position==0)
- {
- //右上角
- sprintf(style, "border:0px;background-color:%s;border-top-right-radius:6px;",m_defaultBackground.toLocal8Bit().data());
- path.moveTo(rect.topRight() - QPointF(radius, 0));
- path.lineTo(rect.topLeft());
- path.lineTo(rect.bottomLeft());
- path.lineTo(rect.bottomRight());
- path.lineTo(rect.topRight() + QPointF(0, radius));
- path.quadTo(rect.topRight(), rect.topRight() + QPointF(-radius, -0));
- }
- else if(position==1)
- {
- //右下角
- sprintf(style, "border:0px;background-color:%s;border-bottom-right-radius:6px;",m_defaultBackground.toLocal8Bit().data());
- path.moveTo(rect.topRight());
- path.lineTo(rect.topLeft());
- path.lineTo(rect.bottomLeft());
- path.lineTo(rect.bottomRight() - QPointF(radius, 0));
- path.quadTo(rect.bottomRight(), rect.bottomRight() + QPointF(0, -radius));
- path.lineTo(rect.topRight());
- }
- else if(position==2)
- {
- //右下角
- sprintf(style, "border:0px;background-color:%s;border-bottom-right-radius:6px;",m_defaultBackground.toLocal8Bit().data());
- path.moveTo(rect.topRight());
- path.lineTo(rect.topLeft());
- path.lineTo(rect.bottomLeft());
- path.lineTo(rect.bottomRight() - QPointF(radius, 0));
- path.quadTo(rect.bottomRight(), rect.bottomRight() + QPointF(0, -radius));
- path.lineTo(rect.topRight());
- }
- else
- {
- //左下角
- sprintf(style, "border:0px;background-color:%s;border-bottom-left-radius:6px;",m_defaultBackground.toLocal8Bit().data());
- path.moveTo(rect.topRight());
- path.lineTo(rect.topLeft());
- path.lineTo(rect.bottomLeft() + QPointF(0, -radius));
- path.quadTo(rect.bottomLeft(), rect.bottomLeft() + QPointF(radius, 0));
- path.lineTo(rect.bottomRight());
- path.lineTo(rect.topRight());
- }
- setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
- }
- else {
- sprintf(style, "border:0px;background-color:%s;border-radius:0px;",m_defaultBackground.toLocal8Bit().data());
- }
- m_frame->setStyleSheet(style);
-}
+// path.moveTo(rect.topRight() - QPointF(radius, 0));
+// path.lineTo(rect.topLeft() + QPointF(radius, 0));
+// path.quadTo(rect.topLeft(), rect.topLeft() + QPointF(0, radius));
+// path.lineTo(rect.bottomLeft() + QPointF(0, -radius));
+// path.quadTo(rect.bottomLeft(), rect.bottomLeft() + QPointF(radius, 0));
+// path.lineTo(rect.bottomRight() - QPointF(radius, 0));
+// path.quadTo(rect.bottomRight(), rect.bottomRight() + QPointF(0, -radius));
+// path.lineTo(rect.topRight() + QPointF(0, radius));
+// path.quadTo(rect.topRight(), rect.topRight() + QPointF(-radius, -0));
+
+// setProperty("blurRegion", QRegion(path.toFillPolygon().toPolygon()));
+//}
void MainWindow::keyPressEvent(QKeyEvent *e)
{
diff --git a/src/MainWindow/mainwindow.h b/src/MainWindow/mainwindow.h
index 67c1b0c..826092f 100644
--- a/src/MainWindow/mainwindow.h
+++ b/src/MainWindow/mainwindow.h
@@ -48,7 +48,7 @@ public:
/**
* @brief Set the QFrame style
*/
- void setFrameStyle();
+// void setFrameStyle();
/**
* @brief Load the main window
*/
@@ -74,7 +74,7 @@ protected:
* @brief Handle events clicking on the outside of the window
*/
bool event(QEvent *event);
-// void paintEvent(QPaintEvent*);
+ void paintEvent(QPaintEvent* event);
/**
* @brief The query box responds to keyboard events
*/
diff --git a/src/RightClickMenu/rightclickmenu.cpp b/src/RightClickMenu/rightclickmenu.cpp
index 657842b..7767b2a 100644
--- a/src/RightClickMenu/rightclickmenu.cpp
+++ b/src/RightClickMenu/rightclickmenu.cpp
@@ -56,38 +56,6 @@ QPixmap RightClickMenu::getIconPixmap(QString iconstr, int type)
return pixmap;
}
-QPixmap RightClickMenu::drawSymbolicColoredPixmap(const QPixmap &source)
-{
- QColor gray(128,128,128);
- QColor standard (31,32,34);
- QImage img = source.toImage();
- for (int x = 0; x < img.width(); x++) {
- for (int y = 0; y < img.height(); y++) {
- auto color = img.pixelColor(x, y);
- if (color.alpha() > 0) {
- if (qAbs(color.red()-gray.red())<20 && qAbs(color.green()-gray.green())<20 && qAbs(color.blue()-gray.blue())<20) {
- color.setRed(255);
- color.setGreen(255);
- color.setBlue(255);
- img.setPixelColor(x, y, color);
- }
- else if(qAbs(color.red()-standard.red())<20 && qAbs(color.green()-standard.green())<20 && qAbs(color.blue()-standard.blue())<20)
- {
- color.setRed(255);
- color.setGreen(255);
- color.setBlue(255);
- img.setPixelColor(x, y, color);
- }
- else
- {
- img.setPixelColor(x, y, color);
- }
- }
- }
- }
- return QPixmap::fromImage(img);
-}
-
void RightClickMenu::fixToAllActionTriggerSlot()
{
m_actionNumber=1;
@@ -289,24 +257,8 @@ int RightClickMenu::showShutdownMenu()
{
m_actionNumber=0;
QMenu menu;
-// menu.addAction(QIcon(getIconPixmap("stock-people-symbolic",1)),tr("Switch User"),
-// this,SLOT(switchUserActionTriggerSlot()));
-//#if (QT_VERSION < QT_VERSION_CHECK(5,12,0))
-// if(QGSettings::isSchemaInstalled(QString("org.ukui.session").toLocal8Bit()))
-// {
-// QGSettings* gsetting=new QGSettings(QString("org.ukui.session").toLocal8Bit());
-// if(gsetting->keys().contains(QString("canhibernate")))
-// {
-// if(gsetting->get("canhibernate").toBool())
-// menu.addAction(QIcon(getIconPixmap("kylin-hebernate-symbolic",1)),tr("Hibernate"),
-// this,SLOT(hibernateActionTriggerSlot()));
-// }
-// }
-//#endif
menu.addAction(QIcon(getIconPixmap("kylin-sleep-symbolic",1)),tr("Sleep"),
- this,SLOT(sleepActionTriggerSlot()));
-// menu.addAction(QIcon(getIconPixmap("system-lock-screen-symbolic",1)),tr("Lock Screen"),
-// this,SLOT(lockScreenActionTriggerSlot()));
+ this,SLOT(hibernateActionTriggerSlot()));//休眠睡眠相同
menu.addAction(QIcon(getIconPixmap("system-logout-symbolic",1)),tr("Log Out"),
this,SLOT(logoutActionTriggerSlot()));
menu.addAction(QIcon(getIconPixmap("system-restart-symbolic",1)),tr("Restart"),
diff --git a/src/RightClickMenu/rightclickmenu.h b/src/RightClickMenu/rightclickmenu.h
index 34d1526..9dd6f5a 100644
--- a/src/RightClickMenu/rightclickmenu.h
+++ b/src/RightClickMenu/rightclickmenu.h
@@ -85,12 +85,6 @@ protected:
* @return
*/
QPixmap getIconPixmap(QString iconstr, int type);
- /**
- * @brief Process image color
- * @param source: QPixmap icon
- * @return return QPixmap icon
- */
- QPixmap drawSymbolicColoredPixmap(const QPixmap &source);
private Q_SLOTS:
/**
diff --git a/src/SearchResultWidget/fullsearchresultwidget.cpp b/src/SearchResultWidget/fullsearchresultwidget.cpp
index 83e4aa5..ddbc7e6 100644
--- a/src/SearchResultWidget/fullsearchresultwidget.cpp
+++ b/src/SearchResultWidget/fullsearchresultwidget.cpp
@@ -36,7 +36,6 @@ void FullSearchResultWidget::initUi()
{
this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_StyledBackground,true);
- this->setStyleSheet("border:0px;background:transparent;");
this->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
this->setFixedSize(Style::MainViewWidWidth,
Style::AppListWidHeight);
@@ -46,7 +45,7 @@ void FullSearchResultWidget::initUi()
m_spaceItem=new QSpacerItem(40,20,QSizePolicy::Expanding,QSizePolicy::Fixed);
mainLayout->addItem(m_spaceItem);
m_listView=new FullListView(this,3);
- m_listView->setFixedSize(this->width()-Style::LeftWidWidth,this->height());
+ m_listView->setFixedSize(this->width()-Style::LeftWidWidth+1,this->height());
mainLayout->addWidget(m_listView);
this->setLayout(mainLayout);
@@ -86,7 +85,7 @@ void FullSearchResultWidget::repaintWidget()
m_listView->setParent(nullptr);
delete m_listView;
m_listView=new FullListView(this,3);
- m_listView->setFixedSize(this->width()-Style::LeftWidWidth,this->height());
+ m_listView->setFixedSize(this->width()-Style::LeftWidWidth+1,this->height());
QHBoxLayout *mainLayout=qobject_cast<QHBoxLayout*>(this->layout());
mainLayout->insertWidget(1,m_listView);
m_data.clear();
diff --git a/src/SearchResultWidget/searchresultwidget.cpp b/src/SearchResultWidget/searchresultwidget.cpp
index 43e3336..57dd2a9 100644
--- a/src/SearchResultWidget/searchresultwidget.cpp
+++ b/src/SearchResultWidget/searchresultwidget.cpp
@@ -36,12 +36,11 @@ void SearchResultWidget::initUi()
{
this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_StyledBackground,true);
- this->setStyleSheet("border:0px;background:transparent;");
this->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed);
this->setFixedSize(Style::defaultMainViewWidWidth,Style::defaultContentWidHeight);
- m_listView=new ListView(this,this->width()-4,this->height(),3);
- m_listView->setGeometry(QRect(0,0,this->width()-4,this->height()));
+ m_listView=new ListView(this,this->width()-6,this->height()-6,3);
+ m_listView->setGeometry(QRect(6,0,this->width()-6,this->height()-6));
m_listView->show();
m_data.clear();
@@ -83,6 +82,6 @@ void SearchResultWidget::moveScrollBar(int type)
void SearchResultWidget::repaintWidget()
{
this->setFixedSize(Style::defaultMainViewWidWidth,Style::defaultContentWidHeight);
- m_listView->setGeometry(QRect(0,0,this->width()-4,this->height()));
+ m_listView->setGeometry(QRect(6,0,this->width()-6,this->height()-6));
m_listView->show();
}
diff --git a/src/SideBarWidget/sidebarwidget.cpp b/src/SideBarWidget/sidebarwidget.cpp
index 7a75ac7..8435651 100644
--- a/src/SideBarWidget/sidebarwidget.cpp
+++ b/src/SideBarWidget/sidebarwidget.cpp
@@ -46,7 +46,6 @@ void SideBarWidget::initUi()
{
this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
this->setAttribute(Qt::WA_StyledBackground,true);
- this->setStyleSheet("border:0px;background:transparent;");
this->setFocusPolicy(Qt::NoFocus);
addSidebarBtn();
@@ -65,31 +64,23 @@ void SideBarWidget::addSidebarBtn()
m_mainWidget=new QWidget;
m_mainWidget->setParent(this);
m_mainWidgetLayout=new QVBoxLayout;
- m_mainWidgetLayout->setContentsMargins(0,0,0,0);
+ m_mainWidgetLayout->setContentsMargins(0,0,0,6);
m_mainWidgetLayout->setSpacing(10);
m_mainWidget->setLayout(m_mainWidgetLayout);
- m_mainWidget->setStyleSheet("background:transparent;");
//放大缩小按钮界面
m_minMaxWidget=new QWidget;
- m_minMaxWidget->setStyleSheet("QWidget{background:transparent;border:0px;}");
m_minMaxLayout=new QHBoxLayout;
- m_minMaxBtn=new QToolButton;
+ m_minMaxBtn=new QPushButton;
+ m_minMaxBtn->setFlat(true);
// m_minMaxBtn->setShortcut(QKeySequence::InsertParagraphSeparator);
// m_minMaxBtn->setShortcut(Qt::Key_Enter);
m_minMaxBtn->setShortcut(Qt::Key_Return);
m_minMaxLayout->addWidget(m_minMaxBtn);
m_minMaxWidget->setLayout(m_minMaxLayout);
- char btncolor[300];
- sprintf(btncolor,"QToolButton{background:transparent;border:0px;padding-left:0px;border-radius:4px;}\
- QToolButton:hover{background-color:%s;border:0px;border-radius:4px;}\
- QToolButton:pressed{background-color:%s;border:0px;border-radius:4px;}",
- MMBtnHoverBackground,MMBtnHoverBackground);
- m_minMaxBtn->setStyleSheet(QString::fromLocal8Bit(btncolor));
//分类按钮
m_buttonList.clear();
-// m_buttonTextList.clear();
m_btnGroup=new QButtonGroup(m_mainWidget);
m_allBtn=new QPushButton;
initBtn(m_allBtn,QString::fromLocal8Bit(":/data/img/sidebarwidget/commonuse.svg"),tr("All"),0);
@@ -100,6 +91,7 @@ void SideBarWidget::addSidebarBtn()
int id=0;
Q_FOREACH (QAbstractButton* btn, m_buttonList) {
m_btnGroup->addButton(btn,id++);
+ btn->setCheckable(true);
}
QString usericon=m_ukuiMenuInterface->getUserIcon();
@@ -109,7 +101,7 @@ void SideBarWidget::addSidebarBtn()
m_personalBtn=new QPushButton;
initBtn(m_personalBtn,QString::fromLocal8Bit(":/data/img/sidebarwidget/personal.svg"),tr("Personal"),4);
m_trashBtn=new QPushButton;
- initBtn(m_trashBtn,QString::fromLocal8Bit(":/data/img/sidebarwidget/trash.svg"),tr("Recycle Bin"),5);
+ initBtn(m_trashBtn,QString::fromLocal8Bit(":/data/img/sidebarwidget/trash.svg"),tr("Trash"),5);
m_computerBtn=new QPushButton;
initBtn(m_computerBtn,QString::fromLocal8Bit(":/data/img/sidebarwidget/computer.svg"),tr("Computer"),6);
m_controlBtn=new QPushButton;
@@ -128,7 +120,10 @@ void SideBarWidget::addSidebarBtn()
{
QPushButton* btn=qobject_cast<QPushButton*>(button);
if(m_buttonList.indexOf(button)>3 && m_buttonList.indexOf(button)<m_buttonList.count()-1)
+ {
+ button->setCheckable(false);
addRightClickMenu(btn);
+ }
}
m_shutDownBtn->setContextMenuPolicy(Qt::CustomContextMenu);
connect(m_shutDownBtn,&QPushButton::customContextMenuRequested,this,
@@ -169,6 +164,12 @@ void SideBarWidget::addSidebarBtn()
}
m_mainWidgetLayout->addWidget(m_buttonList.at(8));
+ if(QGSettings::isSchemaInstalled(QString("org.ukui.style").toLocal8Bit()))
+ {
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.style").toLocal8Bit());
+ connect(gsetting,&QGSettings::changed,this,&SideBarWidget::themeModeChangeSlot);
+ }
+
m_animation = new QPropertyAnimation(m_mainWidget, "geometry");
}
@@ -201,20 +202,19 @@ void SideBarWidget::resetSidebarBtnSlot()
*/
void SideBarWidget::initBtn(QPushButton *btn, QString btnicon, QString text, int num)
{
- char btncolor[300];
- sprintf(btncolor,"QPushButton{background:transparent;border:0px;padding-left:0;border-radius:4px;}\
- QPushButton:hover{background-color:%s;border:0px;border-radius:4px;}\
- QPushButton:pressed{background-color:%s;border:0px;border-radius:4px;}",
- SBFunBtnHoverBackground,SBFunBtnHoverBackground);
- btn->setStyleSheet(QString::fromLocal8Bit(btncolor));
+ btn->setFlat(true);
QHBoxLayout* btnLayout=new QHBoxLayout;
QLabel* labelicon=new QLabel;
labelicon->setAlignment(Qt::AlignCenter);
- labelicon->setStyleSheet("background:transparent;border:0px;");
const auto ratio=devicePixelRatioF();
+ QGSettings gsetting(QString("org.ukui.style").toLocal8Bit());
if(num!=3)
{
QPixmap pixmap=loadSvg(btnicon,Style::SideBarIconSize*ratio);
+ if(gsetting.get("style-name").toString()=="ukui-light")//反黑
+ pixmap=drawSymbolicBlackColoredPixmap(pixmap);
+ else
+ pixmap=drawSymbolicColoredPixmap(pixmap);//反白
pixmap.setDevicePixelRatio(qApp->devicePixelRatio());
labelicon->setFixedSize(Style::SideBarIconSize,Style::SideBarIconSize);
labelicon->setPixmap(pixmap);
@@ -304,7 +304,6 @@ void SideBarWidget::shutdownBtnRightClickSlot()
void SideBarWidget::addRightClickMenu(QPushButton *btn)
{
btn->setContextMenuPolicy(Qt::CustomContextMenu);
-// disconnect(btn,&QPushButton::customContextMenuRequested,this,&SideBarWidget::otherBtnRightClickSlot);
connect(btn,&QPushButton::customContextMenuRequested,this,&SideBarWidget::otherBtnRightClickSlot);
}
@@ -391,9 +390,6 @@ void SideBarWidget::userAccountsChanged()
facePixmap = facePixmap.scaled((Style::SideBarIconSize+4)*ratio,(Style::SideBarIconSize+4)*ratio, Qt::KeepAspectRatio, Qt::SmoothTransformation);
facePixmap = PixmapToRound(facePixmap, (Style::SideBarIconSize+4)*ratio/2);
-// QLayoutItem* item=m_userIconBtn->layout()->itemAt(0);
-// QLabel* labelicon=qobject_cast<QLabel*>(item->widget());
-// labelicon->setScaledContents(true);
QLabel* labelicon=m_userIconBtn->findChild<QLabel*>("faceLabel");
facePixmap.setDevicePixelRatio(qApp->devicePixelRatio());
labelicon->setPixmap(facePixmap);
@@ -413,15 +409,17 @@ void SideBarWidget::loadMinSidebar()
m_minMaxWidget->setFixedSize(37,70);
m_minMaxLayout->setContentsMargins(0,0,0,0);
- m_mainWidgetLayout->setContentsMargins(8,0,10,0);
+ m_mainWidgetLayout->setContentsMargins(8,0,10,6);
Q_FOREACH(QAbstractButton* button,m_buttonList)
{
QPushButton* btn=qobject_cast<QPushButton*>(button);
setMinSidebarBtn(btn);
-// btn->setToolTip(m_textList.at(m_buttonList.indexOf(button)));
+ btn->setToolTip(m_textList.at(m_buttonList.indexOf(button)));
}
+ changeIconColor(false);
+
disconnect(m_minMaxBtn,&QToolButton::clicked,this, &SideBarWidget::sendDefaultBtnSignal);
connect(m_minMaxBtn, &QToolButton::clicked,this,&SideBarWidget::sendFullScreenBtnSignal);
}
@@ -431,14 +429,17 @@ void SideBarWidget::loadMinSidebar()
*/
void SideBarWidget::setMaxBtn()
{
+ const auto ratio=devicePixelRatioF();
+ QGSettings gsetting(QString("org.ukui.style").toLocal8Bit());
+ QPixmap pixmap=loadSvg(QString(":/data/img/sidebarwidget/max.svg"),14*ratio);
+ if(gsetting.get("style-name").toString()=="ukui-light")//反黑
+ pixmap=drawSymbolicBlackColoredPixmap(pixmap);
+ else
+ pixmap=drawSymbolicColoredPixmap(pixmap);//反白
+ pixmap.setDevicePixelRatio(qApp->devicePixelRatio());
+
m_minMaxBtn->setFixedSize(37,37);
- QSvgRenderer* svgRender = new QSvgRenderer(m_minMaxBtn);
- svgRender->load(QString(":/data/img/sidebarwidget/max.svg"));
- QPixmap* pixmap = new QPixmap(14,14);
- pixmap->fill(Qt::transparent);//设置背景透明
- QPainter p(pixmap);
- svgRender->render(&p);
- m_minMaxBtn->setIcon(QIcon(*pixmap));
+ m_minMaxBtn->setIcon(QIcon(pixmap));
}
/**
@@ -480,14 +481,23 @@ void SideBarWidget::loadMaxSidebar()
m_minMaxWidget->setFixedSize(Style::MinMaxWidWidth,Style::MinMaxWidHeight);
m_minMaxLayout->setContentsMargins(m_minMaxWidget->width()-m_minMaxBtn->width(),0,0,0);
- m_mainWidgetLayout->setContentsMargins(0,0,0,0);
+ m_mainWidgetLayout->setContentsMargins(0,0,0,6);
Q_FOREACH(QAbstractButton* button,m_buttonList)
{
QPushButton* btn=qobject_cast<QPushButton*>(button);
setMaxSidebarBtn(btn);
+ btn->setToolTip("");
+ }
+
+ Q_FOREACH(QAbstractButton* button,m_buttonList)
+ {
+ QPushButton* btn=qobject_cast<QPushButton*>(button);
+ btn->setFixedSize(m_btnWidth,Style::SideBarBtnHeight);
}
+ changeIconColor(true);
+
disconnect(m_minMaxBtn, &QToolButton::clicked,this,&SideBarWidget::sendFullScreenBtnSignal);
connect(m_minMaxBtn, &QToolButton::clicked,this,&SideBarWidget::sendDefaultBtnSignal);
}
@@ -497,14 +507,13 @@ void SideBarWidget::loadMaxSidebar()
*/
void SideBarWidget::setMinBtn()
{
+ const auto ratio=devicePixelRatioF();
+ QPixmap pixmap=loadSvg(QString(":/data/img/sidebarwidget/min.svg"),14*ratio);
+ pixmap=drawSymbolicColoredPixmap(pixmap);//反白
+ pixmap.setDevicePixelRatio(qApp->devicePixelRatio());
+
m_minMaxBtn->setFixedSize(Style::MinMaxBtnWidth,Style::MinMaxBtnWidth);
- QSvgRenderer* svgRender = new QSvgRenderer(m_minMaxBtn);
- svgRender->load(QString(":/data/img/sidebarwidget/min.svg"));
- QPixmap* pixmap = new QPixmap(Style::MinMaxIconSize,Style::MinMaxIconSize);
- pixmap->fill(Qt::transparent);//设置背景透明
- QPainter p(pixmap);
- svgRender->render(&p);
- m_minMaxBtn->setIcon(QIcon(*pixmap));
+ m_minMaxBtn->setIcon(QIcon(pixmap));
}
/**
@@ -539,7 +548,6 @@ void SideBarWidget::setMaxSidebarBtn(QPushButton *btn)
}
//添加文本
QLabel* labeltext=new QLabel;
- labeltext->setStyleSheet(QString("QLabel{background:transparent;color:#ffffff;border:0px;}"));
if(m_buttonList.indexOf(btn)<=2)
{
labeltext->setAlignment(Qt::AlignLeft | Qt::AlignVCenter);
@@ -557,27 +565,18 @@ void SideBarWidget::setMaxSidebarBtn(QPushButton *btn)
labeltext->setFixedSize(m_btnWidth-44,Style::SideBarBtnHeight);
labeltext->adjustSize();
}
-
+ QPalette pe = labeltext->palette();
+ pe.setColor(QPalette::ButtonText,QColor(Qt::white));
+ labeltext->setPalette(pe);
btn->layout()->addWidget(labeltext);
- btn->setFixedSize(m_btnWidth,Style::SideBarBtnHeight);
-// btn->setToolTip("");
+// btn->setFixedSize(m_btnWidth,Style::SideBarBtnHeight);
}
void SideBarWidget::btnGroupClickedSlot(QAbstractButton *btn)
{
- char btncolor[300];
- sprintf(btncolor,"QPushButton{background:transparent;border:0px;padding-left:0;border-radius:4px;}\
- QPushButton:hover{background-color:%s;border:0px;border-radius:4px;}\
- QPushButton:pressed{background-color:%s;border:0px;border-radius:4px;}",
- SBFunBtnHoverBackground,SBFunBtnHoverBackground);
-
- char pressstyle[200];
- sprintf(pressstyle,"QPushButton{background-color:%s;border:0px;padding-left:0;border-radius:4px;}",SBClassifyBtnSelectedBackground);
-
Q_FOREACH (QAbstractButton* button, m_buttonList) {
if(m_btnGroup->id(btn)==m_buttonList.indexOf(button))
{
- button->setStyleSheet(pressstyle);
if(m_btnGroup->id(btn)==0)
{
if(m_isFullScreen)
@@ -597,8 +596,116 @@ void SideBarWidget::btnGroupClickedSlot(QAbstractButton *btn)
else Q_EMIT sendFunctionBtnSignal();
}
}
- else{
- button->setStyleSheet(btncolor);
+ }
+}
+
+void SideBarWidget::themeModeChangeSlot(QString styleName)
+{
+ if(styleName=="styleName")
+ {
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.style").toLocal8Bit());
+ Q_FOREACH(QAbstractButton *button,m_buttonList)
+ {
+ QPushButton *btn=qobject_cast<QPushButton*>(button);
+ QLayoutItem *item=btn->layout()->itemAt(0);
+ QLabel *label=qobject_cast<QLabel*>(item->widget());
+ QString iconStr;
+ switch (m_buttonList.indexOf(button)) {
+ case 0:
+ iconStr=QString(":/data/img/sidebarwidget/commonuse.svg");
+ break;
+ case 1:
+ iconStr=QString(":/data/img/sidebarwidget/letter.svg");
+ break;
+ case 2:
+ iconStr=QString(":/data/img/sidebarwidget/function.svg");
+ break;
+ case 3:
+ userAccountsChanged();
+ break;
+ case 4:
+ iconStr=QString(":/data/img/sidebarwidget/personal.svg");
+ break;
+ case 5:
+ iconStr=QString(":/data/img/sidebarwidget/trash.svg");
+ break;
+ case 6:
+ iconStr=QString(":/data/img/sidebarwidget/computer.svg");
+ break;
+ case 7:
+ iconStr=QString(":/data/img/sidebarwidget/setting.svg");
+ break;
+ case 8:
+ iconStr=QString(":/data/img/sidebarwidget/shutdown.svg");
+ break;
+ default:
+ break;
+ }
+ if(m_buttonList.indexOf(button)!=3)
+ {
+ const auto ratio=devicePixelRatioF();
+ QPixmap pixmap=loadSvg(iconStr,19*ratio);
+ if(gsetting->get("style-name").toString()=="ukui-light")//反黑
+ pixmap=drawSymbolicBlackColoredPixmap(pixmap);
+ else
+ pixmap=drawSymbolicColoredPixmap(pixmap);//反白
+ pixmap.setDevicePixelRatio(qApp->devicePixelRatio());
+ label->setPixmap(pixmap);
+ }
+ }
+ }
+}
+
+void SideBarWidget::changeIconColor(bool isFullScreen)
+{
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.style").toLocal8Bit());
+ Q_FOREACH(QAbstractButton *button,m_buttonList)
+ {
+ QPushButton *btn=qobject_cast<QPushButton*>(button);
+ QLayoutItem *item=btn->layout()->itemAt(0);
+ QLabel *label=qobject_cast<QLabel*>(item->widget());
+ QString iconStr;
+ switch (m_buttonList.indexOf(button)) {
+ case 0:
+ iconStr=QString(":/data/img/sidebarwidget/commonuse.svg");
+ break;
+ case 1:
+ iconStr=QString(":/data/img/sidebarwidget/letter.svg");
+ break;
+ case 2:
+ iconStr=QString(":/data/img/sidebarwidget/function.svg");
+ break;
+ case 3:
+ userAccountsChanged();
+ break;
+ case 4:
+ iconStr=QString(":/data/img/sidebarwidget/personal.svg");
+ break;
+ case 5:
+ iconStr=QString(":/data/img/sidebarwidget/trash.svg");
+ break;
+ case 6:
+ iconStr=QString(":/data/img/sidebarwidget/computer.svg");
+ break;
+ case 7:
+ iconStr=QString(":/data/img/sidebarwidget/setting.svg");
+ break;
+ case 8:
+ iconStr=QString(":/data/img/sidebarwidget/shutdown.svg");
+ break;
+ default:
+ break;
+ }
+ if(m_buttonList.indexOf(button)!=3)
+ {
+ const auto ratio=devicePixelRatioF();
+ QPixmap pixmap=loadSvg(iconStr,19*ratio);
+ if(gsetting->get("style-name").toString()=="ukui-light" && !isFullScreen)//反黑
+ pixmap=drawSymbolicBlackColoredPixmap(pixmap);
+ else
+ pixmap=drawSymbolicColoredPixmap(pixmap);//反白
+ pixmap.setDevicePixelRatio(qApp->devicePixelRatio());
+ label->setPixmap(pixmap);
}
}
}
@@ -622,20 +729,6 @@ void SideBarWidget::setSideBarBtnGeometry()
m_mainWidget->show();
}
-void SideBarWidget::widgetMakeZero()
-{
- char pressstyle[200];
- sprintf(pressstyle,"QPushButton{background-color:%s;border:0px;padding-left:0;border-radius:4px;}",SBClassifyBtnSelectedBackground);
- m_allBtn->setStyleSheet(pressstyle);
- char btncolor[300];
- sprintf(btncolor,"QPushButton{background:transparent;border:0px;padding-left:0;border-radius:4px;}\
- QPushButton:hover{background-color:%s;border:0px;border-radius:4px;}\
- QPushButton:pressed{background-color:%s;border:0px;border-radius:4px;}",
- SBFunBtnHoverBackground,SBFunBtnHoverBackground);
- m_letterBtn->setStyleSheet(btncolor);
- m_functionBtn->setStyleSheet(btncolor);
-}
-
//void SideBarWidget::mousePressEvent(QMouseEvent *event)
//{
// if(m_isFullScreen && event->button()==Qt::LeftButton)
diff --git a/src/SideBarWidget/sidebarwidget.h b/src/SideBarWidget/sidebarwidget.h
index 74cc62f..5ccf32d 100644
--- a/src/SideBarWidget/sidebarwidget.h
+++ b/src/SideBarWidget/sidebarwidget.h
@@ -51,10 +51,6 @@ public:
* @brief Load the full-screen sidebar
*/
void loadMaxSidebar();
- /**
- * @brief Initializes the interface state
- */
- void widgetMakeZero();
/**
* @brief Sidebar animation
*/
@@ -72,7 +68,7 @@ private:
QWidget *m_minMaxWidget=nullptr;
QHBoxLayout *m_minMaxLayout=nullptr;
- QToolButton *m_minMaxBtn=nullptr;
+ QPushButton *m_minMaxBtn=nullptr;
QButtonGroup *m_btnGroup=nullptr;
QList<QAbstractButton*> m_buttonList;
@@ -138,6 +134,7 @@ protected:
*/
void setMaxBtn();
QPixmap PixmapToRound(const QPixmap &src, int radius);
+ void changeIconColor(bool isFullScreen);
// void mousePressEvent(QMouseEvent* event);
private Q_SLOTS:
@@ -186,6 +183,7 @@ private Q_SLOTS:
* @brief Reset the sidebar button
*/
void resetSidebarBtnSlot();
+ void themeModeChangeSlot(QString styleName);
Q_SIGNALS:
/**
diff --git a/src/Style/style.h b/src/Style/style.h
index c1f6e64..a13fad5 100644
--- a/src/Style/style.h
+++ b/src/Style/style.h
@@ -42,14 +42,17 @@
#define RightClickMenuOpacity 0.95
#define ToolTipBackground "rgba(26, 26, 26, 0.7)"
#define DefaultBackground "rgba(19, 19, 20, 0.7)" //默认态背景色
-#define LineBackground "rgba(255,255,255,0.06)" //分割线背景色
+#define LineBackground "rgba(255,255,255)" //分割线背景色
#define SBClassifyBtnSelectedBackground "#3D6BE5" //侧边栏上部分类按钮选择背景
#define SBFunBtnHoverBackground "rgba(255, 255, 255, 0.14)" //侧边栏目下部功能按钮悬浮背景
#define ClassifyBtnHoverBackground "rgba(255, 255, 255, 0.14)" //分类按钮悬浮背景
#define MMBtnHoverBackground "rgba(255, 255, 255, 0.14)" //最大化最小化按钮悬浮背景
-#define QueryLineEditBackground "rgba(0, 0, 0,0.4)" //搜索框背景
-#define QueryLineEditClickedBackground "rgba(0, 0, 0,0.5)" //搜索框背景选中
-#define QueryLineEditClickedBorder "rgba(61, 107, 229, 1)" //搜索框背景选中边框
+#define QueryLineEditDefaultBackground "rgba(0, 0, 0,0.04)" //搜索框默认态背景
+#define QueryLineEditBackground "rgba(255, 255, 255,0.06)" //搜索框背景
+#define QueryLineEditClickedDefaultBackground "rgba(0, 0, 0,0.04)" //搜索框默认态背景选中
+#define QueryLineEditClickedBackground "rgba(255, 255, 255,0.06)" //搜索框背景选中
+#define QueryLineEditClickedBorderDefault "rgba(0, 0, 0,0.1)" //搜索框默认态背景选中边框
+#define QueryLineEditClickedBorder "rgba(255, 255, 255,0.15)" //搜索框背景选中边框
#define AppBtnHover "#ffffff" //按钮悬浮
/**
diff --git a/src/UtilityFunction/classifybtnscrollarea.cpp b/src/UtilityFunction/classifybtnscrollarea.cpp
new file mode 100644
index 0000000..4627604
--- /dev/null
+++ b/src/UtilityFunction/classifybtnscrollarea.cpp
@@ -0,0 +1,95 @@
+/*
+ * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, see <http://www.gnu.org/licenses/&gt;.
+ *
+ */
+
+#include "classifybtnscrollarea.h"
+#include <QGSettings>
+#include <QVariant>
+
+ClassifyBtnScrollAreaWid::ClassifyBtnScrollAreaWid()
+{
+ this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
+ this->setAttribute(Qt::WA_TranslucentBackground);
+
+}
+
+void ClassifyBtnScrollAreaWid::paintEvent(QPaintEvent *event)
+{
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.control-center.personalise").toLocal8Bit());
+ double transparency=gsetting->get("transparency").toDouble();
+ QPainter painter(this);
+// painter.setRenderHint(QPainter::Antialiasing);
+// painter.setOpacity(0.25);
+// painter.setBrush(Qt::black);
+// painter.setPen(Qt::NoPen);
+// QRect rect = this->rect();
+// rect.setWidth(rect.width());
+// rect.setHeight(rect.height());
+// painter.drawRect(rect);
+
+ if(QGSettings::isSchemaInstalled(QString("org.ukui.control-center.personalise").toLocal8Bit()))
+ {
+ QGSettings gsetting(QString("org.ukui.control-center.personalise").toLocal8Bit());
+ if(gsetting.keys().contains(QString("effect")))
+ {
+ if(gsetting.get("effect").toBool())
+ {
+ painter.setBrush(Qt::black);
+ painter.setPen(Qt::transparent);
+ painter.setOpacity(0.25);
+ painter.drawRect(this->rect());
+ }
+ else
+ {
+ painter.setBrush(this->palette().base());
+ painter.setPen(Qt::transparent);
+ painter.setOpacity(transparency);
+ painter.drawRect(this->rect());
+ }
+ }
+ else
+ {
+ painter.setBrush(this->palette().base());
+ painter.setPen(Qt::transparent);
+ painter.setOpacity(transparency);
+ painter.drawRect(this->rect());
+ }
+ }
+ else{
+ painter.setBrush(this->palette().base());
+ painter.setPen(Qt::transparent);
+ painter.setOpacity(transparency);
+ painter.drawRect(this->rect());
+ }
+ QWidget::paintEvent(event);
+}
+
+ClassifyBtnScrollArea::ClassifyBtnScrollArea(QWidget *parent):
+ QScrollArea(parent)
+{
+ initWid();
+}
+
+void ClassifyBtnScrollArea::initWid()
+{
+ this->verticalScrollBar()->setHidden(true);
+ this->horizontalScrollBar()->setHidden(true);
+ this->setWidgetResizable(true);
+ this->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ this->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
+ this->setFrameShape(QFrame::NoFrame);
+}
diff --git a/src/UtilityFunction/classifyscrollarea.h b/src/UtilityFunction/classifybtnscrollarea.h
similarity index 76%
rename from src/UtilityFunction/classifyscrollarea.h
rename to src/UtilityFunction/classifybtnscrollarea.h
index d902862..465bd4f 100644
--- a/src/UtilityFunction/classifyscrollarea.h
+++ b/src/UtilityFunction/classifybtnscrollarea.h
@@ -20,11 +20,21 @@
#define CLASSIFYSCROLLAREA_H
#include <QScrollArea>
#include <QScrollBar>
+#include <QPainter>
-class ClassifyScrollArea : public QScrollArea
+class ClassifyBtnScrollAreaWid: public QWidget
{
public:
- explicit ClassifyScrollArea(QWidget* parent=nullptr);
+ ClassifyBtnScrollAreaWid();
+
+protected:
+ void paintEvent(QPaintEvent* event);
+};
+
+class ClassifyBtnScrollArea : public QScrollArea
+{
+public:
+ explicit ClassifyBtnScrollArea(QWidget* parent=nullptr);
protected:
void initWid();
diff --git a/src/UtilityFunction/classifyscrollarea.cpp b/src/UtilityFunction/classifyscrollarea.cpp
deleted file mode 100644
index 1725e3d..0000000
--- a/src/UtilityFunction/classifyscrollarea.cpp
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2019 Tianjin KYLIN Information Technology Co., Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 3, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/&gt;.
- *
- */
-
-#include "classifyscrollarea.h"
-
-ClassifyScrollArea::ClassifyScrollArea(QWidget *parent):
- QScrollArea(parent)
-{
- initWid();
-
-}
-
-void ClassifyScrollArea::initWid()
-{
- this->verticalScrollBar()->setHidden(true);
- this->horizontalScrollBar()->setHidden(true);
- this->setWidgetResizable(true);
- this->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
- this->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
-
-}
diff --git a/src/UtilityFunction/fullitemdelegate.cpp b/src/UtilityFunction/fullitemdelegate.cpp
index e01cc6e..c4476b2 100644
--- a/src/UtilityFunction/fullitemdelegate.cpp
+++ b/src/UtilityFunction/fullitemdelegate.cpp
@@ -37,7 +37,6 @@ void FullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
{
if(index.isValid())
{
- painter->save();
QStyleOptionViewItem viewOption(option);//用来在视图中画一个item
QRectF rect;
rect.setX(option.rect.x());
@@ -58,19 +57,20 @@ void FullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
path.lineTo(rect.topRight() + QPointF(0, radius));
path.quadTo(rect.topRight(), rect.topRight() + QPointF(-radius, -0));
-// painter->setRenderHint(QPainter::Antialiasing);
-// if(option.state.testFlag(QStyle::State_Selected))
-// if(option.state & QStyle::State_MouseOver)
-// {
-// painter->setPen(QPen(Qt::NoPen));
-// QColor color;
-// color.setNamedColor(QString::fromLocal8Bit(AppBtnHover));
-// painter->setBrush(QBrush(color));
-
-// painter->setOpacity(0.14);
-// painter->drawPath(path);
-// }
+ painter->setRenderHint(QPainter::Antialiasing);
+ if(option.state & QStyle::State_MouseOver)
+ {
+// QColor color = option.palette.text().color();
+// color.setAlphaF(0.15);
+ painter->save();
+ painter->setPen(QPen(Qt::NoPen));
+ painter->setBrush(Qt::white);
+ painter->setOpacity(0.15);
+ painter->drawPath(path);
+ painter->restore();
+ }
+ painter->save();
painter->setOpacity(1);
QString desktopfp=index.data(Qt::DisplayRole).value<QString>();
QString iconstr=pUkuiMenuInterface->getAppIcon(desktopfp);
@@ -105,6 +105,10 @@ void FullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
icon=QIcon(QString("/usr/share/icons/hicolor/32x32/apps/%1.%2").arg(iconstr).arg("png"));
else if(QFile::exists(QString("/usr/share/icons/hicolor/32x32/apps/%1.%2").arg(iconstr).arg("svg")))
icon=QIcon(QString("/usr/share/icons/hicolor/32x32/apps/%1.%2").arg(iconstr).arg("svg"));
+ else if(QFile::exists(QString("/usr/share/pixmaps/%1.%2").arg(iconstr).arg("png")))
+ icon=QIcon(QString("/usr/share/pixmaps/%1.%2").arg(iconstr).arg("png"));
+ else if(QFile::exists(QString("/usr/share/pixmaps/%1.%2").arg(iconstr).arg("svg")))
+ icon=QIcon(QString("/usr/share/pixmaps/%1.%2").arg(iconstr).arg("svg"));
else
icon=QIcon::fromTheme(QString("application-x-desktop"));
}
@@ -119,19 +123,13 @@ void FullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
Style::AppListIconSize,
Style::AppListIconSize);
icon.paint(painter,iconRect);
+ painter->restore();
- textRect=QRect(rect.x()+5,
- iconRect.bottom()+Style::AppSpaceBetweenIconText,
- rect.width()-10,
- rect.height()-iconRect.height()-Style::AppSpaceBetweenIconText);
-
+ painter->save();
bool is_locked=false;
- bool is_recentapp=false;
QFileInfo fileInfo(desktopfp);
QString desktopfn=fileInfo.fileName();
- QFontMetrics fm=painter->fontMetrics();
- QString appnameElidedText=fm.elidedText(appname,Qt::ElideRight,rect.width()-10,Qt::TextShowMnemonic);
-
+ //添加固定图标
if(module==0)
{
setting->beginGroup("lockapplication");
@@ -143,6 +141,18 @@ void FullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
}
setting->endGroup();
}
+ painter->restore();
+
+ textRect=QRect(rect.x()+5,
+ iconRect.bottom()+Style::AppSpaceBetweenIconText,
+ rect.width()-10,
+ rect.height()-iconRect.height()-Style::AppSpaceBetweenIconText);
+
+ painter->save();
+ //添加最近安装蓝色标签
+ bool is_recentapp=false;
+ QFontMetrics fm=painter->fontMetrics();
+ QString appnameElidedText=fm.elidedText(appname,Qt::ElideRight,rect.width()-10,Qt::TextShowMnemonic);
setting->beginGroup("recentapp");
if(setting->contains(desktopfn) && !is_locked)
{
@@ -168,22 +178,18 @@ void FullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
}
setting->endGroup();
+ painter->restore();
+ painter->save();
+// painter->setPen(QPen(option.palette.text().color()));
painter->setPen(QPen(Qt::white));
+ painter->setBrush(Qt::NoBrush);
painter->drawText(textRect,Qt::AlignHCenter |Qt::AlignTop,appnameElidedText);
+// painter->drawText(textRect,Qt::TextWordWrap |Qt::AlignHCenter,appname);
+ painter->restore();
- painter->setRenderHint(QPainter::Antialiasing);
-// if(option.state.testFlag(QStyle::State_Selected))
if(option.state & QStyle::State_MouseOver)
{
- painter->setPen(QPen(Qt::NoPen));
- QColor color;
- color.setNamedColor(QString::fromLocal8Bit(AppBtnHover));
- painter->setBrush(QBrush(color));
-
- painter->setOpacity(0.14);
- painter->drawPath(path);
-
int len=0;
if(!is_locked && is_recentapp)
len=fm.boundingRect(appname).width()+23;
@@ -197,8 +203,6 @@ void FullItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &opti
else {
QToolTip::hideText();
}
- painter->restore();
-
}
}
diff --git a/src/UtilityFunction/fulllistview.cpp b/src/UtilityFunction/fulllistview.cpp
index dcfacd8..7b09a1d 100644
--- a/src/UtilityFunction/fulllistview.cpp
+++ b/src/UtilityFunction/fulllistview.cpp
@@ -41,23 +41,7 @@ FullListView::~FullListView()
void FullListView::initWidget()
{
- char style[500];
- sprintf(style,"QListView{border:0px;}\
- QListView:Item{background:transparent;border:0px;color:#ffffff;font-size:14px;padding-left:0px;}\
- QListView:Item:hover{background:transparent;}\
- QListView:Item:pressed{background:transparent;}");
-
- if(module!=1 && module!=2)
- this->verticalScrollBar()->setStyleSheet("QScrollBar{width:3px;padding-top:0px;padding-bottom:0px;background:transparent;border-radius:6px;}"
- "QScrollBar::handle{background-color:rgba(255,255,255,0.25); width:3px;border-radius:1.5px;}"
- "QScrollBar::handle:hover{background-color:#697883;border-radius:1.5px;}"
- "QScrollBar::handle:pressed{background-color:#8897a3;border-radius:1.5px;}"
- "QScrollBar::sub-line{background-color:transparent;height:0px;width:0px;}"
- "QScrollBar::add-line{background-color:transparent;height:0px;width:0px;}"
- );
-
-
-// this->setStyleSheet(style);
+ viewport()->setAttribute(Qt::WA_TranslucentBackground);
this->setSelectionMode(QAbstractItemView::SingleSelection);
this->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
if(module==1 || module==2)
@@ -73,6 +57,7 @@ void FullListView::initWidget()
this->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
this->setGridSize(QSize(Style::AppListGridSizeWidth,Style::AppListGridSizeWidth));
this->verticalScrollBar()->setContextMenuPolicy(Qt::NoContextMenu);
+ this->setFrameShape(QFrame::NoFrame);//移除边框
connect(this,&FullListView::customContextMenuRequested,this,&FullListView::rightClickedSlot);
connect(this,&FullListView::clicked,this,&FullListView::onClicked);
}
@@ -175,6 +160,55 @@ void FullListView::leaveEvent(QEvent *e)
this->verticalScrollBar()->setVisible(false);
}
+void FullListView::paintEvent(QPaintEvent *e)
+{
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.control-center.personalise").toLocal8Bit());
+ double transparency=gsetting->get("transparency").toDouble();
+ QPainter painter(this->viewport());
+// painter.setOpacity(0.25);
+// painter.setPen(Qt::NoPen);
+// painter.fillRect(this->rect(),QBrush(Qt::black));
+// QListView::paintEvent(e);
+
+
+ if(QGSettings::isSchemaInstalled(QString("org.ukui.control-center.personalise").toLocal8Bit()))
+ {
+ QGSettings gsetting(QString("org.ukui.control-center.personalise").toLocal8Bit());
+ if(gsetting.keys().contains(QString("effect")))
+ {
+ if(gsetting.get("effect").toBool())
+ {
+ painter.setBrush(Qt::black);
+ painter.setPen(Qt::transparent);
+ painter.setOpacity(0.25);
+ painter.drawRect(this->rect());
+ }
+ else
+ {
+ painter.setBrush(this->palette().base());
+ painter.setPen(Qt::transparent);
+ painter.setOpacity(transparency);
+ painter.drawRect(this->rect());
+ }
+ }
+ else
+ {
+ painter.setBrush(this->palette().base());
+ painter.setPen(Qt::transparent);
+ painter.setOpacity(transparency);
+ painter.drawRect(this->rect());
+ }
+ }
+ else
+ {
+ painter.setBrush(this->palette().base());
+ painter.setPen(Qt::transparent);
+ painter.setOpacity(transparency);
+ painter.drawRect(this->rect());
+ }
+ QListView::paintEvent(e);
+}
+
//void FullListView::mousePressEvent(QMouseEvent *event)
//{
// if(!(this->indexAt(event->pos()).isValid()) && event->button()==Qt::LeftButton)
diff --git a/src/UtilityFunction/fulllistview.h b/src/UtilityFunction/fulllistview.h
index 9b7f455..36c14a0 100644
--- a/src/UtilityFunction/fulllistview.h
+++ b/src/UtilityFunction/fulllistview.h
@@ -43,6 +43,7 @@ protected:
void initWidget();
void enterEvent(QEvent* e) Q_DECL_OVERRIDE;
void leaveEvent(QEvent* e) Q_DECL_OVERRIDE;
+ void paintEvent(QPaintEvent *e) override;
// void mousePressEvent(QMouseEvent *event);
private:
diff --git a/src/UtilityFunction/functionclassifybutton.cpp b/src/UtilityFunction/functionclassifybutton.cpp
index b4d6203..21ee26a 100644
--- a/src/UtilityFunction/functionclassifybutton.cpp
+++ b/src/UtilityFunction/functionclassifybutton.cpp
@@ -20,6 +20,8 @@
#include "utility.h"
#include <QDebug>
#include <syslog.h>
+#include <QStylePainter>
+#include <QStyleOptionButton>
FunctionClassifyButton::FunctionClassifyButton(int width,
int height,
@@ -38,22 +40,30 @@ FunctionClassifyButton::FunctionClassifyButton(int width,
m_iconLabel(new QLabel),
m_textLabel(new QLabel)
{
- m_textLabel->setAutoFillBackground(true);
+ this->setFlat(true);
this->setFixedSize(m_width,m_height);
- this->setCheckable(true);
this->setFocusPolicy(Qt::NoFocus);
m_iconLabel->setFixedSize(m_iconSize,m_iconSize);
m_textLabel->adjustSize();
- m_iconLabel->setStyleSheet("background:transparent;");
+ if(m_fullscreen)
+ {
+ QPalette pe = m_textLabel->palette();
+ pe.setColor(QPalette::ButtonText,QColor(Qt::white));
+ m_textLabel->setPalette(pe);
+ }
setLabelText();
if(m_fullscreen)
+ {
updateIconState(Normal);
+ this->setCheckable(true);
+ }
else
{
if(m_enabled)
updateIconState(Enabled);
else
updateIconState(Disabled);
+ this->setCheckable(false);
}
QHBoxLayout* mainlayout=new QHBoxLayout;
@@ -66,6 +76,49 @@ FunctionClassifyButton::FunctionClassifyButton(int width,
connect(this,&FunctionClassifyButton::clicked,this,&FunctionClassifyButton::buttonClickedSlot);
}
+void FunctionClassifyButton::paintEvent(QPaintEvent* e)
+{
+ Q_UNUSED(e);
+ QStylePainter painter(this);
+ QStyleOptionButton option;
+ initStyleOption(&option);
+ if ((option.state & QStyle::State_Enabled) && (option.state & QStyle::State_MouseOver)) {
+ painter.save();
+ painter.setPen(Qt::NoPen);
+ if(!m_fullscreen)
+ {
+ QColor color = option.palette.color(QPalette::Text);
+ color.setAlphaF(0.15);
+ painter.setBrush(color);
+ }
+ else
+ {
+ painter.setOpacity(0.15);
+ painter.setBrush(Qt::white);
+ }
+ painter.drawRoundedRect(option.rect, 4, 4);
+ painter.restore();
+ }
+ if(m_fullscreen && (option.state & QStyle::State_On))
+ {
+ painter.save();
+ painter.setPen(Qt::NoPen);
+// QColor color = option.palette.color(QPalette::Text);
+// color.setAlphaF(0.15);
+// painter.setBrush(color);
+ painter.setOpacity(0.15);
+ painter.setBrush(Qt::white);
+ painter.drawRoundedRect(option.rect, 4, 4);
+ painter.restore();
+ }
+
+ QStyleOptionButton subopt = option;
+ subopt.rect = painter.style()->subElementRect(QStyle::SE_PushButtonContents, &option, this);
+ subopt.palette.setBrush(QPalette::HighlightedText, subopt.palette.text());
+ painter.style()->drawControl(QStyle::CE_PushButtonLabel, &subopt, &painter, this);
+ return;
+}
+
void FunctionClassifyButton::updateBtnState()
{
if(m_enabled)
@@ -77,26 +130,15 @@ void FunctionClassifyButton::updateBtnState()
void FunctionClassifyButton::enterEvent(QEvent *e)
{
Q_UNUSED(e);
- QByteArray byte=QString(ClassifyBtnHoverBackground).toLocal8Bit();
- char* hover=byte.data();
- char style[100];
if(m_enabled)
{
updateIconState(Checked);
- if(!m_fullscreen)
- {
- sprintf(style,"border:0px;border-radius:4px;padding-left:0px;background-color:%s;",hover);
- this->setStyleSheet(QString::fromLocal8Bit(style));
- }
- else
- this->setStyleSheet("border:0px;border-radius:4px;padding-left:0px;background:transparent;");
}
}
void FunctionClassifyButton::leaveEvent(QEvent *e)
{
Q_UNUSED(e);
- this->setStyleSheet("border:0px;border-radius:4px;padding-left:0px;background:transparent;");
if(m_fullscreen)
{
if(!isChecked())
@@ -125,6 +167,34 @@ void FunctionClassifyButton::buttonClickedSlot()
Q_EMIT buttonClicked();
}
+void FunctionClassifyButton::updateIconState()
+{
+ this->setFlat(true);
+ QString picState;
+ switch (m_state)
+ {
+ case Enabled: picState="Enabled"; break;
+ case Disabled: picState="Disabled"; break;
+ case Normal: picState="Normal"; break;
+ case Checked: picState="Checked"; break;
+ default: break;
+ }
+
+ const auto ratio = devicePixelRatioF();
+ QPixmap pixmap = loadSvg(QString(":/data/img/mainviewwidget/%1-%2.svg").arg(m_category).arg(picState), m_iconSize*ratio);
+ QGSettings gsetting(QString("org.ukui.style").toLocal8Bit());
+ if(gsetting.get("style-name").toString()=="ukui-light")//反黑
+ {
+ pixmap=drawSymbolicBlackColoredPixmap(pixmap);
+ }
+ else
+ {
+ pixmap=drawSymbolicColoredPixmap(pixmap);//反白
+ }
+ pixmap.setDevicePixelRatio(qApp->devicePixelRatio());
+ m_iconLabel->setPixmap(pixmap);
+}
+
void FunctionClassifyButton::updateIconState(const FunctionClassifyButton::State state)
{
if (state == m_state)
@@ -143,6 +213,20 @@ void FunctionClassifyButton::updateIconState(const FunctionClassifyButton::State
const auto ratio = devicePixelRatioF();
QPixmap pixmap = loadSvg(QString(":/data/img/mainviewwidget/%1-%2.svg").arg(m_category).arg(picState), m_iconSize*ratio);
+ if(!m_fullscreen)
+ {
+ QGSettings gsetting(QString("org.ukui.style").toLocal8Bit());
+ if(gsetting.get("style-name").toString()=="ukui-light")//反黑
+ {
+ pixmap=drawSymbolicBlackColoredPixmap(pixmap);
+ }
+ else
+ {
+ pixmap=drawSymbolicColoredPixmap(pixmap);//反白
+ }
+ }
+ else
+ pixmap=drawSymbolicColoredPixmap(pixmap);//反白
pixmap.setDevicePixelRatio(qApp->devicePixelRatio());
m_iconLabel->setPixmap(pixmap);
updateTextState(state);
@@ -155,19 +239,19 @@ void FunctionClassifyButton::updateTextState(const FunctionClassifyButton::State
{
case Enabled:
// p.setColor(QPalette::WindowText,QColor::fromRgbF(1, 1, 1));
- m_textLabel->setStyleSheet("background:transparent; color:rgba(255, 255, 255);");
+// m_textLabel->setStyleSheet("background:transparent; color:rgba(255, 255, 255);");
break;
case Disabled:
// p.setColor(QPalette::WindowText,QColor::fromRgbF(1, 1, 1, 0.25));
- m_textLabel->setStyleSheet("background:transparent; color:rgba(255, 255, 255, 25%);");
+// m_textLabel->setStyleSheet("background:transparent; color:rgba(255, 255, 255, 25%);");
break;
case Normal:
// p.setColor(QPalette::WindowText,QColor::fromRgbF(1, 1, 1, 0.50));
- m_textLabel->setStyleSheet("background:transparent; color:rgba(255, 255, 255, 50%);");
+// m_textLabel->setStyleSheet("background:transparent; color:rgba(255, 255, 255, 50%);");
break;
case Checked:
// p.setColor(QPalette::WindowText,QColor::fromRgbF(1, 1, 1));
- m_textLabel->setStyleSheet("background:transparent;color:rgba(255, 255, 255);");
+// m_textLabel->setStyleSheet("background:transparent;color:rgba(255, 255, 255);");
break;
default:
break;
diff --git a/src/UtilityFunction/functionclassifybutton.h b/src/UtilityFunction/functionclassifybutton.h
index 2c1f998..1b80037 100644
--- a/src/UtilityFunction/functionclassifybutton.h
+++ b/src/UtilityFunction/functionclassifybutton.h
@@ -78,10 +78,12 @@ public:
State m_state=Checked;
void updateBtnState();
+ void updateIconState();//根据主题修改图标
protected:
void enterEvent(QEvent* e);
void leaveEvent(QEvent* e);
+ void paintEvent(QPaintEvent* e);
void updateIconState(const State state);
void updateTextState(const State state);
void setLabelText();
diff --git a/src/UtilityFunction/itemdelegate.cpp b/src/UtilityFunction/itemdelegate.cpp
index 87ef0c3..41d945b 100644
--- a/src/UtilityFunction/itemdelegate.cpp
+++ b/src/UtilityFunction/itemdelegate.cpp
@@ -39,7 +39,6 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
{
if(index.isValid())
{
- painter->save();
QStyleOptionViewItem viewOption(option);//用来在视图中画一个item
QRectF rect;
QStringList strlist1=index.model()->data(index,Qt::DisplayRole).toStringList();
@@ -73,16 +72,15 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
QStringList strlist=index.model()->data(index,Qt::DisplayRole).toStringList();
painter->setRenderHint(QPainter::Antialiasing);
-// if(option.state.testFlag(QStyle::State_Selected))
if(option.state & QStyle::State_MouseOver)
{
+ QColor color = option.palette.text().color();
+ color.setAlphaF(0.15);
+ painter->save();
painter->setPen(QPen(Qt::NoPen));
- QColor color;
- color.setNamedColor(QString::fromLocal8Bit(AppBtnHover));
painter->setBrush(color);
- painter->setOpacity(0.14);
painter->drawPath(path);
-
+ painter->restore();
}
painter->setOpacity(1);
@@ -111,15 +109,21 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
icon=QIcon(QString("/usr/share/icons/hicolor/32x32/apps/%1.%2").arg(iconstr).arg("svg"));
else if(QFile::exists(QString("/usr/share/icons/hicolor/32x32/apps/%1.%2").arg(iconstr).arg("png")))
icon=QIcon(QString("/usr/share/icons/hicolor/32x32/apps/%1.%2").arg(iconstr).arg("png"));
+ else if(QFile::exists(QString("/usr/share/pixmaps/%1.%2").arg(iconstr).arg("png")))
+ icon=QIcon(QString("/usr/share/pixmaps/%1.%2").arg(iconstr).arg("png"));
+ else if(QFile::exists(QString("/usr/share/pixmaps/%1.%2").arg(iconstr).arg("svg")))
+ icon=QIcon(QString("/usr/share/pixmaps/%1.%2").arg(iconstr).arg("svg"));
else
icon=QIcon::fromTheme(QString("application-x-desktop"));
}
}
+ painter->save();
icon.paint(painter,iconRect,Qt::AlignLeft);
- painter->setPen(QPen(Qt::white));
QString appname=pUkuiMenuInterface->getAppName(strlist.at(0));
painter->drawText(QRect(iconRect.right()+15,rect.y(),
rect.width()-62,rect.height()),Qt::AlignVCenter,appname);
+ painter->restore();
+ painter->save();
setting->beginGroup("recentapp");
QFileInfo fileInfo(strlist.at(0));
QString desktopfn=fileInfo.fileName();
@@ -130,22 +134,24 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
painter->drawEllipse(QPoint(rect.topRight().x()-22,rect.y()+(rect.height()-8)/2+4),4,4);
}
setting->endGroup();
+ painter->restore();
}
else
{
- painter->setPen(QPen(Qt::white));
+ //绘制分割线
+ painter->save();
QRect textRect=QRect(rect.x()+11,rect.y()+12,rect.width(),rect.height());
painter->drawText(textRect,Qt::AlignLeft,strlist.at(0));
painter->setRenderHint(QPainter::Antialiasing, true);
- painter->setPen(QPen(QColor("#FFFFFF"),1));
- painter->setOpacity(0.06);
+ painter->setPen(QPen(QColor(option.palette.text().color()),1));
+ painter->setOpacity(0.1);
painter->drawLine(QPoint(5,rect.bottom()),QPoint(rect.right(),rect.bottom()));
+ painter->restore();
}
}
else
{
- painter->setOpacity(1);
QRect iconRect=QRect(rect.left()+11,rect.y()+(rect.height()-32)/2,32,32);
QString iconstr=pUkuiMenuInterface->getAppIcon(strlist.at(0));
QIcon icon;
@@ -159,8 +165,6 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
icon=QIcon::fromTheme(iconstr);
if(icon.isNull())
{
- if(pUkuiMenuInterface->getAppName(strlist.at(0))=="baidunetdisk")
- syslog(LOG_LOCAL0 | LOG_DEBUG ,"---2---");
if(QFile::exists(QString("/usr/share/icons/hicolor/scalable/apps/%1.%2").arg(iconstr).arg("svg")))
icon=QIcon(QString("/usr/share/icons/hicolor/scalable/apps/%1.%2").arg(iconstr).arg("svg"));
else if(QFile::exists(QString("/usr/share/icons/hicolor/scalable/apps/%1.%2").arg(iconstr).arg("png")))
@@ -169,6 +173,10 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
icon=QIcon(QString("/usr/share/icons/hicolor/32x32/apps/%1.%2").arg(iconstr).arg("png"));
else if(QFile::exists(QString("/usr/share/icons/hicolor/32x32/apps/%1.%2").arg(iconstr).arg("svg")))
icon=QIcon(QString("/usr/share/icons/hicolor/32x32/apps/%1.%2").arg(iconstr).arg("svg"));
+ else if(QFile::exists(QString("/usr/share/pixmaps/%1.%2").arg(iconstr).arg("png")))
+ icon=QIcon(QString("/usr/share/pixmaps/%1.%2").arg(iconstr).arg("png"));
+ else if(QFile::exists(QString("/usr/share/pixmaps/%1.%2").arg(iconstr).arg("svg")))
+ icon=QIcon(QString("/usr/share/pixmaps/%1.%2").arg(iconstr).arg("svg"));
else
icon=QIcon::fromTheme(QString("application-x-desktop"));
}
@@ -186,6 +194,8 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
icon.paint(painter,QRect(rect.topRight().x()-22,rect.y()+(rect.height()-16)/2,16,16));
}
setting->endGroup();
+ painter->setOpacity(1);
+ painter->save();
setting->beginGroup("recentapp");
if(setting->contains(desktopfn) && !is_locked)
{
@@ -194,12 +204,15 @@ void ItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &option,
painter->drawEllipse(QPoint(rect.topRight().x()-22,rect.y()+(rect.height()-8)/2+4),4,4);
}
setting->endGroup();
+ painter->restore();
+ painter->save();
+ painter->setPen(QPen(option.palette.text().color()));
+ painter->setBrush(Qt::NoBrush);
painter->setOpacity(1);
- painter->setPen(QPen(Qt::white));
painter->drawText(QRect(iconRect.right()+15,rect.y(),
rect.width()-62,rect.height()),Qt::AlignVCenter,appname);
+ painter->restore();
}
- painter->restore();
}
}
diff --git a/src/UtilityFunction/letterclassifybutton.cpp b/src/UtilityFunction/letterclassifybutton.cpp
index 30c8339..25066da 100644
--- a/src/UtilityFunction/letterclassifybutton.cpp
+++ b/src/UtilityFunction/letterclassifybutton.cpp
@@ -17,67 +17,116 @@
*/
#include "letterclassifybutton.h"
+#include <QStylePainter>
+#include <QStyleOptionButton>
LetterClassifyButton::LetterClassifyButton(QWidget *parent,
- QString hoverbg,
- QString pressedbg,
+ bool fullscreen,
QString letter):
- QToolButton(parent)
+ QPushButton(parent),
+ m_fullscreen(fullscreen)
{
- this->hoverbg=hoverbg;
- this->pressedbg=pressedbg;
- this->setStyleSheet(QString("background:transparent;color:#8b8b8b;padding-left:0px;"));
+ this->setFlat(true);
QFont font;
font.setPixelSize(Style::LeftLetterFontSize);
this->setFont(font);
this->setText(letter);
- this->setFixedSize(Style::LeftLetterBtnHeight,Style::LeftLetterBtnHeight);
this->setCheckable(true);
connect(this,&LetterClassifyButton::toggled,this,&LetterClassifyButton::reactToToggle);
}
+void LetterClassifyButton::paintEvent(QPaintEvent* e)
+{
+ QStylePainter painter(this);
+ QStyleOptionButton option;
+ initStyleOption(&option);
+ if ((option.state & QStyle::State_Enabled) && (option.state & QStyle::State_MouseOver)) {
+ painter.save();
+ painter.setPen(Qt::NoPen);
+ if(!m_fullscreen)
+ {
+ QColor color = option.palette.color(QPalette::Text);
+ color.setAlphaF(0.15);
+ painter.setBrush(color);
+ }
+ else
+ {
+ painter.setOpacity(0.15);
+ painter.setBrush(Qt::white);
+ }
+ painter.drawRoundedRect(option.rect, 4, 4);
+ painter.restore();
+ }
+ if(m_fullscreen && (option.state & QStyle::State_On))
+ {
+ painter.save();
+ painter.setPen(Qt::NoPen);
+// QColor color = option.palette.color(QPalette::Text);
+// color.setAlphaF(0.15);
+// painter.setBrush(color);
+ painter.setOpacity(0.15);
+ painter.setBrush(Qt::white);
+ painter.drawRoundedRect(option.rect, 4, 4);
+ painter.restore();
+ }
+
+ QStyleOptionButton subopt = option;
+ subopt.rect = painter.style()->subElementRect(QStyle::SE_PushButtonContents, &option, this);
+ if(m_fullscreen)
+ subopt.palette.setBrush(QPalette::ButtonText, QColor(Qt::white));
+ else
+ subopt.palette.setBrush(QPalette::HighlightedText, subopt.palette.text());
+ painter.style()->drawControl(QStyle::CE_PushButtonLabel, &subopt, &painter, this);
+ return;
+}
+
void LetterClassifyButton::enterEvent(QEvent *e)
{
Q_UNUSED(e);
- this->setStyleSheet(QString("background:transparent;color:#ffffff;padding-left:0px;"));
- QFont font;
- font.setPixelSize(Style::LeftLetterFontSize*3);
- this->setFont(font);
- this->setFixedSize(Style::LeftLetterBtnHeight*2,Style::LeftLetterBtnHeight*2);
+ if(m_fullscreen)
+ {
+ QFont font;
+ font.setPixelSize(Style::LeftLetterFontSize*3);
+ this->setFont(font);
+ this->setFixedSize(Style::LeftLetterBtnHeight*2,Style::LeftLetterBtnHeight*2);
+ }
}
void LetterClassifyButton::leaveEvent(QEvent *e)
{
Q_UNUSED(e);
- if(is_pressed)
- this->setStyleSheet(QString("background:transparent;color:#ffffff;padding-left:0px;"));
- else
- this->setStyleSheet(QString("background:transparent;color:#8b8b8b;padding-left:0px;"));
- QFont font;
- font.setPixelSize(Style::LeftLetterFontSize);
- this->setFont(font);
- this->setFixedSize(Style::LeftLetterBtnHeight,Style::LeftLetterBtnHeight);
+ if(m_fullscreen)
+ {
+ QFont font;
+ font.setPixelSize(Style::LeftLetterFontSize);
+ this->setFont(font);
+ this->setFixedSize(Style::LeftLetterBtnHeight,Style::LeftLetterBtnHeight);
+ }
}
void LetterClassifyButton::mousePressEvent(QMouseEvent *event)
{
Q_UNUSED(event);
- this->setStyleSheet(QString("background:transparent;color:#ffffff;padding-left:0px;"));
- QFont font;
- font.setPixelSize(Style::LeftLetterFontSize*3);
- this->setFont(font);
- this->setFixedSize(Style::LeftLetterBtnHeight*2,Style::LeftLetterBtnHeight*2);
- is_pressed=true;
+ if(m_fullscreen)
+ {
+ QFont font;
+ font.setPixelSize(Style::LeftLetterFontSize*3);
+ this->setFont(font);
+ this->setFixedSize(Style::LeftLetterBtnHeight*2,Style::LeftLetterBtnHeight*2);
+ is_pressed=true;
+ }
}
void LetterClassifyButton::mouseReleaseEvent(QMouseEvent *event)
{
Q_UNUSED(event);
- this->setStyleSheet(QString("background:transparent;color:#ffffff;padding-left:0px;"));
- QFont font;
- font.setPixelSize(Style::LeftLetterFontSize*3);
- this->setFont(font);
- this->setFixedSize(Style::LeftLetterBtnHeight*2,Style::LeftLetterBtnHeight*2);
+ if(m_fullscreen)
+ {
+ QFont font;
+ font.setPixelSize(Style::LeftLetterFontSize*3);
+ this->setFont(font);
+ this->setFixedSize(Style::LeftLetterBtnHeight*2,Style::LeftLetterBtnHeight*2);
+ }
Q_EMIT buttonClicked(this);
}
@@ -85,12 +134,10 @@ void LetterClassifyButton::reactToToggle(bool checked)
{
if(checked)
{
- this->setStyleSheet(QString("background:transparent;color:#ffffff;padding-left:0px;"));
this->is_pressed=true;
}
else
{
- this->setStyleSheet(QString("background:transparent;color:#8b8b8b;padding-left:0px;"));
this->is_pressed=false;
}
}
diff --git a/src/UtilityFunction/letterclassifybutton.h b/src/UtilityFunction/letterclassifybutton.h
index 98d6112..7fa1307 100644
--- a/src/UtilityFunction/letterclassifybutton.h
+++ b/src/UtilityFunction/letterclassifybutton.h
@@ -18,30 +18,29 @@
#ifndef LETTERCLASSIFYBUTTON_H
#define LETTERCLASSIFYBUTTON_H
-#include <QToolButton>
+#include <QPushButton>
#include <QEvent>
#include <QMouseEvent>
#include "src/Style/style.h"
-class LetterClassifyButton : public QToolButton
+class LetterClassifyButton : public QPushButton
{
Q_OBJECT
public:
LetterClassifyButton(QWidget *parent,
- QString hoverbg,
- QString pressedbg,
+ bool fullscreen,
QString letter
);
bool is_pressed=false;
private:
- QString hoverbg;
- QString pressedbg;
+ bool m_fullscreen=false;
protected:
void enterEvent(QEvent* e);
void leaveEvent(QEvent* e);
+ void paintEvent(QPaintEvent* e);
void mousePressEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
diff --git a/src/UtilityFunction/listview.cpp b/src/UtilityFunction/listview.cpp
index b0a413c..d4ea435 100644
--- a/src/UtilityFunction/listview.cpp
+++ b/src/UtilityFunction/listview.cpp
@@ -32,7 +32,6 @@ ListView::ListView(QWidget *parent, int width, int height, int module):
QString path=QDir::homePath()+"/.config/ukui/ukui-menu.ini";
setting=new QSettings(path,QSettings::IniFormat);
-
}
ListView::~ListView()
{
@@ -42,19 +41,11 @@ ListView::~ListView()
void ListView::initWidget()
{
-// this->setFixedSize(w,h);
-
- this->verticalScrollBar()->setStyleSheet("QScrollBar{padding-top:0px;padding-bottom:0px;background:transparent;width:3px;border-radius:1.5px;}"
- "QScrollBar::handle{background-color:rgba(255,255,255,0.25); width:3px;border-radius:1.5px;}"
- "QScrollBar::handle:hover{background-color:#697883;width:3px;border-radius:1.5px;}"
- "QScrollBar::handle:pressed{background-color:#8897a3;width:3px;border-radius:1.5px;}"
- "QScrollBar::sub-line{background-color:transparent;height:0px;width:0px;}"
- "QScrollBar::add-line{background-color:transparent;height:0px;width:0px;}"
- );
+ setAttribute(Qt::WA_TranslucentBackground);
+ viewport()->setAttribute(Qt::WA_TranslucentBackground);
this->setSelectionMode(QAbstractItemView::SingleSelection);
this->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
this->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
-// this->setGridSize(QSize(310,48));
this->setResizeMode(QListView::Adjust);
this->setTextElideMode(Qt::ElideRight);
this->setViewMode(QListView::ListMode);
@@ -63,11 +54,11 @@ void ListView::initWidget()
this->setMovement(QListView::Static);
this->setEditTriggers(QAbstractItemView::NoEditTriggers);
this->setUpdatesEnabled(true);
-// this->setVerticalScrollMode(QAbstractItemView::ScrollPerPixel);
this->setSpacing(0);
this->setContentsMargins(0, 0, 0, 0);
this->setMouseTracking(true);
this->verticalScrollBar()->setContextMenuPolicy(Qt::NoContextMenu);
+ this->setFrameShape(QFrame::NoFrame);
connect(this,&ListView::customContextMenuRequested,this,&ListView::rightClickedSlot);
connect(this,&ListView::clicked,this,&ListView::onClicked);
}
@@ -179,3 +170,15 @@ void ListView::leaveEvent(QEvent *e)
Q_UNUSED(e);
this->verticalScrollBar()->setVisible(false);
}
+
+void ListView::paintEvent(QPaintEvent *e)
+{
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.control-center.personalise").toLocal8Bit());
+ double transparency=gsetting->get("transparency").toDouble();
+ QPainter painter(this->viewport());
+ painter.setOpacity(transparency);
+ painter.setPen(Qt::NoPen);
+ painter.setBrush(this->palette().base());
+ painter.fillRect(this->rect(), this->palette().base());
+ QListView::paintEvent(e);
+}
diff --git a/src/UtilityFunction/listview.h b/src/UtilityFunction/listview.h
index addd5f9..37a61c4 100644
--- a/src/UtilityFunction/listview.h
+++ b/src/UtilityFunction/listview.h
@@ -45,6 +45,7 @@ protected:
void initWidget();
void enterEvent(QEvent* e) Q_DECL_OVERRIDE;
void leaveEvent(QEvent* e) Q_DECL_OVERRIDE;
+ void paintEvent(QPaintEvent *e) override;
private:
QStandardItemModel* listmodel=nullptr;
diff --git a/src/UtilityFunction/proxystyle.cpp b/src/UtilityFunction/proxystyle.cpp
new file mode 100644
index 0000000..ecd103e
--- /dev/null
+++ b/src/UtilityFunction/proxystyle.cpp
@@ -0,0 +1,50 @@
+#include "proxystyle.h"
+#include <QApplication>
+#include <QDebug>
+
+ProxyStyle::ProxyStyle()
+{
+ if(QGSettings::isSchemaInstalled(QString("org.ukui.style").toLocal8Bit()))
+ {
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.style").toLocal8Bit());
+ connect(gsetting,&QGSettings::changed,this,[=]{
+ for(auto widget: QApplication::allWidgets())
+ {
+ qDebug()<<"---111---";
+ widget->update();
+ }
+ });
+ }
+}
+
+QPalette ProxyStyle::standardPalette() const
+{
+ auto m_palette=QProxyStyle::standardPalette();
+ QColor m_highlightbg;
+ if(QGSettings::isSchemaInstalled(QString("org.ukui.style").toLocal8Bit()))
+ {
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.style").toLocal8Bit());
+ if(gsetting->keys().contains(QString("styleName")))
+ {
+ if(gsetting->get("style-name").toString()=="ukui-light")
+ {
+ m_highlightbg=QColor(0, 0, 0);
+ m_highlightbg.setAlphaF(0.15);
+ }
+ else
+ {
+ m_highlightbg=QColor(255,255,255);
+ m_highlightbg.setAlphaF(0.14);
+ }
+ }
+ m_palette.setBrush(QPalette::Highlight,m_highlightbg);
+ return m_palette;
+ }
+ return m_palette;
+}
+
+void ProxyStyle::polish(QPalette &pal)
+{
+ pal=standardPalette();
+// QProxyStyle::polish(pal);
+}
diff --git a/src/UtilityFunction/proxystyle.h b/src/UtilityFunction/proxystyle.h
new file mode 100644
index 0000000..397e74a
--- /dev/null
+++ b/src/UtilityFunction/proxystyle.h
@@ -0,0 +1,28 @@
+#ifndef INTERNALSTYLE_H
+#define INTERNALSTYLE_H
+#include <QProxyStyle>
+#include <qgsettings.h>
+#include <QVariant>
+#include <QPainter>
+#include <QPalette>
+#include <QStyleOption>
+
+class ProxyStyle : public QProxyStyle
+{
+ Q_OBJECT
+public:
+ ProxyStyle();
+
+// void drawPrimitive(QStyle::PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const;
+// void drawControl(QStyle::ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget = nullptr) const;
+// void drawComplexControl(QStyle::ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget = nullptr) const;
+ void polish(QPalette &pal);
+// void polish(QWidget *widget);
+ QPalette standardPalette() const;
+
+private:
+ double transparency;
+
+};
+
+#endif // INTERNALSTYLE_H
diff --git a/src/UtilityFunction/scrollarea.cpp b/src/UtilityFunction/scrollarea.cpp
index a86855b..6d72db4 100644
--- a/src/UtilityFunction/scrollarea.cpp
+++ b/src/UtilityFunction/scrollarea.cpp
@@ -18,21 +18,75 @@
#include "scrollarea.h"
#include <QDebug>
+#include <QPainter>
+#include <QGSettings>
+
+ScrollAreaWid::ScrollAreaWid()
+{
+ this->setWindowFlags(Qt::CustomizeWindowHint | Qt::FramelessWindowHint);
+ this->setAttribute(Qt::WA_TranslucentBackground);
+}
+
+void ScrollAreaWid::paintEvent(QPaintEvent *event)
+{
+ QGSettings* gsetting=new QGSettings(QString("org.ukui.control-center.personalise").toLocal8Bit());
+ double transparency=gsetting->get("transparency").toDouble();
+ QPainter painter(this);
+// painter.setRenderHint(QPainter::Antialiasing);
+// painter.setOpacity(0.25);
+// painter.setBrush(Qt::black);
+// painter.setPen(Qt::NoPen);
+// QRect rect = this->rect();
+// rect.setWidth(rect.width());
+// rect.setHeight(rect.height());
+// painter.drawRect(rect);
+
+ if(QGSettings::isSchemaInstalled(QString("org.ukui.control-center.personalise").toLocal8Bit()))
+ {
+ QGSettings gsetting(QString("org.ukui.control-center.personalise").toLocal8Bit());
+ if(gsetting.keys().contains(QString("effect")))
+ {
+ if(gsetting.get("effect").toBool())
+ {
+ painter.setBrush(Qt::black);
+ painter.setPen(Qt::transparent);
+ painter.setOpacity(0.25);
+ painter.drawRect(this->rect());
+ }
+ else
+ {
+ painter.setBrush(this->palette().base());
+ painter.setPen(Qt::transparent);
+ painter.setOpacity(transparency);
+ painter.drawRect(this->rect());
+ }
+ }
+ else
+ {
+ painter.setBrush(this->palette().base());
+ painter.setPen(Qt::transparent);
+ painter.setOpacity(transparency);
+ painter.drawRect(this->rect());
+ }
+ }
+ else
+ {
+ painter.setBrush(this->palette().base());
+ painter.setPen(Qt::transparent);
+ painter.setOpacity(transparency);
+ painter.drawRect(this->rect());
+ }
+ QWidget::paintEvent(event);
+}
ScrollArea::ScrollArea()
{
this->verticalScrollBar()->setVisible(false);
- this->verticalScrollBar()->setStyleSheet("QScrollBar{width:3px;padding-top:0px;padding-bottom:0px;background:transparent;border-radius:6px;}"
- "QScrollBar::handle{background-color:rgba(255,255,255,0.25); width:3px;border-radius:1.5px;}"
- "QScrollBar::handle:hover{background-color:#697883;border-radius:1.5px;}"
- "QScrollBar::handle:pressed{background-color:#8897a3;border-radius:1.5px;}"
- "QScrollBar::sub-line{background-color:transparent;height:0px;width:0px;}"
- "QScrollBar::add-line{background-color:transparent;height:0px;width:0px;}"
- );
- installEventFilter(this);
- this->setFocusPolicy(Qt::NoFocus);
- this->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
- this->verticalScrollBar()->setContextMenuPolicy(Qt::NoContextMenu);
+ installEventFilter(this);
+ this->setFocusPolicy(Qt::NoFocus);
+ this->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
+ this->verticalScrollBar()->setContextMenuPolicy(Qt::NoContextMenu);
+ this->setFrameShape(QFrame::NoFrame);
}
void ScrollArea::enterEvent(QEvent *e)
@@ -46,3 +100,13 @@ void ScrollArea::leaveEvent(QEvent *e)
Q_UNUSED(e);
this->verticalScrollBar()->setVisible(false);
}
+
+void ScrollArea::scrollContentsBy(int dx, int dy)
+{
+ QScrollArea::scrollContentsBy(dx,dy);
+
+ Q_EMIT requestUpdate();
+
+// update();
+// viewport()->update();
+}
diff --git a/src/UtilityFunction/scrollarea.h b/src/UtilityFunction/scrollarea.h
index 3892462..0660c15 100644
--- a/src/UtilityFunction/scrollarea.h
+++ b/src/UtilityFunction/scrollarea.h
@@ -25,18 +25,32 @@
#include <QMouseEvent>
#include <QPropertyAnimation>
+class ScrollAreaWid: public QWidget
+{
+public:
+ ScrollAreaWid();
+
+protected:
+ void paintEvent(QPaintEvent* event);
+};
+
class ScrollArea : public QScrollArea
{
+ Q_OBJECT
public:
ScrollArea();
+Q_SIGNALS:
+ void requestUpdate();
+
protected:
void enterEvent(QEvent* e) Q_DECL_OVERRIDE;
void leaveEvent(QEvent* e) Q_DECL_OVERRIDE;
+ void scrollContentsBy(int dx, int dy) override;
+
private:
double m_speedTime = 3;
-
};
#endif // SCROLLAREA_H
diff --git a/src/UtilityFunction/pushbutton.cpp b/src/UtilityFunction/splitbarframe.cpp
similarity index 72%
rename from src/UtilityFunction/pushbutton.cpp
rename to src/UtilityFunction/splitbarframe.cpp
index e0fa1a1..6a9b517 100644
--- a/src/UtilityFunction/pushbutton.cpp
+++ b/src/UtilityFunction/splitbarframe.cpp
@@ -16,10 +16,10 @@
*
*/
-#include "pushbutton.h"
+#include "splitbarframe.h"
-PushButton::PushButton(QWidget *parent, QString category, int width, int height, int module):
- QPushButton(parent),
+SplitBarFrame::SplitBarFrame(QWidget *parent, QString category, int width, int height, int module):
+ QFrame(parent),
m_category(category),
m_width(width),
m_height(height),
@@ -30,47 +30,49 @@ PushButton::PushButton(QWidget *parent, QString category, int width, int height,
initAppBtn();
}
-PushButton::~PushButton()
+SplitBarFrame::~SplitBarFrame()
{
}
-void PushButton::initAppBtn()
-{
- char btnstyle[300];
- sprintf(btnstyle,"QPushButton{background:transparent;border:0px;color:#ffffff;font-size:14px;padding-left:0px;text-align: left center;}\
- QPushButton:hover{background-color:%s;}\
- QPushButton:pressed{background-color:%s;}", ClassifyBtnHoverBackground,ClassifyBtnHoverBackground);
-
+void SplitBarFrame::initAppBtn()
+{
this->setFixedSize(m_width,m_height);
- this->setStyleSheet(btnstyle);
+// this->setStyleSheet("background:transparent");
+ //按钮透明
this->setFocusPolicy(Qt::NoFocus);
- QHBoxLayout* layout=new QHBoxLayout(this);
+ this->setAttribute(Qt::WA_TranslucentBackground);
+ QHBoxLayout* layout=new QHBoxLayout;
layout->setContentsMargins(15,0,0,0);
layout->setSpacing(6);
- char style[100];
- sprintf(style,"color:#ffffff;");
+ m_textLabel->setAutoFillBackground(false);
m_textLabel->setAlignment(Qt::AlignCenter);
- m_textLabel->setStyleSheet(style);
if(m_module==1)
m_textLabel->setText(m_category);
else
setLabelText();
m_textLabel->adjustSize();
+ QPalette pe=m_textLabel->palette();
+ pe.setColor(QPalette::WindowText,Qt::white);
+ m_textLabel->setPalette(pe);
m_line->setFrameShape(QFrame::HLine);
m_line->setFixedHeight(1);
- m_line->setStyleSheet("background-color:rgba(255, 255, 255, 0.06)");
m_line->setFixedSize(m_width-m_textLabel->width()-15,1);
+ m_line->setEnabled(false);
+ QPalette linePe=m_line->palette();
+ QColor color(255,255,255);
+ color.setAlphaF(0.10);
+ linePe.setColor(QPalette::WindowText,color);
+ m_line->setPalette(linePe);
+ this->setLayout(layout);
layout->addWidget(m_textLabel);
layout->addWidget(m_line);
- this->setLayout(layout);
- this->setEnabled(false);
}
-void PushButton::setLabelText()
+void SplitBarFrame::setLabelText()
{
- QMetaEnum metaEnum=QMetaEnum::fromType<PushButton::Category>();
+ QMetaEnum metaEnum=QMetaEnum::fromType<SplitBarFrame::Category>();
switch (metaEnum.keyToValue(m_category.toLocal8Bit().data()))
{
case Mobile:
diff --git a/src/UtilityFunction/pushbutton.h b/src/UtilityFunction/splitbarframe.h
similarity index 91%
rename from src/UtilityFunction/pushbutton.h
rename to src/UtilityFunction/splitbarframe.h
index ff51eae..ee33748 100644
--- a/src/UtilityFunction/pushbutton.h
+++ b/src/UtilityFunction/splitbarframe.h
@@ -29,7 +29,7 @@
#include "src/RightClickMenu/rightclickmenu.h"
#include "utility.h"
-class PushButton : public QPushButton
+class SplitBarFrame : public QFrame //全屏分隔栏
{
Q_OBJECT
public:
@@ -37,8 +37,8 @@ public:
* @param classify为0时为分类按钮、1为应用按钮
* @param module为0时为常用模块1为字母模块、2为功能模块
*/
- PushButton(QWidget *parent,QString category,int width,int height,int module);
- ~PushButton();
+ SplitBarFrame(QWidget *parent,QString category,int width,int height,int module);
+ ~SplitBarFrame();
enum Category{
Mobile,
@@ -66,7 +66,6 @@ private:
protected:
void initAppBtn();
void setLabelText();
-
};
#endif // PUSHBUTTON_H
diff --git a/src/UtilityFunction/toolbutton.cpp b/src/UtilityFunction/toolbutton.cpp
index d9fa992..330a353 100644
--- a/src/UtilityFunction/toolbutton.cpp
+++ b/src/UtilityFunction/toolbutton.cpp
@@ -54,10 +54,10 @@ ToolButton::ToolButton(int width,
{
this->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
this->setText(tr(text.toLocal8Bit().data()));
- this->setStyleSheet("border:0px;padding-left:16px;background:transparent;color:rgba(255, 255, 255, 50%);font-size:14px;");
+// this->setStyleSheet("border:0px;padding-left:16px;background:transparent;color:rgba(255, 255, 255, 50%);font-size:14px;");
}
- else
- this->setStyleSheet("border:0px;padding-left:0px;background:transparent;");
+// else
+// this->setStyleSheet("border:0px;padding-left:0px;background:transparent;");
}
void ToolButton::enterEvent(QEvent *e)
@@ -70,7 +70,7 @@ void ToolButton::enterEvent(QEvent *e)
sprintf(style,"border:0px;padding-left:16px;background-color:%s;color:#ffffff;font-size:14px;",hover);
else
sprintf(style,"border:0px;padding-left:0px;background-color:%s;",hover);
- this->setStyleSheet(QString::fromLocal8Bit(style));
+// this->setStyleSheet(QString::fromLocal8Bit(style));
delete svgRender;
svgRender=new QSvgRenderer(this);
svgRender->load(piconstr);
@@ -89,15 +89,15 @@ void ToolButton::enterEvent(QEvent *e)
void ToolButton::leaveEvent(QEvent *e)
{
Q_UNUSED(e);
- if(module==2)
- {
- if(!is_pressed)
- this->setStyleSheet("border:0px;padding-left:16px;background:transparent;color:rgba(255, 255, 255, 50%);font-size:14px;");
- else
- this->setStyleSheet("border:0px;padding-left:16px;background:transparent;color:rgba(255, 255, 255);font-size:14px;");
- }
- else
- this->setStyleSheet("border:0px;padding-left:0px;background:transparent;");
+// if(module==2)
+// {
+// if(!is_pressed)
+// this->setStyleSheet("border:0px;padding-left:16px;background:transparent;color:rgba(255, 255, 255, 50%);font-size:14px;");
+// else
+// this->setStyleSheet("border:0px;padding-left:16px;background:transparent;color:rgba(255, 255, 255);font-size:14px;");
+// }
+// else
+// this->setStyleSheet("border:0px;padding-left:0px;background:transparent;");
delete svgRender;
svgRender=new QSvgRenderer(this);
if(module==2 && is_pressed)
@@ -127,7 +127,7 @@ void ToolButton::mousePressEvent(QMouseEvent *event)
sprintf(style,"border:0px;padding-left:0px;background-color:%s;",pressed);
if(event->button()==Qt::LeftButton)
{
- this->setStyleSheet(QString::fromLocal8Bit(style));
+// this->setStyleSheet(QString::fromLocal8Bit(style));
delete svgRender;
svgRender=new QSvgRenderer(this);
svgRender->load(piconstr);
@@ -157,7 +157,7 @@ void ToolButton::mouseReleaseEvent(QMouseEvent *event)
sprintf(style,"border:0px;padding-left:0px;background-color:%s;",hover);
if(event->button()==Qt::LeftButton)
{
- this->setStyleSheet(QString::fromLocal8Bit(style));
+// this->setStyleSheet(QString::fromLocal8Bit(style));
delete svgRender;
svgRender=new QSvgRenderer(this);
svgRender->load(piconstr);
diff --git a/src/UtilityFunction/utility.cpp b/src/UtilityFunction/utility.cpp
index ca2c517..11cf418 100644
--- a/src/UtilityFunction/utility.cpp
+++ b/src/UtilityFunction/utility.cpp
@@ -34,3 +34,54 @@ const QPixmap loadSvg(const QString &fileName, const int size)
return pixmap;
}
+
+QPixmap drawSymbolicColoredPixmap(const QPixmap &source)
+{
+ QColor gray(128,128,128);
+ QColor standard (31,32,34);
+ QImage img = source.toImage();
+ for (int x = 0; x < img.width(); x++) {
+ for (int y = 0; y < img.height(); y++) {
+ auto color = img.pixelColor(x, y);
+ if (color.alpha() > 0) {
+ if (qAbs(color.red()-gray.red())<20 && qAbs(color.green()-gray.green())<20 && qAbs(color.blue()-gray.blue())<20) {
+ color.setRed(255);
+ color.setGreen(255);
+ color.setBlue(255);
+ img.setPixelColor(x, y, color);
+ }
+ else if(qAbs(color.red()-standard.red())<20 && qAbs(color.green()-standard.green())<20 && qAbs(color.blue()-standard.blue())<20)
+ {
+ color.setRed(255);
+ color.setGreen(255);
+ color.setBlue(255);
+ img.setPixelColor(x, y, color);
+ }
+ else
+ {
+ img.setPixelColor(x, y, color);
+ }
+ }
+ }
+ }
+ return QPixmap::fromImage(img);
+}
+
+QPixmap drawSymbolicBlackColoredPixmap(const QPixmap &source)
+{
+ QImage img = source.toImage();
+ for (int x = 0; x < img.width(); x++) {
+ for (int y = 0; y < img.height(); y++) {
+ auto color = img.pixelColor(x, y);
+ if (color.alpha() > 0) {
+ if (qAbs(color.red())>=200 && qAbs(color.green())>=200 && qAbs(color.blue())>=200) {
+ color.setRed(56);
+ color.setGreen(56);
+ color.setBlue(56);
+ img.setPixelColor(x, y, color);
+ }
+ }
+ }
+ }
+ return QPixmap::fromImage(img);
+}
diff --git a/src/UtilityFunction/utility.h b/src/UtilityFunction/utility.h
index 943c67b..2ae9079 100644
--- a/src/UtilityFunction/utility.h
+++ b/src/UtilityFunction/utility.h
@@ -23,4 +23,11 @@
const QPixmap loadSvg(const QString &fileName, const int size);
+//图片反白
+QPixmap drawSymbolicColoredPixmap(const QPixmap &source);
+
+//图片反黑
+QPixmap drawSymbolicBlackColoredPixmap(const QPixmap &source);
+
+
#endif // UTILITY_H
diff --git a/translations/ukui-menu_bo.ts b/translations/ukui-menu_bo.ts
index 7e9676c..bfc754a 100644
--- a/translations/ukui-menu_bo.ts
+++ b/translations/ukui-menu_bo.ts
@@ -2,417 +2,287 @@
<!DOCTYPE TS>
<TS version="2.1">
<context>
- <name>CommonUseWidget</name>
+ <name>FunctionClassifyButton</name>
<message>
- <location filename="src/CommonUseWidget/commonusewidget.ui" line="14"/>
- <source>Form</source>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="258"/>
+ <source>Mobile</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>FullCommonUseWidget</name>
<message>
- <location filename="src/CommonUseWidget/fullcommonusewidget.ui" line="14"/>
- <source>Form</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FullFunctionWidget</name>
- <message>
- <location filename="src/FunctionWidget/fullfunctionwidget.ui" line="14"/>
- <source>Form</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="94"/>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="151"/>
- <source>Android</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="95"/>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="158"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="261"/>
<source>Internet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="96"/>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="164"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="264"/>
<source>Social</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="97"/>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="170"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="267"/>
<source>Video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="98"/>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="176"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="270"/>
<source>Development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="99"/>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="182"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="273"/>
<source>Image</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="100"/>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="188"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="276"/>
<source>Game</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="101"/>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="194"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="279"/>
<source>Office</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="102"/>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="200"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="282"/>
<source>Education</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="103"/>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="207"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="285"/>
<source>System</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="104"/>
- <location filename="src/FunctionWidget/fullfunctionwidget.cpp" line="213"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="288"/>
<source>Others</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>FullLetterWidget</name>
- <message>
- <location filename="src/LetterWidget/fullletterwidget.ui" line="14"/>
- <source>Form</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FullSearchResultWidget</name>
- <message>
- <location filename="src/SearchResultWidget/fullsearchresultwidget.ui" line="16"/>
- <source>Form</source>
- <translation type="unfinished"></translation>
- </message>
-</context>
-<context>
- <name>FunctionButtonWidget</name>
- <message>
- <location filename="src/FunctionWidget/functionbuttonwidget.ui" line="16"/>
- <source>Form</source>
- <translation type="unfinished"></translation>
- </message>
+ <name>FunctionWidget</name>
<message>
- <location filename="src/FunctionWidget/functionbuttonwidget.cpp" line="91"/>
- <source>Android</source>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="88"/>
+ <source>Mobile</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionbuttonwidget.cpp" line="92"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="94"/>
<source>Internet</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionbuttonwidget.cpp" line="93"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="100"/>
<source>Social</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionbuttonwidget.cpp" line="94"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="106"/>
<source>Video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionbuttonwidget.cpp" line="95"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="112"/>
<source>Development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionbuttonwidget.cpp" line="96"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="118"/>
<source>Image</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionbuttonwidget.cpp" line="97"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="124"/>
<source>Game</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionbuttonwidget.cpp" line="98"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="130"/>
<source>Office</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionbuttonwidget.cpp" line="99"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="136"/>
<source>Education</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionbuttonwidget.cpp" line="100"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="143"/>
<source>System</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionbuttonwidget.cpp" line="101"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="149"/>
<source>Others</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>FunctionWidget</name>
- <message>
- <location filename="src/FunctionWidget/functionwidget.ui" line="14"/>
- <source>Form</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="95"/>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="223"/>
- <source>Android</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="102"/>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="230"/>
- <source>Internet</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="108"/>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="236"/>
- <source>Social</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="114"/>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="242"/>
- <source>Video</source>
- <translation type="unfinished"></translation>
- </message>
+ <name>MainViewWidget</name>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="120"/>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="248"/>
- <source>Development</source>
+ <location filename="../src/MainViewWidget/mainviewwidget.cpp" line="176"/>
+ <source>Search</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>RightClickMenu</name>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="126"/>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="254"/>
- <source>Image</source>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="225"/>
+ <source>Pin to all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="132"/>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="260"/>
- <source>Game</source>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="228"/>
+ <source>Unpin from all</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="138"/>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="266"/>
- <source>Office</source>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="238"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="303"/>
+ <source>Pin to taskbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="144"/>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="272"/>
- <source>Education</source>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="241"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="306"/>
+ <source>Unpin from taskbar</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="151"/>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="279"/>
- <source>System</source>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="244"/>
+ <source>Add to desktop shortcuts</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="157"/>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="285"/>
- <source>Others</source>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="248"/>
+ <source>Uninstall</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>LetterButtonWidget</name>
<message>
- <location filename="src/LetterWidget/letterbuttonwidget.ui" line="16"/>
- <source>Form</source>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="274"/>
+ <source>Sleep</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>LetterWidget</name>
<message>
- <location filename="src/LetterWidget/letterwidget.ui" line="14"/>
- <source>Form</source>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="278"/>
+ <source>Log Out</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>MainViewWidget</name>
<message>
- <location filename="src/MainViewWidget/mainviewwidget.ui" line="14"/>
- <source>Form</source>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="280"/>
+ <source>Restart</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/MainViewWidget/mainviewwidget.cpp" line="174"/>
- <source>Search</source>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="282"/>
+ <source>Power Off</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>MainWindow</name>
<message>
- <location filename="src/MainWindow/mainwindow.ui" line="14"/>
- <source>MainWindow</source>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="308"/>
+ <source>Personalize this list</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
- <name>RightClickMenu</name>
- <message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="117"/>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="175"/>
- <source>Pin to all</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="121"/>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="179"/>
- <source>Unpin from all</source>
- <translation type="unfinished"></translation>
- </message>
- <message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="125"/>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="183"/>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="270"/>
- <source>Pin to taskbar</source>
- <translation type="unfinished"></translation>
- </message>
+ <name>SideBarWidget</name>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="129"/>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="187"/>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="274"/>
- <source>Unpin from taskbar</source>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="86"/>
+ <source>All</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="133"/>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="191"/>
- <source>Add to desktop shortcuts</source>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="88"/>
+ <source>Letter</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="137"/>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="195"/>
- <source>Uninstall</source>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="90"/>
+ <source>Function</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="228"/>
- <source>Lock Screen</source>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="104"/>
+ <source>Trash</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="233"/>
- <source>Switch User</source>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="106"/>
+ <source>Computer</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="238"/>
- <source>Log Out</source>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="102"/>
+ <source>Personal</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="243"/>
- <source>Restart</source>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="108"/>
+ <source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="248"/>
- <source>Power Off</source>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="110"/>
+ <source>Power</source>
<translation type="unfinished"></translation>
</message>
+</context>
+<context>
+ <name>SplitBarFrame</name>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="278"/>
- <source>Personalize this list</source>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="79"/>
+ <source>Mobile</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>SearchResultWidget</name>
<message>
- <location filename="src/SearchResultWidget/searchresultwidget.ui" line="16"/>
- <source>Form</source>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="82"/>
+ <source>Internet</source>
<translation type="unfinished"></translation>
</message>
-</context>
-<context>
- <name>SideBarWidget</name>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.ui" line="14"/>
- <source>Form</source>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="85"/>
+ <source>Social</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="110"/>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="533"/>
- <source>All</source>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="88"/>
+ <source>Video</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="114"/>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="536"/>
- <source>Letter</source>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="91"/>
+ <source>Development</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="118"/>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="539"/>
- <source>Function</source>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="94"/>
+ <source>Image</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="138"/>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="561"/>
- <source>Computer</source>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="97"/>
+ <source>Game</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="140"/>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="555"/>
- <source>Personal</source>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="100"/>
+ <source>Office</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="142"/>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="564"/>
- <source>Settings</source>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="103"/>
+ <source>Education</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="144"/>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="558"/>
- <source>Recycle Bin</source>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="106"/>
+ <source>System</source>
<translation type="unfinished"></translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="146"/>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="572"/>
- <source>Power</source>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="109"/>
+ <source>Others</source>
<translation type="unfinished"></translation>
</message>
</context>
diff --git a/translations/ukui-menu_tr.ts b/translations/ukui-menu_tr.ts
index 5ae00ce..6460b5f 100644
--- a/translations/ukui-menu_tr.ts
+++ b/translations/ukui-menu_tr.ts
@@ -4,57 +4,57 @@
<context>
<name>FunctionClassifyButton</name>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="184"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="258"/>
<source>Mobile</source>
<translation>Mobil</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="187"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="261"/>
<source>Internet</source>
<translation>İnternet</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="190"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="264"/>
<source>Social</source>
<translation>Sosyal</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="193"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="267"/>
<source>Video</source>
<translation>Video</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="196"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="270"/>
<source>Development</source>
<translation>Programlama</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="199"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="273"/>
<source>Image</source>
<translation>Grafik</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="202"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="276"/>
<source>Game</source>
<translation>Oyunlar</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="205"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="279"/>
<source>Office</source>
<translation>Ofis Uygulamaları</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="208"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="282"/>
<source>Education</source>
<translation>Eğitim</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="211"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="285"/>
<source>System</source>
<translation>Sistem</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="214"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="288"/>
<source>Others</source>
<translation>Diğer</translation>
</message>
@@ -62,57 +62,57 @@
<context>
<name>FunctionWidget</name>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="88"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="88"/>
<source>Mobile</source>
<translation>Mobil</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="94"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="94"/>
<source>Internet</source>
<translation>İnternet</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="100"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="100"/>
<source>Social</source>
<translation>Sosyal</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="106"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="106"/>
<source>Video</source>
<translation>Video</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="112"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="112"/>
<source>Development</source>
<translation>Programlama</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="118"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="118"/>
<source>Image</source>
<translation>Grafik</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="124"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="124"/>
<source>Game</source>
<translation>Oyunlar</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="130"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="130"/>
<source>Office</source>
<translation>Ofis Uygulamaları</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="136"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="136"/>
<source>Education</source>
<translation>Eğitim</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="143"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="143"/>
<source>System</source>
<translation>Sistem</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="149"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="149"/>
<source>Others</source>
<translation>Diğer</translation>
</message>
@@ -120,7 +120,7 @@
<context>
<name>MainViewWidget</name>
<message>
- <location filename="src/MainViewWidget/mainviewwidget.cpp" line="161"/>
+ <location filename="../src/MainViewWidget/mainviewwidget.cpp" line="176"/>
<source>Search</source>
<translation>Ara</translation>
</message>
@@ -128,132 +128,118 @@
<context>
<name>PushButton</name>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="77"/>
<source>Mobile</source>
- <translation>Mobil</translation>
+ <translation type="vanished">Mobil</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="80"/>
<source>Internet</source>
- <translation>İnternet</translation>
+ <translation type="vanished">İnternet</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="83"/>
<source>Social</source>
- <translation>Sosyal</translation>
+ <translation type="vanished">Sosyal</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="86"/>
<source>Video</source>
- <translation>Video</translation>
+ <translation type="vanished">Video</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="89"/>
<source>Development</source>
- <translation>Programlama</translation>
+ <translation type="vanished">Programlama</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="92"/>
<source>Image</source>
- <translation>Grafik</translation>
+ <translation type="vanished">Grafik</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="95"/>
<source>Game</source>
- <translation>Oyunlar</translation>
+ <translation type="vanished">Oyunlar</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="98"/>
<source>Office</source>
- <translation>Ofis Uygulamaları</translation>
+ <translation type="vanished">Ofis Uygulamaları</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="101"/>
<source>Education</source>
- <translation>Eğitim</translation>
+ <translation type="vanished">Eğitim</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="104"/>
<source>System</source>
- <translation>Sistem</translation>
+ <translation type="vanished">Sistem</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="107"/>
<source>Others</source>
- <translation>Diğer</translation>
+ <translation type="vanished">Diğer</translation>
</message>
</context>
<context>
<name>RightClickMenu</name>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="262"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="225"/>
<source>Pin to all</source>
<translation>Tümünü sabitle</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="265"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="228"/>
<source>Unpin from all</source>
<translation>Tüm sabitlemeleri kaldır</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="275"/>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="335"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="238"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="303"/>
<source>Pin to taskbar</source>
<translation>Görev çubuğuna sabitle</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="278"/>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="338"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="241"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="306"/>
<source>Unpin from taskbar</source>
<translation>Görev çubuğundan sabitlemeyi kaldır</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="281"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="244"/>
<source>Add to desktop shortcuts</source>
<translation>Masaüstü kısayollarına ekle</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="284"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="248"/>
<source>Uninstall</source>
<translation>Kaldır</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="302"/>
<source>Hibernate</source>
- <translation>Beklemeye Al</translation>
+ <translation type="vanished">Beklemeye Al</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="305"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="274"/>
<source>Sleep</source>
<translation>Uyku Modu</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="307"/>
<source>Lock Screen</source>
- <translation>Ekranı Kilitle</translation>
+ <translation type="vanished">Ekranı Kilitle</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="296"/>
<source>Switch User</source>
- <translation>Kullanıcı Değiştir</translation>
+ <translation type="vanished">Kullanıcı Değiştir</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="309"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="278"/>
<source>Log Out</source>
<translation>Çıkış</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="311"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="280"/>
<source>Restart</source>
<translation>Yeniden Başlat</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="313"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="282"/>
<source>Power Off</source>
<translation>Kapat</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="340"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="308"/>
<source>Personalize this list</source>
<translation>Bu listeyi özelleştirin</translation>
</message>
@@ -261,44 +247,106 @@
<context>
<name>SideBarWidget</name>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="95"/>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="86"/>
<source>All</source>
<translation>Tümü</translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="97"/>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="88"/>
<source>Letter</source>
<translation>Alfabetik</translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="99"/>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="90"/>
<source>Function</source>
<translation>Kategori</translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="114"/>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="104"/>
+ <source>Trash</source>
+ <translation type="unfinished"></translation>
+ </message>
+ <message>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="106"/>
<source>Computer</source>
<translation>Bilgisayar</translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="110"/>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="102"/>
<source>Personal</source>
<translation>Kişisel</translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="116"/>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="108"/>
<source>Settings</source>
<translation>Ayarlar</translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="112"/>
<source>Recycle Bin</source>
- <translation>Çöp</translation>
+ <translation type="vanished">Çöp</translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="118"/>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="110"/>
<source>Power</source>
<translation>Kapat</translation>
</message>
</context>
+<context>
+ <name>SplitBarFrame</name>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="79"/>
+ <source>Mobile</source>
+ <translation type="unfinished">Mobil</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="82"/>
+ <source>Internet</source>
+ <translation type="unfinished">İnternet</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="85"/>
+ <source>Social</source>
+ <translation type="unfinished">Sosyal</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="88"/>
+ <source>Video</source>
+ <translation type="unfinished">Video</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="91"/>
+ <source>Development</source>
+ <translation type="unfinished">Programlama</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="94"/>
+ <source>Image</source>
+ <translation type="unfinished">Grafik</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="97"/>
+ <source>Game</source>
+ <translation type="unfinished">Oyunlar</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="100"/>
+ <source>Office</source>
+ <translation type="unfinished">Ofis Uygulamaları</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="103"/>
+ <source>Education</source>
+ <translation type="unfinished">Eğitim</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="106"/>
+ <source>System</source>
+ <translation type="unfinished">Sistem</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="109"/>
+ <source>Others</source>
+ <translation type="unfinished">Diğer</translation>
+ </message>
+</context>
</TS>
diff --git a/translations/ukui-menu_zh_CN.ts b/translations/ukui-menu_zh_CN.ts
index fc6a4d6..5a37281 100644
--- a/translations/ukui-menu_zh_CN.ts
+++ b/translations/ukui-menu_zh_CN.ts
@@ -4,57 +4,57 @@
<context>
<name>FunctionClassifyButton</name>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="184"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="258"/>
<source>Mobile</source>
<translation>移动</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="187"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="261"/>
<source>Internet</source>
<translation>网络</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="190"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="264"/>
<source>Social</source>
<translation>社交</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="193"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="267"/>
<source>Video</source>
<translation>影音</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="196"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="270"/>
<source>Development</source>
<translation>开发</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="199"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="273"/>
<source>Image</source>
<translation>图像</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="202"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="276"/>
<source>Game</source>
<translation>游戏</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="205"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="279"/>
<source>Office</source>
<translation>办公</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="208"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="282"/>
<source>Education</source>
<translation>教育</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="211"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="285"/>
<source>System</source>
<translation>系统</translation>
</message>
<message>
- <location filename="src/UtilityFunction/functionclassifybutton.cpp" line="214"/>
+ <location filename="../src/UtilityFunction/functionclassifybutton.cpp" line="288"/>
<source>Others</source>
<translation>其它</translation>
</message>
@@ -62,57 +62,57 @@
<context>
<name>FunctionWidget</name>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="88"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="88"/>
<source>Mobile</source>
<translation>移动</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="94"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="94"/>
<source>Internet</source>
<translation>网络</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="100"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="100"/>
<source>Social</source>
<translation>社交</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="106"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="106"/>
<source>Video</source>
<translation>影音</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="112"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="112"/>
<source>Development</source>
<translation>开发</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="118"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="118"/>
<source>Image</source>
<translation>图像</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="124"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="124"/>
<source>Game</source>
<translation>游戏</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="130"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="130"/>
<source>Office</source>
<translation>办公</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="136"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="136"/>
<source>Education</source>
<translation>教育</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="143"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="143"/>
<source>System</source>
<translation>系统</translation>
</message>
<message>
- <location filename="src/FunctionWidget/functionwidget.cpp" line="149"/>
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="149"/>
<source>Others</source>
<translation>其它</translation>
</message>
@@ -120,7 +120,7 @@
<context>
<name>MainViewWidget</name>
<message>
- <location filename="src/MainViewWidget/mainviewwidget.cpp" line="161"/>
+ <location filename="../src/MainViewWidget/mainviewwidget.cpp" line="176"/>
<source>Search</source>
<translation>搜索</translation>
</message>
@@ -128,132 +128,118 @@
<context>
<name>PushButton</name>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="77"/>
<source>Mobile</source>
- <translation>移动</translation>
+ <translation type="vanished">移动</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="80"/>
<source>Internet</source>
- <translation>网络</translation>
+ <translation type="vanished">网络</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="83"/>
<source>Social</source>
- <translation>社交</translation>
+ <translation type="vanished">社交</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="86"/>
<source>Video</source>
- <translation>影音</translation>
+ <translation type="vanished">影音</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="89"/>
<source>Development</source>
- <translation>开发</translation>
+ <translation type="vanished">开发</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="92"/>
<source>Image</source>
- <translation>图像</translation>
+ <translation type="vanished">图像</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="95"/>
<source>Game</source>
- <translation>游戏</translation>
+ <translation type="vanished">游戏</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="98"/>
<source>Office</source>
- <translation>办公</translation>
+ <translation type="vanished">办公</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="101"/>
<source>Education</source>
- <translation>教育</translation>
+ <translation type="vanished">教育</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="104"/>
<source>System</source>
- <translation>系统</translation>
+ <translation type="vanished">系统</translation>
</message>
<message>
- <location filename="src/UtilityFunction/pushbutton.cpp" line="107"/>
<source>Others</source>
- <translation>其它</translation>
+ <translation type="vanished">其它</translation>
</message>
</context>
<context>
<name>RightClickMenu</name>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="262"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="225"/>
<source>Pin to all</source>
<translation>固定到“所有软件”</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="265"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="228"/>
<source>Unpin from all</source>
<translation>从“所有软件”取消固定</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="275"/>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="335"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="238"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="303"/>
<source>Pin to taskbar</source>
<translation>固定到任务栏</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="278"/>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="338"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="241"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="306"/>
<source>Unpin from taskbar</source>
<translation>从任务栏取消固定</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="281"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="244"/>
<source>Add to desktop shortcuts</source>
<translation>添加到桌面快捷方式</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="284"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="248"/>
<source>Uninstall</source>
<translation>卸载</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="302"/>
<source>Hibernate</source>
- <translation>休眠</translation>
+ <translation type="vanished">休眠</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="305"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="274"/>
<source>Sleep</source>
<translation>睡眠</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="307"/>
<source>Lock Screen</source>
- <translation>锁屏</translation>
+ <translation type="vanished">锁屏</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="296"/>
<source>Switch User</source>
- <translation>切换用户</translation>
+ <translation type="vanished">切换用户</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="309"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="278"/>
<source>Log Out</source>
<translation>注销</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="311"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="280"/>
<source>Restart</source>
<translation>重启</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="313"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="282"/>
<source>Power Off</source>
<translation>关机</translation>
</message>
<message>
- <location filename="src/RightClickMenu/rightclickmenu.cpp" line="340"/>
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="308"/>
<source>Personalize this list</source>
<translation>设置开始菜单显示列表</translation>
</message>
@@ -261,44 +247,106 @@
<context>
<name>SideBarWidget</name>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="95"/>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="86"/>
<source>All</source>
<translation>所有软件</translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="97"/>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="88"/>
<source>Letter</source>
<translation>字母排序</translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="99"/>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="90"/>
<source>Function</source>
<translation>功能分类</translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="114"/>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="104"/>
+ <source>Trash</source>
+ <translation>回收站</translation>
+ </message>
+ <message>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="106"/>
<source>Computer</source>
<translation>计算机</translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="110"/>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="102"/>
<source>Personal</source>
<translation>个人</translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="116"/>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="108"/>
<source>Settings</source>
<translation>设置</translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="112"/>
<source>Recycle Bin</source>
- <translation>回收站</translation>
+ <translation type="vanished">回收站</translation>
</message>
<message>
- <location filename="src/SideBarWidget/sidebarwidget.cpp" line="118"/>
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="110"/>
<source>Power</source>
<translation>电源</translation>
</message>
</context>
+<context>
+ <name>SplitBarFrame</name>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="79"/>
+ <source>Mobile</source>
+ <translation>移动</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="82"/>
+ <source>Internet</source>
+ <translation>网络</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="85"/>
+ <source>Social</source>
+ <translation>社交</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="88"/>
+ <source>Video</source>
+ <translation>影音</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="91"/>
+ <source>Development</source>
+ <translation>开发</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="94"/>
+ <source>Image</source>
+ <translation>图像</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="97"/>
+ <source>Game</source>
+ <translation>游戏</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="100"/>
+ <source>Office</source>
+ <translation>办公</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="103"/>
+ <source>Education</source>
+ <translation>教育</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="106"/>
+ <source>System</source>
+ <translation>系统</translation>
+ </message>
+ <message>
+ <location filename="../src/UtilityFunction/splitbarframe.cpp" line="109"/>
+ <source>Others</source>
+ <translation>其它</translation>
+ </message>
+</context>
</TS>
diff --git a/ukui-menu.pro b/ukui-menu.pro
index 639f803..58bb6c4 100644
--- a/ukui-menu.pro
+++ b/ukui-menu.pro
@@ -4,7 +4,7 @@
#
#-------------------------------------------------
-QT += core gui svg dbus x11extras KWindowSystem
+QT += core gui svg dbus x11extras
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
include(src/QtSingleApplication/qtsingleapplication.pri)
@@ -62,15 +62,16 @@ SOURCES += \
src/SearchResultWidget/searchresultwidget.cpp \
src/SideBarWidget/sidebarwidget.cpp \
src/Style/style.cpp \
- src/UtilityFunction/classifyscrollarea.cpp \
+ src/UtilityFunction/classifybtnscrollarea.cpp \
src/UtilityFunction/fullitemdelegate.cpp \
src/UtilityFunction/fulllistview.cpp \
src/UtilityFunction/functionclassifybutton.cpp \
src/UtilityFunction/itemdelegate.cpp \
src/UtilityFunction/letterclassifybutton.cpp \
src/UtilityFunction/listview.cpp \
- src/UtilityFunction/pushbutton.cpp \
+ src/UtilityFunction/proxystyle.cpp \
src/UtilityFunction/scrollarea.cpp \
+ src/UtilityFunction/splitbarframe.cpp \
src/UtilityFunction/toolbutton.cpp \
src/Interface/ukuichineseletter.cpp \
src/Interface/ukuimenuinterface.cpp \
@@ -96,15 +97,16 @@ HEADERS += \
src/SearchResultWidget/searchresultwidget.h \
src/SideBarWidget/sidebarwidget.h \
src/Style/style.h \
- src/UtilityFunction/classifyscrollarea.h \
+ src/UtilityFunction/classifybtnscrollarea.h \
src/UtilityFunction/fullitemdelegate.h \
src/UtilityFunction/fulllistview.h \
src/UtilityFunction/functionclassifybutton.h \
src/UtilityFunction/itemdelegate.h \
src/UtilityFunction/letterclassifybutton.h \
src/UtilityFunction/listview.h \
- src/UtilityFunction/pushbutton.h \
+ src/UtilityFunction/proxystyle.h \
src/UtilityFunction/scrollarea.h \
+ src/UtilityFunction/splitbarframe.h \
src/UtilityFunction/toolbutton.h \
src/Interface/ukuichineseletter.h \
src/Interface/ukuimenuinterface.h \
--
2.30.0