diff --git a/src/presentation/CMakeLists.txt b/src/presentation/CMakeLists.txt --- a/src/presentation/CMakeLists.txt +++ b/src/presentation/CMakeLists.txt @@ -1,9 +1,8 @@ set(presentation_SRCS applicationmodel.cpp editormodel.cpp - availablepagesmodelinterface.cpp + availablepagesmodel.cpp availablepagessortfilterproxymodel.cpp - availabletaskpagesmodel.cpp availablesourcesmodel.cpp contextpagemodel.cpp errorhandler.cpp diff --git a/src/presentation/applicationmodel.h b/src/presentation/applicationmodel.h --- a/src/presentation/applicationmodel.h +++ b/src/presentation/applicationmodel.h @@ -35,7 +35,6 @@ namespace Presentation { -class AvailablePagesModelInterface; class ErrorHandler; class ApplicationModel : public QObject diff --git a/src/presentation/applicationmodel.cpp b/src/presentation/applicationmodel.cpp --- a/src/presentation/applicationmodel.cpp +++ b/src/presentation/applicationmodel.cpp @@ -24,7 +24,7 @@ #include "applicationmodel.h" -#include "presentation/availablepagesmodelinterface.h" +#include "presentation/availablepagesmodel.h" #include "presentation/availablesourcesmodel.h" #include "presentation/editormodel.h" #include "presentation/errorhandler.h" @@ -60,7 +60,7 @@ QObject *ApplicationModel::availablePages() { if (!m_availablePages) { - auto model = Utils::DependencyManager::globalInstance().create(); + auto model = Utils::DependencyManager::globalInstance().create(); model->setErrorHandler(errorHandler()); m_availablePages = model; } @@ -112,7 +112,7 @@ if (m_availableSources) m_availableSources.staticCast()->setErrorHandler(errorHandler); if (m_availablePages) - m_availablePages.staticCast()->setErrorHandler(errorHandler); + m_availablePages.staticCast()->setErrorHandler(errorHandler); if (m_editor) m_editor.staticCast()->setErrorHandler(errorHandler); if (m_currentPage) diff --git a/src/presentation/availabletaskpagesmodel.h b/src/presentation/availablepagesmodel.h rename from src/presentation/availabletaskpagesmodel.h rename to src/presentation/availablepagesmodel.h --- a/src/presentation/availabletaskpagesmodel.h +++ b/src/presentation/availablepagesmodel.h @@ -25,7 +25,7 @@ #ifndef PRESENTATION_AVAILABLETASKPAGESMODEL_H #define PRESENTATION_AVAILABLETASKPAGESMODEL_H -#include "presentation/availablepagesmodelinterface.h" +#include "presentation/errorhandlingmodelbase.h" #include "domain/contextqueries.h" #include "domain/contextrepository.h" @@ -42,31 +42,27 @@ namespace Presentation { class AvailablePagesSortFilterProxyModel; -class AvailableTaskPagesModel : public AvailablePagesModelInterface +class AvailablePagesModel : public QObject, public ErrorHandlingModelBase { Q_OBJECT + Q_PROPERTY(QAbstractItemModel* pageListModel READ pageListModel) public: - explicit AvailableTaskPagesModel(const Domain::DataSourceQueries::Ptr &dataSourceQueries, - const Domain::ProjectQueries::Ptr &projectQueries, - const Domain::ProjectRepository::Ptr &projectRepository, - const Domain::ContextQueries::Ptr &contextQueries, - const Domain::ContextRepository::Ptr &contextRepository, - const Domain::TaskQueries::Ptr &taskQueries, - const Domain::TaskRepository::Ptr &taskRepository, - QObject *parent = Q_NULLPTR); - - QAbstractItemModel *pageListModel() Q_DECL_OVERRIDE; - - bool hasProjectPages() const Q_DECL_OVERRIDE; - bool hasContextPages() const Q_DECL_OVERRIDE; - bool hasTagPages() const Q_DECL_OVERRIDE; - - QObject *createPageForIndex(const QModelIndex &index) Q_DECL_OVERRIDE; - - void addProject(const QString &name, const Domain::DataSource::Ptr &source) Q_DECL_OVERRIDE; - void addContext(const QString &name) Q_DECL_OVERRIDE; - void addTag(const QString &name) Q_DECL_OVERRIDE; - void removeItem(const QModelIndex &index) Q_DECL_OVERRIDE; + explicit AvailablePagesModel(const Domain::DataSourceQueries::Ptr &dataSourceQueries, + const Domain::ProjectQueries::Ptr &projectQueries, + const Domain::ProjectRepository::Ptr &projectRepository, + const Domain::ContextQueries::Ptr &contextQueries, + const Domain::ContextRepository::Ptr &contextRepository, + const Domain::TaskQueries::Ptr &taskQueries, + const Domain::TaskRepository::Ptr &taskRepository, + QObject *parent = Q_NULLPTR); + + QAbstractItemModel *pageListModel(); + + Q_SCRIPTABLE QObject *createPageForIndex(const QModelIndex &index); + + void addProject(const QString &name, const Domain::DataSource::Ptr &source); + void addContext(const QString &name); + void removeItem(const QModelIndex &index); private: QAbstractItemModel *createPageListModel(); diff --git a/src/presentation/availabletaskpagesmodel.cpp b/src/presentation/availablepagesmodel.cpp rename from src/presentation/availabletaskpagesmodel.cpp rename to src/presentation/availablepagesmodel.cpp --- a/src/presentation/availabletaskpagesmodel.cpp +++ b/src/presentation/availablepagesmodel.cpp @@ -22,7 +22,7 @@ */ -#include "availabletaskpagesmodel.h" +#include "availablepagesmodel.h" #include #include @@ -48,15 +48,15 @@ using namespace Presentation; -AvailableTaskPagesModel::AvailableTaskPagesModel(const Domain::DataSourceQueries::Ptr &dataSourceQueries, +AvailablePagesModel::AvailablePagesModel(const Domain::DataSourceQueries::Ptr &dataSourceQueries, const Domain::ProjectQueries::Ptr &projectQueries, const Domain::ProjectRepository::Ptr &projectRepository, const Domain::ContextQueries::Ptr &contextQueries, const Domain::ContextRepository::Ptr &contextRepository, const Domain::TaskQueries::Ptr &taskQueries, const Domain::TaskRepository::Ptr &taskRepository, QObject *parent) - : AvailablePagesModelInterface(parent), + : QObject(parent), m_pageListModel(Q_NULLPTR), m_sortProxyModel(Q_NULLPTR), m_dataSourceQueries(dataSourceQueries), @@ -69,7 +69,7 @@ { } -QAbstractItemModel *AvailableTaskPagesModel::pageListModel() +QAbstractItemModel *AvailablePagesModel::pageListModel() { if (!m_pageListModel) m_pageListModel = createPageListModel(); @@ -82,22 +82,7 @@ return m_sortProxyModel; } -bool AvailableTaskPagesModel::hasProjectPages() const -{ - return true; -} - -bool AvailableTaskPagesModel::hasContextPages() const -{ - return true; -} - -bool AvailableTaskPagesModel::hasTagPages() const -{ - return false; -} - -QObject *AvailableTaskPagesModel::createPageForIndex(const QModelIndex &index) +QObject *AvailablePagesModel::createPageForIndex(const QModelIndex &index) { QObjectPtr object = index.data(QueryTreeModelBase::ObjectRole).value(); @@ -136,28 +121,23 @@ return Q_NULLPTR; } -void AvailableTaskPagesModel::addProject(const QString &name, const Domain::DataSource::Ptr &source) +void AvailablePagesModel::addProject(const QString &name, const Domain::DataSource::Ptr &source) { auto project = Domain::Project::Ptr::create(); project->setName(name); const auto job = m_projectRepository->create(project, source); installHandler(job, i18n("Cannot add project %1 in dataSource %2", name, source->name())); } -void AvailableTaskPagesModel::addContext(const QString &name) +void AvailablePagesModel::addContext(const QString &name) { auto context = Domain::Context::Ptr::create(); context->setName(name); const auto job = m_contextRepository->create(context); installHandler(job, i18n("Cannot add context %1", name)); } -void AvailableTaskPagesModel::addTag(const QString &) -{ - qFatal("Not supported"); -} - -void AvailableTaskPagesModel::removeItem(const QModelIndex &index) +void AvailablePagesModel::removeItem(const QModelIndex &index) { QObjectPtr object = index.data(QueryTreeModelBase::ObjectRole).value(); if (auto project = object.objectCast()) { @@ -171,7 +151,7 @@ } } -QAbstractItemModel *AvailableTaskPagesModel::createPageListModel() +QAbstractItemModel *AvailablePagesModel::createPageListModel() { m_inboxObject = QObjectPtr::create(); m_inboxObject->setProperty("name", i18n("Inbox")); diff --git a/src/presentation/availablepagesmodelinterface.h b/src/presentation/availablepagesmodelinterface.h deleted file mode 100644 --- a/src/presentation/availablepagesmodelinterface.h +++ /dev/null @@ -1,66 +0,0 @@ -/* This file is part of Zanshin - - Copyright 2015 Kevin Ottens - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License or (at your option) version 3 or any later version - accepted by the membership of KDE e.V. (or its successor approved - by the membership of KDE e.V.), which shall act as a proxy - defined in Section 14 of version 3 of the license. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - USA. -*/ - - -#ifndef PRESENTATION_AVAILABLEPAGESMODELINTERFACE_H -#define PRESENTATION_AVAILABLEPAGESMODELINTERFACE_H - -#include - -#include "domain/datasource.h" - -#include "presentation/errorhandlingmodelbase.h" - -class QAbstractItemModel; -class QModelIndex; - -namespace Presentation { - -class AvailablePagesModelInterface : public QObject, public ErrorHandlingModelBase -{ - Q_OBJECT - Q_PROPERTY(QAbstractItemModel* pageListModel READ pageListModel) - Q_PROPERTY(bool hasProjectPages READ hasProjectPages) - Q_PROPERTY(bool hasContextPages READ hasContextPages) - Q_PROPERTY(bool hasTagPages READ hasTagPages) -public: - explicit AvailablePagesModelInterface(QObject *parent = Q_NULLPTR); - - virtual QAbstractItemModel *pageListModel() = 0; - - virtual bool hasProjectPages() const = 0; - virtual bool hasContextPages() const = 0; - virtual bool hasTagPages() const = 0; - - Q_SCRIPTABLE virtual QObject *createPageForIndex(const QModelIndex &index) = 0; - -public slots: - virtual void addProject(const QString &name, const Domain::DataSource::Ptr &source) = 0; - virtual void addContext(const QString &name) = 0; - virtual void addTag(const QString &name) = 0; - virtual void removeItem(const QModelIndex &index) = 0; -}; - -} - -#endif // PRESENTATION_AVAILABLEPAGESMODELINTERFACE_H diff --git a/src/presentation/availablepagesmodelinterface.cpp b/src/presentation/availablepagesmodelinterface.cpp deleted file mode 100644 --- a/src/presentation/availablepagesmodelinterface.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* This file is part of Zanshin - - Copyright 2015 Kevin Ottens - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License as - published by the Free Software Foundation; either version 2 of - the License or (at your option) version 3 or any later version - accepted by the membership of KDE e.V. (or its successor approved - by the membership of KDE e.V.), which shall act as a proxy - defined in Section 14 of version 3 of the license. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, - USA. -*/ - - -#include "availablepagesmodelinterface.h" - -using namespace Presentation; - -AvailablePagesModelInterface::AvailablePagesModelInterface(QObject *parent) - : QObject(parent) -{ -} diff --git a/src/widgets/availablepagesview.h b/src/widgets/availablepagesview.h --- a/src/widgets/availablepagesview.h +++ b/src/widgets/availablepagesview.h @@ -78,7 +78,6 @@ void onCurrentChanged(const QModelIndex ¤t); void onAddProjectTriggered(); void onAddContextTriggered(); - void onAddTagTriggered(); void onRemoveTriggered(); void onGoPreviousTriggered(); void onGoNextTriggered(); @@ -88,7 +87,6 @@ private: QAction *m_addProjectAction; QAction *m_addContextAction; - QAction *m_addTagAction; QAction *m_removeAction; QHash m_actions; diff --git a/src/widgets/availablepagesview.cpp b/src/widgets/availablepagesview.cpp --- a/src/widgets/availablepagesview.cpp +++ b/src/widgets/availablepagesview.cpp @@ -51,7 +51,6 @@ : QWidget(parent), m_addProjectAction(new QAction(this)), m_addContextAction(new QAction(this)), - m_addTagAction(new QAction(this)), m_removeAction(new QAction(this)), m_model(Q_NULLPTR), m_sources(Q_NULLPTR), @@ -77,12 +76,6 @@ connect(m_addContextAction, &QAction::triggered, this, &AvailablePagesView::onAddContextTriggered); actionBar->addAction(m_addContextAction); - m_addTagAction->setObjectName(QStringLiteral("addTagAction")); - m_addTagAction->setText(i18n("New Tag")); - m_addTagAction->setIcon(QIcon::fromTheme(QStringLiteral("view-pim-tasks"))); - connect(m_addTagAction, &QAction::triggered, this, &AvailablePagesView::onAddTagTriggered); - actionBar->addAction(m_addTagAction); - m_removeAction->setObjectName(QStringLiteral("removeAction")); m_removeAction->setText(i18n("Remove Page")); m_removeAction->setIcon(QIcon::fromTheme(QStringLiteral("list-remove"))); @@ -133,7 +126,6 @@ m_actions.insert(QStringLiteral("pages_project_add"), m_addProjectAction); m_actions.insert(QStringLiteral("pages_context_add"), m_addContextAction); - m_actions.insert(QStringLiteral("pages_tag_add"), m_addTagAction); m_actions.insert(QStringLiteral("pages_remove"), m_removeAction); m_actions.insert(QStringLiteral("pages_go_previous"), goPreviousAction); m_actions.insert(QStringLiteral("pages_go_next"), goNextAction); @@ -194,10 +186,6 @@ if (!m_model) return; - m_addProjectAction->setVisible(m_model->property("hasProjectPages").toBool()); - m_addContextAction->setVisible(m_model->property("hasContextPages").toBool()); - m_addTagAction->setVisible(m_model->property("hasTagPages").toBool()); - QVariant modelProperty = m_model->property("pageListModel"); if (modelProperty.canConvert()) { m_pagesView->setModel(modelProperty.value()); @@ -273,15 +261,6 @@ } } -void AvailablePagesView::onAddTagTriggered() -{ - const QString name = m_messageBoxInterface->askTextInput(this, i18n("Add Tag"), i18n("Tag name")); - if (!name.isEmpty()) { - QMetaObject::invokeMethod(m_model, "addTag", - Q_ARG(QString, name)); - } -} - void AvailablePagesView::onRemoveTriggered() { const QModelIndex current = m_pagesView->currentIndex(); diff --git a/src/zanshin/app/dependencies.cpp b/src/zanshin/app/dependencies.cpp --- a/src/zanshin/app/dependencies.cpp +++ b/src/zanshin/app/dependencies.cpp @@ -38,8 +38,8 @@ #include "akonadi/akonadiserializer.h" #include "akonadi/akonadistorage.h" +#include "presentation/availablepagesmodel.h" #include "presentation/availablesourcesmodel.h" -#include "presentation/availabletaskpagesmodel.h" #include "presentation/editormodel.h" #include "presentation/runningtaskmodel.h" @@ -109,14 +109,14 @@ return model; }); - deps.add(); + deps.add(); deps.add(); + Utils::DependencyManager::globalInstance().add( + [] (Utils::DependencyManager *) { + return new Presentation::AvailablePagesModel(Domain::DataSourceQueries::Ptr(), + Domain::ProjectQueries::Ptr(), + Domain::ProjectRepository::Ptr(), + Domain::ContextQueries::Ptr(), + Domain::ContextRepository::Ptr(), + Domain::TaskQueries::Ptr(), + Domain::TaskRepository::Ptr()); + }); Utils::DependencyManager::globalInstance().add( [] (Utils::DependencyManager *) { return new Presentation::EditorModel; @@ -128,7 +115,7 @@ QObject *available = app.availablePages(); // THEN - QVERIFY(qobject_cast(available)); + QVERIFY(qobject_cast(available)); } void shouldProvideCurrentPage() @@ -211,7 +198,7 @@ // THEN auto availableSource = static_cast(app.availableSources()); - auto availablePages = static_cast(app.availablePages()); + auto availablePages = static_cast(app.availablePages()); auto editor = static_cast(app.editor()); auto page = static_cast(app.currentPage()); QCOMPARE(availableSource->errorHandler(), &errorHandler); diff --git a/tests/units/presentation/availabletaskpagesmodeltest.cpp b/tests/units/presentation/availablepagesmodeltest.cpp rename from tests/units/presentation/availabletaskpagesmodeltest.cpp rename to tests/units/presentation/availablepagesmodeltest.cpp --- a/tests/units/presentation/availabletaskpagesmodeltest.cpp +++ b/tests/units/presentation/availablepagesmodeltest.cpp @@ -32,7 +32,7 @@ #include "utils/mockobject.h" #include "utils/datetime.h" -#include "presentation/availabletaskpagesmodel.h" +#include "presentation/availablepagesmodel.h" #include "presentation/contextpagemodel.h" #include "presentation/errorhandler.h" #include "presentation/projectpagemodel.h" @@ -56,21 +56,10 @@ QString m_message; }; -class AvailableTaskPagesModelTest : public QObject +class AvailablePagesModelTest : public QObject { Q_OBJECT private slots: - void shouldDeclareOnlyProjectAndContextPages() - { - // GIVEN - Presentation::AvailableTaskPagesModel pages({}, {}, {}, {}, {}, {}, {}); - - // THEN - QVERIFY(pages.hasProjectPages()); - QVERIFY(pages.hasContextPages()); - QVERIFY(!pages.hasTagPages()); - } - void shouldListAvailablePages() { // GIVEN @@ -131,7 +120,7 @@ Utils::MockObject contextRepositoryMock; - Presentation::AvailableTaskPagesModel pages(dataSourceQueriesMock.getInstance(), + Presentation::AvailablePagesModel pages(dataSourceQueriesMock.getInstance(), Domain::ProjectQueries::Ptr(), projectRepositoryMock.getInstance(), contextQueriesMock.getInstance(), @@ -382,7 +371,7 @@ Utils::MockObject projectRepositoryMock; - Presentation::AvailableTaskPagesModel pages(dataSourceQueriesMock.getInstance(), + Presentation::AvailablePagesModel pages(dataSourceQueriesMock.getInstance(), Domain::ProjectQueries::Ptr(), projectRepositoryMock.getInstance(), contextQueriesMock.getInstance(), @@ -423,7 +412,7 @@ Utils::MockObject projectRepositoryMock; - Presentation::AvailableTaskPagesModel pages(dataSourceQueriesMock.getInstance(), + Presentation::AvailablePagesModel pages(dataSourceQueriesMock.getInstance(), Domain::ProjectQueries::Ptr(), projectRepositoryMock.getInstance(), contextQueriesMock.getInstance(), @@ -478,7 +467,7 @@ Utils::MockObject contextQueriesMock; contextQueriesMock(&Domain::ContextQueries::findAll).when().thenReturn(contextResult); - Presentation::AvailableTaskPagesModel pages(dataSourceQueriesMock.getInstance(), + Presentation::AvailablePagesModel pages(dataSourceQueriesMock.getInstance(), Domain::ProjectQueries::Ptr(), projectRepositoryMock.getInstance(), contextQueriesMock.getInstance(), @@ -540,7 +529,7 @@ Utils::MockObject projectRepositoryMock; - Presentation::AvailableTaskPagesModel pages(dataSourceQueriesMock.getInstance(), + Presentation::AvailablePagesModel pages(dataSourceQueriesMock.getInstance(), Domain::ProjectQueries::Ptr(), projectRepositoryMock.getInstance(), contextQueriesMock.getInstance(), @@ -578,7 +567,7 @@ any()) .thenReturn(new FakeJob(this)); - Presentation::AvailableTaskPagesModel pages(Domain::DataSourceQueries::Ptr(), + Presentation::AvailablePagesModel pages(Domain::DataSourceQueries::Ptr(), Domain::ProjectQueries::Ptr(), projectRepositoryMock.getInstance(), Domain::ContextQueries::Ptr(), @@ -609,7 +598,7 @@ any()) .thenReturn(job); - Presentation::AvailableTaskPagesModel pages(Domain::DataSourceQueries::Ptr(), + Presentation::AvailablePagesModel pages(Domain::DataSourceQueries::Ptr(), Domain::ProjectQueries::Ptr(), projectRepositoryMock.getInstance(), Domain::ContextQueries::Ptr(), @@ -635,7 +624,7 @@ contextRepositoryMock(&Domain::ContextRepository::create).when(any()) .thenReturn(new FakeJob(this)); - Presentation::AvailableTaskPagesModel pages(Domain::DataSourceQueries::Ptr(), + Presentation::AvailablePagesModel pages(Domain::DataSourceQueries::Ptr(), Domain::ProjectQueries::Ptr(), Domain::ProjectRepository::Ptr(), Domain::ContextQueries::Ptr(), @@ -661,7 +650,7 @@ contextRepositoryMock(&Domain::ContextRepository::create).when(any()) .thenReturn(job); - Presentation::AvailableTaskPagesModel pages(Domain::DataSourceQueries::Ptr(), + Presentation::AvailablePagesModel pages(Domain::DataSourceQueries::Ptr(), Domain::ProjectQueries::Ptr(), Domain::ProjectRepository::Ptr(), Domain::ContextQueries::Ptr(), @@ -716,7 +705,7 @@ Utils::MockObject contextQueriesMock; contextQueriesMock(&Domain::ContextQueries::findAll).when().thenReturn(contextResult); - Presentation::AvailableTaskPagesModel pages(dataSourceQueriesMock.getInstance(), + Presentation::AvailablePagesModel pages(dataSourceQueriesMock.getInstance(), Domain::ProjectQueries::Ptr(), projectRepositoryMock.getInstance(), contextQueriesMock.getInstance(), @@ -776,7 +765,7 @@ Utils::MockObject contextQueriesMock; contextQueriesMock(&Domain::ContextQueries::findAll).when().thenReturn(contextResult); - Presentation::AvailableTaskPagesModel pages(dataSourceQueriesMock.getInstance(), + Presentation::AvailablePagesModel pages(dataSourceQueriesMock.getInstance(), Domain::ProjectQueries::Ptr(), projectRepositoryMock.getInstance(), contextQueriesMock.getInstance(), @@ -830,7 +819,7 @@ dataSourceQueriesMock(&Domain::DataSourceQueries::findAllSelected).when().thenReturn(sourceResult); - Presentation::AvailableTaskPagesModel pages(dataSourceQueriesMock.getInstance(), + Presentation::AvailablePagesModel pages(dataSourceQueriesMock.getInstance(), Domain::ProjectQueries::Ptr(), Domain::ProjectRepository::Ptr(), contextQueriesMock.getInstance(), @@ -878,7 +867,7 @@ dataSourceQueriesMock(&Domain::DataSourceQueries::findAllSelected).when().thenReturn(sourceResult); - Presentation::AvailableTaskPagesModel pages(dataSourceQueriesMock.getInstance(), + Presentation::AvailablePagesModel pages(dataSourceQueriesMock.getInstance(), Domain::ProjectQueries::Ptr(), Domain::ProjectRepository::Ptr(), contextQueriesMock.getInstance(), @@ -947,7 +936,7 @@ Utils::MockObject contextRepositoryMock; - Presentation::AvailableTaskPagesModel pages(dataSourceQueriesMock.getInstance(), + Presentation::AvailablePagesModel pages(dataSourceQueriesMock.getInstance(), Domain::ProjectQueries::Ptr(), projectRepositoryMock.getInstance(), contextQueriesMock.getInstance(), @@ -1016,7 +1005,7 @@ Utils::MockObject contextRepositoryMock; - Presentation::AvailableTaskPagesModel pages(dataSourceQueriesMock.getInstance(), + Presentation::AvailablePagesModel pages(dataSourceQueriesMock.getInstance(), Domain::ProjectQueries::Ptr(), projectRepositoryMock.getInstance(), contextQueriesMock.getInstance(), @@ -1090,7 +1079,7 @@ Utils::MockObject taskRepositoryMock; - Presentation::AvailableTaskPagesModel pages(dataSourceQueriesMock.getInstance(), + Presentation::AvailablePagesModel pages(dataSourceQueriesMock.getInstance(), Domain::ProjectQueries::Ptr(), projectRepositoryMock.getInstance(), contextQueriesMock.getInstance(), @@ -1167,7 +1156,7 @@ Utils::MockObject taskRepositoryMock; - Presentation::AvailableTaskPagesModel pages(dataSourceQueriesMock.getInstance(), + Presentation::AvailablePagesModel pages(dataSourceQueriesMock.getInstance(), Domain::ProjectQueries::Ptr(), projectRepositoryMock.getInstance(), contextQueriesMock.getInstance(), @@ -1224,7 +1213,7 @@ Utils::MockObject projectRepositoryMock; Utils::MockObject taskRepositoryMock; - Presentation::AvailableTaskPagesModel pages(dataSourceQueriesMock.getInstance(), + Presentation::AvailablePagesModel pages(dataSourceQueriesMock.getInstance(), Domain::ProjectQueries::Ptr(), projectRepositoryMock.getInstance(), contextQueriesMock.getInstance(), @@ -1253,6 +1242,6 @@ } }; -ZANSHIN_TEST_MAIN(AvailableTaskPagesModelTest) +ZANSHIN_TEST_MAIN(AvailablePagesModelTest) -#include "availabletaskpagesmodeltest.moc" +#include "availablepagesmodeltest.moc" diff --git a/tests/units/presentation/availablepagessortfilterproxymodeltest.cpp b/tests/units/presentation/availablepagessortfilterproxymodeltest.cpp --- a/tests/units/presentation/availablepagessortfilterproxymodeltest.cpp +++ b/tests/units/presentation/availablepagessortfilterproxymodeltest.cpp @@ -36,8 +36,8 @@ #include "domain/task.h" #include "domain/taskrepository.h" +#include "presentation/availablepagesmodel.h" #include "presentation/availablepagessortfilterproxymodel.h" -#include "presentation/availabletaskpagesmodel.h" #include "presentation/contextpagemodel.h" #include "presentation/projectpagemodel.h" #include "presentation/querytreemodelbase.h" diff --git a/tests/units/widgets/availablepagesviewtest.cpp b/tests/units/widgets/availablepagesviewtest.cpp --- a/tests/units/widgets/availablepagesviewtest.cpp +++ b/tests/units/widgets/availablepagesviewtest.cpp @@ -185,8 +185,6 @@ QVERIFY(addProjectAction); auto addContextAction = available.findChild(QStringLiteral("addContextAction")); QVERIFY(addContextAction); - auto addTagAction = available.findChild(QStringLiteral("addTagAction")); - QVERIFY(addTagAction); auto removeAction = available.findChild(QStringLiteral("removeAction")); QVERIFY(removeAction); auto goPreviousAction = available.findChild(QStringLiteral("goPreviousAction")); @@ -205,7 +203,6 @@ auto actions = available.globalActions(); QCOMPARE(actions.value(QStringLiteral("pages_project_add")), addProjectAction); QCOMPARE(actions.value(QStringLiteral("pages_context_add")), addContextAction); - QCOMPARE(actions.value(QStringLiteral("pages_tag_add")), addTagAction); QCOMPARE(actions.value(QStringLiteral("pages_remove")), removeAction); QCOMPARE(actions.value(QStringLiteral("pages_go_previous")), goPreviousAction); QCOMPARE(actions.value(QStringLiteral("pages_go_next")), goNextAction); @@ -228,35 +225,6 @@ QTest::newRow("projects contexts tags") << true << true << true; } - void shouldShowOnlyAddActionsNeededByTheModel() - { - // GIVEN - QFETCH(bool, hasProjects); - QFETCH(bool, hasContexts); - QFETCH(bool, hasTags); - - AvailablePagesModelStub stubPagesModel; - stubPagesModel.setProperty("hasProjectPages", hasProjects); - stubPagesModel.setProperty("hasContextPages", hasContexts); - stubPagesModel.setProperty("hasTagPages", hasTags); - - Widgets::AvailablePagesView available; - auto addProjectAction = available.findChild(QStringLiteral("addProjectAction")); - QVERIFY(addProjectAction); - auto addContextAction = available.findChild(QStringLiteral("addContextAction")); - QVERIFY(addContextAction); - auto addTagAction = available.findChild(QStringLiteral("addTagAction")); - QVERIFY(addTagAction); - - // WHEN - available.setModel(&stubPagesModel); - - // THEN - QCOMPARE(addProjectAction->isVisible(), hasProjects); - QCOMPARE(addContextAction->isVisible(), hasContexts); - QCOMPARE(addTagAction->isVisible(), hasTags); - } - void shouldDisplayListFromPageModel() { // GIVEN @@ -367,35 +335,6 @@ QCOMPARE(model.contextNames.first(), QStringLiteral("Foo")); } - void shouldAddNewTags() - { - // GIVEN - AvailablePagesModelStub model; - QStringListModel sourceModel; - auto dialogStub = NewProjectDialogStub::Ptr::create(); - - auto source = Domain::DataSource::Ptr::create(); - - auto msgBoxStub = MessageBoxStub::Ptr::create(); - msgBoxStub->setTextInput(QStringLiteral("Foo")); - - Widgets::AvailablePagesView available; - available.setModel(&model); - available.setProjectSourcesModel(&sourceModel); - available.setDefaultProjectSource(source); - available.setMessageBoxInterface(msgBoxStub); - - auto addTagAction = available.findChild(QStringLiteral("addTagAction")); - - // WHEN - addTagAction->trigger(); - - // THEN - QVERIFY(msgBoxStub->called()); - QCOMPARE(model.tagNames.size(), 1); - QCOMPARE(model.tagNames.first(), QStringLiteral("Foo")); - } - void shouldRemoveAPage_data() { QTest::addColumn("object");