@@ -43,6 +43,7 @@ ApplicationManager *ApplicationManager::singleton()
43ApplicationManager::ApplicationManager(QObject *parent)
43ApplicationManager::ApplicationManager(QObject *parent)
44 : ApplicationManagerInterface(parent)
44 : ApplicationManagerInterface(parent)
45 , m_suspended(false)
45 , m_suspended(false)
46+ , m_dashActive(false)
47 m_roleNames.insert(RoleSession, "session");
48 m_roleNames.insert(RoleSession, "session");
48 m_roleNames.insert(RoleFullscreen, "fullscreen");
49 m_roleNames.insert(RoleFullscreen, "fullscreen");
@@ -292,6 +293,31 @@ void ApplicationManager::setSuspended(bool suspended)
292 Q_EMIT suspendedChanged();
293 Q_EMIT suspendedChanged();
296+bool ApplicationManager::dashActive() const
298+ return m_dashActive;
301+void ApplicationManager::setDashActive(bool dashActive)
303+ if (m_dashActive == dashActive) {
307+ ApplicationInfo *dash = findApplication("unity8-dash");
310+ dash->setState(ApplicationInfo::Running);
312+ if (!dash->focused()) {
313+ dash->setState(ApplicationInfo::Suspended);
317+ m_dashActive = dashActive;
318+ Q_EMIT dashActiveChanged();
295bool ApplicationManager::focusApplication(const QString &appId)
321bool ApplicationManager::focusApplication(const QString &appId)
297 ApplicationInfo *application = findApplication(appId);
323 ApplicationInfo *application = findApplication(appId);