374 lines
16 KiB
Diff
374 lines
16 KiB
Diff
From b8df82788c21c4e768b55e9a09f6d61f44febd5f Mon Sep 17 00:00:00 2001
|
|
From: peijiankang <peijiankang@kylinos.cn>
|
|
Date: Wed, 1 Feb 2023 12:44:20 +0800
|
|
Subject: [PATCH] fix uninstall failed issue
|
|
|
|
---
|
|
.../RightClickMenu/rightclickmenu.cpp | 50 +++++++++-
|
|
.../RightClickMenu/rightclickmenu.h | 6 ++
|
|
.../RightClickMenu/tabletrightclickmenu.cpp | 2 +
|
|
translations/ukui-menu_zh_CN.ts | 94 ++++++++++---------
|
|
4 files changed, 105 insertions(+), 47 deletions(-)
|
|
|
|
diff --git a/src/UserInterface/RightClickMenu/rightclickmenu.cpp b/src/UserInterface/RightClickMenu/rightclickmenu.cpp
|
|
index 45f7b46..40d58e0 100755
|
|
--- a/src/UserInterface/RightClickMenu/rightclickmenu.cpp
|
|
+++ b/src/UserInterface/RightClickMenu/rightclickmenu.cpp
|
|
@@ -19,11 +19,15 @@
|
|
#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");
|
|
m_whiteList.append("ukui-clock.desktop");
|
|
@@ -141,14 +145,50 @@ void RightClickMenu::addToDesktopActionTriggerSlot()
|
|
|
|
void RightClickMenu::uninstallActionTriggerSlot()
|
|
{
|
|
- QString cmd = QString("kylin-uninstaller %1")
|
|
- .arg(m_desktopfp.toLocal8Bit().data());
|
|
- bool ret = QProcess::startDetached(cmd);
|
|
- myDebug() << "卸载:" << cmd << ret;
|
|
- myDebug() << "kylin-uninstaller";
|
|
+ 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/UserInterface/RightClickMenu/rightclickmenu.h b/src/UserInterface/RightClickMenu/rightclickmenu.h
|
|
index a96c65d..bba9cf1 100755
|
|
--- a/src/UserInterface/RightClickMenu/rightclickmenu.h
|
|
+++ b/src/UserInterface/RightClickMenu/rightclickmenu.h
|
|
@@ -117,6 +117,12 @@ private Q_SLOTS:
|
|
* @brief Uninstall
|
|
*/
|
|
void uninstallActionTriggerSlot();
|
|
+
|
|
+ /**
|
|
+ * @brief Read command output
|
|
+ */
|
|
+ void onReadOutput();
|
|
+
|
|
/**
|
|
* @brief Attribute
|
|
*/
|
|
diff --git a/src/UserInterface/RightClickMenu/tabletrightclickmenu.cpp b/src/UserInterface/RightClickMenu/tabletrightclickmenu.cpp
|
|
index 3dfdc5d..00e1a92 100755
|
|
--- a/src/UserInterface/RightClickMenu/tabletrightclickmenu.cpp
|
|
+++ b/src/UserInterface/RightClickMenu/tabletrightclickmenu.cpp
|
|
@@ -19,6 +19,7 @@
|
|
#include "tabletrightclickmenu.h"
|
|
#include "src/UtilityFunction/utility.h"
|
|
#include <QDebug>
|
|
+#include <syslog.h>
|
|
|
|
TabletRightClickMenu::TabletRightClickMenu(QWidget *parent):
|
|
QWidget(parent)
|
|
@@ -185,6 +186,7 @@ void TabletRightClickMenu::addToDesktopActionTriggerSlot()
|
|
|
|
void TabletRightClickMenu::uninstallActionTriggerSlot()
|
|
{
|
|
+ syslog(LOG_ERR,"uninstallActionTriggerSlot!!!!!!!!!!!!!!!!\n");
|
|
// QString cmd = QString("dpkg -S " + m_desktopfp);
|
|
// myDebug() << "void TabletRightClickMenu::uninstallActionTriggerSlot()" << m_desktopfp;
|
|
// m_cmdProc->setReadChannel(QProcess::StandardOutput);
|
|
diff --git a/translations/ukui-menu_zh_CN.ts b/translations/ukui-menu_zh_CN.ts
|
|
index d4abdca..88b52d1 100755
|
|
--- a/translations/ukui-menu_zh_CN.ts
|
|
+++ b/translations/ukui-menu_zh_CN.ts
|
|
@@ -4,22 +4,22 @@
|
|
<context>
|
|
<name>FullMainWindow</name>
|
|
<message>
|
|
- <location filename="../src/UserInterface/full_mainwindow.cpp" line="79"/>
|
|
+ <location filename="../src/UserInterface/full_mainwindow.cpp" line="86"/>
|
|
<source>Search</source>
|
|
<translation>搜索应用</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/full_mainwindow.cpp" line="138"/>
|
|
+ <location filename="../src/UserInterface/full_mainwindow.cpp" line="144"/>
|
|
<source>All</source>
|
|
<translation>全部</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/full_mainwindow.cpp" line="140"/>
|
|
+ <location filename="../src/UserInterface/full_mainwindow.cpp" line="146"/>
|
|
<source>Letter</source>
|
|
<translation>字母排序</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/full_mainwindow.cpp" line="142"/>
|
|
+ <location filename="../src/UserInterface/full_mainwindow.cpp" line="148"/>
|
|
<source>Function</source>
|
|
<translation>功能分类</translation>
|
|
</message>
|
|
@@ -27,7 +27,7 @@
|
|
<context>
|
|
<name>FunctionWidget</name>
|
|
<message>
|
|
- <location filename="../src/UserInterface/Widget/function_Widget.cpp" line="205"/>
|
|
+ <location filename="../src/UserInterface/Widget/function_Widget.cpp" line="204"/>
|
|
<source>Search</source>
|
|
<translation>全局搜索</translation>
|
|
</message>
|
|
@@ -35,51 +35,46 @@
|
|
<context>
|
|
<name>MainWindow</name>
|
|
<message>
|
|
- <location filename="../src/UserInterface/mainwindow.cpp" line="97"/>
|
|
+ <location filename="../src/UserInterface/mainwindow.cpp" line="89"/>
|
|
<source>Search</source>
|
|
<translation>搜索应用</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/mainwindow.cpp" line="237"/>
|
|
- <location filename="../src/UserInterface/mainwindow.cpp" line="426"/>
|
|
- <location filename="../src/UserInterface/mainwindow.cpp" line="844"/>
|
|
+ <location filename="../src/UserInterface/mainwindow.cpp" line="221"/>
|
|
+ <location filename="../src/UserInterface/mainwindow.cpp" line="421"/>
|
|
+ <location filename="../src/UserInterface/mainwindow.cpp" line="939"/>
|
|
<source>All</source>
|
|
<translation>全部</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/mainwindow.cpp" line="239"/>
|
|
- <source>...</source>
|
|
- <translation></translation>
|
|
- </message>
|
|
- <message>
|
|
- <location filename="../src/UserInterface/mainwindow.cpp" line="242"/>
|
|
+ <location filename="../src/UserInterface/mainwindow.cpp" line="226"/>
|
|
<source>collection</source>
|
|
<translation>收藏</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/mainwindow.cpp" line="243"/>
|
|
+ <location filename="../src/UserInterface/mainwindow.cpp" line="227"/>
|
|
<source>recent</source>
|
|
<translation>最近</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/mainwindow.cpp" line="244"/>
|
|
+ <location filename="../src/UserInterface/mainwindow.cpp" line="228"/>
|
|
<source>Max</source>
|
|
<translation>放大</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/mainwindow.cpp" line="246"/>
|
|
+ <location filename="../src/UserInterface/mainwindow.cpp" line="230"/>
|
|
<source>PowerOff</source>
|
|
<translation>关机</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/mainwindow.cpp" line="428"/>
|
|
- <location filename="../src/UserInterface/mainwindow.cpp" line="852"/>
|
|
+ <location filename="../src/UserInterface/mainwindow.cpp" line="423"/>
|
|
+ <location filename="../src/UserInterface/mainwindow.cpp" line="947"/>
|
|
<source>Letter</source>
|
|
<translation>字母排序</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/mainwindow.cpp" line="430"/>
|
|
- <location filename="../src/UserInterface/mainwindow.cpp" line="860"/>
|
|
+ <location filename="../src/UserInterface/mainwindow.cpp" line="425"/>
|
|
+ <location filename="../src/UserInterface/mainwindow.cpp" line="955"/>
|
|
<source>Function</source>
|
|
<translation>功能分类</translation>
|
|
</message>
|
|
@@ -156,82 +151,97 @@
|
|
<context>
|
|
<name>RightClickMenu</name>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="228"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="182"/>
|
|
+ <source>infomation</source>
|
|
+ <translation>提示</translation>
|
|
+ </message>
|
|
+ <message>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="182"/>
|
|
+ <source>Uninstall finished!</source>
|
|
+ <translation>卸载成功!</translation>
|
|
+ </message>
|
|
+ <message>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="185"/>
|
|
+ <source>error</source>
|
|
+ <translation>错误</translation>
|
|
+ </message>
|
|
+ <message>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="253"/>
|
|
<source>Pin to all</source>
|
|
<translation>固定到“所有软件”</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="231"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="256"/>
|
|
<source>Unpin from all</source>
|
|
<translation>从“所有软件”取消固定</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="241"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="266"/>
|
|
<source>Pin to taskbar</source>
|
|
<translation>固定到任务栏</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="244"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="269"/>
|
|
<source>Unpin from taskbar</source>
|
|
<translation>从任务栏取消固定</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="247"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="272"/>
|
|
<source>Add to desktop shortcuts</source>
|
|
<translation>添加到桌面快捷方式</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="251"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="276"/>
|
|
<source>Pin to collection</source>
|
|
<translation>固定到收藏</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="254"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="279"/>
|
|
<source>Remove from collection</source>
|
|
<translation>从收藏移除</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="269"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="294"/>
|
|
<source>Uninstall</source>
|
|
<translation>卸载</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="290"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="314"/>
|
|
<source>Switch user</source>
|
|
<translation>切换用户</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="296"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="321"/>
|
|
<source>Hibernate</source>
|
|
<translation>休眠</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="302"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="328"/>
|
|
<source>Sleep</source>
|
|
<translation>睡眠</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="306"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="332"/>
|
|
<source>Lock Screen</source>
|
|
<translation>锁屏</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="311"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="337"/>
|
|
<source>Log Out</source>
|
|
<translation>注销</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="317"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="344"/>
|
|
<source>Restart</source>
|
|
<translation>重启</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="323"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="351"/>
|
|
<source>Power Off</source>
|
|
<translation>关机</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="354"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/rightclickmenu.cpp" line="382"/>
|
|
<source>Personalize this list</source>
|
|
<translation type="unfinished"></translation>
|
|
</message>
|
|
@@ -239,22 +249,22 @@
|
|
<context>
|
|
<name>TabletRightClickMenu</name>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/tabletrightclickmenu.cpp" line="241"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/tabletrightclickmenu.cpp" line="243"/>
|
|
<source>Pin to taskbar</source>
|
|
<translation>固定到任务栏</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/tabletrightclickmenu.cpp" line="244"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/tabletrightclickmenu.cpp" line="246"/>
|
|
<source>Unpin from taskbar</source>
|
|
<translation>从任务栏取消固定</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/tabletrightclickmenu.cpp" line="250"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/tabletrightclickmenu.cpp" line="252"/>
|
|
<source>Add to desktop shortcuts</source>
|
|
<translation>固定到桌面快捷方式</translation>
|
|
</message>
|
|
<message>
|
|
- <location filename="../src/UserInterface/RightClickMenu/tabletrightclickmenu.cpp" line="269"/>
|
|
+ <location filename="../src/UserInterface/RightClickMenu/tabletrightclickmenu.cpp" line="271"/>
|
|
<source>Uninstall</source>
|
|
<translation>卸载</translation>
|
|
</message>
|
|
--
|
|
2.33.0
|
|
|