From cfabf56e44d9b6d80f16dcc5bb4ce4c6721a3e34 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Tue, 24 Nov 2015 10:52:53 +0100 Subject: [PATCH] Some more changes to entry points. --- src/core/feedsmodel.cpp | 2 +- src/core/feedsmodel.h | 4 ++-- src/network-web/webbrowser.cpp | 14 +++++++++++++- src/services/abstract/serviceentrypoint.h | 15 --------------- .../standard/standardserviceentrypoint.cpp | 12 ------------ src/services/standard/standardserviceentrypoint.h | 3 --- src/services/tt-rss/ttrssserviceentrypoint.cpp | 12 ------------ src/services/tt-rss/ttrssserviceentrypoint.h | 3 --- 8 files changed, 16 insertions(+), 49 deletions(-) diff --git a/src/core/feedsmodel.cpp b/src/core/feedsmodel.cpp index b40319a00..b5916b72d 100755 --- a/src/core/feedsmodel.cpp +++ b/src/core/feedsmodel.cpp @@ -390,7 +390,7 @@ QList FeedsModel::serviceRoots() { } StandardServiceRoot *FeedsModel::standardServiceRoot() { - foreach (RootItem *root, m_rootItem->childItems()) { + foreach (RootItem *root, serviceRoots()) { StandardServiceRoot *std_service_root; if ((std_service_root = dynamic_cast(root)) != NULL) { diff --git a/src/core/feedsmodel.h b/src/core/feedsmodel.h index 14728559e..c1cfff0ca 100755 --- a/src/core/feedsmodel.h +++ b/src/core/feedsmodel.h @@ -39,6 +39,8 @@ class FeedsModel : public QAbstractItemModel { explicit FeedsModel(QObject *parent = 0); virtual ~FeedsModel(); + DatabaseCleaner *databaseCleaner(); + // Model implementation. inline QVariant data(const QModelIndex &index, int role) const { // Return data according to item. @@ -139,8 +141,6 @@ class FeedsModel : public QAbstractItemModel { // Schedules all feeds from all accounts for update. void updateAllFeeds(); - DatabaseCleaner *databaseCleaner(); - // Adds given service root account. bool addServiceAccount(ServiceRoot *root); diff --git a/src/network-web/webbrowser.cpp b/src/network-web/webbrowser.cpp index 7a41612f2..9bd5ea1a2 100755 --- a/src/network-web/webbrowser.cpp +++ b/src/network-web/webbrowser.cpp @@ -215,7 +215,19 @@ void WebBrowser::onIconChanged() { void WebBrowser::addFeedFromWebsite(const QString &feed_link) { qApp->clipboard()->setText(feed_link); - qApp->mainForm()->tabWidget()->feedMessageViewer()->feedsView()->sourceModel()->standardServiceRoot()->addNewFeed(); + + StandardServiceRoot *service = qApp->mainForm()->tabWidget()->feedMessageViewer()->feedsView()->sourceModel()->standardServiceRoot(); + + if (service != NULL) { + service->addNewFeed(); + } + else { + qApp->showGuiMessage(tr("Cannot add feed"), + tr("You cannot add this feed to %1 because standard RSS/ATOM account is not enabled. Enable it first.").arg(APP_NAME), + QSystemTrayIcon::Warning, + qApp->mainForm(), + true); + } } void WebBrowser::onTitleChanged(const QString &new_title) { diff --git a/src/services/abstract/serviceentrypoint.h b/src/services/abstract/serviceentrypoint.h index ecfc75334..06f1bd83c 100755 --- a/src/services/abstract/serviceentrypoint.h +++ b/src/services/abstract/serviceentrypoint.h @@ -39,26 +39,11 @@ class ServiceEntryPoint { // to the global feed model. virtual QList initializeSubtree(FeedsModel *main_model) = 0; - // Must this service account be activated by default? - // NOTE: This is true particularly for "standard" service - // which operates with normal RSS/ATOM feeds. - virtual bool isDefaultService() = 0; - // Can this service account be added just once? // NOTE: This is true particularly for "standard" service // which operates with normal RSS/ATOM feeds. virtual bool isSingleInstanceService() = 0; - // Can this service account be added by user via GUI? - // NOTE: This is true particularly for "standard" service - // which operates with normal RSS/ATOM feeds. - virtual bool canBeAdded() = 0; - - // Can this service account by deleted by user via GUI? - // NOTE: This is false particularly for "standard" service - // which operates with normal RSS/ATOM feeds. - virtual bool canBeDeleted() = 0; - // Can properties of this service account be edited by user via GUI? virtual bool canBeEdited() = 0; diff --git a/src/services/standard/standardserviceentrypoint.cpp b/src/services/standard/standardserviceentrypoint.cpp index 3156a927c..e42076b30 100755 --- a/src/services/standard/standardserviceentrypoint.cpp +++ b/src/services/standard/standardserviceentrypoint.cpp @@ -29,22 +29,10 @@ StandardServiceEntryPoint::StandardServiceEntryPoint() { StandardServiceEntryPoint::~StandardServiceEntryPoint() { } -bool StandardServiceEntryPoint::isDefaultService() { - return true; -} - bool StandardServiceEntryPoint::isSingleInstanceService() { return true; } -bool StandardServiceEntryPoint::canBeAdded() { - return false; -} - -bool StandardServiceEntryPoint::canBeDeleted() { - return false; -} - bool StandardServiceEntryPoint::canBeEdited() { return false; } diff --git a/src/services/standard/standardserviceentrypoint.h b/src/services/standard/standardserviceentrypoint.h index 1bf1e1654..0a719413f 100755 --- a/src/services/standard/standardserviceentrypoint.h +++ b/src/services/standard/standardserviceentrypoint.h @@ -26,10 +26,7 @@ class StandardServiceEntryPoint : public ServiceEntryPoint { explicit StandardServiceEntryPoint(); virtual ~StandardServiceEntryPoint(); - bool isDefaultService(); bool isSingleInstanceService(); - bool canBeAdded(); - bool canBeDeleted(); bool canBeEdited(); QString name(); QString description(); diff --git a/src/services/tt-rss/ttrssserviceentrypoint.cpp b/src/services/tt-rss/ttrssserviceentrypoint.cpp index c37c17f2a..da2b7d854 100755 --- a/src/services/tt-rss/ttrssserviceentrypoint.cpp +++ b/src/services/tt-rss/ttrssserviceentrypoint.cpp @@ -29,22 +29,10 @@ TtRssServiceEntryPoint::~TtRssServiceEntryPoint() { } -bool TtRssServiceEntryPoint::isDefaultService() { - return false; -} - bool TtRssServiceEntryPoint::isSingleInstanceService() { return false; } -bool TtRssServiceEntryPoint::canBeAdded() { - return true; -} - -bool TtRssServiceEntryPoint::canBeDeleted() { - return true; -} - bool TtRssServiceEntryPoint::canBeEdited() { return true; } diff --git a/src/services/tt-rss/ttrssserviceentrypoint.h b/src/services/tt-rss/ttrssserviceentrypoint.h index 6447cc567..6d04cf4d0 100755 --- a/src/services/tt-rss/ttrssserviceentrypoint.h +++ b/src/services/tt-rss/ttrssserviceentrypoint.h @@ -27,10 +27,7 @@ class TtRssServiceEntryPoint : public ServiceEntryPoint { explicit TtRssServiceEntryPoint(); virtual ~TtRssServiceEntryPoint(); - bool isDefaultService(); bool isSingleInstanceService(); - bool canBeAdded(); - bool canBeDeleted(); bool canBeEdited(); QString name(); QString description();