diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a0c260c2..a6db4df14 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -326,6 +326,7 @@ add_subdirectory(localization) add_subdirectory(src/librssguard-standard) add_subdirectory(src/librssguard-feedly) add_subdirectory(src/librssguard-gmail) +add_subdirectory(src/librssguard-greader) # GUI executable. add_subdirectory(src/rssguard) diff --git a/src/librssguard-feedly/src/feedlyentrypoint.cpp b/src/librssguard-feedly/src/feedlyentrypoint.cpp index 9d00def77..143376928 100644 --- a/src/librssguard-feedly/src/feedlyentrypoint.cpp +++ b/src/librssguard-feedly/src/feedlyentrypoint.cpp @@ -49,7 +49,3 @@ QString FeedlyEntryPoint::author() const { QIcon FeedlyEntryPoint::icon() const { return qApp->icons()->miscIcon(QSL("feedly")); } - -bool FeedlyEntryPoint::isDynamicallyLoaded() const { - return true; -} diff --git a/src/librssguard-feedly/src/feedlyentrypoint.h b/src/librssguard-feedly/src/feedlyentrypoint.h index 48de55750..aa69f6f68 100644 --- a/src/librssguard-feedly/src/feedlyentrypoint.h +++ b/src/librssguard-feedly/src/feedlyentrypoint.h @@ -21,7 +21,6 @@ class FeedlyEntryPoint : public QObject, public ServiceEntryPoint { virtual QString description() const; virtual QString author() const; virtual QIcon icon() const; - virtual bool isDynamicallyLoaded() const; }; #endif // FEEDLYENTRYPOINT_H diff --git a/src/librssguard-gmail/src/gmailentrypoint.cpp b/src/librssguard-gmail/src/gmailentrypoint.cpp index d26e250df..d7bfc3e73 100644 --- a/src/librssguard-gmail/src/gmailentrypoint.cpp +++ b/src/librssguard-gmail/src/gmailentrypoint.cpp @@ -49,7 +49,3 @@ QString GmailEntryPoint::author() const { QIcon GmailEntryPoint::icon() const { return qApp->icons()->miscIcon(QSL("gmail")); } - -bool GmailEntryPoint::isDynamicallyLoaded() const { - return true; -} diff --git a/src/librssguard-gmail/src/gmailentrypoint.h b/src/librssguard-gmail/src/gmailentrypoint.h index 770079795..2f5b56186 100644 --- a/src/librssguard-gmail/src/gmailentrypoint.h +++ b/src/librssguard-gmail/src/gmailentrypoint.h @@ -21,7 +21,6 @@ class GmailEntryPoint : public QObject, public ServiceEntryPoint { virtual QString description() const; virtual QString author() const; virtual QIcon icon() const; - virtual bool isDynamicallyLoaded() const; }; #endif // GMAILENTRYPOINT_H diff --git a/src/librssguard-greader/CMakeLists.txt b/src/librssguard-greader/CMakeLists.txt new file mode 100644 index 000000000..63cecb4c2 --- /dev/null +++ b/src/librssguard-greader/CMakeLists.txt @@ -0,0 +1,84 @@ +if(NOT DEFINED LIBRSSGUARD_BINARY_PATH) + set(LIBRSSGUARD_SOURCE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/..") +endif() + +set(SOURCES + src/definitions.h + src/greaderentrypoint.cpp + src/greaderentrypoint.h + src/greaderfeed.cpp + src/greaderfeed.h + src/greadernetwork.cpp + src/greadernetwork.h + src/greaderserviceroot.cpp + src/greaderserviceroot.h + src/gui/formeditgreaderaccount.cpp + src/gui/formeditgreaderaccount.h + src/gui/formgreaderfeeddetails.cpp + src/gui/formgreaderfeeddetails.h + src/gui/greaderaccountdetails.cpp + src/gui/greaderaccountdetails.h + src/gui/greaderfeeddetails.cpp + src/gui/greaderfeeddetails.h +) + +set(UI_FILES + src/gui/greaderaccountdetails.ui + src/gui/greaderfeeddetails.ui +) + +# Deal with .ui files. +qt_wrap_ui(SOURCES ${UI_FILES}) + +# Bundle version info. +if(WIN32) + enable_language("RC") + list(APPEND SOURCES "${CMAKE_BINARY_DIR}/rssguard.rc") +endif() + +add_library(rssguard-greader SHARED ${SOURCES} ${QM_FILES}) + +# Add specific definitions. +target_compile_definitions(rssguard-greader + PRIVATE + RSSGUARD_DLLSPEC=Q_DECL_IMPORT + RSSGUARD_DLLSPEC_EXPORT=Q_DECL_EXPORT +) + +target_include_directories(rssguard-greader + PUBLIC + ${LIBRSSGUARD_SOURCE_PATH} + src/3rd-party/richtexteditor +) + +# Qt. +target_link_libraries(rssguard-greader PUBLIC + rssguard + Qt${QT_VERSION_MAJOR}::Core + Qt${QT_VERSION_MAJOR}::Gui + Qt${QT_VERSION_MAJOR}::Network + Qt${QT_VERSION_MAJOR}::Qml + Qt${QT_VERSION_MAJOR}::Sql + Qt${QT_VERSION_MAJOR}::Widgets + Qt${QT_VERSION_MAJOR}::Xml + Qt${QT_VERSION_MAJOR}::Concurrent +) + +#if(QT_VERSION_MAJOR EQUAL 6) +# target_link_libraries(rssguard-feedly PUBLIC +# Qt${QT_VERSION_MAJOR}::Core5Compat +# ) +#endif() + +if(WIN32 OR OS2) + install(TARGETS rssguard-greader DESTINATION plugins) +elseif(UNIX AND NOT APPLE AND NOT ANDROID) + include (GNUInstallDirs) + install(TARGETS rssguard-greader + DESTINATION ${CMAKE_INSTALL_LIBDIR}/rssguard + ) +elseif(APPLE) + install(TARGETS rssguard-greader + DESTINATION Contents/MacOS + ) +endif() diff --git a/src/librssguard-greader/plugin.json b/src/librssguard-greader/plugin.json new file mode 100644 index 000000000..834395cb8 --- /dev/null +++ b/src/librssguard-greader/plugin.json @@ -0,0 +1,5 @@ +{ + "name": "Google Reader API", + "author": "Martin Rotter", + "website": "https://github.com/martinrotter/rssguard" +} \ No newline at end of file diff --git a/src/librssguard/services/greader/definitions.h b/src/librssguard-greader/src/definitions.h similarity index 100% rename from src/librssguard/services/greader/definitions.h rename to src/librssguard-greader/src/definitions.h diff --git a/src/librssguard/services/greader/greaderentrypoint.cpp b/src/librssguard-greader/src/greaderentrypoint.cpp similarity index 66% rename from src/librssguard/services/greader/greaderentrypoint.cpp rename to src/librssguard-greader/src/greaderentrypoint.cpp index 950f54840..7ef990ef3 100644 --- a/src/librssguard/services/greader/greaderentrypoint.cpp +++ b/src/librssguard-greader/src/greaderentrypoint.cpp @@ -1,13 +1,20 @@ // For license of this file, see /LICENSE.md. -#include "services/greader/greaderentrypoint.h" +#include "src/greaderentrypoint.h" -#include "database/databasequeries.h" -#include "definitions/definitions.h" -#include "miscellaneous/application.h" -#include "miscellaneous/iconfactory.h" -#include "services/greader/greaderserviceroot.h" -#include "services/greader/gui/formeditgreaderaccount.h" +#include "src/greaderserviceroot.h" +#include "src/gui/formeditgreaderaccount.h" + +#include +#include +#include +#include + +GreaderEntryPoint::GreaderEntryPoint(QObject* parent) : QObject(parent) {} + +GreaderEntryPoint::~GreaderEntryPoint() { + qDebugNN << LOGSEC_CORE << "Destructing" << QUOTE_W_SPACE(QSL(SERVICE_CODE_GREADER)) << "plugin."; +} ServiceRoot* GreaderEntryPoint::createNewRoot() const { FormEditGreaderAccount form_acc(qApp->mainFormWidget()); diff --git a/src/librssguard/services/greader/greaderentrypoint.h b/src/librssguard-greader/src/greaderentrypoint.h similarity index 55% rename from src/librssguard/services/greader/greaderentrypoint.h rename to src/librssguard-greader/src/greaderentrypoint.h index 3cb92c374..2dab23226 100644 --- a/src/librssguard/services/greader/greaderentrypoint.h +++ b/src/librssguard-greader/src/greaderentrypoint.h @@ -3,10 +3,17 @@ #ifndef GREADERENTRYPOINT_H #define GREADERENTRYPOINT_H -#include "services/abstract/serviceentrypoint.h" +#include + +class GreaderEntryPoint : public QObject, public ServiceEntryPoint { + Q_OBJECT + Q_PLUGIN_METADATA(IID "io.github.martinrotter.rssguard.greader" FILE "plugin.json") + Q_INTERFACES(ServiceEntryPoint) -class GreaderEntryPoint : public ServiceEntryPoint { public: + explicit GreaderEntryPoint(QObject* parent = nullptr); + virtual ~GreaderEntryPoint(); + virtual ServiceRoot* createNewRoot() const; virtual QList initializeSubtree() const; virtual QString name() const; diff --git a/src/librssguard/services/greader/greaderfeed.cpp b/src/librssguard-greader/src/greaderfeed.cpp similarity index 78% rename from src/librssguard/services/greader/greaderfeed.cpp rename to src/librssguard-greader/src/greaderfeed.cpp index ee44dd506..849a15e33 100644 --- a/src/librssguard/services/greader/greaderfeed.cpp +++ b/src/librssguard-greader/src/greaderfeed.cpp @@ -1,14 +1,15 @@ // For license of this file, see /LICENSE.md. -#include "services/greader/greaderfeed.h" +#include "src/greaderfeed.h" -#include "database/databasequeries.h" -#include "definitions/definitions.h" -#include "miscellaneous/application.h" -#include "miscellaneous/iconfactory.h" -#include "services/greader/definitions.h" -#include "services/greader/greadernetwork.h" -#include "services/greader/greaderserviceroot.h" +#include "src/definitions.h" +#include "src/greadernetwork.h" +#include "src/greaderserviceroot.h" + +#include +#include +#include +#include #include diff --git a/src/librssguard/services/greader/greaderfeed.h b/src/librssguard-greader/src/greaderfeed.h similarity index 90% rename from src/librssguard/services/greader/greaderfeed.h rename to src/librssguard-greader/src/greaderfeed.h index c653d242d..2f37a8f74 100644 --- a/src/librssguard/services/greader/greaderfeed.h +++ b/src/librssguard-greader/src/greaderfeed.h @@ -3,7 +3,7 @@ #ifndef GREADERFEED_H #define GREADERFEED_H -#include "services/abstract/feed.h" +#include class GreaderServiceRoot; diff --git a/src/librssguard/services/greader/greadernetwork.cpp b/src/librssguard-greader/src/greadernetwork.cpp similarity index 96% rename from src/librssguard/services/greader/greadernetwork.cpp rename to src/librssguard-greader/src/greadernetwork.cpp index 3b4da829e..387830f52 100644 --- a/src/librssguard/services/greader/greadernetwork.cpp +++ b/src/librssguard-greader/src/greadernetwork.cpp @@ -1,22 +1,21 @@ // For license of this file, see /LICENSE.md. -#include "services/greader/greadernetwork.h" +#include "src/greadernetwork.h" -#include "3rd-party/boolinq/boolinq.h" -#include "database/databasequeries.h" -#include "exceptions/applicationexception.h" -#include "exceptions/feedfetchexception.h" -#include "exceptions/networkexception.h" -#include "miscellaneous/application.h" -#include "miscellaneous/settings.h" -#include "network-web/networkfactory.h" -#include "network-web/oauth2service.h" -#include "network-web/webfactory.h" -#include "services/abstract/category.h" -#include "services/abstract/label.h" -#include "services/abstract/labelsnode.h" -#include "services/greader/definitions.h" -#include "services/greader/greaderfeed.h" +#include "src/definitions.h" +#include "src/greaderfeed.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/src/librssguard/services/greader/greadernetwork.h b/src/librssguard-greader/src/greadernetwork.h similarity index 95% rename from src/librssguard/services/greader/greadernetwork.h rename to src/librssguard-greader/src/greadernetwork.h index 3a1e2931d..3391eba56 100644 --- a/src/librssguard/services/greader/greadernetwork.h +++ b/src/librssguard-greader/src/greadernetwork.h @@ -3,9 +3,9 @@ #ifndef GREADERNETWORK_H #define GREADERNETWORK_H -#include "network-web/networkfactory.h" -#include "services/abstract/feed.h" -#include "services/greader/greaderserviceroot.h" +#include "src/greaderserviceroot.h" + +#include #include diff --git a/src/librssguard/services/greader/greaderserviceroot.cpp b/src/librssguard-greader/src/greaderserviceroot.cpp similarity index 95% rename from src/librssguard/services/greader/greaderserviceroot.cpp rename to src/librssguard-greader/src/greaderserviceroot.cpp index b79b2865a..938ca912d 100644 --- a/src/librssguard/services/greader/greaderserviceroot.cpp +++ b/src/librssguard-greader/src/greaderserviceroot.cpp @@ -1,21 +1,22 @@ // For license of this file, see /LICENSE.md. -#include "services/greader/greaderserviceroot.h" +#include "src/greaderserviceroot.h" -#include "database/databasequeries.h" -#include "definitions/definitions.h" -#include "gui/messagebox.h" -#include "miscellaneous/application.h" -#include "miscellaneous/iconfactory.h" -#include "miscellaneous/mutex.h" -#include "miscellaneous/textfactory.h" -#include "network-web/oauth2service.h" -#include "services/greader/definitions.h" -#include "services/greader/greaderentrypoint.h" -#include "services/greader/greaderfeed.h" -#include "services/greader/greadernetwork.h" -#include "services/greader/gui/formeditgreaderaccount.h" -#include "services/greader/gui/formgreaderfeeddetails.h" +#include "src/definitions.h" +#include "src/greaderentrypoint.h" +#include "src/greaderfeed.h" +#include "src/greadernetwork.h" +#include "src/gui/formeditgreaderaccount.h" +#include "src/gui/formgreaderfeeddetails.h" + +#include +#include +#include +#include +#include +#include +#include +#include #include diff --git a/src/librssguard/services/greader/greaderserviceroot.h b/src/librssguard-greader/src/greaderserviceroot.h similarity index 95% rename from src/librssguard/services/greader/greaderserviceroot.h rename to src/librssguard-greader/src/greaderserviceroot.h index 1b9f480bf..a0fa7a42b 100644 --- a/src/librssguard/services/greader/greaderserviceroot.h +++ b/src/librssguard-greader/src/greaderserviceroot.h @@ -3,8 +3,8 @@ #ifndef GREADERSERVICEROOT_H #define GREADERSERVICEROOT_H -#include "services/abstract/cacheforserviceroot.h" -#include "services/abstract/serviceroot.h" +#include +#include class GreaderNetwork; diff --git a/src/librssguard/services/greader/gui/formeditgreaderaccount.cpp b/src/librssguard-greader/src/gui/formeditgreaderaccount.cpp similarity index 92% rename from src/librssguard/services/greader/gui/formeditgreaderaccount.cpp rename to src/librssguard-greader/src/gui/formeditgreaderaccount.cpp index 3e5467088..1f48b983c 100644 --- a/src/librssguard/services/greader/gui/formeditgreaderaccount.cpp +++ b/src/librssguard-greader/src/gui/formeditgreaderaccount.cpp @@ -1,12 +1,13 @@ // For license of this file, see /LICENSE.md. -#include "services/greader/gui/formeditgreaderaccount.h" +#include "src/gui/formeditgreaderaccount.h" -#include "miscellaneous/iconfactory.h" -#include "network-web/oauth2service.h" -#include "services/greader/greadernetwork.h" -#include "services/greader/greaderserviceroot.h" -#include "services/greader/gui/greaderaccountdetails.h" +#include "src/greadernetwork.h" +#include "src/greaderserviceroot.h" +#include "src/gui/greaderaccountdetails.h" + +#include +#include FormEditGreaderAccount::FormEditGreaderAccount(QWidget* parent) : FormAccountDetails(qApp->icons()->miscIcon(QSL("google")), parent), m_details(new GreaderAccountDetails(this)) { diff --git a/src/librssguard/services/greader/gui/formeditgreaderaccount.h b/src/librssguard-greader/src/gui/formeditgreaderaccount.h similarity index 89% rename from src/librssguard/services/greader/gui/formeditgreaderaccount.h rename to src/librssguard-greader/src/gui/formeditgreaderaccount.h index 3187980c4..a1fe60c97 100644 --- a/src/librssguard/services/greader/gui/formeditgreaderaccount.h +++ b/src/librssguard-greader/src/gui/formeditgreaderaccount.h @@ -3,7 +3,7 @@ #ifndef FORMEDITGREADERACCOUNT_H #define FORMEDITGREADERACCOUNT_H -#include "services/abstract/gui/formaccountdetails.h" +#include class GreaderAccountDetails; class GreaderServiceRoot; diff --git a/src/librssguard/services/greader/gui/formgreaderfeeddetails.cpp b/src/librssguard-greader/src/gui/formgreaderfeeddetails.cpp similarity index 88% rename from src/librssguard/services/greader/gui/formgreaderfeeddetails.cpp rename to src/librssguard-greader/src/gui/formgreaderfeeddetails.cpp index 5fcc83788..6d99f0cae 100644 --- a/src/librssguard/services/greader/gui/formgreaderfeeddetails.cpp +++ b/src/librssguard-greader/src/gui/formgreaderfeeddetails.cpp @@ -1,15 +1,16 @@ // For license of this file, see /LICENSE.md. -#include "services/greader/gui/formgreaderfeeddetails.h" +#include "src/gui/formgreaderfeeddetails.h" -#include "database/databasequeries.h" -#include "exceptions/applicationexception.h" -#include "miscellaneous/application.h" -#include "services/greader/definitions.h" -#include "services/greader/greaderfeed.h" -#include "services/greader/greadernetwork.h" -#include "services/greader/greaderserviceroot.h" -#include "services/greader/gui/greaderfeeddetails.h" +#include "src/definitions.h" +#include "src/greaderfeed.h" +#include "src/greadernetwork.h" +#include "src/greaderserviceroot.h" +#include "src/gui/greaderfeeddetails.h" + +#include +#include +#include #include #include diff --git a/src/librssguard/services/greader/gui/formgreaderfeeddetails.h b/src/librssguard-greader/src/gui/formgreaderfeeddetails.h similarity index 89% rename from src/librssguard/services/greader/gui/formgreaderfeeddetails.h rename to src/librssguard-greader/src/gui/formgreaderfeeddetails.h index edaa37c75..07051056a 100644 --- a/src/librssguard/services/greader/gui/formgreaderfeeddetails.h +++ b/src/librssguard-greader/src/gui/formgreaderfeeddetails.h @@ -3,7 +3,7 @@ #ifndef FORMGREADERFEEDDETAILS_H #define FORMGREADERFEEDDETAILS_H -#include "services/abstract/gui/formfeeddetails.h" +#include class GreaderFeed; class GreaderFeedDetails; diff --git a/src/librssguard/services/greader/gui/greaderaccountdetails.cpp b/src/librssguard-greader/src/gui/greaderaccountdetails.cpp similarity index 94% rename from src/librssguard/services/greader/gui/greaderaccountdetails.cpp rename to src/librssguard-greader/src/gui/greaderaccountdetails.cpp index f37175b1d..33cfa2de8 100644 --- a/src/librssguard/services/greader/gui/greaderaccountdetails.cpp +++ b/src/librssguard-greader/src/gui/greaderaccountdetails.cpp @@ -1,15 +1,16 @@ // For license of this file, see /LICENSE.md. -#include "services/greader/gui/greaderaccountdetails.h" +#include "src/gui/greaderaccountdetails.h" -#include "definitions/definitions.h" -#include "exceptions/applicationexception.h" -#include "miscellaneous/application.h" -#include "miscellaneous/iconfactory.h" -#include "network-web/oauth2service.h" -#include "network-web/webfactory.h" -#include "services/greader/definitions.h" -#include "services/greader/greadernetwork.h" +#include "src/definitions.h" +#include "src/greadernetwork.h" + +#include +#include +#include +#include +#include +#include #include #include diff --git a/src/librssguard/services/greader/gui/greaderaccountdetails.h b/src/librssguard-greader/src/gui/greaderaccountdetails.h similarity index 92% rename from src/librssguard/services/greader/gui/greaderaccountdetails.h rename to src/librssguard-greader/src/gui/greaderaccountdetails.h index 6f9378f5c..ead9d8f5d 100644 --- a/src/librssguard/services/greader/gui/greaderaccountdetails.h +++ b/src/librssguard-greader/src/gui/greaderaccountdetails.h @@ -3,7 +3,7 @@ #ifndef GREADERACCOUNTDETAILS_H #define GREADERACCOUNTDETAILS_H -#include "services/greader/greaderserviceroot.h" +#include "src/greaderserviceroot.h" #include "ui_greaderaccountdetails.h" diff --git a/src/librssguard/services/greader/gui/greaderaccountdetails.ui b/src/librssguard-greader/src/gui/greaderaccountdetails.ui similarity index 100% rename from src/librssguard/services/greader/gui/greaderaccountdetails.ui rename to src/librssguard-greader/src/gui/greaderaccountdetails.ui diff --git a/src/librssguard/services/greader/gui/greaderfeeddetails.cpp b/src/librssguard-greader/src/gui/greaderfeeddetails.cpp similarity index 89% rename from src/librssguard/services/greader/gui/greaderfeeddetails.cpp rename to src/librssguard-greader/src/gui/greaderfeeddetails.cpp index 24255326f..96da70873 100644 --- a/src/librssguard/services/greader/gui/greaderfeeddetails.cpp +++ b/src/librssguard-greader/src/gui/greaderfeeddetails.cpp @@ -1,9 +1,11 @@ // For license of this file, see /LICENSE.md. -#include "services/greader/gui/greaderfeeddetails.h" +#include "src/gui/greaderfeeddetails.h" -#include "definitions/definitions.h" -#include "services/abstract/category.h" +#include +#include +#include +#include GreaderFeedDetails::GreaderFeedDetails(QWidget* parent) : QWidget(parent) { ui.setupUi(this); diff --git a/src/librssguard/services/greader/gui/greaderfeeddetails.h b/src/librssguard-greader/src/gui/greaderfeeddetails.h similarity index 100% rename from src/librssguard/services/greader/gui/greaderfeeddetails.h rename to src/librssguard-greader/src/gui/greaderfeeddetails.h diff --git a/src/librssguard/services/greader/gui/greaderfeeddetails.ui b/src/librssguard-greader/src/gui/greaderfeeddetails.ui similarity index 100% rename from src/librssguard/services/greader/gui/greaderfeeddetails.ui rename to src/librssguard-greader/src/gui/greaderfeeddetails.ui diff --git a/src/librssguard-standard/src/standardserviceentrypoint.cpp b/src/librssguard-standard/src/standardserviceentrypoint.cpp index 957c796f4..636642d3d 100644 --- a/src/librssguard-standard/src/standardserviceentrypoint.cpp +++ b/src/librssguard-standard/src/standardserviceentrypoint.cpp @@ -48,7 +48,3 @@ QList StandardServiceEntryPoint::initializeSubtree() const { return DatabaseQueries::getAccounts(database, code()); } - -bool StandardServiceEntryPoint::isDynamicallyLoaded() const { - return true; -} diff --git a/src/librssguard-standard/src/standardserviceentrypoint.h b/src/librssguard-standard/src/standardserviceentrypoint.h index 2e1dc64d6..236abb709 100644 --- a/src/librssguard-standard/src/standardserviceentrypoint.h +++ b/src/librssguard-standard/src/standardserviceentrypoint.h @@ -21,7 +21,6 @@ class RSSGUARD_DLLSPEC_EXPORT StandardServiceEntryPoint : public QObject, public virtual QString code() const; virtual ServiceRoot* createNewRoot() const; virtual QList initializeSubtree() const; - virtual bool isDynamicallyLoaded() const; }; #endif // STANDARDSERVICEENTRYPOINT_H diff --git a/src/librssguard/CMakeLists.txt b/src/librssguard/CMakeLists.txt index 1fdd827ad..71b780fe9 100644 --- a/src/librssguard/CMakeLists.txt +++ b/src/librssguard/CMakeLists.txt @@ -324,23 +324,6 @@ set(SOURCES services/abstract/serviceroot.h services/abstract/unreadnode.cpp services/abstract/unreadnode.h - services/greader/definitions.h - services/greader/greaderentrypoint.cpp - services/greader/greaderentrypoint.h - services/greader/greaderfeed.cpp - services/greader/greaderfeed.h - services/greader/greadernetwork.cpp - services/greader/greadernetwork.h - services/greader/greaderserviceroot.cpp - services/greader/greaderserviceroot.h - services/greader/gui/formeditgreaderaccount.cpp - services/greader/gui/formeditgreaderaccount.h - services/greader/gui/formgreaderfeeddetails.cpp - services/greader/gui/formgreaderfeeddetails.h - services/greader/gui/greaderaccountdetails.cpp - services/greader/gui/greaderaccountdetails.h - services/greader/gui/greaderfeeddetails.cpp - services/greader/gui/greaderfeeddetails.h services/owncloud/definitions.h services/owncloud/gui/formeditowncloudaccount.cpp services/owncloud/gui/formeditowncloudaccount.h @@ -432,8 +415,6 @@ set(UI_FILES services/abstract/gui/formaddeditprobe.ui services/abstract/gui/formcategorydetails.ui services/abstract/gui/formfeeddetails.ui - services/greader/gui/greaderaccountdetails.ui - services/greader/gui/greaderfeeddetails.ui services/owncloud/gui/owncloudaccountdetails.ui services/reddit/gui/redditaccountdetails.ui services/tt-rss/gui/formttrssnote.ui diff --git a/src/librssguard/gui/reusable/baselineedit.h b/src/librssguard/gui/reusable/baselineedit.h index 9bb50e47c..0fe439cad 100644 --- a/src/librssguard/gui/reusable/baselineedit.h +++ b/src/librssguard/gui/reusable/baselineedit.h @@ -5,7 +5,7 @@ #include -class BaseLineEdit : public QLineEdit { +class RSSGUARD_DLLSPEC BaseLineEdit : public QLineEdit { Q_OBJECT public: diff --git a/src/librssguard/gui/reusable/basetreeview.h b/src/librssguard/gui/reusable/basetreeview.h index ebf641f24..88dbf4c1c 100644 --- a/src/librssguard/gui/reusable/basetreeview.h +++ b/src/librssguard/gui/reusable/basetreeview.h @@ -5,7 +5,7 @@ #include -class BaseTreeView : public QTreeView { +class RSSGUARD_DLLSPEC BaseTreeView : public QTreeView { Q_OBJECT public: diff --git a/src/librssguard/gui/reusable/resizablestackedwidget.h b/src/librssguard/gui/reusable/resizablestackedwidget.h index f05860bda..097c17904 100644 --- a/src/librssguard/gui/reusable/resizablestackedwidget.h +++ b/src/librssguard/gui/reusable/resizablestackedwidget.h @@ -5,7 +5,7 @@ #include -class ResizableStackedWidget : public QStackedWidget { +class RSSGUARD_DLLSPEC ResizableStackedWidget : public QStackedWidget { public: explicit ResizableStackedWidget(QWidget* parent = nullptr); diff --git a/src/librssguard/miscellaneous/feedreader.cpp b/src/librssguard/miscellaneous/feedreader.cpp index 5f5b080c8..8d234089f 100644 --- a/src/librssguard/miscellaneous/feedreader.cpp +++ b/src/librssguard/miscellaneous/feedreader.cpp @@ -16,7 +16,6 @@ #include "miscellaneous/settings.h" #include "services/abstract/cacheforserviceroot.h" #include "services/abstract/serviceroot.h" -#include "services/greader/greaderentrypoint.h" #include "services/owncloud/owncloudserviceentrypoint.h" #include "services/reddit/redditentrypoint.h" #include "services/tt-rss/ttrssserviceentrypoint.h" @@ -67,7 +66,6 @@ FeedReader::~FeedReader() { QList FeedReader::feedServices() { if (m_feedServices.isEmpty()) { - m_feedServices.append(new GreaderEntryPoint()); m_feedServices.append(new OwnCloudServiceEntryPoint()); #if !defined(NDEBUG) diff --git a/src/librssguard/miscellaneous/pluginfactory.cpp b/src/librssguard/miscellaneous/pluginfactory.cpp index 74188340f..123099408 100644 --- a/src/librssguard/miscellaneous/pluginfactory.cpp +++ b/src/librssguard/miscellaneous/pluginfactory.cpp @@ -45,6 +45,7 @@ QList PluginFactory::loadPlugins() const { else { qDebugNN << LOGSEC_CORE << "Plugin" << QUOTE_W_SPACE(plugin_file.absoluteFilePath()) << "loaded."; + plugin_instance->setIsDynamicallyLoaded(true); plugins.append(plugin_instance); } } diff --git a/src/librssguard/services/abstract/serviceentrypoint.h b/src/librssguard/services/abstract/serviceentrypoint.h index b9e37f14f..d8404572d 100644 --- a/src/librssguard/services/abstract/serviceentrypoint.h +++ b/src/librssguard/services/abstract/serviceentrypoint.h @@ -44,11 +44,19 @@ class RSSGUARD_DLLSPEC ServiceEntryPoint { // Icon of the service. virtual QIcon icon() const = 0; - virtual bool isDynamicallyLoaded() const; + bool isDynamicallyLoaded() const; + void setIsDynamicallyLoaded(bool dynamic); + + private: + bool m_isDynamicallyLoaded = false; }; inline bool ServiceEntryPoint::isDynamicallyLoaded() const { - return false; + return m_isDynamicallyLoaded; +} + +inline void ServiceEntryPoint::setIsDynamicallyLoaded(bool dynamic) { + m_isDynamicallyLoaded = dynamic; } Q_DECLARE_INTERFACE(ServiceEntryPoint, "io.github.martinrotter.rssguard.serviceentrypoint")