Reloaded translations and remembering of columns widths.

This commit is contained in:
Martin Rotter 2013-12-22 18:06:30 +01:00
parent 046322fa9d
commit 175e657af7
15 changed files with 398 additions and 359 deletions

View File

@ -242,7 +242,7 @@ set(APP_SOURCES
src/gui/shortcutbutton.cpp
src/gui/dynamicshortcutswidget.cpp
src/gui/webbrowser.cpp
src/gui/basewebview.cpp
src/gui/webview.cpp
src/gui/baselineedit.cpp
src/gui/locationlineedit.cpp
src/gui/tabwidget.cpp
@ -302,7 +302,7 @@ set(APP_HEADERS
src/gui/shortcutbutton.h
src/gui/dynamicshortcutswidget.h
src/gui/webbrowser.h
src/gui/basewebview.h
src/gui/webview.h
src/gui/baselineedit.h
src/gui/locationlineedit.h
src/gui/tabwidget.h

View File

@ -1,89 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="cs_CZ">
<context>
<name>BaseWebView</name>
<message>
<source>Reload web page</source>
<translation>Obnovit stránku</translation>
</message>
<message>
<source>Reload current web page</source>
<translation>Znovu načíst aktuální stránku</translation>
</message>
<message>
<source>Copy link url</source>
<translation>Kopírovat adresu odkazu</translation>
</message>
<message>
<source>Copy link url to clipboard</source>
<translation>Kopírovat adresu odkazu to schránky</translation>
</message>
<message>
<source>Copy image</source>
<translation>Kopírovat obrázek</translation>
</message>
<message>
<source>Copy image to clipboard</source>
<translation>Kopírovat obrázek do schránky</translation>
</message>
<message>
<source>Copy image url</source>
<translation>Kopírovat adresu obrázku</translation>
</message>
<message>
<source>Copy image url to clipboard</source>
<translation>Kopírovat adresu obrázku do schránky</translation>
</message>
<message>
<source>Web browser</source>
<translation>Webový prohlížeč</translation>
</message>
<message>
<source>Image</source>
<translation>Obrázek</translation>
</message>
<message>
<source>Open link in new tab</source>
<translation>Otevřít odkaz v novém panelu</translation>
</message>
<message>
<source>Open this hyperlink in new tab</source>
<translation>Otevřít tento odkaz v novém panelu</translation>
</message>
<message>
<source>Follow link</source>
<translation>Přejít</translation>
</message>
<message>
<source>Open the hyperlink in this tab</source>
<translation>Otevřít tento odkaz v tomto panelu</translation>
</message>
<message>
<source>Open image in new tab</source>
<translation>Otevřít obrázek v novém panelu</translation>
</message>
<message>
<source>Open this image in this tab</source>
<translation>Otevřít tento obrázek v novém panelu</translation>
</message>
<message>
<source>Hyperlink</source>
<translation>Hypertextový odkaz</translation>
</message>
<message>
<source>Page not found</source>
<translation>Stránka nenalezena</translation>
</message>
<message>
<source>Check your internet connection or website address</source>
<translation>Zkontrolujte Vaše internetové připojení a adresu webové stránky</translation>
</message>
<message>
<source>This failure can be caused by:&lt;br&gt;&lt;ul&gt;&lt;li&gt;non-functional internet connection,&lt;/li&gt;&lt;li&gt;incorrect website address,&lt;/li&gt;&lt;li&gt;bad proxy server settings,&lt;/li&gt;&lt;li&gt;target destination outage,&lt;/li&gt;&lt;li&gt;many other things.&lt;/li&gt;&lt;/ul&gt;</source>
<translation>Tuto chybu může způsobit:&lt;br&gt;&lt;ul&gt;&lt;li&gt;nefunkční internetové připojení,&lt;/li&gt;&lt;li&gt;&lt;/li&gt;nesprávně zadaná webová adresa,&lt;/li&gt;&lt;li&gt;špatně nastavená proxy,&lt;/li&gt;&lt;li&gt;výpadek cílového webu,&lt;/li&gt;&lt;li&gt;mnoho dalších věcí.&lt;/li&gt;&lt;/ul&gt;</translation>
</message>
</context>
<context>
<name>CornerButton</name>
<message>
@ -112,6 +29,10 @@
<source>Counts of unread/all meesages.</source>
<translation>Počty nepřečtených/všech zpráviček.</translation>
</message>
<message>
<source>root</source>
<translation>kořen</translation>
</message>
</context>
<context>
<name>FormAbout</name>
@ -264,27 +185,27 @@
</message>
<message>
<source>Update selected feeds/categories.</source>
<translation type="unfinished"></translation>
<translation>Aktualizovat vybrané kategorie/kanály.</translation>
</message>
<message>
<source>Edit selected feed/category.</source>
<translation type="unfinished"></translation>
<translation>Editovat vybrané kategorii/kanál.</translation>
</message>
<message>
<source>Delete selected feeds/categories.</source>
<translation type="unfinished"></translation>
<translation>Smazat vybrané kategorie/kanály.</translation>
</message>
<message>
<source>Mark selected messages as read.</source>
<translation type="unfinished"></translation>
<translation>Označit vybrané zprávy jako přečtené.</translation>
</message>
<message>
<source>Mark selected messages as unread.</source>
<translation type="unfinished"></translation>
<translation>Označit vybrané zprávy jako nepřečtené.</translation>
</message>
<message>
<source>Switch importance of selected messages.</source>
<translation type="unfinished"></translation>
<translation>Přepnout důležitost vybraných zpráv.</translation>
</message>
<message>
<source>&amp;Web browser</source>
@ -292,31 +213,31 @@
</message>
<message>
<source>Mark selected messages &amp;read</source>
<translation type="unfinished"></translation>
<translation>Označit vyb&amp;rané zprávy jako přečtené</translation>
</message>
<message>
<source>Mark selected messages &amp;unread</source>
<translation type="unfinished"></translation>
<translation>Označit vybrané zprávy jako &amp;nepřečtené</translation>
</message>
<message>
<source>Switch &amp;importance of selected messages</source>
<translation type="unfinished"></translation>
<translation>Přepnout &amp;důležitost vybraných zpráv</translation>
</message>
<message>
<source>Mark &amp;all messages read</source>
<translation type="unfinished"></translation>
<translation>Ozn&amp;ačit všechny zprávy jako přečtené</translation>
</message>
<message>
<source>Mark a&amp;ll messages unread</source>
<translation type="unfinished"></translation>
<translation>Označit &amp;všechny zprávy jako nepřečtené</translation>
</message>
<message>
<source>&amp;Delete selected messages</source>
<translation type="unfinished"></translation>
<translation>&amp;Smazat vybrané zprávy</translation>
</message>
<message>
<source>Dele&amp;te all messages</source>
<translation type="unfinished"></translation>
<translation>Smaza&amp;t všechny zprávy</translation>
</message>
<message>
<source>Import stuff.</source>
@ -344,19 +265,19 @@
</message>
<message>
<source>Add new web browser tab.</source>
<translation type="unfinished"></translation>
<translation>Přidat nový panel webového prohlížeče.</translation>
</message>
<message>
<source>Close current web browser tab.</source>
<translation type="unfinished"></translation>
<translation>Zavřít aktuální panel webového prohlížeče..</translation>
</message>
<message>
<source>Update &amp;all feeds</source>
<translation type="unfinished"></translation>
<translation>Aktualizov&amp;at vše</translation>
</message>
<message>
<source>Update &amp;selected feeds</source>
<translation type="unfinished"></translation>
<translation>Aktualizovat vybrané kanál&amp;y</translation>
</message>
<message>
<source>&amp;Edit selected feed(s)/category(ies)</source>
@ -364,7 +285,7 @@
</message>
<message>
<source>&amp;Delete selected feed(s)/category(ies)</source>
<translation type="unfinished"></translation>
<translation>Smazat vybrané kanály/kategor&amp;ie</translation>
</message>
<message>
<source>Mark selected feed(s)/category(ies) as read</source>
@ -380,11 +301,11 @@
</message>
<message>
<source>Add new &amp;feed</source>
<translation type="unfinished"></translation>
<translation>Přidat k&amp;anál</translation>
</message>
<message>
<source>Add new feed.</source>
<translation type="unfinished"></translation>
<translation>Přidat nový kanál.</translation>
</message>
<message>
<source>Open selected messages in internal browser</source>
@ -426,6 +347,10 @@
<source>Delete all messages from selected feeds. This does NOT take message filters into account.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Application is already running.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormSettings</name>
@ -489,10 +414,6 @@
<source>Web browser</source>
<translation>Webový prohlížeč</translation>
</message>
<message>
<source>&amp;Change...</source>
<translation>&amp;Změnit...</translation>
</message>
<message>
<source>Use custom color for web browser progress bar</source>
<translation>Použít barevný průběhový pás při načítání stránky</translation>
@ -743,49 +664,47 @@
</message>
<message>
<source>Opera 12 or older</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Current color</source>
<translation type="unfinished"></translation>
<translation>Opera 12 nebo starší</translation>
</message>
<message>
<source>Executable file of web browser</source>
<translation type="unfinished"></translation>
<translation>Spouštěcí soubor prohlžeče webu</translation>
</message>
<message>
<source>Parameters to executable</source>
<translation type="unfinished"></translation>
<translation>Parametry spouštěče</translation>
</message>
<message>
<source>some keyboard shortcuts are not unique</source>
<translation type="unfinished"></translation>
<translation>některé klávesové zkratky nejsou unikátní</translation>
</message>
<message>
<source>external browser is not set</source>
<translation type="unfinished"></translation>
<translation>externí prohlížeč není nastaven</translation>
</message>
<message>
<source>List of errors:
%1.</source>
<translation type="unfinished"></translation>
<translation>Seznam chyb:
%1.</translation>
</message>
<message>
<source>List of changes:
%1.</source>
<translation type="unfinished"></translation>
<translation>Seznam změn:
%1.</translation>
</message>
<message>
<source>language changed</source>
<translation type="unfinished"></translation>
<translation>jazyk změněn</translation>
</message>
<message>
<source>icon theme changed</source>
<translation type="unfinished"></translation>
<translation>téma ikon změněno</translation>
</message>
<message>
<source>skin changed</source>
<translation type="unfinished"></translation>
<translation>skin změněn</translation>
</message>
</context>
<context>
@ -953,36 +872,37 @@
</message>
<message>
<source>ATOM 1.0</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>RDF 1.0</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>RSS 0.90/0.91/0.92</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>RSS 2.0/2.0.1</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>%1
Category type: standard
Creation date: %2%3</source>
<translation type="unfinished">%1
<translation>%1
Typ kategorie: standardní
Datum vytvoření: %2%3 {1
?}</translation>
Datum vytvoření: %2%3</translation>
</message>
<message>
<source>
This category does not contain any nested items.</source>
<translation type="unfinished"></translation>
<translation>
Tato kategorie neobsahuje žádné podřízené položky.</translation>
</message>
<message>
<source>%1
@ -991,7 +911,12 @@ Feed type: %2
URL: %3
Encoding: %4
Language: %5</source>
<translation type="unfinished"></translation>
<translation>%1
Typ kanálu: %2
URL: %3
Kódování: %4
Jazyk: %5</translation>
</message>
</context>
<context>
@ -1090,4 +1015,87 @@ Language: %5</source>
<translation>Napsal</translation>
</message>
</context>
<context>
<name>WebView</name>
<message>
<source>Reload web page</source>
<translation>Obnovit stránku</translation>
</message>
<message>
<source>Reload current web page</source>
<translation>Znovu načíst aktuální stránku</translation>
</message>
<message>
<source>Copy link url</source>
<translation>Kopírovat adresu odkazu</translation>
</message>
<message>
<source>Copy link url to clipboard</source>
<translation>Kopírovat adresu odkazu to schránky</translation>
</message>
<message>
<source>Copy image</source>
<translation>Kopírovat obrázek</translation>
</message>
<message>
<source>Copy image to clipboard</source>
<translation>Kopírovat obrázek do schránky</translation>
</message>
<message>
<source>Copy image url</source>
<translation>Kopírovat adresu obrázku</translation>
</message>
<message>
<source>Copy image url to clipboard</source>
<translation>Kopírovat adresu obrázku do schránky</translation>
</message>
<message>
<source>Open link in new tab</source>
<translation>Otevřít odkaz v novém panelu</translation>
</message>
<message>
<source>Open this hyperlink in new tab</source>
<translation>Otevřít tento odkaz v novém panelu</translation>
</message>
<message>
<source>Follow link</source>
<translation>Přejít</translation>
</message>
<message>
<source>Open the hyperlink in this tab</source>
<translation>Otevřít tento odkaz v tomto panelu</translation>
</message>
<message>
<source>Open image in new tab</source>
<translation>Otevřít obrázek v novém panelu</translation>
</message>
<message>
<source>Open this image in this tab</source>
<translation>Otevřít tento obrázek v novém panelu</translation>
</message>
<message>
<source>Page not found</source>
<translation>Stránka nenalezena</translation>
</message>
<message>
<source>Check your internet connection or website address</source>
<translation>Zkontrolujte Vaše internetové připojení a adresu webové stránky</translation>
</message>
<message>
<source>This failure can be caused by:&lt;br&gt;&lt;ul&gt;&lt;li&gt;non-functional internet connection,&lt;/li&gt;&lt;li&gt;incorrect website address,&lt;/li&gt;&lt;li&gt;bad proxy server settings,&lt;/li&gt;&lt;li&gt;target destination outage,&lt;/li&gt;&lt;li&gt;many other things.&lt;/li&gt;&lt;/ul&gt;</source>
<translation>Tuto chybu může způsobit:&lt;br&gt;&lt;ul&gt;&lt;li&gt;nefunkční internetové připojení,&lt;/li&gt;&lt;li&gt;nesprávně zadaná webová adresa,&lt;/li&gt;&lt;li&gt;špatně nastavená proxy,&lt;/li&gt;&lt;li&gt;výpadek cílového webu,&lt;/li&gt;&lt;li&gt;mnoho dalších věcí.&lt;/li&gt;&lt;/ul&gt;</translation>
</message>
<message>
<source>Web browser</source>
<translation>Webový prohlížeč</translation>
</message>
<message>
<source>Image</source>
<translation>Obrázek</translation>
</message>
<message>
<source>Hyperlink</source>
<translation>Hypertextový odkaz</translation>
</message>
</context>
</TS>

View File

@ -1,89 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="en_US">
<context>
<name>BaseWebView</name>
<message>
<source>Reload web page</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reload current web page</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy link url</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy link url to clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy image</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy image to clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy image url</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy image url to clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Web browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Image</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Open link in new tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Open this hyperlink in new tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Follow link</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Open the hyperlink in this tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Open image in new tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Open this image in this tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Hyperlink</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Page not found</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Check your internet connection or website address</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>This failure can be caused by:&lt;br&gt;&lt;ul&gt;&lt;li&gt;non-functional internet connection,&lt;/li&gt;&lt;li&gt;incorrect website address,&lt;/li&gt;&lt;li&gt;bad proxy server settings,&lt;/li&gt;&lt;li&gt;target destination outage,&lt;/li&gt;&lt;li&gt;many other things.&lt;/li&gt;&lt;/ul&gt;</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CornerButton</name>
<message>
@ -112,6 +29,10 @@
<source>Counts of unread/all meesages.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>root</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormAbout</name>
@ -426,6 +347,10 @@
<source>Delete all messages from selected feeds. This does NOT take message filters into account.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Application is already running.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormSettings</name>
@ -489,10 +414,6 @@
<source>Web browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;Change...</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Use custom color for web browser progress bar</source>
<translation type="unfinished"></translation>
@ -739,10 +660,6 @@
<source>Opera 12 or older</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Current color</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Executable file of web browser</source>
<translation type="unfinished"></translation>
@ -1079,4 +996,87 @@ Language: %5</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>WebView</name>
<message>
<source>Reload web page</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Reload current web page</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy link url</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy link url to clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy image</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy image to clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy image url</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Copy image url to clipboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Open link in new tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Open this hyperlink in new tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Follow link</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Open the hyperlink in this tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Open image in new tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Open this image in this tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Page not found</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Check your internet connection or website address</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>This failure can be caused by:&lt;br&gt;&lt;ul&gt;&lt;li&gt;non-functional internet connection,&lt;/li&gt;&lt;li&gt;incorrect website address,&lt;/li&gt;&lt;li&gt;bad proxy server settings,&lt;/li&gt;&lt;li&gt;target destination outage,&lt;/li&gt;&lt;li&gt;many other things.&lt;/li&gt;&lt;/ul&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Web browser</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Image</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Hyperlink</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

View File

@ -1,89 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="nl">
<context>
<name>BaseWebView</name>
<message>
<source>Reload web page</source>
<translation>Herlaad webpagina</translation>
</message>
<message>
<source>Reload current web page</source>
<translation>Herlaad huidige webpagina</translation>
</message>
<message>
<source>Copy link url</source>
<translation>URL kopiëren</translation>
</message>
<message>
<source>Copy link url to clipboard</source>
<translation>URL kopiëren naar klembord</translation>
</message>
<message>
<source>Copy image</source>
<translation>Kopiëer afbeelding</translation>
</message>
<message>
<source>Copy image to clipboard</source>
<translation>Kopiëer afbeelding naar klembord</translation>
</message>
<message>
<source>Copy image url</source>
<translation>URL afbeelding kopiëren</translation>
</message>
<message>
<source>Copy image url to clipboard</source>
<translation>URL afbeelding naar klembord kopiëren</translation>
</message>
<message>
<source>Web browser</source>
<translation>Webbrowser</translation>
</message>
<message>
<source>Image</source>
<translation>Afbeelding</translation>
</message>
<message>
<source>Open link in new tab</source>
<translation>Open link in nieuw tabblad</translation>
</message>
<message>
<source>Open this hyperlink in new tab</source>
<translation>Open deze koppeling in nieuw tabblad</translation>
</message>
<message>
<source>Follow link</source>
<translation>Volg koppeling</translation>
</message>
<message>
<source>Open the hyperlink in this tab</source>
<translation>Open koppeling in dit tabblad</translation>
</message>
<message>
<source>Open image in new tab</source>
<translation>Open afbeelding in nieuw tabblad</translation>
</message>
<message>
<source>Open this image in this tab</source>
<translation>Open deze afbeelding in dit tabblad</translation>
</message>
<message>
<source>Hyperlink</source>
<translation>Koppeling</translation>
</message>
<message>
<source>Page not found</source>
<translation>Pagina niet gevonden</translation>
</message>
<message>
<source>Check your internet connection or website address</source>
<translation>Controleer je internet verbinding of website adres</translation>
</message>
<message>
<source>This failure can be caused by:&lt;br&gt;&lt;ul&gt;&lt;li&gt;non-functional internet connection,&lt;/li&gt;&lt;li&gt;incorrect website address,&lt;/li&gt;&lt;li&gt;bad proxy server settings,&lt;/li&gt;&lt;li&gt;target destination outage,&lt;/li&gt;&lt;li&gt;many other things.&lt;/li&gt;&lt;/ul&gt;</source>
<translation>Deze fout kan veroorzaakt worden door:&lt;br&gt;&lt;ul&gt;&lt;li&gt;niet werkende internet verbinding,&lt;/li&gt;&lt;li&gt;onjuiste website adres,&lt;/li&gt;&lt;li&gt;slechte proxy server instelling,&lt;/li&gt;&lt;li&gt;uitval van doellocatie,&lt;/li&gt;&lt;li&gt;of vele andere zaken.&lt;/li&gt;&lt;/ul&gt;</translation>
</message>
</context>
<context>
<name>CornerButton</name>
<message>
@ -112,6 +29,10 @@
<source>Counts of unread/all meesages.</source>
<translation>Aantal van alle ongelezen berichten.</translation>
</message>
<message>
<source>root</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormAbout</name>
@ -426,6 +347,10 @@
<source>Delete all messages from selected feeds. This does NOT take message filters into account.</source>
<translation>Verwijder alle berichten van geselekteerde feeds. Dit zal GEEN bericht filters meenemen in account.</translation>
</message>
<message>
<source>Application is already running.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>FormSettings</name>
@ -489,10 +414,6 @@
<source>Web browser</source>
<translation>Webbrowser</translation>
</message>
<message>
<source>&amp;Change...</source>
<translation>&amp;Verander...</translation>
</message>
<message>
<source>Use custom color for web browser progress bar</source>
<translation>Gebruik eigen kleur voor webbrowser voortgangsbalk</translation>
@ -745,10 +666,6 @@
<source>Opera 12 or older</source>
<translation>Opera 12 of ouder</translation>
</message>
<message>
<source>Current color</source>
<translation>Huidige kleur</translation>
</message>
<message>
<source>Executable file of web browser</source>
<translation>Uitvoerbaar bestand van webbrowser</translation>
@ -1095,4 +1012,87 @@ Taal: %5</translation>
<translation>Geschreven door </translation>
</message>
</context>
<context>
<name>WebView</name>
<message>
<source>Reload web page</source>
<translation type="unfinished">Herlaad webpagina</translation>
</message>
<message>
<source>Reload current web page</source>
<translation type="unfinished">Herlaad huidige webpagina</translation>
</message>
<message>
<source>Copy link url</source>
<translation type="unfinished">URL kopiëren</translation>
</message>
<message>
<source>Copy link url to clipboard</source>
<translation type="unfinished">URL kopiëren naar klembord</translation>
</message>
<message>
<source>Copy image</source>
<translation type="unfinished">Kopiëer afbeelding</translation>
</message>
<message>
<source>Copy image to clipboard</source>
<translation type="unfinished">Kopiëer afbeelding naar klembord</translation>
</message>
<message>
<source>Copy image url</source>
<translation type="unfinished">URL afbeelding kopiëren</translation>
</message>
<message>
<source>Copy image url to clipboard</source>
<translation type="unfinished">URL afbeelding naar klembord kopiëren</translation>
</message>
<message>
<source>Open link in new tab</source>
<translation type="unfinished">Open link in nieuw tabblad</translation>
</message>
<message>
<source>Open this hyperlink in new tab</source>
<translation type="unfinished">Open deze koppeling in nieuw tabblad</translation>
</message>
<message>
<source>Follow link</source>
<translation type="unfinished">Volg koppeling</translation>
</message>
<message>
<source>Open the hyperlink in this tab</source>
<translation type="unfinished">Open koppeling in dit tabblad</translation>
</message>
<message>
<source>Open image in new tab</source>
<translation type="unfinished">Open afbeelding in nieuw tabblad</translation>
</message>
<message>
<source>Open this image in this tab</source>
<translation type="unfinished">Open deze afbeelding in dit tabblad</translation>
</message>
<message>
<source>Page not found</source>
<translation type="unfinished">Pagina niet gevonden</translation>
</message>
<message>
<source>Check your internet connection or website address</source>
<translation type="unfinished">Controleer je internet verbinding of website adres</translation>
</message>
<message>
<source>This failure can be caused by:&lt;br&gt;&lt;ul&gt;&lt;li&gt;non-functional internet connection,&lt;/li&gt;&lt;li&gt;incorrect website address,&lt;/li&gt;&lt;li&gt;bad proxy server settings,&lt;/li&gt;&lt;li&gt;target destination outage,&lt;/li&gt;&lt;li&gt;many other things.&lt;/li&gt;&lt;/ul&gt;</source>
<translation type="unfinished">Deze fout kan veroorzaakt worden door:&lt;br&gt;&lt;ul&gt;&lt;li&gt;niet werkende internet verbinding,&lt;/li&gt;&lt;li&gt;onjuiste website adres,&lt;/li&gt;&lt;li&gt;slechte proxy server instelling,&lt;/li&gt;&lt;li&gt;uitval van doellocatie,&lt;/li&gt;&lt;li&gt;of vele andere zaken.&lt;/li&gt;&lt;/ul&gt;</translation>
</message>
<message>
<source>Web browser</source>
<translation type="unfinished">Webbrowser</translation>
</message>
<message>
<source>Image</source>
<translation type="unfinished">Afbeelding</translation>
</message>
<message>
<source>Hyperlink</source>
<translation type="unfinished">Koppeling</translation>
</message>
</context>
</TS>

View File

@ -22,12 +22,13 @@
#define APP_VERSION "@APP_VERSION@"
#define APP_USERAGENT QString("@APP_NAME@/@APP_VERSION@ (@APP_URL@) on @CMAKE_SYSTEM@; Webkit/") + qWebKitVersion()
#define TEXT_TITLE_LIMIT 30
#define MAX_ZOOM_FACTOR 10.0
#define ICON_SIZE_SETTINGS 16
#define DATABASE_DRIVER "QSQLITE"
#define TEXT_TITLE_LIMIT 30
#define MAX_ZOOM_FACTOR 10.0
#define ICON_SIZE_SETTINGS 16
#define DATABASE_DRIVER "QSQLITE"
#define NO_PARENT_CATEGORY -1
#define TRAY_ICON_BUBBLE_TIMEOUT 15000
#define KEY_MESSAGES_VIEW "messages_view_column_"
#define APP_DB_INIT_FILE "db_init.sql"
#define APP_DB_INIT_SPLIT "-- !\n"

View File

@ -8,10 +8,10 @@
class ParsingFactory {
private:
ParsingFactory();
explicit ParsingFactory();
public:
// Parses inpute textual data into Message objects.
// Parses input textual data into Message objects.
// NOTE: Input is correctly encoded in Unicode.
static QList<Message> parseAsRSS20(const QString &data);
};

View File

@ -28,7 +28,7 @@ FeedMessageViewer::FeedMessageViewer(QWidget *parent)
m_messagesBrowser(new WebBrowser(this)) {
initialize();
initializeViews();
createConnections();
createConnections();
}
FeedMessageViewer::~FeedMessageViewer() {
@ -36,17 +36,43 @@ FeedMessageViewer::~FeedMessageViewer() {
}
void FeedMessageViewer::saveSize() {
Settings::getInstance()->setValue(APP_CFG_GUI,
"splitter_feeds",
m_feedSplitter->saveState());
Settings::getInstance()->setValue(APP_CFG_GUI,
"splitter_messages",
m_messageSplitter->saveState());
Settings *settings = Settings::getInstance();
// Store offsets of splitters.
settings->setValue(APP_CFG_GUI,
"splitter_feeds",
m_feedSplitter->saveState());
settings->setValue(APP_CFG_GUI,
"splitter_messages",
m_messageSplitter->saveState());
// States of splitters are stored, let's store
// widths of columns.
settings->setValue(APP_CFG_GUI,
KEY_MESSAGES_VIEW + QString::number(MSG_DB_AUTHOR_INDEX),
m_messagesView->columnWidth(MSG_DB_AUTHOR_INDEX));
settings->setValue(APP_CFG_GUI,
KEY_MESSAGES_VIEW + QString::number(MSG_DB_DUPDATED_INDEX),
m_messagesView->columnWidth(MSG_DB_DUPDATED_INDEX));
}
void FeedMessageViewer::loadSize() {
m_feedSplitter->restoreState(Settings::getInstance()->value(APP_CFG_GUI, "splitter_feeds").toByteArray());
m_messageSplitter->restoreState(Settings::getInstance()->value(APP_CFG_GUI, "splitter_messages").toByteArray());
Settings *settings = Settings::getInstance();
int default_msg_section_size = m_messagesView->header()->defaultSectionSize();
// Restore offsets of splitters.
m_feedSplitter->restoreState(settings->value(APP_CFG_GUI, "splitter_feeds").toByteArray());
m_messageSplitter->restoreState(settings->value(APP_CFG_GUI, "splitter_messages").toByteArray());
// Splitters are restored, now, restore widths of columns.
m_messagesView->setColumnWidth(MSG_DB_AUTHOR_INDEX,
settings->value(APP_CFG_GUI,
KEY_MESSAGES_VIEW + QString::number(MSG_DB_AUTHOR_INDEX),
default_msg_section_size).toInt());
m_messagesView->setColumnWidth(MSG_DB_DUPDATED_INDEX,
settings->value(APP_CFG_GUI,
KEY_MESSAGES_VIEW + QString::number(MSG_DB_DUPDATED_INDEX),
default_msg_section_size).toInt());
}
void FeedMessageViewer::createConnections() {

View File

@ -35,15 +35,14 @@ QList<FeedsModelFeed *> FeedsView::selectedFeeds() const {
}
void FeedsView::updateCountsOfSelectedFeeds() {
QModelIndexList selected_rows = selectionModel()->selectedRows();
QModelIndexList mapped_rows = m_proxyModel->mapListToSource(selected_rows);
QList<FeedsModelFeed*> feeds = m_sourceModel->feedsForIndexes(mapped_rows);
QList<FeedsModelFeed*> feeds = selectedFeeds();
foreach (FeedsModelFeed *feed, feeds) {
feed->updateCounts();
}
m_sourceModel->reloadChangedLayout(mapped_rows);
// Make sure that selected view reloads changed indexes.
m_sourceModel->reloadChangedLayout(m_proxyModel->mapListToSource(selectionModel()->selectedRows()));
}
void FeedsView::setupAppearance() {

View File

@ -233,12 +233,15 @@ void FormMain::setupIcons() {
void FormMain::loadSize() {
QRect screen = qApp->desktop()->screenGeometry();
// Reload main window size & position.
resize(Settings::getInstance()->value(APP_CFG_GUI,
"window_size",
size()).toSize());
move(Settings::getInstance()->value(APP_CFG_GUI,
"window_position",
screen.center() - rect().center()).toPoint());
// Adjust dimensions of "feeds & messages" widget.
m_ui->m_tabWidget->feedMessageViewer()->loadSize();
}

View File

@ -60,7 +60,7 @@ void LocationLineEdit::paintEvent(QPaintEvent *event) {
QPalette current_palette = palette();
QColor loadingColor = settings->value(APP_CFG_BROWSER,
"browser_progress_color",
QColor(0, 100, 0, 100)).value<QColor>();
QColor(59, 94, 248, 70)).value<QColor>();
QLinearGradient gradient(0, 0, width(), 0);
qreal percentage_border = m_progress / 100.0;

View File

@ -88,6 +88,7 @@ void MessagesView::setupAppearance() {
hideColumn(MSG_DB_DELETED_INDEX);
hideColumn(MSG_DB_FEED_INDEX);
hideColumn(MSG_DB_URL_INDEX);
hideColumn(MSG_DB_DCREATED_INDEX);
hideColumn(MSG_DB_CONTENTS_INDEX);
}

View File

@ -5,7 +5,7 @@
#include "core/webbrowsernetworkaccessmanager.h"
#include "core/basewebpage.h"
#include "gui/skinfactory.h"
#include "gui/basewebview.h"
#include "gui/webview.h"
#include "gui/formmain.h"
#include "gui/locationlineedit.h"
#include "gui/iconthemefactory.h"
@ -31,7 +31,7 @@ WebBrowser::WebBrowser(QWidget *parent)
: TabContent(parent),
m_layout(new QVBoxLayout(this)),
m_toolBar(new QToolBar(tr("Navigation panel"), this)),
m_webView(new BaseWebView(this)),
m_webView(new WebView(this)),
m_txtLocation(new LocationLineEdit(this)),
m_actionBack(m_webView->pageAction(QWebPage::Back)),
m_actionForward(m_webView->pageAction(QWebPage::Forward)),

View File

@ -14,7 +14,7 @@ class QToolButton;
class QWidgetAction;
class QVBoxLayout;
class LocationLineEdit;
class BaseWebView;
class WebView;
class WebBrowserNetworkAccessManager;
class QMenu;
class TabWidget;
@ -98,7 +98,7 @@ class WebBrowser : public TabContent {
private:
QVBoxLayout *m_layout;
QToolBar *m_toolBar;
BaseWebView *m_webView;
WebView *m_webView;
LocationLineEdit *m_txtLocation;
QWidget *m_zoomButtons;
QToolButton *m_btnResetZoom;

View File

@ -1,4 +1,4 @@
#include "gui/basewebview.h"
#include "gui/webview.h"
#include "core/defs.h"
#include "core/settings.h"
@ -16,7 +16,7 @@
#include <QDateTime>
BaseWebView::BaseWebView(QWidget *parent)
WebView::WebView(QWidget *parent)
: QWebView(parent), m_page(new BaseWebPage(this)) {
setPage(m_page);
setContextMenuPolicy(Qt::CustomContextMenu);
@ -24,26 +24,26 @@ BaseWebView::BaseWebView(QWidget *parent)
createConnections();
}
BaseWebView::~BaseWebView() {
WebView::~WebView() {
qDebug("Destroying BaseWebView.");
}
void BaseWebView::onLoadFinished(bool ok) {
void WebView::onLoadFinished(bool ok) {
// If page was not loaded, then display custom error page.
if (!ok) {
displayErrorPage();
}
}
void BaseWebView::openLinkInNewTab() {
void WebView::openLinkInNewTab() {
emit linkMiddleClicked(m_contextLinkUrl);
}
void BaseWebView::openImageInNewTab() {
void WebView::openImageInNewTab() {
emit linkMiddleClicked(m_contextImageUrl);
}
void BaseWebView::createConnections() {
void WebView::createConnections() {
connect(this, SIGNAL(loadFinished(bool)), this, SLOT(onLoadFinished(bool)));
connect(this, SIGNAL(customContextMenuRequested(QPoint)),
this, SLOT(popupContextMenu(QPoint)));
@ -52,7 +52,7 @@ void BaseWebView::createConnections() {
connect(m_actionOpenImageNewTab, SIGNAL(triggered()), this, SLOT(openImageInNewTab()));
}
void BaseWebView::setupIcons() {
void WebView::setupIcons() {
m_actionReload->setIcon(IconThemeFactory::getInstance()->fromTheme("view-refresh"));
m_actionCopyLink->setIcon(IconThemeFactory::getInstance()->fromTheme("edit-copy"));
m_actionCopyImage->setIcon(IconThemeFactory::getInstance()->fromTheme("insert-image"));
@ -66,7 +66,7 @@ void BaseWebView::setupIcons() {
m_actionOpenImageNewTab->setIcon(IconThemeFactory::getInstance()->fromTheme("insert-image"));
}
void BaseWebView::initializeActions() {
void WebView::initializeActions() {
// Create needed actions.
m_actionReload = pageAction(QWebPage::Reload);
m_actionReload->setParent(this);
@ -106,7 +106,7 @@ void BaseWebView::initializeActions() {
m_actionOpenImageNewTab->setToolTip(tr("Open this image in this tab"));
}
void BaseWebView::displayErrorPage() {
void WebView::displayErrorPage() {
setHtml(SkinFactory::getInstance()->getCurrentMarkup().arg(tr("Page not found"),
tr("Check your internet connection or website address"),
QString(),
@ -120,7 +120,7 @@ void BaseWebView::displayErrorPage() {
QDateTime::currentDateTime().toString(Qt::DefaultLocaleLongDate)));
}
void BaseWebView::popupContextMenu(const QPoint &pos) {
void WebView::popupContextMenu(const QPoint &pos) {
QMenu context_menu(tr("Web browser"), this);
QMenu image_submenu(tr("Image"), &context_menu);
QMenu link_submenu(tr("Hyperlink"), this);
@ -163,7 +163,7 @@ void BaseWebView::popupContextMenu(const QPoint &pos) {
context_menu.exec(mapToGlobal(pos));
}
void BaseWebView::mousePressEvent(QMouseEvent *event) {
void WebView::mousePressEvent(QMouseEvent *event) {
if (event->button() & Qt::LeftButton && event->modifiers() & Qt::ControlModifier) {
QWebHitTestResult hit_result = page()->mainFrame()->hitTestContent(event->pos());
@ -190,7 +190,7 @@ void BaseWebView::mousePressEvent(QMouseEvent *event) {
QWebView::mousePressEvent(event);
}
void BaseWebView::mouseReleaseEvent(QMouseEvent *event) {
void WebView::mouseReleaseEvent(QMouseEvent *event) {
if (event->button() & Qt::MiddleButton) {
bool are_gestures_enabled = Settings::getInstance()->value(APP_CFG_BROWSER,
"gestures_enabled",
@ -223,7 +223,7 @@ void BaseWebView::mouseReleaseEvent(QMouseEvent *event) {
QWebView::mouseReleaseEvent(event);
}
void BaseWebView::wheelEvent(QWheelEvent *event) {
void WebView::wheelEvent(QWheelEvent *event) {
if (event->modifiers() & Qt::ControlModifier) {
if (event->delta() > 0) {
increaseWebPageZoom();
@ -240,7 +240,7 @@ void BaseWebView::wheelEvent(QWheelEvent *event) {
QWebView::wheelEvent(event);
}
void BaseWebView::paintEvent(QPaintEvent *event) {
void WebView::paintEvent(QPaintEvent *event) {
QWebView::paintEvent(event);
// Draw additional frame.
@ -261,7 +261,7 @@ void BaseWebView::paintEvent(QPaintEvent *event) {
*/
}
bool BaseWebView::increaseWebPageZoom() {
bool WebView::increaseWebPageZoom() {
qreal new_factor = zoomFactor() + 0.1;
if (new_factor >= 0.0 && new_factor <= MAX_ZOOM_FACTOR) {
@ -273,7 +273,7 @@ bool BaseWebView::increaseWebPageZoom() {
}
}
bool BaseWebView::decreaseWebPageZoom() {
bool WebView::decreaseWebPageZoom() {
qreal new_factor = zoomFactor() - 0.1;
if (new_factor >= 0.0 && new_factor <= MAX_ZOOM_FACTOR) {
@ -285,7 +285,7 @@ bool BaseWebView::decreaseWebPageZoom() {
}
}
bool BaseWebView::resetWebPageZoom() {
bool WebView::resetWebPageZoom() {
qreal new_factor = 1.0;
if (new_factor != zoomFactor()) {

View File

@ -8,13 +8,13 @@ class QAction;
class QPaintEvent;
class BaseWebPage;
class BaseWebView : public QWebView {
class WebView : public QWebView {
Q_OBJECT
public:
// Constructors and destructors.
explicit BaseWebView(QWidget *parent = 0);
virtual ~BaseWebView();
explicit WebView(QWidget *parent = 0);
virtual ~WebView();
void setupIcons();
@ -30,6 +30,7 @@ class BaseWebView : public QWebView {
void zoomFactorChanged();
public slots:
// Page zoom modifiers.
bool increaseWebPageZoom();
bool decreaseWebPageZoom();
bool resetWebPageZoom();