Fix nbsp C++.

This commit is contained in:
Martin Rotter 2020-11-07 15:51:22 +01:00
parent c08f76a934
commit 951330bbaa
7 changed files with 21 additions and 6 deletions

View file

@ -3572,10 +3572,6 @@ Tiny Tiny RSS is an open source web-based news feed (RSS/Atom) reader and aggreg
At least API level %1 is required.</translation>
</message>
<message>
<source>Standard online feeds (RSS/RDF/ATOM)</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>This service offers integration with standard online RSS/RDF/ATOM feeds and podcasts.</source>
<translation type="unfinished"></translation>
@ -3615,6 +3611,10 @@ version by clicking this popup notification.</source>
<source>Cannot insert message filter, because current database cannot return last inserted row ID.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Standard online feeds (RSS/ATOM/JSON)</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>RecycleBin</name>

View file

@ -116,8 +116,19 @@ RSS Guard is modular application which supports plugins. It offers well-maintain
All plugins share almost all core RSS Guard's features, including labels, recycle bins or newspaper view. They are implemented in a very transparent way, making it easy to maintain them or add new ones.
Usually, plugins have some exclusive functionality, for example Gmail plugin allows user to send e-mail messages. This extra functionality is always accessible via plugin's context menu and also via main menu.
<img src="images/gmail-context-menu.png" width="80%">
If there is interest in other plugins, you might write one yourself or if many people are interested then I might write it for you, even commercially if we make proper arrangements.
### Features found exclusively in `standard RSS` plugin
Standard plugin in RSS Guard offers some features which are specific to it. Of course it supports all news syndication formats which are nowadays used:
* RSS 0.90, 0.91, 0.92, 1.0 (also know as *RDF*), 2.0.
* ATOM 1.0,
* [JSON](https://www.jsonfeed.org).
Standard plugin offers some extra features like export/import of OPML 2.0 files or fetching feed metadata.
## Message filtering
RSS Guard supports _automagic_ message filtering. The filtering system is automatically triggered when new messages for each feed are downloaded. User can write scripts which perform filtering decisions. [**JavaScript with ECMA standard**](http://www.ecma-international.org/publications/standards/Ecma-262.htm) is supported.

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View file

@ -95,6 +95,10 @@ void FeedDownloader::updateOneFeed(Feed* feed) {
<< feed->customId() << "' URL: '" << feed->url() << "' title: '" << feed->title() << "' in thread: '"
<< QThread::currentThreadId() << "'. Operation took " << tmr.nsecsElapsed() / 1000 << " microseconds.";
msgs = QList<Message>::fromStdList(boolinq::from(msgs).where([](const Message& msg) {
return msg.m_title.contains("Essential PHP");
}).toStdList());
// Now, sanitize messages (tweak encoding etc.).
for (auto& msg : msgs) {
msg.m_accountId = acc_id;

View file

@ -78,7 +78,7 @@ void Message::sanitize() {
m_title = m_title
// Remove non-breaking spaces.
.replace(QRegularExpression(QSL("[\\u202F\\u00A0 ]")), QSL(" "))
.replace(QRegularExpression(QSL("[ \u202F\u00A0 ]")), QSL(" "))
// Shrink consecutive whitespaces.
.replace(QRegularExpression(QSL("[\\s]{2,}")), QSL(" "))

View file

@ -12,7 +12,7 @@ bool StandardServiceEntryPoint::isSingleInstanceService() const {
}
QString StandardServiceEntryPoint::name() const {
return QObject::tr("Standard online feeds (RSS/RDF/ATOM)");
return QObject::tr("Standard online feeds (RSS/ATOM/JSON)");
}
QString StandardServiceEntryPoint::description() const {