diff options
Diffstat (limited to 'src/manager-lib/applicationmanager.cpp')
-rw-r--r-- | src/manager-lib/applicationmanager.cpp | 29 |
1 files changed, 5 insertions, 24 deletions
diff --git a/src/manager-lib/applicationmanager.cpp b/src/manager-lib/applicationmanager.cpp index eaa8e205..0bcc9585 100644 --- a/src/manager-lib/applicationmanager.cpp +++ b/src/manager-lib/applicationmanager.cpp @@ -1126,30 +1126,6 @@ QString ApplicationManager::identifyApplication(qint64 pid) const return app ? app->id() : QString(); } -bool ApplicationManager::blockApplication(const QString &id) -{ - Application *app = fromId(id); - if (!app) - return false; - if (!app->block()) - return false; - emitDataChanged(app, QVector<int> { IsBlocked }); - stopApplicationInternal(app, true); - emitDataChanged(app, QVector<int> { IsRunning }); - return true; -} - -bool ApplicationManager::unblockApplication(const QString &id) -{ - Application *app = fromId(id); - if (!app) - return false; - if (!app->unblock()) - return false; - emitDataChanged(app, QVector<int> { IsBlocked }); - return true; -} - void ApplicationManager::shutDown() { d->shuttingDown = true; @@ -1416,6 +1392,11 @@ void ApplicationManager::addApplication(Application *app) stopApplication(app->id(), forceKill); }; + connect(app, &Application::blockedChanged, + this, [this, app]() { + emitDataChanged(app, QVector<int> { IsBlocked }); + }); + d->apps << app; } |