From e1ac89bb3883bef193b5544f9152096a11d17849 Mon Sep 17 00:00:00 2001 From: liuhao-startmenu Date: Fri, 3 Apr 2020 18:08:57 +0800 Subject: [PATCH] Fixed application icon dragging problem --- src/CommonUseWidget/commonusewidget.cpp | 61 +++++++++- src/CommonUseWidget/commonusewidget.h | 14 ++- src/CommonUseWidget/fullcommonusewidget.cpp | 58 +++++++++- src/CommonUseWidget/fullcommonusewidget.h | 14 ++- src/FunctionWidget/fullfunctionwidget.cpp | 17 +-- src/FunctionWidget/fullfunctionwidget.h | 2 +- src/FunctionWidget/functionwidget.cpp | 2 +- src/FunctionWidget/functionwidget.h | 4 +- src/LetterWidget/fullletterwidget.cpp | 6 +- src/LetterWidget/fullletterwidget.h | 2 +- src/LetterWidget/letterwidget.cpp | 2 +- src/LetterWidget/letterwidget.h | 4 +- src/MainViewWidget/mainviewwidget.cpp | 72 ++++++++---- src/RightClickMenu/rightclickmenu.cpp | 29 ++--- src/RightClickMenu/rightclickmenu.h | 108 +++++++++--------- .../fullsearchresultwidget.cpp | 2 +- .../fullsearchresultwidget.h | 3 +- src/SearchResultWidget/searchresultwidget.cpp | 2 +- src/SearchResultWidget/searchresultwidget.h | 2 +- src/UtilityFunction/fulllistview.cpp | 18 +-- src/UtilityFunction/fulllistview.h | 8 +- src/UtilityFunction/listview.cpp | 15 ++- src/UtilityFunction/listview.h | 10 +- 23 files changed, 300 insertions(+), 155 deletions(-) diff --git a/src/CommonUseWidget/commonusewidget.cpp b/src/CommonUseWidget/commonusewidget.cpp index b216247..d932ada 100644 --- a/src/CommonUseWidget/commonusewidget.cpp +++ b/src/CommonUseWidget/commonusewidget.cpp @@ -69,9 +69,10 @@ void CommonUseWidget::initAppListWidget() listview=new ListView(this,this->width()-4,this->height(),0); mainLayout->addWidget(listview); connect(listview,SIGNAL(sendItemClickedSignal(QStringList)),this,SLOT(execApplication(QStringList))); - connect(listview,SIGNAL(sendUpdateAppListSignal()),this,SIGNAL(sendUpdateAppListSignal())); + connect(listview,SIGNAL(sendUpdateAppListSignal(QString,int)),this,SIGNAL(sendUpdateAppListSignal(QString,int))); + connect(listview,SIGNAL(removeListItemSignal(QString)),this,SIGNAL(removeListItemSignal(QString))); + connect(listview,SIGNAL(removeListAllItemSignal()),this,SIGNAL(removeListAllItemSignal())); connect(listview,SIGNAL(sendHideMainWindowSignal()),this,SIGNAL(sendHideMainWindowSignal())); - } /** @@ -103,17 +104,67 @@ void CommonUseWidget::execApplication(QStringList arg) /** * 更新应用列表槽函数 */ -void CommonUseWidget::updateListViewSlot() +void CommonUseWidget::updateListViewSlot(QString desktopfp, int type) +{ + for(int i=0;imodel()->rowCount();i++) + { + QVariant var=listview->model()->index(i,0).data(Qt::DisplayRole); + QString path=var.value().at(0); + if(QString::compare(path,desktopfp)==0) + { + listview->model()->removeRow(i); + break; + } + } + setting->beginGroup("lockapplication"); + QStandardItem* item=new QStandardItem; + item->setData(QVariant::fromValue(QStringList()<(listview->model()); + if(type==0) + listmodel->insertRow(setting->allKeys().size()-1,item); + else + listmodel->insertRow(setting->allKeys().size(),item); + setting->endGroup(); +} + +void CommonUseWidget::updateListViewAllSlot() { getCommonUseAppList(); listview->updateData(data); } +void CommonUseWidget::removeListItemSlot(QString desktopfp) +{ + for(int i=0;imodel()->rowCount();i++) + { + QVariant var=listview->model()->index(i,0).data(Qt::DisplayRole); + QString path=var.value().at(0); + if(QString::compare(path,desktopfp)==0) + { + listview->model()->removeRow(i); + break; + } + } +} + +void CommonUseWidget::removeListAllItemSlot() +{ + setting->beginGroup("lockapplication"); + for(int i=listview->model()->rowCount()-1;i>=0;i--) + { + QVariant var=listview->model()->index(i,0).data(Qt::DisplayRole); + QString desktopfp=var.value().at(0); + QFileInfo fileInfo(desktopfp); + QString desktopfn=fileInfo.fileName(); + if(!setting->contains(desktopfn)) + listview->model()->removeRow(i); + } + setting->endGroup(); +} + void CommonUseWidget::getCommonUseAppList() { -// QStringList lockdesktopfnList; QStringList desktopfnList; -// lockdesktopfnList.clear(); desktopfnList.clear(); setting->beginGroup("lockapplication"); QStringList lockdesktopfnList=setting->allKeys(); diff --git a/src/CommonUseWidget/commonusewidget.h b/src/CommonUseWidget/commonusewidget.h index 84dedcd..ae4a6f2 100644 --- a/src/CommonUseWidget/commonusewidget.h +++ b/src/CommonUseWidget/commonusewidget.h @@ -68,12 +68,22 @@ protected: void getCommonUseAppList();//获取常用应用列表 private Q_SLOTS: - void updateListViewSlot();//更新应用列表槽函数 + /** + * @brief 更新单个item槽函数 + * @param desktopfp为desktop文件路径 + * @param type为0时表示固定,为1时表示取消固定 + */ + void updateListViewSlot(QString desktopfp,int type); void execApplication(QStringList arg);//执行应用程序 + void removeListItemSlot(QString desktopfp);//删除单个item + void removeListAllItemSlot();//删除所有非固定item + void updateListViewAllSlot();//更新应用列表槽函数 Q_SIGNALS: void sendHideMainWindowSignal();//向MainViewWidget发送隐藏主窗口信号 - void sendUpdateAppListSignal();//向FullCommonUseWidget发送更新应用列表信号 + void sendUpdateAppListSignal(QString desktopfp,int type);//向FullCommonUseWidget发送更新应用列表信号 + void removeListItemSignal(QString desktopfp); + void removeListAllItemSignal(); }; #endif // COMMONUSEWIDGET_H diff --git a/src/CommonUseWidget/fullcommonusewidget.cpp b/src/CommonUseWidget/fullcommonusewidget.cpp index d6bb171..a56316e 100644 --- a/src/CommonUseWidget/fullcommonusewidget.cpp +++ b/src/CommonUseWidget/fullcommonusewidget.cpp @@ -63,7 +63,9 @@ void FullCommonUseWidget::initAppListWidget() listview=new FullListView(this,0); mainLayout->addWidget(listview); connect(listview,SIGNAL(sendItemClickedSignal(QString)),this,SLOT(execApplication(QString))); - connect(listview,SIGNAL(sendUpdateAppListSignal()),this,SIGNAL(sendUpdateAppListSignal())); + connect(listview,SIGNAL(sendUpdateAppListSignal(QString,int)),this,SIGNAL(sendUpdateAppListSignal(QString,int))); + connect(listview,SIGNAL(removeListItemSignal(QString)),this,SIGNAL(removeListItemSignal(QString))); + connect(listview,SIGNAL(removeListAllItemSignal()),this,SIGNAL(removeListAllItemSignal())); connect(listview,SIGNAL(sendHideMainWindowSignal()),this,SIGNAL(sendHideMainWindowSignal())); } @@ -92,12 +94,64 @@ void FullCommonUseWidget::execApplication(QString appname) /** * 更新应用列表 */ -void FullCommonUseWidget::updateListViewSlot() +void FullCommonUseWidget::updateListViewSlot(QString desktopfp, int type) +{ + for(int i=0;imodel()->rowCount();i++) + { + QVariant var=listview->model()->index(i,0).data(Qt::DisplayRole); + QString path=var.value(); + if(QString::compare(path,desktopfp)==0) + { + listview->model()->removeRow(i); + break; + } + } + setting->beginGroup("lockapplication"); + QStandardItem* item=new QStandardItem; + item->setData(QVariant::fromValue(desktopfp),Qt::DisplayRole); + QStandardItemModel* listmodel=qobject_cast(listview->model()); + if(type==0) + listmodel->insertRow(setting->allKeys().size()-1,item); + else + listmodel->insertRow(setting->allKeys().size(),item); + setting->endGroup(); +} + +void FullCommonUseWidget::updateListViewAllSlot() { getCommonUseAppList(); listview->updateData(data); } +void FullCommonUseWidget::removeListItemSlot(QString desktopfp) +{ + for(int i=0;imodel()->rowCount();i++) + { + QVariant var=listview->model()->index(i,0).data(Qt::DisplayRole); + QString path=var.value(); + if(QString::compare(path,desktopfp)==0) + { + listview->model()->removeRow(i); + break; + } + } +} + +void FullCommonUseWidget::removeListAllItemSlot() +{ + setting->beginGroup("lockapplication"); + for(int i=listview->model()->rowCount()-1;i>=0;i--) + { + QVariant var=listview->model()->index(i,0).data(Qt::DisplayRole); + QString desktopfp=var.value(); + QFileInfo fileInfo(desktopfp); + QString desktopfn=fileInfo.fileName(); + if(!setting->contains(desktopfn)) + listview->model()->removeRow(i); + } + setting->endGroup(); +} + void FullCommonUseWidget::getCommonUseAppList() { QStringList desktopfnList; diff --git a/src/CommonUseWidget/fullcommonusewidget.h b/src/CommonUseWidget/fullcommonusewidget.h index c5a7d4e..9b7627c 100644 --- a/src/CommonUseWidget/fullcommonusewidget.h +++ b/src/CommonUseWidget/fullcommonusewidget.h @@ -70,12 +70,22 @@ protected: void getCommonUseAppList();//获取常用应用列表 private Q_SLOTS: - void updateListViewSlot();//更新应用列表槽函数 + /** + * @brief 更新单个item槽函数 + * @param desktopfp为desktop文件路径 + * @param type为0时表示固定,为1时表示取消固定 + */ + void updateListViewSlot(QString desktopfp,int type); void execApplication(QString appname);//执行应用程序 + void removeListItemSlot(QString desktopfp);//删除单个item + void removeListAllItemSlot();//删除所有非固定item + void updateListViewAllSlot();//更新应用列表槽函数 Q_SIGNALS: - void sendUpdateAppListSignal();//向CommonUseWidget发送更新应用列表信号 + void sendUpdateAppListSignal(QString desktopfp,int type);//向CommonUseWidget发送更新应用列表信号 void sendHideMainWindowSignal();//向MainViewWidget发送隐藏主窗口信号 + void removeListItemSignal(QString desktopfp); + void removeListAllItemSignal(); }; #endif // FULLCOMMONUSEWIDGET_H diff --git a/src/FunctionWidget/fullfunctionwidget.cpp b/src/FunctionWidget/fullfunctionwidget.cpp index 8c0e29d..18f9c0f 100644 --- a/src/FunctionWidget/fullfunctionwidget.cpp +++ b/src/FunctionWidget/fullfunctionwidget.cpp @@ -259,7 +259,7 @@ void FullFunctionWidget::insertAppList(QStringList appnamelist) } listview->addData(data); connect(listview,SIGNAL(sendItemClickedSignal(QString)),this,SLOT(execApplication(QString))); - connect(listview,SIGNAL(sendFixedOrUnfixedSignal()),this,SIGNAL(sendUpdateAppListSignal())); + connect(listview,SIGNAL(sendFixedOrUnfixedSignal(QString,int)),this,SIGNAL(sendUpdateAppListSignal(QString,int))); connect(listview,SIGNAL(sendHideMainWindowSignal()),this,SIGNAL(sendHideMainWindowSignal())); } @@ -307,18 +307,6 @@ void FullFunctionWidget::updateAppListView() delete wid; delete child; } - -// for(int i=iconlistscrollareawidLayout->count()-2;i>0;i--) -// { -// if((child = iconlistscrollareawidLayout->takeAt(i)) != 0) -// { -// QWidget* wid=child->widget(); -// iconlistscrollareawidLayout->removeWidget(wid); -// wid->setParent(nullptr); -// delete wid; -// delete child; -// } -// } initIconListScrollArea(); } @@ -444,8 +432,8 @@ void FullFunctionWidget::btnGroupClickedSlot(QAbstractButton *btn) { beforebtnPos=scrollarea->verticalScrollBar()->sliderPosition(); endPos=classificationbtnrowlist.at(num).toInt(); + scrollarea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); timer->start(1); -// scrollarea->verticalScrollBar()->setSliderPosition(pos); } QSvgRenderer* svgRender = new QSvgRenderer; @@ -493,6 +481,7 @@ void FullFunctionWidget::timeOutSlot() scrollarea->verticalScrollBar()->sliderPosition()>=scrollarea->verticalScrollBar()->maximum()) { timer->stop(); + scrollarea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); connect(scrollarea->verticalScrollBar(),SIGNAL(valueChanged(int)), this,SLOT(valueChangedSlot(int))); } diff --git a/src/FunctionWidget/fullfunctionwidget.h b/src/FunctionWidget/fullfunctionwidget.h index 1a1b7d6..224949c 100644 --- a/src/FunctionWidget/fullfunctionwidget.h +++ b/src/FunctionWidget/fullfunctionwidget.h @@ -114,7 +114,7 @@ private Q_SLOTS: void valueChangedSlot(int value);//滑动条滚动槽函数 Q_SIGNALS: - void sendUpdateAppListSignal();//向常用软件模块发送更新应用列表信号 + void sendUpdateAppListSignal(QString desktopfp,int type);//向常用软件模块发送更新应用列表信号 void sendHideMainWindowSignal();//向MainViewWidget发送隐藏主窗口信号 }; diff --git a/src/FunctionWidget/functionwidget.cpp b/src/FunctionWidget/functionwidget.cpp index a524b47..9d96dc6 100644 --- a/src/FunctionWidget/functionwidget.cpp +++ b/src/FunctionWidget/functionwidget.cpp @@ -66,7 +66,7 @@ void FunctionWidget::initAppListWidget() mainLayout->addWidget(applistview); fillAppListView(); connect(applistview,SIGNAL(sendItemClickedSignal(QStringList)),this,SLOT(recvItemClickedSlot(QStringList))); - connect(applistview,SIGNAL(sendFixedOrUnfixedSignal()),this,SIGNAL(sendUpdateAppListSignal())); + connect(applistview,SIGNAL(sendFixedOrUnfixedSignal(QString,int)),this,SIGNAL(sendUpdateAppListSignal(QString,int))); connect(applistview,SIGNAL(sendHideMainWindowSignal()),this,SIGNAL(sendHideMainWindowSignal())); } diff --git a/src/FunctionWidget/functionwidget.h b/src/FunctionWidget/functionwidget.h index 7b8d0f9..940aa30 100644 --- a/src/FunctionWidget/functionwidget.h +++ b/src/FunctionWidget/functionwidget.h @@ -79,10 +79,8 @@ private Q_SLOTS: Q_SIGNALS: void sendClassificationbtnList(QStringList list);//向FunctionButtonWidget界面发送分类按钮列表 - void sendUpdateAppListSignal();//向常用软件模块发送更新应用列表信号 + void sendUpdateAppListSignal(QString desktopfp,int type);//向常用软件模块发送更新应用列表信号 void sendHideMainWindowSignal();//向MainViewWidget发送隐藏主窗口信号 - - }; #endif // FUNCTIONWIDGET_H diff --git a/src/LetterWidget/fullletterwidget.cpp b/src/LetterWidget/fullletterwidget.cpp index 9fc863c..254a6a5 100644 --- a/src/LetterWidget/fullletterwidget.cpp +++ b/src/LetterWidget/fullletterwidget.cpp @@ -135,7 +135,7 @@ void FullLetterWidget::fillAppList() listview->addData(data); connect(listview,SIGNAL(sendItemClickedSignal(QString)),this,SLOT(execApplication(QString))); - connect(listview,SIGNAL(sendFixedOrUnfixedSignal()),this,SIGNAL(sendUpdateAppListSignal())); + connect(listview,SIGNAL(sendFixedOrUnfixedSignal(QString,int)),this,SIGNAL(sendUpdateAppListSignal(QString,int))); connect(listview,SIGNAL(sendHideMainWindowSignal()),this,SIGNAL(sendHideMainWindowSignal())); } } @@ -314,8 +314,8 @@ void FullLetterWidget::btnGroupClickedSlot(QAbstractButton *btn) { beginPos=scrollarea->verticalScrollBar()->sliderPosition(); endPos=letterbtnrowlist.at(num).toInt(); + scrollarea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); timer->start(1); -// scrollarea->verticalScrollBar()->setSliderPosition(pos); } } else{ @@ -326,7 +326,6 @@ void FullLetterWidget::btnGroupClickedSlot(QAbstractButton *btn) void FullLetterWidget::timeOutSlot() { - if(beginPosverticalScrollBar()->sliderPosition()<50) @@ -345,6 +344,7 @@ void FullLetterWidget::timeOutSlot() scrollarea->verticalScrollBar()->sliderPosition()>=scrollarea->verticalScrollBar()->maximum()) { timer->stop(); + scrollarea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); connect(scrollarea->verticalScrollBar(),SIGNAL(valueChanged(int)), this,SLOT(valueChangedSlot(int))); } diff --git a/src/LetterWidget/fullletterwidget.h b/src/LetterWidget/fullletterwidget.h index 503e7ca..3329822 100644 --- a/src/LetterWidget/fullletterwidget.h +++ b/src/LetterWidget/fullletterwidget.h @@ -112,7 +112,7 @@ private Q_SLOTS: void valueChangedSlot(int value);//滑动条滚动槽函数 Q_SIGNALS: - void sendUpdateAppListSignal();//向常用软件模块发送更新应用列表信号 + void sendUpdateAppListSignal(QString desktopfp,int type);//向常用软件模块发送更新应用列表信号 void sendHideMainWindowSignal();//向MainViewWidget发送隐藏主窗口信号 }; diff --git a/src/LetterWidget/letterwidget.cpp b/src/LetterWidget/letterwidget.cpp index c69cfc4..c515b66 100644 --- a/src/LetterWidget/letterwidget.cpp +++ b/src/LetterWidget/letterwidget.cpp @@ -87,7 +87,7 @@ void LetterWidget::initAppListWidget() mainLayout->addWidget(applistview); fillAppListView(); connect(applistview,SIGNAL(sendItemClickedSignal(QStringList)),this,SLOT(recvItemClickedSlot(QStringList))); - connect(applistview,SIGNAL(sendFixedOrUnfixedSignal()),this,SIGNAL(sendUpdateAppListSignal())); + connect(applistview,SIGNAL(sendFixedOrUnfixedSignal(QString,int)),this,SIGNAL(sendUpdateAppListSignal(QString,int))); connect(applistview,SIGNAL(sendHideMainWindowSignal()),this,SIGNAL(sendHideMainWindowSignal())); } diff --git a/src/LetterWidget/letterwidget.h b/src/LetterWidget/letterwidget.h index 4e323ad..c3ce86f 100644 --- a/src/LetterWidget/letterwidget.h +++ b/src/LetterWidget/letterwidget.h @@ -74,10 +74,8 @@ private Q_SLOTS: Q_SIGNALS: void sendLetterBtnList(QStringList list);//向LetterButtonWidget发送字母按钮列表 - void sendUpdateAppListSignal();//向常用软件模块发送更新应用列表信号 + void sendUpdateAppListSignal(QString desktopfp,int type);//向常用软件模块发送更新应用列表信号 void sendHideMainWindowSignal();//向MainViewWidget发送隐藏主窗口信号 - - }; #endif // LETTERWIDGET_H diff --git a/src/MainViewWidget/mainviewwidget.cpp b/src/MainViewWidget/mainviewwidget.cpp index ed354fa..507a867 100644 --- a/src/MainViewWidget/mainviewwidget.cpp +++ b/src/MainViewWidget/mainviewwidget.cpp @@ -81,24 +81,28 @@ void MainViewWidget::initWidget() pUkuiMenuInterface=new UkuiMenuInterface; //进程开启,刷新常用软件界面 - connect(this,SIGNAL(viewOpenedSignal()),fullcommonusewid,SLOT(updateListViewSlot())); - connect(this,SIGNAL(viewOpenedSignal()),commonusewid,SLOT(updateListViewSlot())); + connect(this,SIGNAL(viewOpenedSignal()),fullcommonusewid,SLOT(updateListViewAllSlot())); + connect(this,SIGNAL(viewOpenedSignal()),commonusewid,SLOT(updateListViewAllSlot())); //常用软件界面删除操作,刷新界面 - connect(commonusewid,SIGNAL(sendUpdateAppListSignal()),fullcommonusewid,SLOT(updateListViewSlot())); - connect(fullcommonusewid,SIGNAL(sendUpdateAppListSignal()),commonusewid,SLOT(updateListViewSlot())); + connect(commonusewid,SIGNAL(sendUpdateAppListSignal(QString,int)),fullcommonusewid,SLOT(updateListViewSlot(QString,int))); + connect(fullcommonusewid,SIGNAL(sendUpdateAppListSignal(QString,int)),commonusewid,SLOT(updateListViewSlot(QString,int))); + connect(commonusewid,SIGNAL(removeListItemSignal(QString)),fullcommonusewid,SLOT(removeListItemSlot(QString))); + connect(fullcommonusewid,SIGNAL(removeListItemSignal(QString)),commonusewid,SLOT(removeListItemSlot(QString))); + connect(commonusewid,SIGNAL(removeListAllItemSignal()),fullcommonusewid,SLOT(removeListAllItemSlot())); + connect(fullcommonusewid,SIGNAL(removeListAllItemSignal()),commonusewid,SLOT(removeListAllItemSlot())); //字母排序、功能分类界面、搜索界面固定或取消固定到常用软件,刷新常用软件界面 - connect(letterwid,SIGNAL(sendUpdateAppListSignal()),commonusewid,SLOT(updateListViewSlot())); - connect(fullletterwid,SIGNAL(sendUpdateAppListSignal()),commonusewid,SLOT(updateListViewSlot())); - connect(functionwid,SIGNAL(sendUpdateAppListSignal()),commonusewid,SLOT(updateListViewSlot())); - connect(fullfunctionwid,SIGNAL(sendUpdateAppListSignal()),commonusewid,SLOT(updateListViewSlot())); - connect(letterwid,SIGNAL(sendUpdateAppListSignal()),fullcommonusewid,SLOT(updateListViewSlot())); - connect(fullletterwid,SIGNAL(sendUpdateAppListSignal()),fullcommonusewid,SLOT(updateListViewSlot())); - connect(functionwid,SIGNAL(sendUpdateAppListSignal()),fullcommonusewid,SLOT(updateListViewSlot())); - connect(fullfunctionwid,SIGNAL(sendUpdateAppListSignal()),fullcommonusewid,SLOT(updateListViewSlot())); - connect(searchresultwid,SIGNAL(sendUpdateAppListSignal()),commonusewid,SLOT(updateListViewSlot())); - connect(fullsearchresultwid,SIGNAL(sendUpdateAppListSignal()),fullcommonusewid,SLOT(updateListViewSlot())); + connect(letterwid,SIGNAL(sendUpdateAppListSignal(QString,int)),commonusewid,SLOT(updateListViewSlot(QString,int))); + connect(fullletterwid,SIGNAL(sendUpdateAppListSignal(QString,int)),commonusewid,SLOT(updateListViewSlot(QString,int))); + connect(functionwid,SIGNAL(sendUpdateAppListSignal(QString,int)),commonusewid,SLOT(updateListViewSlot(QString,int))); + connect(fullfunctionwid,SIGNAL(sendUpdateAppListSignal(QString,int)),commonusewid,SLOT(updateListViewSlot(QString,int))); + connect(letterwid,SIGNAL(sendUpdateAppListSignal(QString,int)),fullcommonusewid,SLOT(updateListViewSlot(QString,int))); + connect(fullletterwid,SIGNAL(sendUpdateAppListSignal(QString,int)),fullcommonusewid,SLOT(updateListViewSlot(QString,int))); + connect(functionwid,SIGNAL(sendUpdateAppListSignal(QString,int)),fullcommonusewid,SLOT(updateListViewSlot(QString,int))); + connect(fullfunctionwid,SIGNAL(sendUpdateAppListSignal(QString,int)),fullcommonusewid,SLOT(updateListViewSlot(QString,int))); + connect(searchresultwid,SIGNAL(sendUpdateAppListSignal(QString,int)),commonusewid,SLOT(updateListViewSlot(QString,int))); + connect(fullsearchresultwid,SIGNAL(sendUpdateAppListSignal(QString,int)),fullcommonusewid,SLOT(updateListViewSlot(QString,int))); //监控.desktop文件目录 fileWatcher=new QFileSystemWatcher(this); @@ -108,8 +112,8 @@ void MainViewWidget::initWidget() connect(this,SIGNAL(directoryChangedSignal()),fullletterwid,SLOT(updateAppListView())); connect(this,SIGNAL(directoryChangedSignal()),functionwid,SLOT(updateAppListView())); connect(this,SIGNAL(directoryChangedSignal()),fullfunctionwid,SLOT(updateAppListView())); - connect(this,SIGNAL(directoryChangedSignal()),commonusewid,SLOT(updateListViewSlot())); - connect(this,SIGNAL(directoryChangedSignal()),fullcommonusewid,SLOT(updateListViewSlot())); + connect(this,SIGNAL(directoryChangedSignal()),commonusewid,SLOT(updateListViewAllSlot())); + connect(this,SIGNAL(directoryChangedSignal()),fullcommonusewid,SLOT(updateListViewAllSlot())); //发送隐藏主界面信号 connect(commonusewid,SIGNAL(sendHideMainWindowSignal()),this,SIGNAL(sendHideMainWindowSignal())); @@ -404,6 +408,11 @@ void MainViewWidget::loadMaxMainView() */ void MainViewWidget::loadCommonUseWidget() { + fullcommonusewid->widgetMakeZero(); + letterwid->widgetMakeZero(); + fullletterwid->widgetMakeZero(); + functionwid->widgetMakeZero(); + fullfunctionwid->widgetMakeZero(); QLayoutItem *child; if((child = mainLayout->takeAt(1)) != nullptr) { QWidget* childwid=child->widget(); @@ -414,7 +423,6 @@ void MainViewWidget::loadCommonUseWidget() } } - commonusewid->widgetMakeZero(); mainLayout->addWidget(commonusewid); widgetState=1; saveCurrentWidState=1; @@ -425,6 +433,11 @@ void MainViewWidget::loadCommonUseWidget() */ void MainViewWidget::loadLetterWidget() { + commonusewid->widgetMakeZero(); + fullcommonusewid->widgetMakeZero(); + fullletterwid->widgetMakeZero(); + functionwid->widgetMakeZero(); + fullfunctionwid->widgetMakeZero(); QLayoutItem *child; if((child = mainLayout->takeAt(1)) != nullptr) { QWidget* childwid=child->widget(); @@ -435,7 +448,6 @@ void MainViewWidget::loadLetterWidget() } } - letterwid->widgetMakeZero(); mainLayout->addWidget(letterwid); widgetState=2; saveCurrentWidState=2; @@ -446,6 +458,11 @@ void MainViewWidget::loadLetterWidget() */ void MainViewWidget::loadFunctionWidget() { + commonusewid->widgetMakeZero(); + fullcommonusewid->widgetMakeZero(); + letterwid->widgetMakeZero(); + fullletterwid->widgetMakeZero(); + fullfunctionwid->widgetMakeZero(); QLayoutItem *child; if((child = mainLayout->takeAt(1)) != nullptr) { QWidget* childwid=child->widget(); @@ -456,7 +473,6 @@ void MainViewWidget::loadFunctionWidget() } } - functionwid->widgetMakeZero(); mainLayout->addWidget(functionwid); widgetState=3; saveCurrentWidState=3; @@ -468,6 +484,11 @@ void MainViewWidget::loadFunctionWidget() */ void MainViewWidget::loadFullCommonUseWidget() { + commonusewid->widgetMakeZero(); + letterwid->widgetMakeZero(); + fullletterwid->widgetMakeZero(); + functionwid->widgetMakeZero(); + fullfunctionwid->widgetMakeZero(); QLayoutItem *child; if((child = mainLayout->takeAt(1)) != nullptr) { QWidget* childwid=child->widget(); @@ -478,7 +499,6 @@ void MainViewWidget::loadFullCommonUseWidget() } } - fullcommonusewid->widgetMakeZero(); mainLayout->addWidget(fullcommonusewid); widgetState=1; saveCurrentWidState=1; @@ -489,6 +509,11 @@ void MainViewWidget::loadFullCommonUseWidget() */ void MainViewWidget::loadFullLetterWidget() { + commonusewid->widgetMakeZero(); + fullcommonusewid->widgetMakeZero(); + letterwid->widgetMakeZero(); + functionwid->widgetMakeZero(); + fullfunctionwid->widgetMakeZero(); QLayoutItem *child; if((child = mainLayout->takeAt(1)) != nullptr) { QWidget* childwid=child->widget(); @@ -498,7 +523,6 @@ void MainViewWidget::loadFullLetterWidget() childwid->setParent(nullptr); } } - fullletterwid->widgetMakeZero(); mainLayout->addWidget(fullletterwid); widgetState=2; saveCurrentWidState=2; @@ -509,6 +533,11 @@ void MainViewWidget::loadFullLetterWidget() */ void MainViewWidget::loadFullFunctionWidget() { + commonusewid->widgetMakeZero(); + fullcommonusewid->widgetMakeZero(); + letterwid->widgetMakeZero(); + fullletterwid->widgetMakeZero(); + functionwid->widgetMakeZero(); QLayoutItem *child; if((child = mainLayout->takeAt(1)) != nullptr) { QWidget* childwid=child->widget(); @@ -519,7 +548,6 @@ void MainViewWidget::loadFullFunctionWidget() } } - fullfunctionwid->widgetMakeZero(); mainLayout->addWidget(fullfunctionwid); widgetState=3; saveCurrentWidState=3; diff --git a/src/RightClickMenu/rightclickmenu.cpp b/src/RightClickMenu/rightclickmenu.cpp index f21459e..4ec4e71 100644 --- a/src/RightClickMenu/rightclickmenu.cpp +++ b/src/RightClickMenu/rightclickmenu.cpp @@ -37,6 +37,21 @@ RightClickMenu::RightClickMenu(QWidget *parent): OtherListAction=new QWidgetAction(othermenu); OtherListWid=new QWidget(); + //关机按钮右键菜单 + shutdownmenu=new QMenu(this); + shutdownmenu->setLayoutDirection(Qt::LeftToRight); + shutdownmenu->setFixedSize(250+2,36*5+12+2); + LockScreenAction=new QWidgetAction(shutdownmenu); + LockScreenWid=new QWidget(); + SwitchUserAction=new QWidgetAction(shutdownmenu); + SwitchUserWid=new QWidget(); + LogOutAction=new QWidgetAction(shutdownmenu); + LogOutWid=new QWidget(); + RebootAction=new QWidgetAction(shutdownmenu); + RebootWid=new QWidget(); + ShutDownAction=new QWidgetAction(shutdownmenu); + ShutDownWid=new QWidget(); + //常用应用按钮右键菜单 cuappbtnmenu=new QMenu(this); cuappbtnmenu->setLayoutDirection(Qt::LeftToRight); @@ -365,40 +380,26 @@ void RightClickMenu::addAppBtnAction() //关机按钮右键菜单 void RightClickMenu::addShutdownAction() { - shutdownmenu=new QMenu(this); - shutdownmenu->setLayoutDirection(Qt::LeftToRight); - shutdownmenu->setFixedSize(250+2,36*5+12+2); - - LockScreenAction=new QWidgetAction(shutdownmenu); - LockScreenWid=new QWidget(); initWidgetAction(LockScreenWid,":/data/img/sidebarwidget/lock.svg",tr("Lock")); LockScreenAction->setDefaultWidget(LockScreenWid); shutdownmenu->addAction(LockScreenAction); connect(LockScreenAction,SIGNAL(triggered()),this,SLOT(lockScreenActionTriggerSlot())); - SwitchUserAction=new QWidgetAction(shutdownmenu); - SwitchUserWid=new QWidget(); initWidgetAction(SwitchUserWid,"",tr("Switch user")); SwitchUserAction->setDefaultWidget(SwitchUserWid); shutdownmenu->addAction(SwitchUserAction); connect(SwitchUserAction,SIGNAL(triggered()),this,SLOT(switchUserActionTriggerSlot())); - LogOutAction=new QWidgetAction(shutdownmenu); - LogOutWid=new QWidget(); initWidgetAction(LogOutWid,"",tr("Sign out")); LogOutAction->setDefaultWidget(LogOutWid); shutdownmenu->addAction(LogOutAction); connect(LogOutAction,SIGNAL(triggered()),this,SLOT(logoutActionTriggerSlot())); - RebootAction=new QWidgetAction(shutdownmenu); - RebootWid=new QWidget(); initWidgetAction(RebootWid,"",tr("Restart")); RebootAction->setDefaultWidget(RebootWid); shutdownmenu->addAction(RebootAction); connect(RebootAction,SIGNAL(triggered()),this,SLOT(rebootActionTriggerSlot())); - ShutDownAction=new QWidgetAction(shutdownmenu); - ShutDownWid=new QWidget(); initWidgetAction(ShutDownWid,":/data/img/sidebarwidget/shutdown.svg",tr("Shut down")); ShutDownAction->setDefaultWidget(ShutDownWid); shutdownmenu->addAction(ShutDownAction); diff --git a/src/RightClickMenu/rightclickmenu.h b/src/RightClickMenu/rightclickmenu.h index 2fc790a..17f73fb 100644 --- a/src/RightClickMenu/rightclickmenu.h +++ b/src/RightClickMenu/rightclickmenu.h @@ -66,61 +66,61 @@ private: QWidgetAction* separatorAction_4=nullptr; QWidgetAction* separatorAction_5=nullptr; - QMenu* cuappbtnmenu; - QWidgetAction* CuFix2CommonUseAction; - QWidget* CuFix2CommonUseWid; - QWidgetAction* CuUnfixed4CommonUseAction; - QWidget* CuUnfixed4CommonUseWid; - QWidgetAction* CuFix2TaskBarAction; - QWidget* CuFix2TaskBarWid; - QWidgetAction* CuUnfixed4TaskBarAction; - QWidget* CuUnfixed4TaskBarWid; - QWidgetAction* CuAdd2DesktopAction; - QWidget* CuAdd2DesktopWid; - QWidgetAction* CuDeleteAction; - QWidget* CuDeleteWid; + QMenu* cuappbtnmenu=nullptr; + QWidgetAction* CuFix2CommonUseAction=nullptr; + QWidget* CuFix2CommonUseWid=nullptr; + QWidgetAction* CuUnfixed4CommonUseAction=nullptr; + QWidget* CuUnfixed4CommonUseWid=nullptr; + QWidgetAction* CuFix2TaskBarAction=nullptr; + QWidget* CuFix2TaskBarWid=nullptr; + QWidgetAction* CuUnfixed4TaskBarAction=nullptr; + QWidget* CuUnfixed4TaskBarWid=nullptr; + QWidgetAction* CuAdd2DesktopAction=nullptr; + QWidget* CuAdd2DesktopWid=nullptr; + QWidgetAction* CuDeleteAction=nullptr; + QWidget* CuDeleteWid=nullptr; QWidgetAction* CuDeleteAllAction; - QWidget* CuDeleteAllWid; - QWidgetAction* CuUninstallAction; - QWidget* CuUninstallWid; - QWidgetAction* CuAttributeAction; - QWidget* CuAttributeWid; - - QMenu* appbtnmenu; - QWidgetAction* Fix2CommonUseAction; - QWidget* Fix2CommonUseWid; - QWidgetAction* Unfixed4CommonUseAction; - QWidget* Unfixed4CommonUseWid; - QWidgetAction* Fix2TaskBarAction; - QWidget* Fix2TaskBarWid; - QWidgetAction* Unfixed4TaskBarAction; - QWidget* Unfixed4TaskBarWid; - QWidgetAction* Add2DesktopAction; - QWidget* Add2DesktopWid; - QWidgetAction* UninstallAction; - QWidget* UninstallWid; - QWidgetAction* AttributeAction; - QWidget* AttributeWid; - - QMenu* shutdownmenu; - QWidgetAction* LockScreenAction; - QWidget* LockScreenWid; - QWidgetAction* SwitchUserAction; - QWidget* SwitchUserWid; - QWidgetAction* LogOutAction; - QWidget* LogOutWid; - QWidgetAction* RebootAction; - QWidget* RebootWid; - QWidgetAction* ShutDownAction; - QWidget* ShutDownWid; - - QMenu* othermenu; - QWidgetAction* OtherFix2TaskBarAction; - QWidget* OtherFix2TaskBarWid; - QWidgetAction* OtherUnfix2TaskBarAction; - QWidget* OtherUnfix2TaskBarWid; - QWidgetAction* OtherListAction; - QWidget* OtherListWid; + QWidget* CuDeleteAllWid=nullptr; + QWidgetAction* CuUninstallAction=nullptr; + QWidget* CuUninstallWid=nullptr; + QWidgetAction* CuAttributeAction=nullptr; + QWidget* CuAttributeWid=nullptr; + + QMenu* appbtnmenu=nullptr; + QWidgetAction* Fix2CommonUseAction=nullptr; + QWidget* Fix2CommonUseWid=nullptr; + QWidgetAction* Unfixed4CommonUseAction=nullptr; + QWidget* Unfixed4CommonUseWid=nullptr; + QWidgetAction* Fix2TaskBarAction=nullptr; + QWidget* Fix2TaskBarWid=nullptr; + QWidgetAction* Unfixed4TaskBarAction=nullptr; + QWidget* Unfixed4TaskBarWid=nullptr; + QWidgetAction* Add2DesktopAction=nullptr; + QWidget* Add2DesktopWid=nullptr; + QWidgetAction* UninstallAction=nullptr; + QWidget* UninstallWid=nullptr; + QWidgetAction* AttributeAction=nullptr; + QWidget* AttributeWid=nullptr; + + QMenu* shutdownmenu=nullptr; + QWidgetAction* LockScreenAction=nullptr; + QWidget* LockScreenWid=nullptr; + QWidgetAction* SwitchUserAction=nullptr; + QWidget* SwitchUserWid=nullptr; + QWidgetAction* LogOutAction=nullptr; + QWidget* LogOutWid=nullptr; + QWidgetAction* RebootAction=nullptr; + QWidget* RebootWid=nullptr; + QWidgetAction* ShutDownAction=nullptr; + QWidget* ShutDownWid=nullptr; + + QMenu* othermenu=nullptr; + QWidgetAction* OtherFix2TaskBarAction=nullptr; + QWidget* OtherFix2TaskBarWid=nullptr; + QWidgetAction* OtherUnfix2TaskBarAction=nullptr; + QWidget* OtherUnfix2TaskBarWid=nullptr; + QWidgetAction* OtherListAction=nullptr; + QWidget* OtherListWid=nullptr; UkuiMenuInterface* pUkuiMenuInterface=nullptr; diff --git a/src/SearchResultWidget/fullsearchresultwidget.cpp b/src/SearchResultWidget/fullsearchresultwidget.cpp index b67572f..8259d4c 100644 --- a/src/SearchResultWidget/fullsearchresultwidget.cpp +++ b/src/SearchResultWidget/fullsearchresultwidget.cpp @@ -56,7 +56,7 @@ void FullSearchResultWidget::initWidget() pUkuiMenuInterface=new UkuiMenuInterface; connect(listview,SIGNAL(sendItemClickedSignal(QString)),this,SLOT(execApplication(QString))); - connect(listview,SIGNAL(sendFixedOrUnfixedSignal()),this,SIGNAL(sendUpdateAppListSignal())); + connect(listview,SIGNAL(sendFixedOrUnfixedSignal(QString,int)),this,SIGNAL(sendUpdateAppListSignal(QString,int))); connect(listview,SIGNAL(sendHideMainWindowSignal()),this,SIGNAL(sendHideMainWindowSignal())); } diff --git a/src/SearchResultWidget/fullsearchresultwidget.h b/src/SearchResultWidget/fullsearchresultwidget.h index 6d7f06a..756340f 100644 --- a/src/SearchResultWidget/fullsearchresultwidget.h +++ b/src/SearchResultWidget/fullsearchresultwidget.h @@ -59,9 +59,8 @@ private Q_SLOTS: void execApplication(QString appname);//执行应用程序 Q_SIGNALS: - void sendUpdateAppListSignal();//向CommonUseWidget发送更新应用列表信号 + void sendUpdateAppListSignal(QString desktopfp,int type);//向CommonUseWidget发送更新应用列表信号 void sendHideMainWindowSignal();//向MainViewWidget发送隐藏主窗口信号 - }; #endif // FULLSEARCHRESULTWIDGET_H diff --git a/src/SearchResultWidget/searchresultwidget.cpp b/src/SearchResultWidget/searchresultwidget.cpp index 2a8bc35..115e8e4 100644 --- a/src/SearchResultWidget/searchresultwidget.cpp +++ b/src/SearchResultWidget/searchresultwidget.cpp @@ -54,7 +54,7 @@ void SearchResultWidget::initWidget() pUkuiMenuInterface=new UkuiMenuInterface; connect(listview,SIGNAL(sendItemClickedSignal(QStringList)),this,SLOT(execApplication(QStringList))); - connect(listview,SIGNAL(sendFixedOrUnfixedSignal()),this,SIGNAL(sendUpdateAppListSignal())); + connect(listview,SIGNAL(sendFixedOrUnfixedSignal(QString,int)),this,SIGNAL(sendUpdateAppListSignal(QString,int))); connect(listview,SIGNAL(sendHideMainWindowSignal()),this,SIGNAL(sendHideMainWindowSignal())); } diff --git a/src/SearchResultWidget/searchresultwidget.h b/src/SearchResultWidget/searchresultwidget.h index 944391b..af43ebf 100644 --- a/src/SearchResultWidget/searchresultwidget.h +++ b/src/SearchResultWidget/searchresultwidget.h @@ -61,7 +61,7 @@ private Q_SLOTS: void execApplication(QStringList arg);//执行应用程序 Q_SIGNALS: - void sendUpdateAppListSignal();//向常用软件模块发送更新应用列表信号 + void sendUpdateAppListSignal(QString desktopfp,int type);//向常用软件模块发送更新应用列表信号 void sendHideMainWindowSignal();//向MainViewWidget发送隐藏主窗口信号 }; diff --git a/src/UtilityFunction/fulllistview.cpp b/src/UtilityFunction/fulllistview.cpp index 75845c7..76c6d18 100644 --- a/src/UtilityFunction/fulllistview.cpp +++ b/src/UtilityFunction/fulllistview.cpp @@ -67,6 +67,8 @@ void FullListView::initWidget() this->setTextElideMode(Qt::ElideRight); this->setMouseTracking(true); this->setFocusPolicy(Qt::NoFocus); +// this->setAcceptDrops(false); + this->setMovement(QListView::Static); // this->setUpdatesEnabled(true); // this->setSpacing(32); @@ -123,10 +125,10 @@ void FullListView::rightClickedSlot() if(module>0) { int ret=menu->showAppBtnMenu(desktopfp); - if(ret==1 || ret==2) - { - Q_EMIT sendFixedOrUnfixedSignal(); - } + if(ret==1) + Q_EMIT sendFixedOrUnfixedSignal(desktopfp,0); + if(ret==2) + Q_EMIT sendFixedOrUnfixedSignal(desktopfp,1); if(ret==6) Q_EMIT sendHideMainWindowSignal(); if(ret==7) @@ -143,7 +145,7 @@ void FullListView::rightClickedSlot() item->setData(QVariant::fromValue(desktopfp),Qt::DisplayRole); listmodel->insertRow(setting->childKeys().size()-1,item); setting->endGroup(); - Q_EMIT sendUpdateAppListSignal(); + Q_EMIT sendUpdateAppListSignal(desktopfp,0); } if(ret==2) { @@ -153,7 +155,7 @@ void FullListView::rightClickedSlot() item->setData(QVariant::fromValue(desktopfp),Qt::DisplayRole); listmodel->insertRow(setting->childKeys().size(),item); setting->endGroup(); - Q_EMIT sendUpdateAppListSignal(); + Q_EMIT sendUpdateAppListSignal(desktopfp,1); } if(ret==7) @@ -162,7 +164,7 @@ void FullListView::rightClickedSlot() if(ret==8) { listmodel->removeRow(index.row()); - Q_EMIT sendUpdateAppListSignal(); + Q_EMIT removeListItemSignal(desktopfp); } if(ret==9) @@ -178,7 +180,7 @@ void FullListView::rightClickedSlot() listmodel->removeRow(i); } setting->endGroup(); - Q_EMIT sendUpdateAppListSignal(); + Q_EMIT removeListAllItemSignal(); } if(ret==6) Q_EMIT sendHideMainWindowSignal(); diff --git a/src/UtilityFunction/fulllistview.h b/src/UtilityFunction/fulllistview.h index 0739694..14a58e9 100644 --- a/src/UtilityFunction/fulllistview.h +++ b/src/UtilityFunction/fulllistview.h @@ -49,7 +49,7 @@ private: QStandardItemModel* listmodel=nullptr; int module=0; - RightClickMenu* menu;//右键菜单 + RightClickMenu* menu=nullptr;//右键菜单 QSettings *setting=nullptr; QStringList data; @@ -61,8 +61,10 @@ private Q_SLOTS: Q_SIGNALS: void sendItemClickedSignal(QString arg);//向字母排序或功能分类模块发送item点击信号 - void sendFixedOrUnfixedSignal();//向字母排序、功能分类发送固定或者取消固定信号 - void sendUpdateAppListSignal();//向FullCommonUseWidget发送更新应用列表信号 + void sendFixedOrUnfixedSignal(QString desktopfp,int type);//向字母排序、功能分类发送固定或者取消固定信号 + void sendUpdateAppListSignal(QString desktopfp,int type);//向FullCommonUseWidget发送更新应用列表信号 + void removeListItemSignal(QString desktopfp); + void removeListAllItemSignal(); void sendHideMainWindowSignal(); }; diff --git a/src/UtilityFunction/listview.cpp b/src/UtilityFunction/listview.cpp index 2b1b58e..4c9ec08 100644 --- a/src/UtilityFunction/listview.cpp +++ b/src/UtilityFunction/listview.cpp @@ -63,6 +63,7 @@ void ListView::initWidget() this->setViewMode(QListView::ListMode); this->setContextMenuPolicy(Qt::CustomContextMenu); this->setFocusPolicy(Qt::NoFocus); + this->setMovement(QListView::Static); connect(this,SIGNAL(customContextMenuRequested(QPoint)),this,SLOT(rightClickedSlot())); connect(this,SIGNAL(clicked(QModelIndex)),this,SLOT(onClicked(QModelIndex))); @@ -118,8 +119,10 @@ void ListView::rightClickedSlot() if(strlist.at(1).toInt()==1) { int ret=menu->showAppBtnMenu(strlist.at(0)); - if(ret==1 || ret==2) - Q_EMIT sendFixedOrUnfixedSignal(); + if(ret==1) + Q_EMIT sendFixedOrUnfixedSignal(strlist.at(0),0); + if(ret==2) + Q_EMIT sendFixedOrUnfixedSignal(strlist.at(0),1); if(ret==6) Q_EMIT sendHideMainWindowSignal(); if(ret==7) @@ -137,7 +140,7 @@ void ListView::rightClickedSlot() item->setData(QVariant::fromValue(strlist),Qt::DisplayRole); listmodel->insertRow(setting->allKeys().size()-1,item); setting->endGroup(); - Q_EMIT sendUpdateAppListSignal(); + Q_EMIT sendUpdateAppListSignal(strlist.at(0),0); } if(ret==2) { @@ -147,7 +150,7 @@ void ListView::rightClickedSlot() item->setData(QVariant::fromValue(strlist),Qt::DisplayRole); listmodel->insertRow(setting->allKeys().size(),item); setting->endGroup(); - Q_EMIT sendUpdateAppListSignal(); + Q_EMIT sendUpdateAppListSignal(strlist.at(0),1); } if(ret==7) @@ -156,7 +159,7 @@ void ListView::rightClickedSlot() if(ret==8) { listmodel->removeRow(index.row()); - Q_EMIT sendUpdateAppListSignal(); + Q_EMIT removeListItemSignal(strlist.at(0)); } if(ret==9) { @@ -171,7 +174,7 @@ void ListView::rightClickedSlot() listmodel->removeRow(i); } setting->endGroup(); - Q_EMIT sendUpdateAppListSignal(); + Q_EMIT removeListAllItemSignal(); } if(ret==6) diff --git a/src/UtilityFunction/listview.h b/src/UtilityFunction/listview.h index d4b7813..07e8693 100644 --- a/src/UtilityFunction/listview.h +++ b/src/UtilityFunction/listview.h @@ -45,15 +45,13 @@ protected: void leaveEvent(QEvent* e) Q_DECL_OVERRIDE; private: -// ListModel* model=nullptr; QStandardItemModel* listmodel=nullptr; int w=0; int h=0; int module=0; UkuiMenuInterface* pUkuiMenuInterface=nullptr; -// QStringList rowlist;//存放分类字母所在行 - RightClickMenu* menu;//右键菜单 + RightClickMenu* menu=nullptr;//右键菜单 QSettings *setting=nullptr; QVector data; ItemDelegate* m_delegate=nullptr; @@ -64,8 +62,10 @@ private Q_SLOTS: Q_SIGNALS: void sendItemClickedSignal(QStringList arg);//向字母排序或功能分类模块发送item点击信号 - void sendFixedOrUnfixedSignal();//向字母排序、功能分类发送固定或者取消固定信号 - void sendUpdateAppListSignal();//向CommonUseWidget发送更新应用列表信号 + void sendFixedOrUnfixedSignal(QString desktopfp,int type);//向字母排序、功能分类发送固定或者取消固定信号 + void sendUpdateAppListSignal(QString desktopfp,int type);//向CommonUseWidget发送更新应用列表信号 + void removeListItemSignal(QString desktopfp); + void removeListAllItemSignal(); void sendHideMainWindowSignal(); }; -- 2.33.0