on xenial help sign in
Unity.Application mock: Implement ApplicationManager.empty property
6c2f60eDaniel d'Andrada
tests/mocks/Unity/Application/ApplicationManager.cpp+7
@@ -118,6 +118,7 @@ void ApplicationManager::add(ApplicationInfo *application) {
118 endInsertRows();
118 endInsertRows();
119 Q_EMIT applicationAdded(application->appId());
119 Q_EMIT applicationAdded(application->appId());
120 Q_EMIT countChanged();
120 Q_EMIT countChanged();
121+ if (count() == 1) Q_EMIT emptyChanged(isEmpty()); // was empty but not anymore
121 Q_EMIT focusRequested(application->appId());
122 Q_EMIT focusRequested(application->appId());
122
123
123 connect(application, &ApplicationInfo::surfaceChanged, this, [application, this]() {
124 connect(application, &ApplicationInfo::surfaceChanged, this, [application, this]() {
@@ -135,6 +136,7 @@ void ApplicationManager::remove(ApplicationInfo *application) {
135 endRemoveRows();
136 endRemoveRows();
136 Q_EMIT applicationRemoved(application->appId());
137 Q_EMIT applicationRemoved(application->appId());
137 Q_EMIT countChanged();
138 Q_EMIT countChanged();
139+ if (isEmpty()) Q_EMIT emptyChanged(isEmpty());
138 }
140 }
139 disconnect(application, &ApplicationInfo::surfaceChanged, this, 0);
141 disconnect(application, &ApplicationInfo::surfaceChanged, this, 0);
140}
142}
@@ -601,3 +603,8 @@ void ApplicationManager::setRightMargin(int rightMargin)
601 generateQmlStrings(app);
603 generateQmlStrings(app);
602 }
604 }
603}
605}
606+
607+bool ApplicationManager::isEmpty() const
608+{
609+ return m_runningApplications.isEmpty();
610+}
tests/mocks/Unity/Application/ApplicationManager.h+5
@@ -36,6 +36,8 @@ class ApplicationManager : public ApplicationManagerInterface {
36 Q_ENUMS(FavoriteApplication)
36 Q_ENUMS(FavoriteApplication)
37 Q_FLAGS(ExecFlags)
37 Q_FLAGS(ExecFlags)
38
38
39+ Q_PROPERTY(bool empty READ isEmpty NOTIFY emptyChanged)
40+
39 Q_PROPERTY(int keyboardHeight READ keyboardHeight NOTIFY keyboardHeightChanged)
41 Q_PROPERTY(int keyboardHeight READ keyboardHeight NOTIFY keyboardHeightChanged)
40 Q_PROPERTY(bool keyboardVisible READ keyboardVisible NOTIFY keyboardVisibleChanged)
42 Q_PROPERTY(bool keyboardVisible READ keyboardVisible NOTIFY keyboardVisibleChanged)
41
43
@@ -114,11 +116,14 @@ class ApplicationManager : public ApplicationManagerInterface {
114
116
115 QModelIndex findIndex(ApplicationInfo* application);
117 QModelIndex findIndex(ApplicationInfo* application);
116
118
119+ bool isEmpty() const;
120+
117 Q_SIGNALS:
121 Q_SIGNALS:
118 void keyboardHeightChanged();
122 void keyboardHeightChanged();
119 void keyboardVisibleChanged();
123 void keyboardVisibleChanged();
120 void focusRequested(FavoriteApplication favoriteApplication);
124 void focusRequested(FavoriteApplication favoriteApplication);
121 void focusRequested(const QString &appId);
125 void focusRequested(const QString &appId);
126+ void emptyChanged(bool empty);
122
127
123 private:
128 private:
124 void add(ApplicationInfo *application);
129 void add(ApplicationInfo *application);