Fix nbsp C++.
This commit is contained in:
parent
c08f76a934
commit
951330bbaa
7 changed files with 21 additions and 6 deletions
|
@ -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>
|
At least API level %1 is required.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Standard online feeds (RSS/RDF/ATOM)</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>This service offers integration with standard online RSS/RDF/ATOM feeds and podcasts.</source>
|
<source>This service offers integration with standard online RSS/RDF/ATOM feeds and podcasts.</source>
|
||||||
<translation type="unfinished"></translation>
|
<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>
|
<source>Cannot insert message filter, because current database cannot return last inserted row ID.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Standard online feeds (RSS/ATOM/JSON)</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>RecycleBin</name>
|
<name>RecycleBin</name>
|
||||||
|
|
|
@ -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.
|
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.
|
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
|
## 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.
|
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.
|
||||||
|
|
||||||
|
|
BIN
resources/docs/images/gmail-context-menu.png
Normal file
BIN
resources/docs/images/gmail-context-menu.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 94 KiB |
BIN
resources/docs/images/rss-context-menu.png
Normal file
BIN
resources/docs/images/rss-context-menu.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 38 KiB |
|
@ -95,6 +95,10 @@ void FeedDownloader::updateOneFeed(Feed* feed) {
|
||||||
<< feed->customId() << "' URL: '" << feed->url() << "' title: '" << feed->title() << "' in thread: '"
|
<< feed->customId() << "' URL: '" << feed->url() << "' title: '" << feed->title() << "' in thread: '"
|
||||||
<< QThread::currentThreadId() << "'. Operation took " << tmr.nsecsElapsed() / 1000 << " microseconds.";
|
<< 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.).
|
// Now, sanitize messages (tweak encoding etc.).
|
||||||
for (auto& msg : msgs) {
|
for (auto& msg : msgs) {
|
||||||
msg.m_accountId = acc_id;
|
msg.m_accountId = acc_id;
|
||||||
|
|
|
@ -78,7 +78,7 @@ void Message::sanitize() {
|
||||||
m_title = m_title
|
m_title = m_title
|
||||||
|
|
||||||
// Remove non-breaking spaces.
|
// Remove non-breaking spaces.
|
||||||
.replace(QRegularExpression(QSL("[\\u202F\\u00A0 ]")), QSL(" "))
|
.replace(QRegularExpression(QSL("[ \u202F\u00A0 ]")), QSL(" "))
|
||||||
|
|
||||||
// Shrink consecutive whitespaces.
|
// Shrink consecutive whitespaces.
|
||||||
.replace(QRegularExpression(QSL("[\\s]{2,}")), QSL(" "))
|
.replace(QRegularExpression(QSL("[\\s]{2,}")), QSL(" "))
|
||||||
|
|
|
@ -12,7 +12,7 @@ bool StandardServiceEntryPoint::isSingleInstanceService() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
QString StandardServiceEntryPoint::name() 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 {
|
QString StandardServiceEntryPoint::description() const {
|
||||||
|
|
Loading…
Add table
Reference in a new issue