on xenial help sign in
Reset instead of qFatal when removing things from the middle
6d79f45Albert Astals Cid
plugins/Dash/horizontaljournal.cpp+3−1
@@ -195,7 +195,9 @@ void HorizontalJournal::processModelRemoves(const QVector<QQmlChangeSet::Change>
195 m_lastInRowIndexPosition.remove(indexToRemove);
195 m_lastInRowIndexPosition.remove(indexToRemove);
196 } else {
196 } else {
197 if (indexToRemove < lastIndex) {
197 if (indexToRemove < lastIndex) {
198− qFatal("HorizontalJournal only supports removal from the end of the model");
198+ qDebug() << "HorizontalJournal only supports removal from the end of the model, resetting instead";
199+ cleanupExistingItems();
200+ break;
199 } else {
201 } else {
200 setImplicitHeightDirty();
202 setImplicitHeightDirty();
201 }
203 }
plugins/Dash/organicgrid.cpp+3−1
@@ -246,7 +246,9 @@ void OrganicGrid::processModelRemoves(const QVector<QQmlChangeSet::Change> &remo
246 releaseItem(m_visibleItems.takeLast());
246 releaseItem(m_visibleItems.takeLast());
247 } else {
247 } else {
248 if (indexToRemove < lastIndex) {
248 if (indexToRemove < lastIndex) {
249− qFatal("OrganicGrid only supports removal from the end of the model");
249+ qDebug() << "OrganicGrid only supports removal from the end of the model, resetting instead";
250+ cleanupExistingItems();
251+ break;
250 }
252 }
251 }
253 }
252 }
254 }
plugins/Dash/verticaljournal.cpp+3−1
@@ -261,7 +261,9 @@ void VerticalJournal::processModelRemoves(const QVector<QQmlChangeSet::Change> &
261 }
261 }
262 if (!found) {
262 if (!found) {
263 if (indexToRemove < lastCreatedIndex) {
263 if (indexToRemove < lastCreatedIndex) {
264− qFatal("VerticalJournal only supports removal from the end of the model");
264+ qDebug() << "VerticalJournal only supports removal from the end of the model, resetting instead";
265+ cleanupExistingItems();
266+ break;
265 } else {
267 } else {
266 setImplicitHeightDirty();
268 setImplicitHeightDirty();
267 }
269 }
tests/mocks/Unity/CMakeLists.txt+1−1
@@ -7,7 +7,7 @@ add_subdirectory(Notifications)
7add_subdirectory(DashCommunicator)
7add_subdirectory(DashCommunicator)
8
8
9pkg_search_module(GOBJECT gobject-2.0 REQUIRED)
9pkg_search_module(GOBJECT gobject-2.0 REQUIRED)
10−pkg_check_modules(SCOPES_API REQUIRED unity-shell-scopes=7)
10+pkg_check_modules(SCOPES_API REQUIRED unity-shell-scopes=8)
11
11
12include_directories(
12include_directories(
13 ${CMAKE_CURRENT_BINARY_DIR}
13 ${CMAKE_CURRENT_BINARY_DIR}
tests/mocks/Unity/fake_categories.cpp−5
@@ -32,11 +32,6 @@ int Categories::rowCount(const QModelIndex& /*parent*/) const
32 return m_category_count;
32 return m_category_count;
33}
33}
34
34
35−void Categories::addSpecialCategory(QString const& /*categoryId*/, QString const& /*name*/, QString const& /*icon*/, QString const& /*rawTemplate*/, QObject* /*countObject*/)
36−{
37− qFatal("Using un-implemented Categories::addSpecialCategory");
38−}
39−
40bool Categories::overrideCategoryJson(QString const& /* categoryId */, QString const& /* json */)
35bool Categories::overrideCategoryJson(QString const& /* categoryId */, QString const& /* json */)
41{
36{
42 qFatal("Using un-implemented Categories::overrideCategoryJson");
37 qFatal("Using un-implemented Categories::overrideCategoryJson");
tests/mocks/Unity/fake_categories.h−1
@@ -34,7 +34,6 @@ public:
34 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
34 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
35 int rowCount(const QModelIndex& parent = QModelIndex()) const override;
35 int rowCount(const QModelIndex& parent = QModelIndex()) const override;
36
36
37− Q_INVOKABLE void addSpecialCategory(QString const& categoryId, QString const& name, QString const& icon, QString const& rawTemplate, QObject* countObject) override;
38 Q_INVOKABLE bool overrideCategoryJson(QString const& categoryId, QString const& json) override;
37 Q_INVOKABLE bool overrideCategoryJson(QString const& categoryId, QString const& json) override;
39
38
40 Q_INVOKABLE QVariant data(int row, int role) const;
39 Q_INVOKABLE QVariant data(int row, int role) const;
tests/mocks/Unity/fake_scope.cpp+5
@@ -271,6 +271,11 @@ void Scope::refresh()
271 Q_EMIT refreshed();
271 Q_EMIT refreshed();
272}
272}
273
273
274+void Scope::activateAction(QVariant const& /*result*/, QString const& /*categoryId*/, QString const& /*actionId*/)
275+{
276+ qFatal("Using Scope::activateAction");
277+}
278+
274unity::shell::scopes::NavigationInterface* Scope::getNavigation(const QString& id)
279unity::shell::scopes::NavigationInterface* Scope::getNavigation(const QString& id)
275{
280{
276 if (id.isEmpty())
281 if (id.isEmpty())
tests/mocks/Unity/fake_scope.h+2
@@ -79,6 +79,8 @@ public:
79
79
80 Q_INVOKABLE void refresh() override;
80 Q_INVOKABLE void refresh() override;
81
81
82+ Q_INVOKABLE virtual void activateAction(QVariant const& result, QString const& categoryId, QString const& actionId) override;
83+
82Q_SIGNALS:
84Q_SIGNALS:
83 // These are not in the Interface, here for testing benefits
85 // These are not in the Interface, here for testing benefits
84 void refreshed();
86 void refreshed();
tests/mocks/Unity/fake_scopesoverview.cpp−10
@@ -74,11 +74,6 @@ int ScopesOverviewCategories::rowCount(const QModelIndex& /*parent*/) const
74 return 2;
74 return 2;
75}
75}
76
76
77−void ScopesOverviewCategories::addSpecialCategory(QString const&, QString const&, QString const&, QString const&, QObject*)
78−{
79− qFatal("Using un-implemented ScopesOverviewCategories::addSpecialCategory");
80−}
81−
82bool ScopesOverviewCategories::overrideCategoryJson(QString const& /* categoryId */, QString const& /* json */)
77bool ScopesOverviewCategories::overrideCategoryJson(QString const& /* categoryId */, QString const& /* json */)
83{
78{
84 qFatal("Using un-implemented ScopesOverviewCategories::overrideCategoryJson");
79 qFatal("Using un-implemented ScopesOverviewCategories::overrideCategoryJson");
@@ -175,11 +170,6 @@ int ScopesOverviewSearchCategories::rowCount(const QModelIndex& /*parent*/) cons
175 return 2;
170 return 2;
176}
171}
177
172
178−void ScopesOverviewSearchCategories::addSpecialCategory(QString const&, QString const&, QString const&, QString const&, QObject*)
179−{
180− qFatal("Using un-implemented ScopesOverviewSearchCategories::addSpecialCategory");
181−}
182−
183bool ScopesOverviewSearchCategories::overrideCategoryJson(QString const& /* categoryId */, QString const& /* json */)
173bool ScopesOverviewSearchCategories::overrideCategoryJson(QString const& /* categoryId */, QString const& /* json */)
184{
174{
185 qFatal("Using un-implemented ScopesOverviewSearchCategories::overrideCategoryJson");
175 qFatal("Using un-implemented ScopesOverviewSearchCategories::overrideCategoryJson");
tests/mocks/Unity/fake_scopesoverview.h−2
@@ -53,7 +53,6 @@ public:
53 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
53 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
54 int rowCount(const QModelIndex& parent = QModelIndex()) const override;
54 int rowCount(const QModelIndex& parent = QModelIndex()) const override;
55
55
56− Q_INVOKABLE void addSpecialCategory(QString const& categoryId, QString const& name, QString const& icon, QString const& rawTemplate, QObject* countObject) override;
57 Q_INVOKABLE bool overrideCategoryJson(QString const& categoryId, QString const& json) override;
56 Q_INVOKABLE bool overrideCategoryJson(QString const& categoryId, QString const& json) override;
58
57
59 // This is implementation detail
58 // This is implementation detail
@@ -76,7 +75,6 @@ public:
76 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
75 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
77 int rowCount(const QModelIndex& parent = QModelIndex()) const override;
76 int rowCount(const QModelIndex& parent = QModelIndex()) const override;
78
77
79− Q_INVOKABLE void addSpecialCategory(QString const& categoryId, QString const& name, QString const& icon, QString const& rawTemplate, QObject* countObject) override;
80 Q_INVOKABLE bool overrideCategoryJson(QString const& categoryId, QString const& json) override;
78 Q_INVOKABLE bool overrideCategoryJson(QString const& categoryId, QString const& json) override;
81
79
82private:
80private: