Update translation, added corner widget.

This commit is contained in:
Martin Rotter 2013-08-31 10:40:52 +02:00
parent 2f949604c1
commit a80270560d
9 changed files with 229 additions and 88 deletions

View File

@ -188,6 +188,7 @@ set(APP_SOURCES
src/gui/tabwidget.cpp src/gui/tabwidget.cpp
src/gui/tabbar.cpp src/gui/tabbar.cpp
src/gui/tabcontent.cpp src/gui/tabcontent.cpp
src/gui/cornerbutton.cpp
# CORE sources. # CORE sources.
src/core/debugging.cpp src/core/debugging.cpp
@ -230,6 +231,7 @@ set(APP_HEADERS
src/gui/tabwidget.h src/gui/tabwidget.h
src/gui/tabbar.h src/gui/tabbar.h
src/gui/tabcontent.h src/gui/tabcontent.h
src/gui/cornerbutton.h
# CORE headers. # CORE headers.
src/core/settings.h src/core/settings.h
@ -306,7 +308,7 @@ include_directories (
${CMAKE_CURRENT_BINARY_DIR}/src ${CMAKE_CURRENT_BINARY_DIR}/src
) )
# Setup compilation. # Setup compilation for Qt 5.
if(${USE_QT_5}) if(${USE_QT_5})
if(WIN32) if(WIN32)
add_executable(${EXE_NAME} WIN32 add_executable(${EXE_NAME} WIN32
@ -335,6 +337,7 @@ if(${USE_QT_5})
WebKit WebKit
WebKitWidgets WebKitWidgets
) )
# Setup compilation for Qt 4.
else(${USE_QT_5}) else(${USE_QT_5})
add_executable(${EXE_NAME} WIN32 add_executable(${EXE_NAME} WIN32
${APP_SOURCES} ${APP_SOURCES}
@ -415,13 +418,13 @@ add_custom_target(dist COMMAND ${CMAKE_MAKE_PROGRAM} package_source)
if(${USE_QT_5}) if(${USE_QT_5})
add_custom_target(lupdate add_custom_target(lupdate
${Qt5Core_QMAKE_EXECUTABLE} -project -o ${CMAKE_CURRENT_BINARY_DIR}/${APP_LOW_NAME}.pro ${Qt5Core_QMAKE_EXECUTABLE} -project -o ${CMAKE_CURRENT_BINARY_DIR}/${APP_LOW_NAME}.pro
COMMAND ${Qt5_LUPDATE_EXECUTABLE} -ts ${APP_TRANSLATIONS_WO_QT} -pro ${CMAKE_CURRENT_BINARY_DIR}/${APP_LOW_NAME}.pro COMMAND ${Qt5_LUPDATE_EXECUTABLE} -no-obsolete -ts ${APP_TRANSLATIONS_WO_QT} -pro ${CMAKE_CURRENT_BINARY_DIR}/${APP_LOW_NAME}.pro
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
) )
else(${USE_QT_5}) else(${USE_QT_5})
add_custom_target(lupdate add_custom_target(lupdate
${QT_QMAKE_EXECUTABLE} -project -o ${CMAKE_CURRENT_BINARY_DIR}/${APP_LOW_NAME}.pro ${QT_QMAKE_EXECUTABLE} -project -o ${CMAKE_CURRENT_BINARY_DIR}/${APP_LOW_NAME}.pro
COMMAND ${QT_LUPDATE_EXECUTABLE} -ts ${APP_TRANSLATIONS_WO_QT} -pro ${CMAKE_CURRENT_BINARY_DIR}/${APP_LOW_NAME}.pro COMMAND ${QT_LUPDATE_EXECUTABLE} -no-obsolete -ts ${APP_TRANSLATIONS_WO_QT} -pro ${CMAKE_CURRENT_BINARY_DIR}/${APP_LOW_NAME}.pro
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
) )
endif(${USE_QT_5}) endif(${USE_QT_5})

View File

@ -43,6 +43,34 @@
<source>Image</source> <source>Image</source>
<translation>Obrázek</translation> <translation>Obrázek</translation>
</message> </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>
</context> </context>
<context> <context>
<name>FormAbout</name> <name>FormAbout</name>
@ -99,12 +127,16 @@
<translation>&lt;b&gt;%8&lt;/b&gt;&lt;br&gt;&lt;b&gt;Verze:&lt;/b&gt; %1 (OS při sestavování %2 verze CMake %3)&lt;br&gt;&lt;b&gt;Revize:&lt;/b&gt; %4&lt;br&gt;&lt;b&gt;Datum sestavení:&lt;/b&gt; %5&lt;br&gt;&lt;b&gt;Qt:&lt;/b&gt; %6 (při kompilaci %7)&lt;br&gt;</translation> <translation>&lt;b&gt;%8&lt;/b&gt;&lt;br&gt;&lt;b&gt;Verze:&lt;/b&gt; %1 (OS při sestavování %2 verze CMake %3)&lt;br&gt;&lt;b&gt;Revize:&lt;/b&gt; %4&lt;br&gt;&lt;b&gt;Datum sestavení:&lt;/b&gt; %5&lt;br&gt;&lt;b&gt;Qt:&lt;/b&gt; %6 (při kompilaci %7)&lt;br&gt;</translation>
</message> </message>
<message> <message>
<source>&lt;body&gt;Authors and contributors:&lt;ul&gt;&lt;li&gt;Martin Rotter (&lt;a href=&quot;mailto://rotter.martinos@gmail.com&quot;&gt;rotter.martinos@gmail.com&lt;/a&gt;) (author of RSS Guard)&lt;/li&gt;&lt;li&gt;snakebite &amp; tiheum (authors of KFaenza/Faenza icon theme)&lt;/li&gt;&lt;li&gt;Digia Plc (author of QtSingleApplication component)&lt;/li&gt;&lt;li&gt;Artem Galichkin (&lt;a href=&quot;mailto://doomer3d@gmail.com&quot;&gt;doomer3d@gmail.com&lt;/a&gt;) (author of original QKeySequenceWidget component)&lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;</source> <source>Thanks to page is available only in English language.</source>
<translation type="unfinished"></translation> <translation>Poděkování je k dispozici pouze v anglickém jazyce.</translation>
</message> </message>
<message> <message>
<source>&lt;body&gt;RSS Guard 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://rotter.martinos@gmail.com&quot;&gt;rotter.martinos@gmail&lt;/a&gt; ~email&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.rssguard.sf.net&quot;&gt;www.rssguard.sf.net&lt;/a&gt; ~website&lt;/li&gt;&lt;/ul&gt;You can obtain source code for RSS Guard from its website.&lt;br&gt;&lt;br&gt;&lt;br&gt;Copyright © 2011-%1 Martin Rotter&lt;/body&gt;</source> <source>Authors information not found.</source>
<translation>&lt;body&gt;RSS Guard je (velmi) jednoduchá čtečka kanálů.&lt;br&gt;&lt;br&gt;Tento software je šířen pod licencí GNU General Public, verze 3.&lt;br&gt;&lt;br&gt;Kontakty:&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;mailto://rotter.martinos@gmail.com&quot;&gt;rotter.martinos@gmail&lt;/a&gt; ~email&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.rssguard.sf.net&quot;&gt;www.rssguard.sf.net&lt;/a&gt; ~webová stránka&lt;/li&gt;&lt;/ul&gt;Zdrojové kódy aplikace RSS Guard lze získat na její webové stránce.&lt;br&gt;&lt;br&gt;&lt;br&gt;Copyright © 2011-%1 Martin Rotter&lt;/body&gt;</translation> <translation>Informace o autorech nebyly nalezeny.</translation>
</message>
<message>
<source>&lt;body&gt;RSS Guard 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://rotter.martinos@gmail.com&quot;&gt;rotter.martinos@gmail&lt;/a&gt; ~email&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.rssguard.sf.net&quot;&gt;www.rssguard.sf.net&lt;/a&gt; ~website&lt;/li&gt;&lt;/ul&gt;You can obtain source code for RSS Guard from its website.&lt;br&gt;&lt;br&gt;&lt;br&gt;Copyright © 2011-%1 Martin Rotter&lt;/body&gt;</source>
<translation>&lt;body&gt;RSS Guard je (velmi) jednoduchá čtečka kanálů.&lt;br&gt;&lt;br&gt;Tento software je šířen pod podmínkami licence GNU General Public License, verze 3.&lt;br&gt;&lt;br&gt;Kontakty:&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;mailto://rotter.martinos@gmail.com&quot;&gt;rotter.martinos@gmail&lt;/a&gt; ~email&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.rssguard.sf.net&quot;&gt;www.rssguard.sf.net&lt;/a&gt; ~web&lt;/li&gt;&lt;/ul&gt;Zdrojový kód pro RSS Guard lze získat z jeho webu.&lt;br&gt;&lt;br&gt;&lt;br&gt;Copyright © 2011-%1 Martin Rotter&lt;/body&gt;</translation>
</message> </message>
</context> </context>
<context> <context>
@ -149,18 +181,6 @@
<source>&amp;Fullscreen mode</source> <source>&amp;Fullscreen mode</source>
<translation>&amp;Režime celé obrazovky</translation> <translation>&amp;Režime celé obrazovky</translation>
</message> </message>
<message>
<source>Feeds</source>
<translation type="unfinished">Kanály</translation>
</message>
<message>
<source>Browser your feeds and messages</source>
<translation type="unfinished">Procházej své kanály a zprávy</translation>
</message>
<message>
<source>Web browser</source>
<translation>Webový prohlížeč</translation>
</message>
</context> </context>
<context> <context>
<name>FormSettings</name> <name>FormSettings</name>
@ -312,102 +332,112 @@
<source>Http</source> <source>Http</source>
<translation></translation> <translation></translation>
</message> </message>
<message>
<source>Language of Qonverter was changed. Note that changes will take effect on next Qonverter start.</source>
<translation type="obsolete">Jazyk</translation>
</message>
<message> <message>
<source>Do you want to restart now?</source> <source>Do you want to restart now?</source>
<translation type="unfinished"></translation> <translation>Chcete restartovat nyní?</translation>
</message> </message>
<message> <message>
<source>Language changed</source> <source>Language changed</source>
<translation type="unfinished"></translation> <translation>Jazyk změněn</translation>
</message> </message>
<message> <message>
<source>Problem with RSS Guard restart</source> <source>Problem with RSS Guard restart</source>
<translation type="unfinished"></translation> <translation>Problém s restartem</translation>
</message> </message>
<message> <message>
<source> (not supported on this platform)</source> <source> (not supported on this platform)</source>
<translation type="unfinished"></translation> <translation> (na této platformě nepodporováno)</translation>
</message> </message>
<message> <message>
<source>Tray area &amp;&amp; notifications</source> <source>Tray area &amp;&amp; notifications</source>
<translation type="unfinished"></translation> <translation>Notifikační oblast</translation>
</message> </message>
<message> <message>
<source>Disable</source> <source>Disable</source>
<translation type="unfinished"></translation> <translation>Zakázat</translation>
</message> </message>
<message> <message>
<source>Enable</source> <source>Enable</source>
<translation type="unfinished"></translation> <translation>Povolit</translation>
</message> </message>
<message> <message>
<source>Tabs</source> <source>Tabs</source>
<translation type="unfinished"></translation> <translation>Panely</translation>
</message> </message>
<message> <message>
<source>Close tabs with</source> <source>Close tabs with</source>
<translation type="unfinished"></translation> <translation>Zavírat panely pomocí</translation>
</message> </message>
<message> <message>
<source>Left mouse button double-click</source> <source>Left mouse button double-click</source>
<translation type="unfinished"></translation> <translation>Levého tlačítka myši</translation>
</message> </message>
<message> <message>
<source>Middle mouse button single-click</source> <source>Middle mouse button single-click</source>
<translation type="unfinished"></translation> <translation>Prostředního tlačítka myši</translation>
</message> </message>
<message> <message>
<source>Open new tabs with left mouse button double-click on tab bar</source> <source>Open new tabs with left mouse button double-click on tab bar</source>
<translation type="unfinished"></translation> <translation>Otevírat nové panely poklepáním na panelový pruh</translation>
</message> </message>
<message> <message>
<source>Enable mouse gestures</source> <source>Enable mouse gestures</source>
<translation type="unfinished"></translation> <translation>Povolit gesta myši</translation>
</message> </message>
<message> <message>
<source>Mouse gestures work with right mouse button. Possible gestures are: <source>Web browser &amp; proxy</source>
<translation>Webový prohlížeč &amp; proxy</translation>
</message>
<message>
<source>Language of RSS Guard was changed. Note that changes will take effect on next Qonverter start.</source>
<translation>Jazyk RSS Guardu byl změnen. Změn se projeví po restartu aplikace.</translation>
</message>
<message>
<source>RSS Guard couldn&apos;t be restarted, please restart it manually for changes to take effect.</source>
<translation>RSS Guard nemohl být restartován, prosím restartuje jej ručně.</translation>
</message>
<message>
<source>Disable (Tray icon is not available.)</source>
<translation>Zakázat (Notifikační ikona není k dispozici.)</translation>
</message>
<message>
<source>Mouse gestures work with middle mouse button. Possible gestures are:
&lt;ul&gt; &lt;ul&gt;
&lt;li&gt;previous web page (drag mouse left)&lt;/li&gt; &lt;li&gt;previous web page (drag mouse left)&lt;/li&gt;
&lt;li&gt;next web page (drag mouse right)&lt;/li&gt; &lt;li&gt;next web page (drag mouse right)&lt;/li&gt;
&lt;li&gt;reload current web page (drag mouse up)&lt;/li&gt; &lt;li&gt;reload current web page (drag mouse up)&lt;/li&gt;
&lt;li&gt;open new web browser tab (drag mouse down)&lt;/li&gt; &lt;li&gt;open new web browser tab (drag mouse down)&lt;/li&gt;
&lt;/ul&gt;</source> &lt;/ul&gt;</source>
<translation type="unfinished"></translation> <translation>Gesta myši funguji s prostředním tlačítkem myši. Gesta jsou:
&lt;ul&gt;
&lt;li&gt;zpět (táhnout myší vlevo)&lt;/li&gt;
&lt;li&gt;vpřed (táhnout myší vpravo)&lt;/li&gt;
&lt;li&gt;obnovit (táhnout myší nahoru)&lt;/li&gt;
&lt;li&gt;otevřít nový panel (táhnout myší dolů)&lt;/li&gt;
&lt;/ul&gt;</translation>
</message> </message>
<message> <message>
<source>Web browser &amp; proxy</source> <source>Queue new tabs (with hyperlinks) after the active tab</source>
<translation type="unfinished"></translation> <translation>Zařadit nově otevíraný panel za ten aktuální</translation>
</message> </message>
<message> <message>
<source>Language of RSS Guard was changed. Note that changes will take effect on next Qonverter start.</source> <source>no icon theme</source>
<translation type="unfinished"></translation> <translation>žádné téma ikon</translation>
</message>
<message>
<source>RSS Guard couldn&apos;t be restarted, please restart it manually for changes to take effect.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Disable (Tray icon is not available.)</source>
<translation type="unfinished"></translation>
</message> </message>
</context> </context>
<context> <context>
<name>FormWelcome</name> <name>FormWelcome</name>
<message> <message>
<source>Welcome</source> <source>Welcome</source>
<translation type="unfinished"></translation> <translation>Vítejte</translation>
</message> </message>
<message> <message>
<source>Welcome to RSS Guard</source> <source>Welcome to RSS Guard</source>
<translation type="unfinished"></translation> <translation>Vítá Vás RSS Guard</translation>
</message> </message>
<message> <message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;RSS Guard is a (very) easy feed reader. It supports all major feed formats, including RSS, ATOM and RDF.&lt;/p&gt;&lt;p&gt;Make sure you explore all available features. If you find a bug or if you want to propose new feature, then create new &lt;a href=&quot;https://sourceforge.net/p/rssguard/tickets&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;issue report&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;RSS Guard can be translated to any language. Contact its &lt;a href=&quot;mailto:rotter.martinos@gmail.com&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;author&lt;/span&gt;&lt;/a&gt; in case of your interest.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;RSS Guard is a (very) easy-to-use feed reader. It supports all major feed formats, including RSS, ATOM and RDF.&lt;/p&gt;&lt;p&gt;Make sure you explore all available features. If you find a bug or if you want to propose new feature, then create new &lt;a href=&quot;https://sourceforge.net/p/rssguard/tickets&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;issue report&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;RSS Guard can be translated to any language. Contact its &lt;a href=&quot;mailto:rotter.martinos@gmail.com&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;author&lt;/span&gt;&lt;/a&gt; in case of your interest.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;RSS Guard je (velmi) jednoduchá čtečka kanálů. Podporuje všechny rozšířené formáty, včetně RSS, ATOM a RDF.&lt;/p&gt;&lt;p&gt;Ujistěte se, že projdete všechny funkce této aplikace. Pokud chcete nahlásit chybu nebo chcete v programu mít novou vlastnost, pak vyplňte &lt;a href=&quot;https://sourceforge.net/p/rssguard/tickets&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;hlášení o chybě&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;RSS Guard může být přeložen do libovolného jazyka. Kontaktujte &lt;a href=&quot;mailto:rotter.martinos@gmail.com&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;autora&lt;/span&gt;&lt;/a&gt; v případě zájmu o překlad.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
</message> </message>
</context> </context>
<context> <context>
@ -438,22 +468,37 @@
<translation>rotter.martinos@gmail.com</translation> <translation>rotter.martinos@gmail.com</translation>
</message> </message>
</context> </context>
<context>
<name>TabWidget</name>
<message>
<source>Feeds</source>
<translation>Kanály</translation>
</message>
<message>
<source>Browse your feeds and messages</source>
<translation>Procházet kanály a zprávy</translation>
</message>
<message>
<source>Web browser</source>
<translation>Webový prohlížeč</translation>
</message>
</context>
<context> <context>
<name>TrayIconMenu</name> <name>TrayIconMenu</name>
<message> <message>
<source>Close opened modal dialogs first.</source> <source>Close opened modal dialogs first.</source>
<translation type="unfinished"></translation> <translation>Nejdříve ukončete otevřené modální dialogy.</translation>
</message> </message>
</context> </context>
<context> <context>
<name>WebBrowser</name> <name>WebBrowser</name>
<message> <message>
<source>Navigation panel</source> <source>Navigation panel</source>
<translation type="unfinished"></translation> <translation>Navigační panel</translation>
</message> </message>
<message> <message>
<source>Back</source> <source>Back</source>
<translation type="unfinished"></translation> <translation>Zpět</translation>
</message> </message>
<message> <message>
<source>Go back</source> <source>Go back</source>
@ -461,7 +506,7 @@
</message> </message>
<message> <message>
<source>Forward</source> <source>Forward</source>
<translation>Zpět</translation> <translation>Vpřed</translation>
</message> </message>
<message> <message>
<source>Go forward</source> <source>Go forward</source>
@ -477,11 +522,11 @@
</message> </message>
<message> <message>
<source>Stop</source> <source>Stop</source>
<translation type="unfinished"></translation> <translation>Zastavit</translation>
</message> </message>
<message> <message>
<source>Stop web page loading</source> <source>Stop web page loading</source>
<translation type="unfinished"></translation> <translation>Zastavit načítání aktuální webové stránky</translation>
</message> </message>
</context> </context>
</TS> </TS>

View File

@ -43,6 +43,34 @@
<source>Image</source> <source>Image</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </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>
</context> </context>
<context> <context>
<name>FormAbout</name> <name>FormAbout</name>
@ -99,11 +127,15 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>&lt;body&gt;Authors and contributors:&lt;ul&gt;&lt;li&gt;Martin Rotter (&lt;a href=&quot;mailto://rotter.martinos@gmail.com&quot;&gt;rotter.martinos@gmail.com&lt;/a&gt;) (author of RSS Guard)&lt;/li&gt;&lt;li&gt;snakebite &amp; tiheum (authors of KFaenza/Faenza icon theme)&lt;/li&gt;&lt;li&gt;Digia Plc (author of QtSingleApplication component)&lt;/li&gt;&lt;li&gt;Artem Galichkin (&lt;a href=&quot;mailto://doomer3d@gmail.com&quot;&gt;doomer3d@gmail.com&lt;/a&gt;) (author of original QKeySequenceWidget component)&lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;</source> <source>Thanks to page is available only in English language.</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>&lt;body&gt;RSS Guard 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://rotter.martinos@gmail.com&quot;&gt;rotter.martinos@gmail&lt;/a&gt; ~email&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.rssguard.sf.net&quot;&gt;www.rssguard.sf.net&lt;/a&gt; ~website&lt;/li&gt;&lt;/ul&gt;You can obtain source code for RSS Guard from its website.&lt;br&gt;&lt;br&gt;&lt;br&gt;Copyright © 2011-%1 Martin Rotter&lt;/body&gt;</source> <source>Authors information not found.</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>&lt;body&gt;RSS Guard 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://rotter.martinos@gmail.com&quot;&gt;rotter.martinos@gmail&lt;/a&gt; ~email&lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.rssguard.sf.net&quot;&gt;www.rssguard.sf.net&lt;/a&gt; ~website&lt;/li&gt;&lt;/ul&gt;You can obtain source code for RSS Guard from its website.&lt;br&gt;&lt;br&gt;&lt;br&gt;Copyright © 2011-%1 Martin Rotter&lt;/body&gt;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
@ -149,18 +181,6 @@
<source>&amp;Fullscreen mode</source> <source>&amp;Fullscreen mode</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Browser your feeds and messages</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Web browser</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>FormSettings</name> <name>FormSettings</name>
@ -364,16 +384,6 @@
<source>Enable mouse gestures</source> <source>Enable mouse gestures</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Mouse gestures work with right mouse button. Possible gestures are:
&lt;ul&gt;
&lt;li&gt;previous web page (drag mouse left)&lt;/li&gt;
&lt;li&gt;next web page (drag mouse right)&lt;/li&gt;
&lt;li&gt;reload current web page (drag mouse up)&lt;/li&gt;
&lt;li&gt;open new web browser tab (drag mouse down)&lt;/li&gt;
&lt;/ul&gt;</source>
<translation type="unfinished"></translation>
</message>
<message> <message>
<source>Web browser &amp; proxy</source> <source>Web browser &amp; proxy</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
@ -390,6 +400,24 @@
<source>Disable (Tray icon is not available.)</source> <source>Disable (Tray icon is not available.)</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message>
<source>Mouse gestures work with middle mouse button. Possible gestures are:
&lt;ul&gt;
&lt;li&gt;previous web page (drag mouse left)&lt;/li&gt;
&lt;li&gt;next web page (drag mouse right)&lt;/li&gt;
&lt;li&gt;reload current web page (drag mouse up)&lt;/li&gt;
&lt;li&gt;open new web browser tab (drag mouse down)&lt;/li&gt;
&lt;/ul&gt;</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Queue new tabs (with hyperlinks) after the active tab</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>no icon theme</source>
<translation type="unfinished"></translation>
</message>
</context> </context>
<context> <context>
<name>FormWelcome</name> <name>FormWelcome</name>
@ -402,7 +430,7 @@
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
<message> <message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;RSS Guard is a (very) easy feed reader. It supports all major feed formats, including RSS, ATOM and RDF.&lt;/p&gt;&lt;p&gt;Make sure you explore all available features. If you find a bug or if you want to propose new feature, then create new &lt;a href=&quot;https://sourceforge.net/p/rssguard/tickets&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;issue report&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;RSS Guard can be translated to any language. Contact its &lt;a href=&quot;mailto:rotter.martinos@gmail.com&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;author&lt;/span&gt;&lt;/a&gt; in case of your interest.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source> <source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;RSS Guard is a (very) easy-to-use feed reader. It supports all major feed formats, including RSS, ATOM and RDF.&lt;/p&gt;&lt;p&gt;Make sure you explore all available features. If you find a bug or if you want to propose new feature, then create new &lt;a href=&quot;https://sourceforge.net/p/rssguard/tickets&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;issue report&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;RSS Guard can be translated to any language. Contact its &lt;a href=&quot;mailto:rotter.martinos@gmail.com&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;author&lt;/span&gt;&lt;/a&gt; in case of your interest.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished"></translation> <translation type="unfinished"></translation>
</message> </message>
</context> </context>
@ -434,6 +462,21 @@
<translation>rotter.martinos@gmail.com</translation> <translation>rotter.martinos@gmail.com</translation>
</message> </message>
</context> </context>
<context>
<name>TabWidget</name>
<message>
<source>Feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Browse your feeds and messages</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Web browser</source>
<translation type="unfinished"></translation>
</message>
</context>
<context> <context>
<name>TrayIconMenu</name> <name>TrayIconMenu</name>
<message> <message>

10
src/gui/cornerbutton.cpp Normal file
View File

@ -0,0 +1,10 @@
#include "gui/cornerbutton.h"
CornerButton::CornerButton(QWidget *parent) : QPushButton(parent) {
setToolTip(tr("Open new tab"));
}
CornerButton::~CornerButton() {
qDebug("Destroying CornerButton instance.");
}

19
src/gui/cornerbutton.h Normal file
View File

@ -0,0 +1,19 @@
#ifndef CORNERBUTTON_H
#define CORNERBUTTON_H
#include <QPushButton>
class CornerButton : public QPushButton {
Q_OBJECT
public:
explicit CornerButton(QWidget *parent = 0);
virtual ~CornerButton();
signals:
public slots:
};
#endif // CORNERBUTTON_H

View File

@ -80,7 +80,7 @@
<item row="1" column="1"> <item row="1" column="1">
<widget class="QLabel" name="m_lblInfo"> <widget class="QLabel" name="m_lblInfo">
<property name="text"> <property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;RSS Guard is a (very) easy feed reader. It supports all major feed formats, including RSS, ATOM and RDF.&lt;/p&gt;&lt;p&gt;Make sure you explore all available features. If you find a bug or if you want to propose new feature, then create new &lt;a href=&quot;https://sourceforge.net/p/rssguard/tickets&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;issue report&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;RSS Guard can be translated to any language. Contact its &lt;a href=&quot;mailto:rotter.martinos@gmail.com&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;author&lt;/span&gt;&lt;/a&gt; in case of your interest.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;RSS Guard is a (very) easy-to-use feed reader. It supports all major feed formats, including RSS, ATOM and RDF.&lt;/p&gt;&lt;p&gt;Make sure you explore all available features. If you find a bug or if you want to propose new feature, then create new &lt;a href=&quot;https://sourceforge.net/p/rssguard/tickets&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;issue report&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;RSS Guard can be translated to any language. Contact its &lt;a href=&quot;mailto:rotter.martinos@gmail.com&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;author&lt;/span&gt;&lt;/a&gt; in case of your interest.&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>

View File

@ -29,8 +29,7 @@ class TabBar : public QTabBar {
signals: signals:
// Emmited if empty space on tab bar is double clicked. // Emmited if empty space on tab bar is double clicked.
void emptySpaceDoubleClicked(); void emptySpaceDoubleClicked();
}; };
#endif // TABBAR_H #endif // TABBAR_H

View File

@ -1,5 +1,6 @@
#include <QUrl> #include <QUrl>
#include <QApplication> #include <QApplication>
#include <QPushButton>
#include "core/defs.h" #include "core/defs.h"
#include "core/settings.h" #include "core/settings.h"
@ -7,10 +8,12 @@
#include "gui/tabbar.h" #include "gui/tabbar.h"
#include "gui/iconthemefactory.h" #include "gui/iconthemefactory.h"
#include "gui/webbrowser.h" #include "gui/webbrowser.h"
#include "gui/cornerbutton.h"
TabWidget::TabWidget(QWidget *parent) : QTabWidget(parent) { TabWidget::TabWidget(QWidget *parent) : QTabWidget(parent) {
setTabBar(new TabBar(this)); setTabBar(new TabBar(this));
setupCornerButton();
createConnections(); createConnections();
} }
@ -18,7 +21,15 @@ TabWidget::~TabWidget() {
qDebug("Destroying TabWidget instance."); qDebug("Destroying TabWidget instance.");
} }
void TabWidget::setupCornerButton() {
m_cornerButton = new CornerButton(this);
m_cornerButton->setFlat(true);
m_cornerButton->setIcon(IconThemeFactory::getInstance()->fromTheme("list-add"));
setCornerWidget(m_cornerButton);
}
void TabWidget::createConnections() { void TabWidget::createConnections() {
connect(m_cornerButton, SIGNAL(clicked()), this, SLOT(addEmptyBrowser()));
connect(tabBar(), SIGNAL(tabCloseRequested(int)), this, SLOT(closeTab(int))); connect(tabBar(), SIGNAL(tabCloseRequested(int)), this, SLOT(closeTab(int)));
connect(tabBar(), SIGNAL(emptySpaceDoubleClicked()), connect(tabBar(), SIGNAL(emptySpaceDoubleClicked()),
this, SLOT(addEmptyBrowser())); this, SLOT(addEmptyBrowser()));
@ -60,6 +71,9 @@ void TabWidget::setupIcons() {
} }
} }
} }
// Setup corner button icon.
m_cornerButton->setIcon(IconThemeFactory::getInstance()->fromTheme("list-add"));
} }
void TabWidget::closeTab(int index) { void TabWidget::closeTab(int index) {

View File

@ -8,6 +8,8 @@
#include "gui/tabcontent.h" #include "gui/tabcontent.h"
class CornerButton;
class TabWidget : public QTabWidget { class TabWidget : public QTabWidget {
Q_OBJECT Q_OBJECT
@ -41,6 +43,9 @@ class TabWidget : public QTabWidget {
protected: protected:
// Creates necesary connections. // Creates necesary connections.
void createConnections(); void createConnections();
// Sets up properties of custom corner button.
void setupCornerButton();
public slots: public slots:
// Closes tab with given index and deletes contained widget. // Closes tab with given index and deletes contained widget.
@ -57,6 +62,9 @@ class TabWidget : public QTabWidget {
int addBrowser(bool move_after_current, int addBrowser(bool move_after_current,
bool make_active, bool make_active,
const QUrl &initial_url = QUrl()); const QUrl &initial_url = QUrl());
private:
CornerButton *m_cornerButton;
}; };
#endif // TABWIDGET_H #endif // TABWIDGET_H