Updated translations + progress in #118.
This commit is contained in:
parent
eb006f5d76
commit
a3773914b7
@ -65,8 +65,8 @@ project(rssguard)
|
||||
|
||||
set(APP_NAME "RSS Guard")
|
||||
set(APP_LOW_NAME "rssguard")
|
||||
set(APP_VERSION "2.5.1")
|
||||
set(FILE_VERSION "2,5,1,0")
|
||||
set(APP_VERSION "2.5.2")
|
||||
set(FILE_VERSION "2,5,2,0")
|
||||
set(APP_AUTHOR "Martin Rotter")
|
||||
set(APP_URL "http://bitbucket.org/skunkos/rssguard")
|
||||
set(APP_URL_ISSUES "http://bitbucket.org/skunkos/rssguard/issues")
|
||||
|
@ -461,6 +461,14 @@ Automatický update: %5</translation>
|
||||
<extracomment>Tooltip for "unread" column of feed list.</extracomment>
|
||||
<translation><numerusform>%n nepřečtená zpráva.</numerusform><numerusform>%n nepřečtené zprávy.</numerusform><numerusform>%n nepřečtených zpráv.</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata not fetched</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata was not fetched because: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedMessageViewer</name>
|
||||
@ -572,10 +580,6 @@ Automatický update: %5</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsView</name>
|
||||
<message>
|
||||
<source>Context menu for feeds</source>
|
||||
<translation>Kontextové menu pro přehled kanálů</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot add standard category</source>
|
||||
<translation>Nelze přidat standardní kategorii</translation>
|
||||
@ -648,6 +652,10 @@ Automatický update: %5</translation>
|
||||
<source>Delete feed/category</source>
|
||||
<translation>Smazat kanál/kategorii</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Context menu for categories</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormAbout</name>
|
||||
@ -1760,6 +1768,10 @@ Automatický update: %5</translation>
|
||||
<source>Show only unread feeds/categories</source>
|
||||
<translation>Zobrazit pouze nepřečtené kanály/kategorie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Fetch feed metadata</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormRestoreDatabaseSettings</name>
|
||||
|
@ -450,6 +450,14 @@ Auto-update status: %5</source>
|
||||
<extracomment>Tooltip for "unread" column of feed list.</extracomment>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata not fetched</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata was not fetched because: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedMessageViewer</name>
|
||||
@ -561,10 +569,6 @@ Auto-update status: %5</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsView</name>
|
||||
<message>
|
||||
<source>Context menu for feeds</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot add standard category</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -637,6 +641,10 @@ Auto-update status: %5</source>
|
||||
<source>Delete feed/category</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Context menu for categories</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormAbout</name>
|
||||
@ -1749,6 +1757,10 @@ Auto-update status: %5</source>
|
||||
<source>Show only unread feeds/categories</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Fetch feed metadata</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormRestoreDatabaseSettings</name>
|
||||
|
@ -450,6 +450,14 @@ Auto-update status: %5</source>
|
||||
<extracomment>Tooltip for "unread" column of feed list.</extracomment>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata not fetched</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata was not fetched because: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedMessageViewer</name>
|
||||
@ -561,10 +569,6 @@ Auto-update status: %5</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsView</name>
|
||||
<message>
|
||||
<source>Context menu for feeds</source>
|
||||
<translation>Kontextmenü für Feeds</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot add standard category</source>
|
||||
<translation>Kann die Standardkategorie nicht hinzufügen</translation>
|
||||
@ -637,6 +641,10 @@ Auto-update status: %5</source>
|
||||
<source>Delete feed/category</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Context menu for categories</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormAbout</name>
|
||||
@ -1749,6 +1757,10 @@ Auto-update status: %5</source>
|
||||
<source>Show only unread feeds/categories</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Fetch feed metadata</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormRestoreDatabaseSettings</name>
|
||||
|
@ -473,6 +473,14 @@ Auto-update status: %5</source>
|
||||
<numerusform></numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata not fetched</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata was not fetched because: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedMessageViewer</name>
|
||||
@ -587,10 +595,6 @@ Auto-update status: %5</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsView</name>
|
||||
<message>
|
||||
<source>Context menu for feeds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot add standard category</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@ -663,6 +667,10 @@ Auto-update status: %5</source>
|
||||
<source>Delete feed/category</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Context menu for categories</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormAbout</name>
|
||||
@ -1778,6 +1786,10 @@ Auto-update status: %5</source>
|
||||
<source>Show only unread feeds/categories</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Fetch feed metadata</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormRestoreDatabaseSettings</name>
|
||||
|
@ -450,6 +450,14 @@ Auto-update status: %5</source>
|
||||
<extracomment>Tooltip for "unread" column of feed list.</extracomment>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata not fetched</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata was not fetched because: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedMessageViewer</name>
|
||||
@ -561,10 +569,6 @@ Auto-update status: %5</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsView</name>
|
||||
<message>
|
||||
<source>Context menu for feeds</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot add standard category</source>
|
||||
<translation type="unfinished"/>
|
||||
@ -637,6 +641,10 @@ Auto-update status: %5</source>
|
||||
<source>Delete feed/category</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Context menu for categories</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormAbout</name>
|
||||
@ -1749,6 +1757,10 @@ Auto-update status: %5</source>
|
||||
<source>Show only unread feeds/categories</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Fetch feed metadata</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormRestoreDatabaseSettings</name>
|
||||
|
@ -450,6 +450,14 @@ Auto-update status: %5</source>
|
||||
<extracomment>Tooltip for "unread" column of feed list.</extracomment>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata not fetched</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata was not fetched because: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedMessageViewer</name>
|
||||
@ -561,10 +569,6 @@ Auto-update status: %5</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsView</name>
|
||||
<message>
|
||||
<source>Context menu for feeds</source>
|
||||
<translation>Menu contextuel pour les flux</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot add standard category</source>
|
||||
<translation>Impossible d'ajouter une catégorie standard</translation>
|
||||
@ -637,6 +641,10 @@ Auto-update status: %5</source>
|
||||
<source>Delete feed/category</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Context menu for categories</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormAbout</name>
|
||||
@ -1749,6 +1757,10 @@ Auto-update status: %5</source>
|
||||
<source>Show only unread feeds/categories</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Fetch feed metadata</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormRestoreDatabaseSettings</name>
|
||||
|
@ -450,6 +450,14 @@ Auto-update status: %5</source>
|
||||
<extracomment>Tooltip for "unread" column of feed list.</extracomment>
|
||||
<translation type="unfinished"><numerusform></numerusform><numerusform></numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata not fetched</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata was not fetched because: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedMessageViewer</name>
|
||||
@ -561,10 +569,6 @@ Auto-update status: %5</source>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsView</name>
|
||||
<message>
|
||||
<source>Context menu for feeds</source>
|
||||
<translation>Menu contestuale per i feed</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot add standard category</source>
|
||||
<translation>Impossibile aggiungere categoria standard </translation>
|
||||
@ -637,6 +641,10 @@ Auto-update status: %5</source>
|
||||
<source>Delete feed/category</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Context menu for categories</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormAbout</name>
|
||||
@ -1749,6 +1757,10 @@ Auto-update status: %5</source>
|
||||
<source>Show only unread feeds/categories</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Fetch feed metadata</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormRestoreDatabaseSettings</name>
|
||||
|
@ -461,6 +461,14 @@ Auto-update status: 55 </translation>
|
||||
<extracomment>Tooltip for "unread" column of feed list.</extracomment>
|
||||
<translation><numerusform>%n ongelezen bericht.</numerusform><numerusform>%n ongelezen berichten.</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata not fetched</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata was not fetched because: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedMessageViewer</name>
|
||||
@ -572,10 +580,6 @@ Auto-update status: 55 </translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsView</name>
|
||||
<message>
|
||||
<source>Context menu for feeds</source>
|
||||
<translation>Contextmenu voor feeds</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot add standard category</source>
|
||||
<translation>Kan geen standaard categorie toevoegen</translation>
|
||||
@ -648,6 +652,10 @@ Auto-update status: 55 </translation>
|
||||
<source>Delete feed/category</source>
|
||||
<translation>Verwijder feed/categorie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Context menu for categories</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormAbout</name>
|
||||
@ -1761,6 +1769,10 @@ Exporteer feeds die je wilt van het geselecteerde bestand.</translation>
|
||||
<source>Show only unread feeds/categories</source>
|
||||
<translation>Toon alleen de ongelezen feeds/categorieën</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Fetch feed metadata</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormRestoreDatabaseSettings</name>
|
||||
|
@ -460,6 +460,14 @@ Uppdateringsstatus: %5</translation>
|
||||
<extracomment>Tooltip for "unread" column of feed list.</extracomment>
|
||||
<translation><numerusform>%n oläst meddelande.</numerusform><numerusform>%n olästa meddelanden.</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata not fetched</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
<message>
|
||||
<source>Metadata was not fetched because: %1</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedMessageViewer</name>
|
||||
@ -571,10 +579,6 @@ Uppdateringsstatus: %5</translation>
|
||||
</context>
|
||||
<context>
|
||||
<name>FeedsView</name>
|
||||
<message>
|
||||
<source>Context menu for feeds</source>
|
||||
<translation>Kontextmeny för flöden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot add standard category</source>
|
||||
<translation>Kan inte lägga till kategori</translation>
|
||||
@ -647,6 +651,10 @@ Uppdateringsstatus: %5</translation>
|
||||
<source>Delete feed/category</source>
|
||||
<translation>Ta bort flöde/kategori</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Context menu for categories</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormAbout</name>
|
||||
@ -1759,6 +1767,10 @@ Uppdateringsstatus: %5</translation>
|
||||
<source>Show only unread feeds/categories</source>
|
||||
<translation>Visa endast olästa flöden/kategorier </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Fetch feed metadata</source>
|
||||
<translation type="unfinished"/>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>FormRestoreDatabaseSettings</name>
|
||||
|
@ -15,18 +15,31 @@
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<center><h2>2.5.2 (not yet released)</h2></center>
|
||||
Added:
|
||||
<ul>
|
||||
<li>Added experimental support for fetching metadata for individual feeds via feed context menu. (issue #118)</li>
|
||||
</ul>
|
||||
|
||||
Fixed:
|
||||
<ul>
|
||||
<ul>
|
||||
|
||||
<hr/>
|
||||
<center><h2>2.5.1</h2></center>
|
||||
Added:
|
||||
<ul>
|
||||
<li><b>Key used for proxy/feed password coding is now stored in separate file. This file lies in the same directory as configuration file. If your use password-protected proxy/feeds, then make sure that NOBODY gets access to that file and your DB file in the same time.</b></li>
|
||||
<li>Notifications on Linux now support D-Bus "org.freedesktop.Notifications" service. User must have enabled "modern & fancy notifications" for this to work. If D-Bus service is not available, then feature falls back to RSS Guard custom popup notifications.</li>
|
||||
</ul>
|
||||
|
||||
Fixed:
|
||||
<ul>
|
||||
<li>Size of downloaded website artifacts is now not hidden by progress bar.</li>
|
||||
<li>Auto-updating of feeds fixed, error was due to master mutex double locking. (issue #117)</li>
|
||||
<li>Fixed some memory leaks which might appear when adding/editing categories/feeds.</li>
|
||||
<ul>
|
||||
|
||||
<hr/>
|
||||
<center><h2>2.5.0</h2></center>
|
||||
Added:
|
||||
|
@ -143,10 +143,31 @@ void Feed::updateCounts(bool including_total_count, bool update_feed_statuses) {
|
||||
}
|
||||
}
|
||||
|
||||
QPair<Feed*, QNetworkReply::NetworkError> Feed::guessFeed(const QString &url,
|
||||
const QString &username,
|
||||
const QString &password) {
|
||||
QPair<Feed*, QNetworkReply::NetworkError> result; result.first = NULL;
|
||||
void Feed::fetchMetadataForItself() {
|
||||
QPair<Feed*,QNetworkReply::NetworkError> metadata = guessFeed(url(), username(), password());
|
||||
|
||||
if (metadata.first != NULL && metadata.second == QNetworkReply::NoError) {
|
||||
// Some properties are not updated when new metadata are fetched.
|
||||
metadata.first->setParent(parent());
|
||||
metadata.first->setUrl(url());
|
||||
metadata.first->setPasswordProtected(passwordProtected());
|
||||
metadata.first->setUsername(username());
|
||||
metadata.first->setPassword(password());
|
||||
metadata.first->setAutoUpdateType(autoUpdateType());
|
||||
metadata.first->setAutoUpdateInitialInterval(autoUpdateInitialInterval());
|
||||
|
||||
editItself(metadata.first);
|
||||
delete metadata.first;
|
||||
}
|
||||
else {
|
||||
qApp->showGuiMessage(tr("Metadata not fetched"),
|
||||
tr("Metadata was not fetched because: %1").arg(NetworkFactory::networkErrorText(metadata.second)),
|
||||
QSystemTrayIcon::Critical);
|
||||
}
|
||||
}
|
||||
|
||||
QPair<Feed*,QNetworkReply::NetworkError> Feed::guessFeed(const QString &url, const QString &username, const QString &password) {
|
||||
QPair<Feed*,QNetworkReply::NetworkError> result; result.first = NULL;
|
||||
|
||||
QByteArray feed_contents;
|
||||
NetworkResult network_result = NetworkFactory::downloadFeedFile(url,
|
||||
|
@ -180,9 +180,7 @@ class Feed : public RootItem {
|
||||
// Returns pointer to guessed feed (if at least partially
|
||||
// guessed) and retrieved error/status code from network layer
|
||||
// or NULL feed.
|
||||
static QPair<Feed*, QNetworkReply::NetworkError> guessFeed(const QString &url,
|
||||
const QString &username,
|
||||
const QString &password);
|
||||
static QPair<Feed*,QNetworkReply::NetworkError> guessFeed(const QString &url, const QString &username, const QString &password);
|
||||
|
||||
// Converts particular feed type to string.
|
||||
static QString typeToString(Type type);
|
||||
@ -191,6 +189,8 @@ class Feed : public RootItem {
|
||||
// Updates counts of all/unread messages for this feed.
|
||||
void updateCounts(bool including_total_count = true, bool update_feed_statuses = true);
|
||||
|
||||
void fetchMetadataForItself();
|
||||
|
||||
protected:
|
||||
// Persistently stores given messages into the database
|
||||
// and updates existing messages if newer version is
|
||||
|
@ -264,8 +264,8 @@ void FormFeedDetails::apply() {
|
||||
|
||||
void FormFeedDetails::guessFeed() {
|
||||
QPair<Feed*, QNetworkReply::NetworkError> result = Feed::guessFeed(m_ui->m_txtUrl->lineEdit()->text(),
|
||||
m_ui->m_txtUsername->lineEdit()->text(),
|
||||
m_ui->m_txtPassword->lineEdit()->text());
|
||||
m_ui->m_txtUsername->lineEdit()->text(),
|
||||
m_ui->m_txtPassword->lineEdit()->text());
|
||||
|
||||
if (result.first != NULL) {
|
||||
// Icon or whole feed was guessed.
|
||||
@ -307,9 +307,9 @@ void FormFeedDetails::guessFeed() {
|
||||
}
|
||||
|
||||
void FormFeedDetails::guessIconOnly() {
|
||||
QPair<Feed*, QNetworkReply::NetworkError> result = Feed::guessFeed(m_ui->m_txtUrl->lineEdit()->text(),
|
||||
m_ui->m_txtUsername->lineEdit()->text(),
|
||||
m_ui->m_txtPassword->lineEdit()->text());
|
||||
QPair<Feed*, QNetworkReply::NetworkError> result = Feed::guessFeed(m_ui->m_txtUrl->lineEdit()->text(),
|
||||
m_ui->m_txtUsername->lineEdit()->text(),
|
||||
m_ui->m_txtPassword->lineEdit()->text());
|
||||
|
||||
if (result.first != NULL) {
|
||||
// Icon or whole feed was guessed.
|
||||
|
@ -277,6 +277,7 @@ void FormMain::setupIcons() {
|
||||
m_ui->m_actionSelectNextMessage->setIcon(icon_theme_factory->fromTheme(QSL("go-down")));
|
||||
m_ui->m_actionSelectPreviousMessage->setIcon(icon_theme_factory->fromTheme(QSL("go-up")));
|
||||
m_ui->m_actionShowOnlyUnreadFeeds->setIcon(icon_theme_factory->fromTheme(QSL("mail-mark-unread")));
|
||||
m_ui->m_actionFetchFeedMetadata->setIcon(icon_theme_factory->fromTheme(QSL("download-manager")));
|
||||
|
||||
// Setup icons for underlying components: opened web browsers...
|
||||
foreach (WebBrowser *browser, WebBrowser::runningWebBrowsers()) {
|
||||
|
@ -143,6 +143,7 @@
|
||||
<addaction name="m_menuAddItem"/>
|
||||
<addaction name="m_actionEditSelectedFeedCategory"/>
|
||||
<addaction name="m_actionDeleteSelectedFeedCategory"/>
|
||||
<addaction name="m_actionFetchFeedMetadata"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="m_actionShowOnlyUnreadFeeds"/>
|
||||
<addaction name="separator"/>
|
||||
@ -662,6 +663,14 @@
|
||||
<string notr="true">Ctrl+Shift+U</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="m_actionFetchFeedMetadata">
|
||||
<property name="text">
|
||||
<string>&Fetch feed metadata</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Shift+F</string>
|
||||
</property>
|
||||
</action>
|
||||
</widget>
|
||||
<customwidgets>
|
||||
<customwidget>
|
||||
|
@ -316,6 +316,7 @@ void FeedMessageViewer::updateFeedButtonsAvailability() {
|
||||
form_main->m_ui->m_actionUpdateAllFeeds->setEnabled(!critical_action_running);
|
||||
form_main->m_ui->m_actionUpdateSelectedFeeds->setEnabled(!critical_action_running && feed_selected);
|
||||
form_main->m_ui->m_actionViewSelectedItemsNewspaperMode->setEnabled(feed_selected);
|
||||
form_main->m_ui->m_actionFetchFeedMetadata->setEnabled(feed_selected);
|
||||
form_main->m_ui->m_menuAddItem->setEnabled(!critical_action_running);
|
||||
}
|
||||
|
||||
@ -387,6 +388,8 @@ void FeedMessageViewer::createConnections() {
|
||||
SIGNAL(triggered()), m_feedsView, SLOT(markAllFeedsRead()));
|
||||
connect(form_main->m_ui->m_actionMarkSelectedFeedsAsRead,
|
||||
SIGNAL(triggered()), m_feedsView, SLOT(markSelectedFeedsRead()));
|
||||
connect(form_main->m_ui->m_actionFetchFeedMetadata, SIGNAL(triggered()),
|
||||
m_feedsView, SLOT(fetchMetadataForSelectedFeed()));
|
||||
connect(form_main->m_ui->m_actionMarkSelectedFeedsAsUnread,
|
||||
SIGNAL(triggered()), m_feedsView, SLOT(markSelectedFeedsUnread()));
|
||||
connect(form_main->m_ui->m_actionClearSelectedFeeds,
|
||||
|
@ -44,7 +44,8 @@
|
||||
|
||||
FeedsView::FeedsView(QWidget *parent)
|
||||
: QTreeView(parent),
|
||||
m_contextMenuCategoriesFeeds(NULL),
|
||||
m_contextMenuCategories(NULL),
|
||||
m_contextMenuFeeds(NULL),
|
||||
m_contextMenuEmptySpace(NULL),
|
||||
m_contextMenuRecycleBin(NULL) {
|
||||
setObjectName(QSL("FeedsView"));
|
||||
@ -373,6 +374,15 @@ void FeedsView::markAllFeedsRead() {
|
||||
markAllFeedsReadStatus(1);
|
||||
}
|
||||
|
||||
void FeedsView::fetchMetadataForSelectedFeed() {
|
||||
Feed *selected_feed = selectedFeed();
|
||||
|
||||
if (selected_feed != NULL) {
|
||||
selected_feed->fetchMetadataForItself();
|
||||
m_sourceModel->reloadChangedLayout(QModelIndexList() << m_proxyModel->mapToSource(selectionModel()->selectedRows(0).at(0)));
|
||||
}
|
||||
}
|
||||
|
||||
void FeedsView::clearAllReadMessages() {
|
||||
m_sourceModel->markFeedsDeleted(allFeeds(), 1, 1);
|
||||
}
|
||||
@ -488,19 +498,31 @@ void FeedsView::selectPreviousItem() {
|
||||
}
|
||||
}
|
||||
|
||||
void FeedsView::initializeContextMenuCategoriesFeeds() {
|
||||
m_contextMenuCategoriesFeeds = new QMenu(tr("Context menu for feeds"), this);
|
||||
m_contextMenuCategoriesFeeds->addActions(QList<QAction*>() <<
|
||||
qApp->mainForm()->m_ui->m_actionUpdateSelectedFeeds <<
|
||||
qApp->mainForm()->m_ui->m_actionEditSelectedFeedCategory <<
|
||||
qApp->mainForm()->m_ui->m_actionViewSelectedItemsNewspaperMode <<
|
||||
qApp->mainForm()->m_ui->m_actionMarkSelectedFeedsAsRead <<
|
||||
qApp->mainForm()->m_ui->m_actionMarkSelectedFeedsAsUnread <<
|
||||
qApp->mainForm()->m_ui->m_actionDeleteSelectedFeedCategory);
|
||||
m_contextMenuCategoriesFeeds->addSeparator();
|
||||
m_contextMenuCategoriesFeeds->addActions(QList<QAction*>() <<
|
||||
qApp->mainForm()->m_ui->m_actionAddCategory <<
|
||||
qApp->mainForm()->m_ui->m_actionAddFeed);
|
||||
void FeedsView::initializeContextMenuCategories() {
|
||||
m_contextMenuCategories = new QMenu(tr("Context menu for categories"), this);
|
||||
m_contextMenuCategories->addActions(QList<QAction*>() <<
|
||||
qApp->mainForm()->m_ui->m_actionUpdateSelectedFeeds <<
|
||||
qApp->mainForm()->m_ui->m_actionEditSelectedFeedCategory <<
|
||||
qApp->mainForm()->m_ui->m_actionViewSelectedItemsNewspaperMode <<
|
||||
qApp->mainForm()->m_ui->m_actionMarkSelectedFeedsAsRead <<
|
||||
qApp->mainForm()->m_ui->m_actionMarkSelectedFeedsAsUnread <<
|
||||
qApp->mainForm()->m_ui->m_actionDeleteSelectedFeedCategory);
|
||||
m_contextMenuCategories->addSeparator();
|
||||
m_contextMenuCategories->addActions(QList<QAction*>() <<
|
||||
qApp->mainForm()->m_ui->m_actionAddCategory <<
|
||||
qApp->mainForm()->m_ui->m_actionAddFeed);
|
||||
}
|
||||
|
||||
void FeedsView::initializeContextMenuFeeds() {
|
||||
m_contextMenuFeeds = new QMenu(tr("Context menu for categories"), this);
|
||||
m_contextMenuFeeds->addActions(QList<QAction*>() <<
|
||||
qApp->mainForm()->m_ui->m_actionUpdateSelectedFeeds <<
|
||||
qApp->mainForm()->m_ui->m_actionEditSelectedFeedCategory <<
|
||||
qApp->mainForm()->m_ui->m_actionViewSelectedItemsNewspaperMode <<
|
||||
qApp->mainForm()->m_ui->m_actionMarkSelectedFeedsAsRead <<
|
||||
qApp->mainForm()->m_ui->m_actionMarkSelectedFeedsAsUnread <<
|
||||
qApp->mainForm()->m_ui->m_actionDeleteSelectedFeedCategory <<
|
||||
qApp->mainForm()->m_ui->m_actionFetchFeedMetadata);
|
||||
}
|
||||
|
||||
void FeedsView::initializeContextMenuEmptySpace() {
|
||||
@ -577,14 +599,23 @@ void FeedsView::contextMenuEvent(QContextMenuEvent *event) {
|
||||
QModelIndex mapped_index = model()->mapToSource(clicked_index);
|
||||
RootItem *clicked_item = sourceModel()->itemForIndex(mapped_index);
|
||||
|
||||
if (clicked_item->kind() == RootItem::Cattegory || clicked_item->kind() == RootItem::Feeed) {
|
||||
if (clicked_item->kind() == RootItem::Cattegory) {
|
||||
// Display context menu for categories.
|
||||
if (m_contextMenuCategoriesFeeds == NULL) {
|
||||
if (m_contextMenuCategories == NULL) {
|
||||
// Context menu is not initialized, initialize.
|
||||
initializeContextMenuCategoriesFeeds();
|
||||
initializeContextMenuCategories();
|
||||
}
|
||||
|
||||
m_contextMenuCategoriesFeeds->exec(event->globalPos());
|
||||
m_contextMenuCategories->exec(event->globalPos());
|
||||
}
|
||||
else if (clicked_item->kind() == RootItem::Feeed) {
|
||||
// Display context menu for feeds.
|
||||
if (m_contextMenuFeeds == NULL) {
|
||||
// Context menu is not initialized, initialize.
|
||||
initializeContextMenuFeeds();
|
||||
}
|
||||
|
||||
m_contextMenuFeeds->exec(event->globalPos());
|
||||
}
|
||||
else if (clicked_item->kind() == RootItem::Bin) {
|
||||
// Display context menu for recycle bin.
|
||||
@ -619,8 +650,3 @@ void FeedsView::validateItemAfterDragDrop(const QModelIndex &source_index) {
|
||||
setCurrentIndex(mapped);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -82,6 +82,8 @@ class FeedsView : public QTreeView {
|
||||
void markAllFeedsReadStatus(int read);
|
||||
void markAllFeedsRead();
|
||||
|
||||
void fetchMetadataForSelectedFeed();
|
||||
|
||||
// Newspaper accessors.
|
||||
void openSelectedFeedsInNewspaperMode();
|
||||
|
||||
@ -143,7 +145,8 @@ class FeedsView : public QTreeView {
|
||||
|
||||
protected:
|
||||
// Initializes context menus.
|
||||
void initializeContextMenuCategoriesFeeds();
|
||||
void initializeContextMenuCategories();
|
||||
void initializeContextMenuFeeds();
|
||||
void initializeContextMenuEmptySpace();
|
||||
void initializeContextMenuRecycleBin();
|
||||
|
||||
@ -180,7 +183,8 @@ class FeedsView : public QTreeView {
|
||||
void openMessagesInNewspaperView(const QList<Message> &messages);
|
||||
|
||||
private:
|
||||
QMenu *m_contextMenuCategoriesFeeds;
|
||||
QMenu *m_contextMenuCategories;
|
||||
QMenu *m_contextMenuFeeds;
|
||||
QMenu *m_contextMenuEmptySpace;
|
||||
QMenu *m_contextMenuRecycleBin;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user