diff --git a/dbus/org.deepin.dde.Application1.Manager.xml b/dbus/org.deepin.dde.Application1.Manager.xml
index f6b7ded..97ed555 100644
--- a/dbus/org.deepin.dde.Application1.Manager.xml
+++ b/dbus/org.deepin.dde.Application1.Manager.xml
@@ -38,6 +38,12 @@
+
+
+
+
+
+
diff --git a/src/modules/startmanager/startmanager.cpp b/src/modules/startmanager/startmanager.cpp
index 04d30ac..7a65284 100644
--- a/src/modules/startmanager/startmanager.cpp
+++ b/src/modules/startmanager/startmanager.cpp
@@ -160,10 +160,10 @@ bool StartManager::launchAppWithOptions(QString desktopFile, uint32_t timestamp,
bool StartManager::runCommand(QString exe, QStringList args)
{
- return doRunCommandWithOptions(exe, args, QMap());
+ return doRunCommandWithOptions(exe, args, QVariantMap());
}
-bool StartManager::runCommandWithOptions(QString exe, QStringList args, QMap options)
+bool StartManager::runCommandWithOptions(QString exe, QStringList args, QVariantMap options)
{
return doRunCommandWithOptions(exe, args, options);
}
@@ -449,11 +449,11 @@ bool StartManager::launch(DesktopInfo *info, QString cmdLine, uint32_t timestamp
return process.startDetached(exec, exeArgs);
}
-bool StartManager::doRunCommandWithOptions(QString exe, QStringList args, QMap options)
+bool StartManager::doRunCommandWithOptions(QString exe, QStringList args, QVariantMap options)
{
QProcess process;
if (options.find("dir") != options.end()) {
- process.setWorkingDirectory(options["dir"]);
+ process.setWorkingDirectory(options["dir"].toString());
}
return process.startDetached(exe, args);
diff --git a/src/modules/startmanager/startmanager.h b/src/modules/startmanager/startmanager.h
index cb50ef3..f7b60ac 100644
--- a/src/modules/startmanager/startmanager.h
+++ b/src/modules/startmanager/startmanager.h
@@ -48,7 +48,7 @@ public:
bool launchAppAction(QString desktopFile, QString actionSection, uint32_t timestamp);
bool launchAppWithOptions(QString desktopFile, uint32_t timestamp, QStringList files, QVariantMap options);
bool runCommand(QString exe, QStringList args);
- bool runCommandWithOptions(QString exe, QStringList args, QMap options);
+ bool runCommandWithOptions(QString exe, QStringList args, QVariantMap options);
Q_SIGNALS:
void autostartChanged(const QString &status, const QString &fileName);
@@ -61,7 +61,7 @@ private:
bool doLaunchAppWithOptions(const QString &desktopFile);
bool doLaunchAppWithOptions(QString desktopFile, uint32_t timestamp, QStringList files, QVariantMap options);
bool launch(DesktopInfo *info, QString cmdLine, uint32_t timestamp, QStringList files);
- bool doRunCommandWithOptions(QString exe, QStringList args, QMap options);
+ bool doRunCommandWithOptions(QString exe, QStringList args, QVariantMap options);
void waitCmd(DesktopInfo *info, QProcess *process, QString cmdName);
bool shouldUseProxy(QString appId);
bool shouldDisableScaling(QString appId);
diff --git a/src/service/impl/application_manager.cpp b/src/service/impl/application_manager.cpp
index f7203df..f02069c 100644
--- a/src/service/impl/application_manager.cpp
+++ b/src/service/impl/application_manager.cpp
@@ -422,7 +422,7 @@ void ApplicationManager::RunCommand(const QString &exe, const QStringList &args)
}
}
-void ApplicationManager::RunCommandWithOptions(QString exe, QStringList args, QMap options)
+void ApplicationManager::RunCommandWithOptions(const QString &exe, const QStringList &args, const QVariantMap &options)
{
Q_D(ApplicationManager);
if (!d->checkDMsgUid()) {
diff --git a/src/service/impl/application_manager.h b/src/service/impl/application_manager.h
index 54f9ba4..1cfb083 100644
--- a/src/service/impl/application_manager.h
+++ b/src/service/impl/application_manager.h
@@ -76,6 +76,7 @@ public Q_SLOTS:
void LaunchAppAction(const QString &desktopFile, const QString &action, uint32_t timestamp, bool withMsgCheck = true);
void LaunchAppWithOptions(const QString &desktopFile, uint32_t timestamp, const QStringList &files, QVariantMap options);
void RunCommand(const QString &exe, const QStringList &args);
+ void RunCommandWithOptions(const QString &exe, const QStringList &args, const QVariantMap &options);
protected:
ApplicationManager(QObject *parent = nullptr);
@@ -85,7 +86,6 @@ protected:
QList list() const;
QDBusObjectPath GetInformation(const QString &id);
QList GetInstances(const QString &id);
- void RunCommandWithOptions(QString exe, QStringList args, QMap options);
bool IsProcessExist(uint32_t pid);
};