Updated localizations + fixed #10 + fixed #17 + extra external web browser settings

This commit is contained in:
Martin Rotter 2014-03-02 18:35:17 +01:00
parent ef02b774b1
commit 9ec955df86
14 changed files with 586 additions and 384 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="cs_CZ">
<TS version="2.0" language="cs_CZ">
<context>
<name>CornerButton</name>
<message>
@ -80,10 +80,12 @@
</message>
<message>
<source>Titles of feeds/categories.</source>
<extracomment>Feed list header &quot;titles&quot; column tooltip.</extracomment>
<translation>Názvy kanálů/kategorií.</translation>
</message>
<message>
<source>Counts of unread/all meesages.</source>
<extracomment>Feed list header &quot;counts&quot; column tooltip.</extracomment>
<translation>Počty nepřečtených/všech zpráviček.</translation>
</message>
<message>
@ -187,7 +189,9 @@ Status auto-aktualizace: %5</translation>
</message>
<message>
<source>Cannot edit item</source>
<extracomment>Warning messagebox title when selected item cannot be edited.</extracomment>
<extracomment>Warning messagebox title when selected item cannot be edited.
----------
Warning messagebox title when selected item cannot be edited.</extracomment>
<translation>Nelze upravit položku</translation>
</message>
<message>
@ -613,7 +617,9 @@ Status auto-aktualizace: %5</translation>
</message>
<message>
<source>Language</source>
<extracomment>Language settings section.</extracomment>
<extracomment>Language settings section.
----------
Language column of language list.</extracomment>
<translation>Lokalizace</translation>
</message>
<message>
@ -675,10 +681,12 @@ Status auto-aktualizace: %5</translation>
</message>
<message>
<source>Code</source>
<extracomment>Lang. code column of language list.</extracomment>
<translation>Kód</translation>
</message>
<message>
<source>Version</source>
<extracomment>Version column of skin list.</extracomment>
<translation>Verze</translation>
</message>
<message>
@ -780,6 +788,7 @@ Status auto-aktualizace: %5</translation>
</message>
<message>
<source>Name</source>
<extracomment>Skin list name column.</extracomment>
<translation>Název</translation>
</message>
<message>
@ -1589,42 +1598,52 @@ currently installed one.</source>
<name>MessagesModel</name>
<message>
<source>Id</source>
<extracomment>Tooltip for ID of message.</extracomment>
<translation></translation>
</message>
<message>
<source>Read</source>
<extracomment>Tooltip for &quot;read&quot; column in msg list.</extracomment>
<translation>Přečteno</translation>
</message>
<message>
<source>Deleted</source>
<extracomment>Tooltip for &quot;deleted&quot; column in msg list.</extracomment>
<translation>Smazáno</translation>
</message>
<message>
<source>Important</source>
<extracomment>Tooltip for &quot;important&quot; column in msg list.</extracomment>
<translation>Důležité</translation>
</message>
<message>
<source>Feed</source>
<extracomment>Tooltip for name of feed for message.</extracomment>
<translation>Kanál</translation>
</message>
<message>
<source>Title</source>
<extracomment>Tooltip for title of message.</extracomment>
<translation>Nadpis</translation>
</message>
<message>
<source>Url</source>
<extracomment>Tooltip for url of message.</extracomment>
<translation></translation>
</message>
<message>
<source>Author</source>
<extracomment>Tooltip for author of message.</extracomment>
<translation>Autor</translation>
</message>
<message>
<source>Created on</source>
<extracomment>Tooltip for creation date of message.</extracomment>
<translation>Vytvořeno</translation>
</message>
<message>
<source>Contents</source>
<extracomment>Tooltip for contents of message.</extracomment>
<translation>Obsah</translation>
</message>
<message>

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="en_GB">
<TS version="2.0" language="en_GB">
<context>
<name>CornerButton</name>
<message>
@ -80,10 +80,12 @@
</message>
<message>
<source>Titles of feeds/categories.</source>
<extracomment>Feed list header &quot;titles&quot; column tooltip.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Counts of unread/all meesages.</source>
<extracomment>Feed list header &quot;counts&quot; column tooltip.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -177,7 +179,9 @@ Auto-update status: %5</source>
</message>
<message>
<source>Cannot edit item</source>
<extracomment>Warning messagebox title when selected item cannot be edited.</extracomment>
<extracomment>Warning messagebox title when selected item cannot be edited.
----------
Warning messagebox title when selected item cannot be edited.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -603,7 +607,9 @@ Auto-update status: %5</source>
</message>
<message>
<source>Language</source>
<extracomment>Language settings section.</extracomment>
<extracomment>Language settings section.
----------
Language column of language list.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -665,10 +671,12 @@ Auto-update status: %5</source>
</message>
<message>
<source>Code</source>
<extracomment>Lang. code column of language list.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Version</source>
<extracomment>Version column of skin list.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -764,6 +772,7 @@ Auto-update status: %5</source>
</message>
<message>
<source>Name</source>
<extracomment>Skin list name column.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -1561,42 +1570,52 @@ currently installed one.</source>
<name>MessagesModel</name>
<message>
<source>Id</source>
<extracomment>Tooltip for ID of message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Read</source>
<extracomment>Tooltip for &quot;read&quot; column in msg list.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Deleted</source>
<extracomment>Tooltip for &quot;deleted&quot; column in msg list.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Important</source>
<extracomment>Tooltip for &quot;important&quot; column in msg list.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feed</source>
<extracomment>Tooltip for name of feed for message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Title</source>
<extracomment>Tooltip for title of message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Url</source>
<extracomment>Tooltip for url of message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Author</source>
<extracomment>Tooltip for author of message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Created on</source>
<extracomment>Tooltip for creation date of message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Contents</source>
<extracomment>Tooltip for contents of message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="fr_FR">
<TS version="2.0" language="fr_FR">
<context>
<name>CornerButton</name>
<message>
@ -80,10 +80,12 @@
</message>
<message>
<source>Titles of feeds/categories.</source>
<extracomment>Feed list header &quot;titles&quot; column tooltip.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Counts of unread/all meesages.</source>
<extracomment>Feed list header &quot;counts&quot; column tooltip.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -177,7 +179,9 @@ Auto-update status: %5</source>
</message>
<message>
<source>Cannot edit item</source>
<extracomment>Warning messagebox title when selected item cannot be edited.</extracomment>
<extracomment>Warning messagebox title when selected item cannot be edited.
----------
Warning messagebox title when selected item cannot be edited.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -603,7 +607,9 @@ Auto-update status: %5</source>
</message>
<message>
<source>Language</source>
<extracomment>Language settings section.</extracomment>
<extracomment>Language settings section.
----------
Language column of language list.</extracomment>
<translation>Langage</translation>
</message>
<message>
@ -665,10 +671,12 @@ Auto-update status: %5</source>
</message>
<message>
<source>Code</source>
<extracomment>Lang. code column of language list.</extracomment>
<translation>Code</translation>
</message>
<message>
<source>Version</source>
<extracomment>Version column of skin list.</extracomment>
<translation>Version</translation>
</message>
<message>
@ -764,6 +772,7 @@ Auto-update status: %5</source>
</message>
<message>
<source>Name</source>
<extracomment>Skin list name column.</extracomment>
<translation>Nom</translation>
</message>
<message>
@ -1563,42 +1572,52 @@ currently installed one.</source>
<name>MessagesModel</name>
<message>
<source>Id</source>
<extracomment>Tooltip for ID of message.</extracomment>
<translation>Id</translation>
</message>
<message>
<source>Read</source>
<extracomment>Tooltip for &quot;read&quot; column in msg list.</extracomment>
<translation>Lire</translation>
</message>
<message>
<source>Deleted</source>
<extracomment>Tooltip for &quot;deleted&quot; column in msg list.</extracomment>
<translation>Supprimé</translation>
</message>
<message>
<source>Important</source>
<extracomment>Tooltip for &quot;important&quot; column in msg list.</extracomment>
<translation>Important</translation>
</message>
<message>
<source>Feed</source>
<extracomment>Tooltip for name of feed for message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Title</source>
<extracomment>Tooltip for title of message.</extracomment>
<translation>Titre</translation>
</message>
<message>
<source>Url</source>
<extracomment>Tooltip for url of message.</extracomment>
<translation>Url</translation>
</message>
<message>
<source>Author</source>
<extracomment>Tooltip for author of message.</extracomment>
<translation>Auteur</translation>
</message>
<message>
<source>Created on</source>
<extracomment>Tooltip for creation date of message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Contents</source>
<extracomment>Tooltip for contents of message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>

View File

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="nl_NL">
<TS version="2.0" language="nl_NL">
<context>
<name>CornerButton</name>
<message>
<source>Open new web browser tab.</source>
<extracomment>Tooltip for &quot;new tab&quot; webbrowser corner button.</extracomment>
<translation type="unfinished"></translation>
<translation>Open een nieuw webbrowser tabblad</translation>
</message>
</context>
<context>
@ -80,10 +80,12 @@
</message>
<message>
<source>Titles of feeds/categories.</source>
<extracomment>Feed list header &quot;titles&quot; column tooltip.</extracomment>
<translation>Naam van feeds/categorieën.</translation>
</message>
<message>
<source>Counts of unread/all meesages.</source>
<extracomment>Feed list header &quot;counts&quot; column tooltip.</extracomment>
<translation>Aantal van alle ongelezen berichten.</translation>
</message>
<message>
@ -184,7 +186,9 @@ Status automatisch bijwerken: %5</translation>
</message>
<message>
<source>Cannot edit item</source>
<extracomment>Warning messagebox title when selected item cannot be edited.</extracomment>
<extracomment>Warning messagebox title when selected item cannot be edited.
----------
Warning messagebox title when selected item cannot be edited.</extracomment>
<translation>Kan item niet bewerken</translation>
</message>
<message>
@ -222,7 +226,7 @@ Status automatisch bijwerken: %5</translation>
<message>
<source>%1 is performing scheduled update of some feeds.</source>
<extracomment>RSS Guard is performing updates right now.</extracomment>
<translation type="unfinished"></translation>
<translation>%1 is geplande updates van sommige feeds aan het uitvoeren.</translation>
</message>
</context>
<context>
@ -286,12 +290,12 @@ Status automatisch bijwerken: %5</translation>
</message>
<message>
<source>&lt;body&gt;%5 is a (very) tiny feed reader.&lt;br&gt;&lt;br&gt;This software is distributed under the terms of GNU General Public License, version 3.&lt;br&gt;&lt;br&gt;Contacts:&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;mailto://%1&quot;&gt;%1&lt;/a&gt; ~email&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;%2&quot;&gt;%2&lt;/a&gt; ~website&lt;/li&gt;&lt;/ul&gt;You can obtain source code for %5 from its website.&lt;br&gt;&lt;br&gt;&lt;br&gt;Copyright (C) 2011-%3 %4&lt;/body&gt;</source>
<translation type="unfinished"></translation>
<translation>&lt;body&gt;%5 is een (zeer) makelijk te gebruiken feed lezer&lt;br&gt;&lt;br&gt;Dit programma is beschikbaar onder te termen van de GNU General Public License versie 3.&lt;br&gt;&lt;br&gt;Contacts:&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;mailto://%1&quot;&gt;%1&lt;/a&gt; ~email&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;%2&quot;&gt;%2&lt;/a&gt; ~website&lt;/li&gt;&lt;/ul&gt;U kunt de broncode voor %5 op de website..&lt;br&gt;&lt;br&gt;&lt;br&gt;Auteursrecht (C) 2011-%3 %4&lt;/body&gt;</translation>
</message>
<message>
<source>About %1</source>
<extracomment>About RSS Guard dialog title.</extracomment>
<translation type="unfinished"></translation>
<translation>Over %1</translation>
</message>
</context>
<context>
@ -510,79 +514,79 @@ Status automatisch bijwerken: %5</translation>
</message>
<message>
<source>Mark selected messages as &amp;read</source>
<translation type="unfinished"></translation>
<translation>Markeer geselecteerde berichten als &amp;gelezen</translation>
</message>
<message>
<source>Mark selected messages as &amp;unread</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Add new feed/category</source>
<translation type="unfinished"></translation>
<translation>Markeer geselecteerde berichten als &amp;ongelezen</translation>
</message>
<message>
<source>&amp;About application</source>
<translation type="unfinished"></translation>
<translation>&amp;Over RSSguard</translation>
</message>
<message>
<source>Displays extra info about this application.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Update &amp;all feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Update &amp;selected feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Edit selected feed/category</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Delete selected feed/category</source>
<translation type="unfinished"></translation>
<translation>Toon extra informatie over RSSguard.</translation>
</message>
<message>
<source>Mark &amp;selected feeds as read</source>
<translation type="unfinished"></translation>
<translation>Markeer ge&amp;selecteerde feeds als gelezen</translation>
</message>
<message>
<source>Mark selected feeds as unread</source>
<translation type="unfinished"></translation>
<translation>Markeer geselecteerde bericht als ongelezen</translation>
</message>
<message>
<source>&amp;Delete selected messages</source>
<translation type="unfinished"></translation>
<translation>Verwij&amp;der geselecteerde berichten.</translation>
</message>
<message>
<source>Clean selected feeds</source>
<translation type="unfinished"></translation>
<translation>Wis geselecteerde feeds</translation>
</message>
<message>
<source>Deletes all messages from selected feeds.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Mark all &amp;feeds as read</source>
<translation type="unfinished"></translation>
<translation>Verwijder alle berichten van geselecteerde feeds.</translation>
</message>
<message>
<source>Marks all messages in all feeds read. This does not take message filters into account.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>View selected feeds in newspaper mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Clean all feeds</source>
<translation type="unfinished"></translation>
<translation>Markeer alle berichten van alle feeds als gelezen. Dit is niet van toepassing op berichten filters in account.</translation>
</message>
<message>
<source>Deletes all messages from all feeds.</source>
<translation type="unfinished"></translation>
<translation>Verwijder alle berichten van alle feeds.</translation>
</message>
<message>
<source>Add new feed/category</source>
<translation>Voeg nieuwe feeds/categorieën toe</translation>
</message>
<message>
<source>Update &amp;all feeds</source>
<translation>&amp;Alle feeds bijwerken</translation>
</message>
<message>
<source>Update &amp;selected feeds</source>
<translation>Update ge&amp;selecteerde feeds</translation>
</message>
<message>
<source>&amp;Edit selected feed/category</source>
<translation>B&amp;ewerk geselecteerde feed/categorie</translation>
</message>
<message>
<source>&amp;Delete selected feed/category</source>
<translation>Verwij&amp;der geselecteerde feed/categorie</translation>
</message>
<message>
<source>Mark all &amp;feeds as read</source>
<translation>Markeer alle &amp;feeds als gelezen</translation>
</message>
<message>
<source>View selected feeds in newspaper mode</source>
<translation>Bekijk de geselecteerde items in de krantweergave modus</translation>
</message>
<message>
<source>Clean all feeds</source>
<translation>Alle feeds opschonen</translation>
</message>
</context>
<context>
@ -610,7 +614,9 @@ Status automatisch bijwerken: %5</translation>
</message>
<message>
<source>Language</source>
<extracomment>Language settings section.</extracomment>
<extracomment>Language settings section.
----------
Language column of language list.</extracomment>
<translation>Taal</translation>
</message>
<message>
@ -672,10 +678,12 @@ Status automatisch bijwerken: %5</translation>
</message>
<message>
<source>Code</source>
<extracomment>Lang. code column of language list.</extracomment>
<translation>Code</translation>
</message>
<message>
<source>Version</source>
<extracomment>Version column of skin list.</extracomment>
<translation>Versie</translation>
</message>
<message>
@ -777,6 +785,7 @@ Status automatisch bijwerken: %5</translation>
</message>
<message>
<source>Name</source>
<extracomment>Skin list name column.</extracomment>
<translation>Naam</translation>
</message>
<message>
@ -1098,11 +1107,11 @@ Auteurs van Rssguard zijn NIET verantwoordelijk voor verlies van gegevens.</tran
</message>
<message>
<source>You did not executed any connection test yet.</source>
<translation type="unfinished"></translation>
<translation>U heeft nog geen verbindings test uitgevoerd.</translation>
</message>
<message>
<source>Launch %1 on operating system startup</source>
<translation type="unfinished"></translation>
<translation>Laad %1 als systeem opstart</translation>
</message>
</context>
<context>
@ -1589,42 +1598,52 @@ de geïnstalleerde.</translation>
<name>MessagesModel</name>
<message>
<source>Id</source>
<extracomment>Tooltip for ID of message.</extracomment>
<translation>ld</translation>
</message>
<message>
<source>Read</source>
<extracomment>Tooltip for &quot;read&quot; column in msg list.</extracomment>
<translation>Lees</translation>
</message>
<message>
<source>Deleted</source>
<extracomment>Tooltip for &quot;deleted&quot; column in msg list.</extracomment>
<translation>verwijder</translation>
</message>
<message>
<source>Important</source>
<extracomment>Tooltip for &quot;important&quot; column in msg list.</extracomment>
<translation>Belangrijk</translation>
</message>
<message>
<source>Feed</source>
<extracomment>Tooltip for name of feed for message.</extracomment>
<translation>Feed</translation>
</message>
<message>
<source>Title</source>
<extracomment>Tooltip for title of message.</extracomment>
<translation>Titel</translation>
</message>
<message>
<source>Url</source>
<extracomment>Tooltip for url of message.</extracomment>
<translation>Url</translation>
</message>
<message>
<source>Author</source>
<extracomment>Tooltip for author of message.</extracomment>
<translation>Auteur</translation>
</message>
<message>
<source>Created on</source>
<extracomment>Tooltip for creation date of message.</extracomment>
<translation>Gemaakt op</translation>
</message>
<message>
<source>Contents</source>
<extracomment>Tooltip for contents of message.</extracomment>
<translation>Inhoud</translation>
</message>
<message>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="pt_BR">
<TS version="2.0" language="pt_BR">
<context>
<name>CornerButton</name>
<message>
@ -80,10 +80,12 @@
</message>
<message>
<source>Titles of feeds/categories.</source>
<extracomment>Feed list header &quot;titles&quot; column tooltip.</extracomment>
<translation>Títulos dos feeds/categorias.</translation>
</message>
<message>
<source>Counts of unread/all meesages.</source>
<extracomment>Feed list header &quot;counts&quot; column tooltip.</extracomment>
<translation>Quantidade de mensagens não lidas/todas.</translation>
</message>
<message>
@ -177,7 +179,9 @@ Auto-update status: %5</source>
</message>
<message>
<source>Cannot edit item</source>
<extracomment>Warning messagebox title when selected item cannot be edited.</extracomment>
<extracomment>Warning messagebox title when selected item cannot be edited.
----------
Warning messagebox title when selected item cannot be edited.</extracomment>
<translation>Não foi possível editar o item</translation>
</message>
<message>
@ -603,7 +607,9 @@ Auto-update status: %5</source>
</message>
<message>
<source>Language</source>
<extracomment>Language settings section.</extracomment>
<extracomment>Language settings section.
----------
Language column of language list.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -665,10 +671,12 @@ Auto-update status: %5</source>
</message>
<message>
<source>Code</source>
<extracomment>Lang. code column of language list.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Version</source>
<extracomment>Version column of skin list.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -764,6 +772,7 @@ Auto-update status: %5</source>
</message>
<message>
<source>Name</source>
<extracomment>Skin list name column.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
@ -1561,42 +1570,52 @@ currently installed one.</source>
<name>MessagesModel</name>
<message>
<source>Id</source>
<extracomment>Tooltip for ID of message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Read</source>
<extracomment>Tooltip for &quot;read&quot; column in msg list.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Deleted</source>
<extracomment>Tooltip for &quot;deleted&quot; column in msg list.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Important</source>
<extracomment>Tooltip for &quot;important&quot; column in msg list.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Feed</source>
<extracomment>Tooltip for name of feed for message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Title</source>
<extracomment>Tooltip for title of message.</extracomment>
<translation>Título</translation>
</message>
<message>
<source>Url</source>
<extracomment>Tooltip for url of message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Author</source>
<extracomment>Tooltip for author of message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Created on</source>
<extracomment>Tooltip for creation date of message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>
<source>Contents</source>
<extracomment>Tooltip for contents of message.</extracomment>
<translation type="unfinished"></translation>
</message>
<message>

View File

@ -2,6 +2,8 @@
[1.9.9.6]
<ul>
<li>[~] Message list optimizations.</li>
<li>[+] Feed list categories exapand status is now persistent.</li>
<li>[+] System-wide external web browser can now be used.</li>
</ul>
[1.9.9.6]

View File

@ -17,17 +17,38 @@
#include "core/networkfactory.h"
#include "core/defs.h"
#include "core/silentnetworkaccessmanager.h"
#include "core/feedsmodelstandardfeed.h"
#include "core/settings.h"
#include <QEventLoop>
#include <QTimer>
#include <QTextDocument>
#include <QProcess>
#include <QDesktopServices>
NetworkFactory::NetworkFactory() {
}
bool NetworkFactory::openUrlInExternalBrowser(const QString &url) {
if (Settings::instance()->value(APP_CFG_BROWSER,
"custom_external_browser",
false).toBool()) {
QString browser = Settings::instance()->value(APP_CFG_BROWSER,
"external_browser_executable").toString();
QString arguments = Settings::instance()->value(APP_CFG_BROWSER,
"external_browser_arguments",
"%1").toString();
return QProcess::startDetached(browser, QStringList() << arguments.arg(url));
}
else {
return QDesktopServices::openUrl(url);
}
}
QString NetworkFactory::networkErrorText(QNetworkReply::NetworkError error_code) {
switch (error_code) {
case QNetworkReply::ProtocolUnknownError:

View File

@ -32,6 +32,9 @@ class NetworkFactory {
explicit NetworkFactory();
public:
static bool openUrlInExternalBrowser(const QString &url);
// Returns human readable text for given network error.
static QString networkErrorText(QNetworkReply::NetworkError error_code);
// Performs SYNCHRONOUS download if favicon for the site,

View File

@ -229,6 +229,15 @@ bool FormSettings::doSaveCheck() {
resulting_information.append(tr("some keyboard shortcuts are not unique"));
}
// User selected custom external browser but did not set its
// properties.
if (m_ui->m_grpCustomExternalBrowser->isChecked() &&
(m_ui->m_txtExternalBrowserExecutable->text().simplified().isEmpty() ||
!m_ui->m_txtExternalBrowserArguments->text().simplified().contains("%1"))) {
everything_ok = false;
resulting_information.append(tr("custom external browser is not set correctly"));
}
if (!everything_ok) {
resulting_information.replaceInStrings(QRegExp("^"),
QString::fromUtf8(""));
@ -345,12 +354,18 @@ void FormSettings::loadBrowser() {
m_ui->m_txtExternalBrowserArguments->setText(settings->value(APP_CFG_BROWSER,
"external_browser_arguments",
"%1").toString());
m_ui->m_grpCustomExternalBrowser->setChecked(settings->value(APP_CFG_BROWSER,
"custom_external_browser",
false).toBool());
}
void FormSettings::saveBrowser() {
Settings *settings = Settings::instance();
// Save settings of GUI of web browser.
settings->setValue(APP_CFG_BROWSER,
"custom_external_browser",
m_ui->m_grpCustomExternalBrowser->isChecked());
settings->setValue(APP_CFG_BROWSER,
"browser_progress_color",
m_initialSettings.m_webBrowserProgress.name());

View File

@ -17,7 +17,7 @@
<item row="0" column="1">
<widget class="QStackedWidget" name="m_stackedSettings">
<property name="currentIndex">
<number>0</number>
<number>5</number>
</property>
<widget class="QWidget" name="m_pageGeneral">
<layout class="QFormLayout" name="formLayout_5">
@ -633,7 +633,7 @@ Authors of this application are NOT responsible for lost data.</string>
<item>
<widget class="QTabWidget" name="m_tabBrowserProxy">
<property name="currentIndex">
<number>0</number>
<number>1</number>
</property>
<widget class="QWidget" name="m_tabInternalBrowser">
<attribute name="title">
@ -712,73 +712,91 @@ Authors of this application are NOT responsible for lost data.</string>
<attribute name="title">
<string>External web browser</string>
</attribute>
<layout class="QFormLayout" name="formLayout_12">
<item row="0" column="0">
<widget class="QLabel" name="m_lblExternalBrowserExecutable">
<property name="text">
<string>Web browser executable</string>
<layout class="QFormLayout" name="formLayout_17">
<item row="0" column="0" colspan="2">
<widget class="QGroupBox" name="m_grpCustomExternalBrowser">
<property name="toolTip">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;If unchecked, then default system-wide web browser is used.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
<item row="0" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>
<widget class="QLineEdit" name="m_txtExternalBrowserExecutable">
<property name="placeholderText">
<string>Executable file of web browser</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="m_btnExternalBrowserExecutable">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QLabel" name="m_lblExternalBrowserArguments">
<property name="text">
<string>Executable parameters</string>
<property name="title">
<string>Custom external web browser</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="m_txtExternalBrowserArguments">
<property name="placeholderText">
<string>Parameters to executable</string>
<property name="flat">
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="m_lblExternalBrowserPreset">
<property name="text">
<string>Use sample arguments for</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="m_cmbExternalBrowserPreset">
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
</property>
<item>
<property name="text">
<string>Select browser</string>
</property>
</item>
</widget>
</item>
<item row="3" column="0" colspan="2">
<widget class="QLabel" name="label">
<property name="text">
<string>Note that &quot;%1&quot; (without quotation marks) is placeholder for URL of selected message.</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
<property name="checkable">
<bool>true</bool>
</property>
<layout class="QFormLayout" name="formLayout_12">
<item row="0" column="0">
<widget class="QLabel" name="m_lblExternalBrowserExecutable">
<property name="text">
<string>Web browser executable</string>
</property>
</widget>
</item>
<item row="0" column="1">
<layout class="QHBoxLayout" name="horizontalLayout_10">
<item>
<widget class="QLineEdit" name="m_txtExternalBrowserExecutable">
<property name="placeholderText">
<string>Executable file of web browser</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="m_btnExternalBrowserExecutable">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
</layout>
</item>
<item row="1" column="0">
<widget class="QLabel" name="m_lblExternalBrowserArguments">
<property name="text">
<string>Executable parameters</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="m_txtExternalBrowserArguments">
<property name="placeholderText">
<string>Parameters to executable</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="m_lblExternalBrowserPreset">
<property name="text">
<string>Use sample arguments for</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QComboBox" name="m_cmbExternalBrowserPreset">
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
</property>
<item>
<property name="text">
<string>Select browser</string>
</property>
</item>
</widget>
</item>
<item row="3" column="0" colspan="2">
<widget class="QLabel" name="label">
<property name="text">
<string>Note that &quot;%1&quot; (without quotation marks) is placeholder for URL of selected message.</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>

View File

@ -21,12 +21,11 @@
#include "core/systemfactory.h"
#include "core/networkfactory.h"
#include "gui/iconthemefactory.h"
#if !defined(Q_OS_WIN)
#include "gui/messagebox.h"
#endif
#include "gui/systemtrayicon.h"
#include <QNetworkReply>
#include <QDesktopServices>
FormUpdate::FormUpdate(QWidget *parent)
@ -37,6 +36,12 @@ FormUpdate::FormUpdate(QWidget *parent)
setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | Qt::Dialog);
setWindowIcon(IconThemeFactory::instance()->fromTheme("application-about"));
m_btnUpdate = m_ui->m_buttonBox->addButton(tr("Update"), QDialogButtonBox::ActionRole);
m_btnUpdate->setToolTip(tr("Download new installation files."));
m_btnUpdate->hide();
connect(m_btnUpdate, SIGNAL(clicked()), this, SLOT(startUpdate()));
#if !defined(Q_OS_WIN)
MessageBox::iconify(m_ui->m_buttonBox);
#endif
@ -49,6 +54,10 @@ FormUpdate::~FormUpdate() {
delete m_ui;
}
bool FormUpdate::isUpdateForThisSystem() {
return m_updateInfo.m_urls.keys().contains(OS_ID);
}
// TODO: tady v update nacist do m_lblSupportedPlatforms
// seznam platform ktery danej release podporuje oddelenej carkama
// treba "Windows, OS2" atp atp.
@ -59,6 +68,8 @@ FormUpdate::~FormUpdate() {
void FormUpdate::checkForUpdates() {
QPair<UpdateInfo, QNetworkReply::NetworkError> update = SystemFactory::instance()->checkForUpdates();
m_updateInfo = update.first;
if (update.second != QNetworkReply::NoError) {
//: Uknown release.
m_ui->m_lblAvailableRelease->setText(tr("unknown"));
@ -73,7 +84,6 @@ void FormUpdate::checkForUpdates() {
m_ui->m_txtChanges->setText(update.first.m_changes);
if (update.first.m_availableVersion > APP_VERSION) {
#if defined(Q_OS_WIN) || defined(Q_OS_OS2)
m_ui->m_lblStatus->setStatus(WidgetWithStatus::Ok,
tr("New release available."),
tr("This is new version which can be\ndownloaded and installed."));
@ -82,16 +92,31 @@ void FormUpdate::checkForUpdates() {
// is available.
// TODO: Tady po stisku update tlacitka se provede
// stazeni archivu do tempu.
#else
m_ui->m_lblStatus->setStatus(WidgetWithStatus::Ok,
tr("New release available."),
tr("This is new version. Upgrade to it manually or via your system package manager."));
#endif
m_btnUpdate->setVisible(isUpdateForThisSystem());
}
else {
m_ui->m_lblStatus->setStatus(WidgetWithStatus::Warning,
tr("No new release available."),
tr("This release is not newer than\ncurrently installed one."));
m_btnUpdate->show();
}
}
}
void FormUpdate::startUpdate() {
if (!NetworkFactory::openUrlInExternalBrowser(m_updateInfo.m_urls.value(OS_ID).m_fileUrl)) {
if (SystemTrayIcon::isSystemTrayActivated()) {
SystemTrayIcon::instance()->showMessage(tr("Cannot update application"),
tr("Cannot navigate to installation file. Check new installation downloads "
"manually on project website."),
QSystemTrayIcon::Warning);
}
else {
MessageBox::show(this,
QMessageBox::Warning,
tr("Cannot update application"),
tr("Cannot navigate to installation file. Check new installation downloads "
"manually on project website."));
}
}
}

View File

@ -19,9 +19,12 @@
#define FORMUPDATE_H
#include <QDialog>
#include <QPushButton>
#include "ui_formupdate.h"
#include "core/systemfactory.h"
namespace Ui {
class FormUpdate;
@ -35,12 +38,19 @@ class FormUpdate : public QDialog {
explicit FormUpdate(QWidget *parent = 0);
virtual ~FormUpdate();
// Returns true if current update provides
// installation file for current platform.
bool isUpdateForThisSystem();
protected slots:
// Check for updates and interprets the results.
void checkForUpdates();
void startUpdate();
private:
Ui::FormUpdate *m_ui;
UpdateInfo m_updateInfo;
QPushButton *m_btnUpdate;
};
#endif // FORMUPDATE_H

View File

@ -20,14 +20,13 @@
#include "core/messagesproxymodel.h"
#include "core/messagesmodel.h"
#include "core/settings.h"
#include "core/networkfactory.h"
#include "gui/formmain.h"
#include "gui/messagebox.h"
#include <QKeyEvent>
#include <QScrollBar>
#include <QMenu>
#include <QProcess>
#include <QDesktopServices>
MessagesView::MessagesView(QWidget *parent)
@ -241,26 +240,10 @@ void MessagesView::loadFeeds(const QList<int> &feed_ids) {
}
void MessagesView::openSelectedSourceArticlesExternally() {
QString browser = Settings::instance()->value(APP_CFG_BROWSER,
"external_browser_executable").toString();
QString arguments = Settings::instance()->value(APP_CFG_BROWSER,
"external_browser_arguments",
"%1").toString();
if (browser.isEmpty() || arguments.isEmpty()) {
MessageBox::show(this,
QMessageBox::Critical,
tr("External browser not set"),
tr("External browser is not set, head to application settings and set it up to use this feature."));
return;
}
foreach (const QModelIndex &index, selectionModel()->selectedRows()) {
QString link = m_sourceModel->messageAt(m_proxyModel->mapToSource(index).row()).m_url;
if (!QProcess::startDetached(browser,
QStringList() << arguments.arg(link))) {
if (!NetworkFactory::openUrlInExternalBrowser(link)) {
MessageBox::show(this,
QMessageBox::Critical,
tr("Problem with starting external web browser"),