From 671392565815e54c313ce695482b2a37b522a1b2 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Wed, 20 Mar 2024 08:06:58 +0100 Subject: [PATCH] greader --- CMakeLists.txt | 1 + .../src/feedlyentrypoint.cpp | 4 - src/librssguard-feedly/src/feedlyentrypoint.h | 1 - src/librssguard-gmail/src/gmailentrypoint.cpp | 4 - src/librssguard-gmail/src/gmailentrypoint.h | 1 - src/librssguard-greader/CMakeLists.txt | 84 +++++++++++++++++++ src/librssguard-greader/plugin.json | 5 ++ .../src}/definitions.h | 0 .../src}/greaderentrypoint.cpp | 21 +++-- .../src}/greaderentrypoint.h | 11 ++- .../src}/greaderfeed.cpp | 17 ++-- .../src}/greaderfeed.h | 2 +- .../src}/greadernetwork.cpp | 31 ++++--- .../src}/greadernetwork.h | 6 +- .../src}/greaderserviceroot.cpp | 31 +++---- .../src}/greaderserviceroot.h | 4 +- .../src}/gui/formeditgreaderaccount.cpp | 13 +-- .../src}/gui/formeditgreaderaccount.h | 2 +- .../src}/gui/formgreaderfeeddetails.cpp | 19 +++-- .../src}/gui/formgreaderfeeddetails.h | 2 +- .../src}/gui/greaderaccountdetails.cpp | 19 +++-- .../src}/gui/greaderaccountdetails.h | 2 +- .../src}/gui/greaderaccountdetails.ui | 0 .../src}/gui/greaderfeeddetails.cpp | 8 +- .../src}/gui/greaderfeeddetails.h | 0 .../src}/gui/greaderfeeddetails.ui | 0 .../src/standardserviceentrypoint.cpp | 4 - .../src/standardserviceentrypoint.h | 1 - src/librssguard/CMakeLists.txt | 19 ----- src/librssguard/gui/reusable/baselineedit.h | 2 +- src/librssguard/gui/reusable/basetreeview.h | 2 +- .../gui/reusable/resizablestackedwidget.h | 2 +- src/librssguard/miscellaneous/feedreader.cpp | 2 - .../miscellaneous/pluginfactory.cpp | 1 + .../services/abstract/serviceentrypoint.h | 12 ++- 35 files changed, 208 insertions(+), 125 deletions(-) create mode 100644 src/librssguard-greader/CMakeLists.txt create mode 100644 src/librssguard-greader/plugin.json rename src/{librssguard/services/greader => librssguard-greader/src}/definitions.h (100%) rename src/{librssguard/services/greader => librssguard-greader/src}/greaderentrypoint.cpp (66%) rename src/{librssguard/services/greader => librssguard-greader/src}/greaderentrypoint.h (55%) rename src/{librssguard/services/greader => librssguard-greader/src}/greaderfeed.cpp (78%) rename src/{librssguard/services/greader => librssguard-greader/src}/greaderfeed.h (90%) rename src/{librssguard/services/greader => librssguard-greader/src}/greadernetwork.cpp (96%) rename src/{librssguard/services/greader => librssguard-greader/src}/greadernetwork.h (95%) rename src/{librssguard/services/greader => librssguard-greader/src}/greaderserviceroot.cpp (95%) rename src/{librssguard/services/greader => librssguard-greader/src}/greaderserviceroot.h (95%) rename src/{librssguard/services/greader => librssguard-greader/src}/gui/formeditgreaderaccount.cpp (92%) rename src/{librssguard/services/greader => librssguard-greader/src}/gui/formeditgreaderaccount.h (89%) rename src/{librssguard/services/greader => librssguard-greader/src}/gui/formgreaderfeeddetails.cpp (88%) rename src/{librssguard/services/greader => librssguard-greader/src}/gui/formgreaderfeeddetails.h (89%) rename src/{librssguard/services/greader => librssguard-greader/src}/gui/greaderaccountdetails.cpp (94%) rename src/{librssguard/services/greader => librssguard-greader/src}/gui/greaderaccountdetails.h (92%) rename src/{librssguard/services/greader => librssguard-greader/src}/gui/greaderaccountdetails.ui (100%) rename src/{librssguard/services/greader => librssguard-greader/src}/gui/greaderfeeddetails.cpp (89%) rename src/{librssguard/services/greader => librssguard-greader/src}/gui/greaderfeeddetails.h (100%) rename src/{librssguard/services/greader => librssguard-greader/src}/gui/greaderfeeddetails.ui (100%) 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")