From 93bc23d69cfa2bb7c35411ca239f9367262436c9 Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Sat, 30 Jan 2021 20:03:26 +0100 Subject: [PATCH] icon for bazqux, some minor stuff --- README.md | 5 ++++- pri/vars.pri | 2 +- resources/docs/Documentation.md | 18 ++++++++++++++++++ .../docs/images/greader-api-settings.png | Bin 0 -> 19935 bytes resources/graphics/misc/bazqux.png | Bin 0 -> 1338 bytes resources/rssguard.qrc | 1 + .../miscellaneous/databasequeries.cpp | 2 +- .../services/greader/greaderserviceroot.cpp | 10 +++++++--- .../services/greader/greaderserviceroot.h | 2 +- .../greader/gui/greaderaccountdetails.cpp | 11 ++++++----- 10 files changed, 39 insertions(+), 12 deletions(-) create mode 100644 resources/docs/images/greader-api-settings.png create mode 100644 resources/graphics/misc/bazqux.png diff --git a/README.md b/README.md index 677deb85e..9b206c068 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,9 @@ RSS Guard is simple, light and easy-to-use RSS/ATOM feed aggregator developed us * [Tiny Tiny RSS](https://tt-rss.org), * [Inoreader](https://www.inoreader.com), * [Nextcloud News](https://apps.nextcloud.com/apps/news), -* [Gmail API](https://developers.google.com/gmail/api). +* [Gmail API](https://developers.google.com/gmail/api), +* [FreshRSS](https://freshrss.org), +* [The Old Reader](https://theoldreader.com), +* [Bazqux](https://bazqux.com). Application icon was kindly contributed by Siddharth Yadav - @Siddharth_yd (Instagram), illustrationdesignsid@gmail.com (e-mail). Flag icons were provided by [IconDrawer](http://www.icondrawer.com). \ No newline at end of file diff --git a/pri/vars.pri b/pri/vars.pri index bf89b9685..2855f7c46 100644 --- a/pri/vars.pri +++ b/pri/vars.pri @@ -4,7 +4,7 @@ APP_REVERSE_NAME = "com.github.rssguard" APP_LOW_H_NAME = ".rssguard" APP_AUTHOR = "Martin Rotter" APP_COPYRIGHT = "(C) 2011-2021 $$APP_AUTHOR" -APP_VERSION = "3.8.5" +APP_VERSION = "3.9.0" APP_LONG_NAME = "$$APP_NAME $$APP_VERSION" APP_EMAIL = "rotter.martinos@gmail.com" APP_URL = "https://github.com/martinrotter/rssguard" diff --git a/resources/docs/Documentation.md b/resources/docs/Documentation.md index 99d6803b2..f438a5ab0 100644 --- a/resources/docs/Documentation.md +++ b/resources/docs/Documentation.md @@ -11,6 +11,7 @@ * [Supported feed formats and online feed services](Feed-formats.md) * [Message filtering](Message-filters.md) * [Database backends](#database-backends) + * [Google Reader API](#google-reader-api) * [Gmail](#gmail) * [Labels](Labels.md) * [Downloading files](#downloading-files) @@ -83,10 +84,14 @@ RSS Guard is simple (yet powerful) feed reader. It is able to fetch the most kno * Nextcloud News (RSS Guard 3.1.0+), * Inoreader (RSS Guard 3.5.0+), * Gmail with e-mail sending (RSS Guard 3.7.1+). + * FreshRSS (RSS Guard 3.9.0+), + * The Old Reader (RSS Guard 3.9.0+), + * Bazqux (RSS Guard 3.9.0+). * core: * support for all feed formats (RSS/RDF/ATOM/JSON), * full support of podcasts (RSS/ATOM/JSON), * import/export of feeds to/from OPML 2.0, + * universal plugin for online services with [Google Reader API](#google-reader-api), * possibility of using custom 3rd-party feed synchronization services, * feed metadata fetching including icons, * simple internal Chromium-based web viewer (or alternative version with simpler and much more lightweight internal viewer), @@ -137,6 +142,19 @@ MariaDB (MySQL) backend is there for users, who want to store their data in a ce For database-related configuration see `Settings -> Data storage` dialog. +## Google Reader API +Starting with RSS Guard 3.9.0, there is a new plugin which offers synchronization with services using Google Reader API. Plugin was so far tested with FreshRSS, The Old Reader and Bazqux. All Google Reader API enabled services should work. + +Note that Inoreader has its own separate plugin, because it uses OAuth as authentication method, therefore it is cleaner to have separate plugin. + +Google Reader API integration in RSS Guard offers a way to set custom service endpoint even if you select service which is not self-hosted such as Bazqux, providing all users with greater flexibility and freedom. + + + +Note that even when all Google Reader API enabled services should follow the API, there are still some minor differences, primarily because Google Reader API has no strict documentation to follow and some services do not offer some features. + +For example The Old Reader does not seem to offer tags/labels functionality, therefore tags/labels in RSS Guard are not synchronized, but you can still use offline labels. + ## Gmail RSS Guard includes Gmail plugin, which allows users to receive and send (!!!) e-mail messages. Plugin uses [Gmail API](https://developers.google.com/gmail/api) and offers some e-mail client-like features: * Sending e-mail messages. diff --git a/resources/docs/images/greader-api-settings.png b/resources/docs/images/greader-api-settings.png new file mode 100644 index 0000000000000000000000000000000000000000..e1a59a3514327d2ebc0ed2f881fd941b7afe9f35 GIT binary patch literal 19935 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 literal 0 HcmV?d00001 diff --git a/resources/rssguard.qrc b/resources/rssguard.qrc index 60a4f36fd..d2fe9c3a0 100755 --- a/resources/rssguard.qrc +++ b/resources/rssguard.qrc @@ -16,6 +16,7 @@ graphics/misc/adblock.png graphics/misc/adblock-disabled.png + graphics/misc/bazqux.png graphics/misc/freshrss.png graphics/misc/gmail.png graphics/misc/google.png diff --git a/src/librssguard/miscellaneous/databasequeries.cpp b/src/librssguard/miscellaneous/databasequeries.cpp index 717d60110..3c7ba7f43 100755 --- a/src/librssguard/miscellaneous/databasequeries.cpp +++ b/src/librssguard/miscellaneous/databasequeries.cpp @@ -1694,7 +1694,7 @@ QList DatabaseQueries::getGreaderAccounts(const QSqlDatabase& db, root->network()->setPassword(TextFactory::decrypt(query.value(3).toString())); root->network()->setBaseUrl(query.value(4).toString()); root->network()->setBatchSize(query.value(5).toInt()); - root->updateTitle(); + root->updateTitleIcon(); fillBaseAccountData(db, root); diff --git a/src/librssguard/services/greader/greaderserviceroot.cpp b/src/librssguard/services/greader/greaderserviceroot.cpp index dc2022e0f..fae7abda1 100755 --- a/src/librssguard/services/greader/greaderserviceroot.cpp +++ b/src/librssguard/services/greader/greaderserviceroot.cpp @@ -139,7 +139,7 @@ void GreaderServiceRoot::saveAllCachedData(bool ignore_errors) { } } -void GreaderServiceRoot::updateTitle() { +void GreaderServiceRoot::updateTitleIcon() { setTitle(QString("%1 (%2)").arg(m_network->username(), m_network->serviceToString(m_network->service()))); @@ -152,6 +152,10 @@ void GreaderServiceRoot::updateTitle() { setIcon(qApp->icons()->miscIcon(QSL("freshrss"))); break; + case Service::Bazqux: + setIcon(qApp->icons()->miscIcon(QSL("bazqux"))); + break; + default: setIcon(GreaderEntryPoint().icon()); break; @@ -165,7 +169,7 @@ void GreaderServiceRoot::saveAccountDataToDatabase(bool creating_new) { if (DatabaseQueries::overwriteGreaderAccount(database, m_network->username(), m_network->password(), m_network->baseUrl(), m_network->batchSize(), accountId())) { - updateTitle(); + updateTitleIcon(); itemChanged(QList() << this); } } @@ -173,7 +177,7 @@ void GreaderServiceRoot::saveAccountDataToDatabase(bool creating_new) { if (DatabaseQueries::createGreaderAccount(database, accountId(), m_network->username(), m_network->password(), m_network->service(), m_network->baseUrl(), m_network->batchSize())) { - updateTitle(); + updateTitleIcon(); } } } diff --git a/src/librssguard/services/greader/greaderserviceroot.h b/src/librssguard/services/greader/greaderserviceroot.h index 8dff72123..57c091797 100755 --- a/src/librssguard/services/greader/greaderserviceroot.h +++ b/src/librssguard/services/greader/greaderserviceroot.h @@ -35,7 +35,7 @@ class GreaderServiceRoot : public ServiceRoot, public CacheForServiceRoot { void setNetwork(GreaderNetwork* network); GreaderNetwork* network() const; - void updateTitle(); + void updateTitleIcon(); void saveAccountDataToDatabase(bool creating_new); protected: diff --git a/src/librssguard/services/greader/gui/greaderaccountdetails.cpp b/src/librssguard/services/greader/gui/greaderaccountdetails.cpp index f606c827a..9432d23ea 100755 --- a/src/librssguard/services/greader/gui/greaderaccountdetails.cpp +++ b/src/librssguard/services/greader/gui/greaderaccountdetails.cpp @@ -11,8 +11,8 @@ GreaderAccountDetails::GreaderAccountDetails(QWidget* parent) : QWidget(parent) { m_ui.setupUi(this); - for (auto serv : { GreaderServiceRoot::Service::FreshRss, - GreaderServiceRoot::Service::Bazqux, + for (auto serv : { GreaderServiceRoot::Service::Bazqux, + GreaderServiceRoot::Service::FreshRss, GreaderServiceRoot::Service::TheOldReader }) { m_ui.m_cmbService->addItem(GreaderNetwork::serviceToString(serv), QVariant::fromValue(serv)); } @@ -24,9 +24,10 @@ GreaderAccountDetails::GreaderAccountDetails(QWidget* parent) : QWidget(parent) m_ui.m_lblTestResult->setStatus(WidgetWithStatus::StatusType::Information, tr("No test done yet."), tr("Here, results of connection test are shown.")); - m_ui.m_lblLimitMessages->setText( - tr("Limiting number of downloaded messages per feed makes updating of feeds faster but if your feed contains " - "bigger number of messages than specified limit, then some messages might not be downloaded during feed update.")); + m_ui.m_lblLimitMessages->setText(tr("Limiting number of downloaded messages per feed makes updating of " + "feeds faster, but if your feed contains bigger number of messages " + "than specified limit, then some older messages might not be " + "downloaded during feed update.")); connect(m_ui.m_spinLimitMessages, static_cast(&QSpinBox::valueChanged), this, [=](int value) { if (value <= 0) {