Skip to content

Commit 0bf1447

Browse files
fix: update QProcess command syntax for package management
Refactor the way QProcess commands are constructed for package management functions in PageInfo, DriverManager, and Utils. This change improves readability and consistency by using QStringList for command arguments instead of string concatenation. https://pms.uniontech.com/task-view-386519.html
1 parent c93947f commit 0bf1447

3 files changed

Lines changed: 5 additions & 7 deletions

File tree

deepin-devicemanager-server/deepin-devicecontrol/src/drivercontrol/drivermanager.cpp

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -591,8 +591,7 @@ QList<DriverManager::TDriverInfo> DriverManager::parsePrinterInfo(const QByteArr
591591
bool DriverManager::printerHasInstalled(const QString &packageName)
592592
{
593593
QProcess p;
594-
QString cmd = "sudo dpkg -s " + packageName;
595-
p.start(cmd);
594+
p.start("sudo", QStringList() << "dpkg" << "-s" << packageName);
596595
p.waitForFinished(-1);
597596

598597
QByteArray r = p.readAll();
@@ -607,7 +606,7 @@ bool DriverManager::printerHasInstalled(const QString &packageName)
607606
bool DriverManager::installPrinter(const QString &packageName)
608607
{
609608
QProcess p;
610-
p.start("sudo apt install " + packageName);
609+
p.start("sudo", QStringList() << "apt" << "install" << packageName);
611610
p.waitForFinished(-1);
612611

613612
return printerHasInstalled(packageName);
@@ -621,7 +620,7 @@ bool DriverManager::installPrinter(const QString &packageName)
621620
bool DriverManager::unInstallPrinter(const QString &packageName)
622621
{
623622
QProcess p;
624-
p.start("sudo dpkg -r " + packageName);
623+
p.start("sudo", QStringList() << "dpkg" << "-r" << packageName);
625624
p.waitForFinished(-1);
626625

627626
return !printerHasInstalled(packageName);

deepin-devicemanager-server/deepin-devicecontrol/src/drivercontrol/utils.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ bool Utils::addModBlackList(const QString &moduleName)
8484
bool Utils::unInstallPackage(const QString &packageName)
8585
{
8686
QProcess process;
87-
process.start(QString("apt remove %1").arg(packageName));
87+
process.start("apt", QStringList() << "remove" << packageName);
8888
if (!process.waitForFinished())
8989
return false;
9090
return true;

deepin-devicemanager/src/Page/PageInfo.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,7 @@ bool PageInfo::getMultiFlag()
6767
bool PageInfo::packageHasInstalled(const QString &packageName)
6868
{
6969
QProcess p;
70-
QString cmd = "dpkg -s " + packageName;
71-
p.start(cmd);
70+
p.start("dpkg", QStringList() << "-s" << packageName);
7271
p.waitForFinished(-1);
7372

7473
QByteArray r = p.readAll();

0 commit comments

Comments
 (0)