fix uninstall failed issue
This commit is contained in:
parent
921efe0c32
commit
92955ac15c
353
0001-fix-uninstall-failed-issue.patch
Normal file
353
0001-fix-uninstall-failed-issue.patch
Normal file
@ -0,0 +1,353 @@
|
||||
From e523ae71ada3db531df88679d25fb64580fd6678 Mon Sep 17 00:00:00 2001
|
||||
From: pei-jiankang <peijiankang@kylinos.cn>
|
||||
Date: Tue, 29 Mar 2022 17:29:46 +0800
|
||||
Subject: [PATCH] fix uninstall failed issue
|
||||
|
||||
---
|
||||
src/RightClickMenu/rightclickmenu.cpp | 66 ++++++++++++++--------
|
||||
src/RightClickMenu/rightclickmenu.h | 4 ++
|
||||
translations/ukui-menu_zh_CN.ts | 79 ++++++++++++++++-----------
|
||||
3 files changed, 94 insertions(+), 55 deletions(-)
|
||||
|
||||
diff --git a/src/RightClickMenu/rightclickmenu.cpp b/src/RightClickMenu/rightclickmenu.cpp
|
||||
index 2e86f6f..a3af856 100644
|
||||
--- a/src/RightClickMenu/rightclickmenu.cpp
|
||||
+++ b/src/RightClickMenu/rightclickmenu.cpp
|
||||
@@ -19,11 +19,14 @@
|
||||
#include "rightclickmenu.h"
|
||||
#include "src/UtilityFunction/utility.h"
|
||||
#include <QDebug>
|
||||
+#include <QMessageBox>
|
||||
+#include <QKeyEvent>
|
||||
|
||||
RightClickMenu::RightClickMenu(QWidget *parent):
|
||||
QWidget(parent)
|
||||
{
|
||||
m_cmdProc=new QProcess;
|
||||
+ connect(m_cmdProc , &QProcess::readyReadStandardOutput, this , &RightClickMenu::onReadOutput);
|
||||
|
||||
m_whiteList.append("kylin-screenshot.desktop");
|
||||
m_whiteList.append("ukui-notebook.desktop");
|
||||
@@ -138,32 +141,49 @@ void RightClickMenu::addToDesktopActionTriggerSlot()
|
||||
|
||||
void RightClickMenu::uninstallActionTriggerSlot()
|
||||
{
|
||||
-// if(!checkOsRelease())
|
||||
-// {
|
||||
- QString cmd=QString("kylin-uninstaller %1")
|
||||
- .arg(m_desktopfp.toLocal8Bit().data());
|
||||
- bool ret=QProcess::startDetached(cmd);
|
||||
- qDebug()<<"卸载:"<<cmd<<ret;
|
||||
- qDebug() << "kylin-uninstaller";
|
||||
-
|
||||
-// }
|
||||
-// else
|
||||
-// {
|
||||
-// QString cmd=QString("dpkg -S "+m_desktopfp);
|
||||
-// m_cmdProc->start("sh",QStringList()<<"-c"<<cmd);
|
||||
-// m_cmdProc->waitForFinished();
|
||||
-// QString output=m_cmdProc->readAllStandardOutput().trimmed();
|
||||
-// QString packageName=output.split(":").at(0);
|
||||
-// cmd.clear();
|
||||
-// cmd=QString("kylin-installer -remove %1")
|
||||
-// .arg(packageName.toLocal8Bit().data());
|
||||
-// bool ret=QProcess::startDetached(cmd);
|
||||
-// qDebug()<<"卸载:"<<cmd<<ret;
|
||||
-// qDebug() << "dpkg -S";
|
||||
-// }
|
||||
+ QString cmd=QString("rpm -qf "+m_desktopfp);
|
||||
+ m_cmdProc->setReadChannel(QProcess::StandardOutput);
|
||||
+ m_cmdProc->start("sh",QStringList()<<"-c"<<cmd);
|
||||
+ m_cmdProc->waitForFinished();
|
||||
+ m_cmdProc->waitForReadyRead();
|
||||
+ m_cmdProc->close();
|
||||
m_actionNumber=6;
|
||||
}
|
||||
|
||||
+void RightClickMenu::onReadOutput()
|
||||
+{
|
||||
+ QString packagestr=QString::fromLocal8Bit(m_cmdProc->readAllStandardOutput().data());
|
||||
+ QString packageName=packagestr.split(":").at(0);
|
||||
+
|
||||
+ packageName = packageName.trimmed();
|
||||
+ QProcess tempProcess;
|
||||
+ QString cmd = QString("pkexec rpm -e %1").arg(packageName);
|
||||
+ tempProcess.start(cmd);
|
||||
+ tempProcess.waitForFinished();
|
||||
+
|
||||
+ QString errorInfo1 = tempProcess.readAllStandardError().data();
|
||||
+ QString result1 = tempProcess.readAllStandardOutput().data();
|
||||
+ //check uninstall
|
||||
+ cmd = QString("rpm -qa");
|
||||
+ tempProcess.start(cmd);
|
||||
+ tempProcess.waitForFinished();
|
||||
+
|
||||
+ QString errorInfo2 = tempProcess.readAllStandardError().data();
|
||||
+ QString result2 = tempProcess.readAllStandardOutput().data();
|
||||
+ bool bFail = false;
|
||||
+ bFail= result2.contains(packageName);
|
||||
+
|
||||
+ if(!bFail)
|
||||
+ {
|
||||
+ QMessageBox::information(this,tr("infomation"),tr("Uninstall finished!"));
|
||||
+ }
|
||||
+ else {
|
||||
+ QMessageBox::information(this,tr("error"), errorInfo1);
|
||||
+ }
|
||||
+ QKeyEvent event(QEvent::KeyPress, Qt::Key_Menu,Qt::NoModifier);
|
||||
+ QCoreApplication::sendEvent(this->parent(),&event);
|
||||
+}
|
||||
+
|
||||
void RightClickMenu::attributeActionTriggerSlot()
|
||||
{
|
||||
char command[100];
|
||||
diff --git a/src/RightClickMenu/rightclickmenu.h b/src/RightClickMenu/rightclickmenu.h
|
||||
index 5760972..f2bed42 100644
|
||||
--- a/src/RightClickMenu/rightclickmenu.h
|
||||
+++ b/src/RightClickMenu/rightclickmenu.h
|
||||
@@ -144,6 +144,10 @@ private Q_SLOTS:
|
||||
* @brief Personalize this list
|
||||
*/
|
||||
void otherListActionTriggerSlot();
|
||||
+ /**
|
||||
+ * @brief Read command output
|
||||
+ */
|
||||
+ void onReadOutput();
|
||||
|
||||
public:
|
||||
Q_SIGNALS:
|
||||
diff --git a/translations/ukui-menu_zh_CN.ts b/translations/ukui-menu_zh_CN.ts
|
||||
index f4c522a..5737288 100644
|
||||
--- a/translations/ukui-menu_zh_CN.ts
|
||||
+++ b/translations/ukui-menu_zh_CN.ts
|
||||
@@ -62,57 +62,57 @@
|
||||
<context>
|
||||
<name>FunctionWidget</name>
|
||||
<message>
|
||||
- <location filename="../src/FunctionWidget/functionwidget.cpp" line="87"/>
|
||||
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="88"/>
|
||||
<source>Mobile</source>
|
||||
<translation>移动</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/FunctionWidget/functionwidget.cpp" line="93"/>
|
||||
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="94"/>
|
||||
<source>Internet</source>
|
||||
<translation>网络</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/FunctionWidget/functionwidget.cpp" line="99"/>
|
||||
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="100"/>
|
||||
<source>Social</source>
|
||||
<translation>社交</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/FunctionWidget/functionwidget.cpp" line="105"/>
|
||||
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="106"/>
|
||||
<source>Video</source>
|
||||
<translation>影音</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/FunctionWidget/functionwidget.cpp" line="111"/>
|
||||
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="112"/>
|
||||
<source>Development</source>
|
||||
<translation>开发</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/FunctionWidget/functionwidget.cpp" line="117"/>
|
||||
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="118"/>
|
||||
<source>Image</source>
|
||||
<translation>图像</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/FunctionWidget/functionwidget.cpp" line="123"/>
|
||||
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="124"/>
|
||||
<source>Game</source>
|
||||
<translation>游戏</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/FunctionWidget/functionwidget.cpp" line="129"/>
|
||||
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="130"/>
|
||||
<source>Office</source>
|
||||
<translation>办公</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/FunctionWidget/functionwidget.cpp" line="135"/>
|
||||
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="136"/>
|
||||
<source>Education</source>
|
||||
<translation>教育</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/FunctionWidget/functionwidget.cpp" line="142"/>
|
||||
+ <location filename="../src/FunctionWidget/functionwidget.cpp" line="143"/>
|
||||
<source>System</source>
|
||||
<translation>系统</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/FunctionWidget/functionwidget.cpp" line="148"/>
|
||||
+ <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="226"/>
|
||||
+ <location filename="../src/MainViewWidget/mainviewwidget.cpp" line="256"/>
|
||||
<source>Search</source>
|
||||
<translation>搜索</translation>
|
||||
</message>
|
||||
@@ -175,32 +175,47 @@
|
||||
<context>
|
||||
<name>RightClickMenu</name>
|
||||
<message>
|
||||
- <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="216"/>
|
||||
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="176"/>
|
||||
+ <source>infomation</source>
|
||||
+ <translation>提示</translation>
|
||||
+ </message>
|
||||
+ <message>
|
||||
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="176"/>
|
||||
+ <source>Uninstall finished!</source>
|
||||
+ <translation>卸载成功!</translation>
|
||||
+ </message>
|
||||
+ <message>
|
||||
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="179"/>
|
||||
+ <source>error</source>
|
||||
+ <translation>错误</translation>
|
||||
+ </message>
|
||||
+ <message>
|
||||
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="247"/>
|
||||
<source>Pin to all</source>
|
||||
<translation>固定到“所有软件”</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="219"/>
|
||||
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="250"/>
|
||||
<source>Unpin from all</source>
|
||||
<translation>从“所有软件”取消固定</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="228"/>
|
||||
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="259"/>
|
||||
<source>Pin to taskbar</source>
|
||||
<translation>固定到任务栏</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="231"/>
|
||||
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="262"/>
|
||||
<source>Unpin from taskbar</source>
|
||||
<translation>从任务栏取消固定</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="234"/>
|
||||
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="265"/>
|
||||
<source>Add to desktop shortcuts</source>
|
||||
<translation>添加到桌面快捷方式</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="245"/>
|
||||
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="274"/>
|
||||
<source>Uninstall</source>
|
||||
<translation>卸载</translation>
|
||||
</message>
|
||||
@@ -209,7 +224,7 @@
|
||||
<translation type="vanished">休眠</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="259"/>
|
||||
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="291"/>
|
||||
<source>Sleep</source>
|
||||
<translation>睡眠</translation>
|
||||
</message>
|
||||
@@ -222,22 +237,22 @@
|
||||
<translation type="vanished">切换用户</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="261"/>
|
||||
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="293"/>
|
||||
<source>Log Out</source>
|
||||
<translation>注销</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="263"/>
|
||||
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="295"/>
|
||||
<source>Restart</source>
|
||||
<translation>重启</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="265"/>
|
||||
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="297"/>
|
||||
<source>Power Off</source>
|
||||
<translation>关机</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="292"/>
|
||||
+ <location filename="../src/RightClickMenu/rightclickmenu.cpp" line="327"/>
|
||||
<source>Personalize this list</source>
|
||||
<translation>设置开始菜单显示列表</translation>
|
||||
</message>
|
||||
@@ -245,42 +260,42 @@
|
||||
<context>
|
||||
<name>SideBarWidget</name>
|
||||
<message>
|
||||
- <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="95"/>
|
||||
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="143"/>
|
||||
<source>All</source>
|
||||
<translation>所有软件</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="97"/>
|
||||
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="145"/>
|
||||
<source>Letter</source>
|
||||
<translation>字母排序</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="99"/>
|
||||
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="147"/>
|
||||
<source>Function</source>
|
||||
<translation>功能分类</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="113"/>
|
||||
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="161"/>
|
||||
<source>Trash</source>
|
||||
<translation>回收站</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="115"/>
|
||||
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="163"/>
|
||||
<source>Computer</source>
|
||||
<translation>计算机</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="469"/>
|
||||
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="521"/>
|
||||
<source>Max</source>
|
||||
<translation>放大</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="111"/>
|
||||
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="159"/>
|
||||
<source>Personal</source>
|
||||
<translation>个人</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="117"/>
|
||||
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="165"/>
|
||||
<source>Settings</source>
|
||||
<translation>设置</translation>
|
||||
</message>
|
||||
@@ -289,7 +304,7 @@
|
||||
<translation type="vanished">回收站</translation>
|
||||
</message>
|
||||
<message>
|
||||
- <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="119"/>
|
||||
+ <location filename="../src/SideBarWidget/sidebarwidget.cpp" line="167"/>
|
||||
<source>Power</source>
|
||||
<translation>电源</translation>
|
||||
</message>
|
||||
--
|
||||
2.33.0
|
||||
|
||||
@ -2,11 +2,12 @@
|
||||
|
||||
Name: ukui-menu
|
||||
Version: 3.0.3
|
||||
Release: 1
|
||||
Release: 2
|
||||
Summary: Advanced ukui menu
|
||||
License: GPL-3.0
|
||||
URL: http://www.ukui.org
|
||||
Source0: %{name}-%{version}.tar.gz
|
||||
Patch1: 0001-fix-uninstall-failed-issue.patch
|
||||
|
||||
BuildRequires: qt5-qtbase-devel
|
||||
BuildRequires: libqtxdg-devel
|
||||
@ -37,6 +38,7 @@ Requires: accountsservice
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
mkdir build && cd build
|
||||
@ -58,6 +60,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_datadir}/ukui-menu/translations/
|
||||
|
||||
%changelog
|
||||
* Tue Mar 29 2022 pei-jiankang <peijiankang@kylinos.cn> - 3.0.3-2
|
||||
- fix uninstalled failed issue
|
||||
|
||||
* Mon Oct 26 2020 huayadong <huayadong@kylinos.cn> - 3.0.3-1
|
||||
- update to upstream version 3.0.3-1
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user