Downloading improvements
This commit is contained in:
parent
4ecab14ea4
commit
321f629a9b
29 changed files with 814 additions and 287 deletions
BIN
binary/harbour-kaktus-1.2.0-3.armv7hl.rpm
Normal file
BIN
binary/harbour-kaktus-1.2.0-3.armv7hl.rpm
Normal file
Binary file not shown.
|
|
@ -5,28 +5,28 @@
|
|||
<name>AboutPage</name>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/AboutPage.qml" line="42"/>
|
||||
<location filename="../qml/sailfish/AboutPage.qml" line="45"/>
|
||||
<location filename="../qml/sailfish/AboutPage.qml" line="54"/>
|
||||
<location filename="../qml/symbian/AboutPage.qml" line="40"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/AboutPage.qml" line="82"/>
|
||||
<location filename="../qml/sailfish/AboutPage.qml" line="66"/>
|
||||
<location filename="../qml/sailfish/AboutPage.qml" line="75"/>
|
||||
<location filename="../qml/symbian/AboutPage.qml" line="80"/>
|
||||
<source>Version: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/AboutPage.qml" line="93"/>
|
||||
<location filename="../qml/sailfish/AboutPage.qml" line="74"/>
|
||||
<location filename="../qml/sailfish/AboutPage.qml" line="83"/>
|
||||
<location filename="../qml/symbian/AboutPage.qml" line="91"/>
|
||||
<source>An unofficial Netvibes feed reader, specially designed to work offline.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/AboutPage.qml" line="100"/>
|
||||
<source>What's new</source>
|
||||
<location filename="../qml/sailfish/AboutPage.qml" line="109"/>
|
||||
<source>What's new in this release</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
|
@ -38,38 +38,63 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="58"/>
|
||||
<source>Netvibes "Multi-Feed" widget support</source>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="54"/>
|
||||
<source>Multi-Feed widget support</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="62"/>
|
||||
<source>Double-click marks article as read/unread</source>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="55"/>
|
||||
<source>Kaktus can also read Feeds, which are aggregated in the Netvibes Multi-Feed widget.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="66"/>
|
||||
<source>Option to show all feeds in one list (see "Browsing Mode option")</source>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="65"/>
|
||||
<source>There are new Browsing Modes. It is possible to show all articles in the one list or group by Tabs or Feeds.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="70"/>
|
||||
<source>Indicator for articles that have been added since last sync</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="74"/>
|
||||
<source>Option to delete cache data (see "Cache size" option)</source>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="72"/>
|
||||
<source>Articles, that have been added since last sync, are marked with small dash on the right side of the list.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="78"/>
|
||||
<source>Improved display of images</source>
|
||||
<source>Cache data can be deleted manually. The option is located on the settings page.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="82"/>
|
||||
<source>Many UI improvements</source>
|
||||
<source>Image caching improvements</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="83"/>
|
||||
<source>Caching mechanism for images are improved. Files with images are downloaded more effectively.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="60"/>
|
||||
<source>In addition to the context menu option, marking as read/unread can be done by double-click.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="64"/>
|
||||
<source>New Browsing Modes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="71"/>
|
||||
<source>Indicator for new articles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="77"/>
|
||||
<source>Option to delete cache data</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="59"/>
|
||||
<source>Double-click marks article as read/unread</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
|
@ -150,12 +175,12 @@ Network connection is unavailable</source>
|
|||
<context>
|
||||
<name>DashboardDialog</name>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/DashboardDialog.qml" line="47"/>
|
||||
<location filename="../qml/sailfish/DashboardDialog.qml" line="56"/>
|
||||
<source>Dashboards</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/DashboardDialog.qml" line="48"/>
|
||||
<location filename="../qml/sailfish/DashboardDialog.qml" line="57"/>
|
||||
<source>Change</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
@ -167,7 +192,7 @@ Network connection is unavailable</source>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/DashboardDialog.qml" line="73"/>
|
||||
<location filename="../qml/sailfish/DashboardDialog.qml" line="81"/>
|
||||
<location filename="../qml/sailfish/DashboardDialog.qml" line="90"/>
|
||||
<location filename="../qml/symbian/DashboardDialog.qml" line="71"/>
|
||||
<source>No dashboards</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
@ -176,12 +201,12 @@ Network connection is unavailable</source>
|
|||
<context>
|
||||
<name>DashboardPage</name>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/DashboardPage.qml" line="55"/>
|
||||
<location filename="../qml/sailfish/DashboardPage.qml" line="51"/>
|
||||
<source>Dashboards</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/DashboardPage.qml" line="87"/>
|
||||
<location filename="../qml/sailfish/DashboardPage.qml" line="83"/>
|
||||
<source>No dashboards</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
@ -213,7 +238,6 @@ Network connection is unavailable</source>
|
|||
<name>EntryPage</name>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/EntryPage.qml" line="83"/>
|
||||
<location filename="../qml/sailfish/EntryPage.qml" line="125"/>
|
||||
<location filename="../qml/symbian/EntryPage.qml" line="78"/>
|
||||
<source>Please wait until Sync finishes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
@ -283,6 +307,21 @@ Switching to Offline mode</source>
|
|||
<source>All articles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/EntryPage.qml" line="125"/>
|
||||
<source>Please wait until current task is complete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/EntryPage.qml" line="192"/>
|
||||
<source>Wait until Sync finish</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/EntryPage.qml" line="192"/>
|
||||
<source>Pull down to do Sync</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ErrorPage</name>
|
||||
|
|
@ -325,6 +364,16 @@ Switching to Offline mode</source>
|
|||
<source>Feeds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/FeedPage.qml" line="202"/>
|
||||
<source>Wait until Sync finish</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/FeedPage.qml" line="202"/>
|
||||
<source>Pull down to do Sync</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MainPage</name>
|
||||
|
|
@ -378,7 +427,7 @@ Network connection is unavailable</source>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/PageMenu.qml" line="63"/>
|
||||
<source>Syncing...</source>
|
||||
<source>Busy...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
|
|
@ -460,68 +509,63 @@ Network connection is unavailable</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="174"/>
|
||||
<source>Cache data deleted!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="195"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="196"/>
|
||||
<source>Mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="199"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="200"/>
|
||||
<source>Online</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="200"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="201"/>
|
||||
<source>Offline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="212"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="213"/>
|
||||
<source>Cache articles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="228"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="229"/>
|
||||
<source>Browsing mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="232"/>
|
||||
<source>Tabs & feeds & articles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="233"/>
|
||||
<source>Tabs & articles</source>
|
||||
<source>Tabs, Feeds & articles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="234"/>
|
||||
<source>Feeds & articles</source>
|
||||
<source>Tabs & articles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="235"/>
|
||||
<source>Feeds & articles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="236"/>
|
||||
<source>Only articles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="253"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="254"/>
|
||||
<source>Show only unread articles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="273"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="274"/>
|
||||
<source>Show Tab with saved articles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/SettingsPage.qml" line="143"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="263"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="264"/>
|
||||
<location filename="../qml/symbian/SettingsPage.qml" line="136"/>
|
||||
<source>Show icons & images</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
@ -600,7 +644,7 @@ Network connection is unavailable</source>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/SettingsPage.qml" line="119"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="213"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="214"/>
|
||||
<location filename="../qml/symbian/SettingsPage.qml" line="112"/>
|
||||
<source>After sync the content of all items will be downloaded and cached for access in Offline mode.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
@ -619,61 +663,61 @@ Network connection is unavailable</source>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/SettingsPage.qml" line="163"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="283"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="284"/>
|
||||
<location filename="../qml/symbian/SettingsPage.qml" line="156"/>
|
||||
<source>Power save mode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/SettingsPage.qml" line="164"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="284"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="285"/>
|
||||
<location filename="../qml/symbian/SettingsPage.qml" line="157"/>
|
||||
<source>When the phone or app goes to the idle state, all opened web pages will be closed to lower power consumption.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="309"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="310"/>
|
||||
<source>Dynamic</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/SettingsPage.qml" line="129"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="223"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="224"/>
|
||||
<location filename="../qml/symbian/SettingsPage.qml" line="122"/>
|
||||
<source>UI</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/SettingsPage.qml" line="184"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="305"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="306"/>
|
||||
<location filename="../qml/symbian/SettingsPage.qml" line="177"/>
|
||||
<source>Orientation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="310"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="311"/>
|
||||
<source>Portrait</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="311"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="312"/>
|
||||
<source>Landscape</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/SettingsPage.qml" line="199"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="319"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="320"/>
|
||||
<location filename="../qml/symbian/SettingsPage.qml" line="192"/>
|
||||
<source>Offline viewer style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="329"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="330"/>
|
||||
<source>Black</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="330"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="331"/>
|
||||
<source>White</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
@ -754,6 +798,11 @@ Network connection is unavailable</source>
|
|||
<source>Tabs</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/TabPage.qml" line="274"/>
|
||||
<source>Pull down to do Sync</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/TabPage.qml" line="158"/>
|
||||
<location filename="../qml/sailfish/TabPage.qml" line="246"/>
|
||||
|
|
@ -781,11 +830,6 @@ Network connection is unavailable</source>
|
|||
<source>Press button to do first Sync</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/TabPage.qml" line="274"/>
|
||||
<source>Pull down to do first Sync</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/TabPage.qml" line="179"/>
|
||||
<location filename="../qml/sailfish/TabPage.qml" line="274"/>
|
||||
|
|
@ -931,7 +975,7 @@ Network connection is unavailable</source>
|
|||
<name>main</name>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="123"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="142"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="152"/>
|
||||
<location filename="../qml/symbian/main.qml" line="120"/>
|
||||
<source>An unknown error occurred! :-(</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
@ -967,7 +1011,7 @@ Network connection is unavailable</source>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="107"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="126"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="136"/>
|
||||
<location filename="../qml/symbian/main.qml" line="104"/>
|
||||
<source>Sync failed
|
||||
Network connection is unavailable</source>
|
||||
|
|
@ -976,8 +1020,8 @@ Network connection is unavailable</source>
|
|||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="118"/>
|
||||
<location filename="../qml/harmattan/main.qml" line="128"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="137"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="147"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="157"/>
|
||||
<location filename="../qml/symbian/main.qml" line="115"/>
|
||||
<location filename="../qml/symbian/main.qml" line="125"/>
|
||||
<source>User & Password do not match!</source>
|
||||
|
|
@ -985,28 +1029,28 @@ Network connection is unavailable</source>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="132"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="151"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="161"/>
|
||||
<location filename="../qml/symbian/main.qml" line="129"/>
|
||||
<source>Successfully Signed In!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="137"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="155"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="165"/>
|
||||
<location filename="../qml/symbian/main.qml" line="134"/>
|
||||
<source>Receiving data... </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="150"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="170"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="180"/>
|
||||
<location filename="../qml/symbian/main.qml" line="147"/>
|
||||
<source>Initiating...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="154"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="174"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="184"/>
|
||||
<location filename="../qml/symbian/main.qml" line="151"/>
|
||||
<source>Updating...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
@ -1033,14 +1077,14 @@ Network connection is unavailable</source>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="143"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="160"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="170"/>
|
||||
<location filename="../qml/symbian/main.qml" line="140"/>
|
||||
<source>Sending data to Netvibes...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="158"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="178"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="188"/>
|
||||
<location filename="../qml/symbian/main.qml" line="155"/>
|
||||
<source>Signing in...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
|
|
@ -1049,9 +1093,9 @@ Network connection is unavailable</source>
|
|||
<location filename="../qml/harmattan/main.qml" line="162"/>
|
||||
<location filename="../qml/harmattan/main.qml" line="166"/>
|
||||
<location filename="../qml/harmattan/main.qml" line="170"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="182"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="186"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="190"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="192"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="196"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="200"/>
|
||||
<location filename="../qml/symbian/main.qml" line="159"/>
|
||||
<location filename="../qml/symbian/main.qml" line="163"/>
|
||||
<location filename="../qml/symbian/main.qml" line="167"/>
|
||||
|
|
@ -1064,8 +1108,8 @@ Network connection is unavailable</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/main.qml" line="66"/>
|
||||
<source>Browsing mode changed!</source>
|
||||
<location filename="../qml/sailfish/main.qml" line="235"/>
|
||||
<source>Removing cache data...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -5,29 +5,33 @@
|
|||
<name>AboutPage</name>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/AboutPage.qml" line="42"/>
|
||||
<location filename="../qml/sailfish/AboutPage.qml" line="45"/>
|
||||
<location filename="../qml/sailfish/AboutPage.qml" line="54"/>
|
||||
<location filename="../qml/symbian/AboutPage.qml" line="40"/>
|
||||
<source>About</source>
|
||||
<translation>O Programie</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/AboutPage.qml" line="82"/>
|
||||
<location filename="../qml/sailfish/AboutPage.qml" line="66"/>
|
||||
<location filename="../qml/sailfish/AboutPage.qml" line="75"/>
|
||||
<location filename="../qml/symbian/AboutPage.qml" line="80"/>
|
||||
<source>Version: %1</source>
|
||||
<translation>Wersja: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/AboutPage.qml" line="93"/>
|
||||
<location filename="../qml/sailfish/AboutPage.qml" line="74"/>
|
||||
<location filename="../qml/sailfish/AboutPage.qml" line="83"/>
|
||||
<location filename="../qml/symbian/AboutPage.qml" line="91"/>
|
||||
<source>An unofficial Netvibes feed reader, specially designed to work offline.</source>
|
||||
<translation>Nieoficjalny czytnik kanałów RSS dla serwisu Netvibes.com. </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/AboutPage.qml" line="100"/>
|
||||
<source>What's new</source>
|
||||
<translation>Co jest nowego</translation>
|
||||
<translation type="obsolete">Co jest nowego</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/AboutPage.qml" line="109"/>
|
||||
<source>What's new in this release</source>
|
||||
<translation>Co nowego w tej wersji</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
|
@ -46,38 +50,63 @@
|
|||
<translation>Co jest nowego</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="58"/>
|
||||
<source>Netvibes "Multi-Feed" widget support</source>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="54"/>
|
||||
<source>Multi-Feed widget support</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="62"/>
|
||||
<source>Double-click marks article as read/unread</source>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="55"/>
|
||||
<source>Kaktus can also read Feeds, which are aggregated in the Netvibes Multi-Feed widget.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="66"/>
|
||||
<source>Option to show all feeds in one list (see "Browsing Mode option")</source>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="65"/>
|
||||
<source>There are new Browsing Modes. It is possible to show all articles in the one list or group by Tabs or Feeds.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="70"/>
|
||||
<source>Indicator for articles that have been added since last sync</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="74"/>
|
||||
<source>Option to delete cache data (see "Cache size" option)</source>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="72"/>
|
||||
<source>Articles, that have been added since last sync, are marked with small dash on the right side of the list.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="78"/>
|
||||
<source>Improved display of images</source>
|
||||
<source>Cache data can be deleted manually. The option is located on the settings page.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="82"/>
|
||||
<source>Many UI improvements</source>
|
||||
<source>Image caching improvements</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="83"/>
|
||||
<source>Caching mechanism for images are improved. Files with images are downloaded more effectively.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="60"/>
|
||||
<source>In addition to the context menu option, marking as read/unread can be done by double-click.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="64"/>
|
||||
<source>New Browsing Modes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="71"/>
|
||||
<source>Indicator for new articles</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="77"/>
|
||||
<source>Option to delete cache data</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/ChangelogPage.qml" line="59"/>
|
||||
<source>Double-click marks article as read/unread</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
|
|
@ -199,12 +228,12 @@ przeczytane</translation>
|
|||
<context>
|
||||
<name>DashboardDialog</name>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/DashboardDialog.qml" line="47"/>
|
||||
<location filename="../qml/sailfish/DashboardDialog.qml" line="56"/>
|
||||
<source>Dashboards</source>
|
||||
<translation>Tablice</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/DashboardDialog.qml" line="48"/>
|
||||
<location filename="../qml/sailfish/DashboardDialog.qml" line="57"/>
|
||||
<source>Change</source>
|
||||
<translation>Zmień</translation>
|
||||
</message>
|
||||
|
|
@ -216,7 +245,7 @@ przeczytane</translation>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/DashboardDialog.qml" line="73"/>
|
||||
<location filename="../qml/sailfish/DashboardDialog.qml" line="81"/>
|
||||
<location filename="../qml/sailfish/DashboardDialog.qml" line="90"/>
|
||||
<location filename="../qml/symbian/DashboardDialog.qml" line="71"/>
|
||||
<source>No dashboards</source>
|
||||
<translation>Brak tablic</translation>
|
||||
|
|
@ -229,12 +258,12 @@ przeczytane</translation>
|
|||
<context>
|
||||
<name>DashboardPage</name>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/DashboardPage.qml" line="55"/>
|
||||
<location filename="../qml/sailfish/DashboardPage.qml" line="51"/>
|
||||
<source>Dashboards</source>
|
||||
<translation>Tablice</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/DashboardPage.qml" line="87"/>
|
||||
<location filename="../qml/sailfish/DashboardPage.qml" line="83"/>
|
||||
<source>No dashboards</source>
|
||||
<translation>Brak tablic</translation>
|
||||
</message>
|
||||
|
|
@ -284,7 +313,6 @@ Został włączony tryb Offline!</translation>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/EntryPage.qml" line="83"/>
|
||||
<location filename="../qml/sailfish/EntryPage.qml" line="125"/>
|
||||
<location filename="../qml/symbian/EntryPage.qml" line="78"/>
|
||||
<source>Please wait until Sync finishes</source>
|
||||
<translation>Zaczekaj do zakończenia aktualizacji</translation>
|
||||
|
|
@ -363,6 +391,21 @@ Został włączony tryb Offline</translation>
|
|||
<source>All articles</source>
|
||||
<translation>Wszystkie artykuły</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/EntryPage.qml" line="125"/>
|
||||
<source>Please wait until current task is complete</source>
|
||||
<translation>Zaczekaj do zakończenia obecnego zadania</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/EntryPage.qml" line="192"/>
|
||||
<source>Wait until Sync finish</source>
|
||||
<translation>Zaczekaj do zakończenia aktualizacji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/EntryPage.qml" line="192"/>
|
||||
<source>Pull down to do Sync</source>
|
||||
<translation>Wykonaj aktualizacje kanałów</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ErrorPage</name>
|
||||
|
|
@ -441,6 +484,16 @@ Został włączony tryb Offline</translation>
|
|||
<source>Feeds</source>
|
||||
<translation>Kanały</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/FeedPage.qml" line="202"/>
|
||||
<source>Wait until Sync finish</source>
|
||||
<translation>Zaczekaj do zakończenia aktualizacji</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/FeedPage.qml" line="202"/>
|
||||
<source>Pull down to do Sync</source>
|
||||
<translation>Wykonaj aktualizacje kanałów</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MainMenu</name>
|
||||
|
|
@ -546,8 +599,12 @@ Brak połączenia sieciowego</translation>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/PageMenu.qml" line="63"/>
|
||||
<source>Busy...</source>
|
||||
<translation>Zajęty...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Syncing...</source>
|
||||
<translation>Aktualizacja...</translation>
|
||||
<translation type="obsolete">Aktualizacja...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/PageMenu.qml" line="73"/>
|
||||
|
|
@ -628,47 +685,50 @@ Brak połączenia sieciowego</translation>
|
|||
<translation>Usuń lokalną kopię</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="174"/>
|
||||
<source>Cache data deleted!</source>
|
||||
<translation>Lokalna kopia usunięta!</translation>
|
||||
<translation type="obsolete">Lokalna kopia usunięta!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="195"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="196"/>
|
||||
<source>Mode</source>
|
||||
<translation>Tryb</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="199"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="200"/>
|
||||
<source>Online</source>
|
||||
<translation>Online</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="200"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="201"/>
|
||||
<source>Offline</source>
|
||||
<translation>Offline</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="228"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="229"/>
|
||||
<source>Browsing mode</source>
|
||||
<translation>Tryb przeglądania</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="232"/>
|
||||
<source>Tabs & feeds & articles</source>
|
||||
<translation>Zakładki & kanały & artykuły</translation>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="233"/>
|
||||
<source>Tabs, Feeds & articles</source>
|
||||
<translation>Zakładki, Kanały i artykuły</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="233"/>
|
||||
<source>Tabs & articles</source>
|
||||
<translation>Zakładki & artykuły</translation>
|
||||
<source>Tabs & feeds & articles</source>
|
||||
<translation type="obsolete">Zakładki & kanały & artykuły</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="234"/>
|
||||
<source>Feeds & articles</source>
|
||||
<translation>Kanały & artykuły</translation>
|
||||
<source>Tabs & articles</source>
|
||||
<translation>Zakładki i artykuły</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="235"/>
|
||||
<source>Feeds & articles</source>
|
||||
<translation>Kanały i artykuły</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="236"/>
|
||||
<source>Only articles</source>
|
||||
<translation>Tylko artykuły</translation>
|
||||
</message>
|
||||
|
|
@ -694,7 +754,7 @@ Brak połączenia sieciowego</translation>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/SettingsPage.qml" line="143"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="263"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="264"/>
|
||||
<location filename="../qml/symbian/SettingsPage.qml" line="136"/>
|
||||
<source>Show icons & images</source>
|
||||
<translation>Pokazuj ikony i obrazki</translation>
|
||||
|
|
@ -753,7 +813,7 @@ Brak połączenia sieciowego</translation>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/SettingsPage.qml" line="119"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="213"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="214"/>
|
||||
<location filename="../qml/symbian/SettingsPage.qml" line="112"/>
|
||||
<source>After sync the content of all items will be downloaded and cached for access in Offline mode.</source>
|
||||
<translation>Każdorazowa podczas aktualizacji treść aktykułów będzie pobierana i zapisywana lokalnie, tak aby była dostępna podczas pracy w trybie Offline.</translation>
|
||||
|
|
@ -772,27 +832,27 @@ Brak połączenia sieciowego</translation>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/SettingsPage.qml" line="163"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="283"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="284"/>
|
||||
<location filename="../qml/symbian/SettingsPage.qml" line="156"/>
|
||||
<source>Power save mode</source>
|
||||
<translation>Tryb oszczędności energii</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/SettingsPage.qml" line="164"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="284"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="285"/>
|
||||
<location filename="../qml/symbian/SettingsPage.qml" line="157"/>
|
||||
<source>When the phone or app goes to the idle state, all opened web pages will be closed to lower power consumption.</source>
|
||||
<translation>Gdy aplikacja przełączy się w tryb nieaktywny, wszystkie otwarte strony internetowe zostaną zamknięte aby zmniejszyć zużycie energii. </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/SettingsPage.qml" line="184"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="305"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="306"/>
|
||||
<location filename="../qml/symbian/SettingsPage.qml" line="177"/>
|
||||
<source>Orientation</source>
|
||||
<translation>Orientacja</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="309"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="310"/>
|
||||
<source>Dynamic</source>
|
||||
<translation>Dynamiczna</translation>
|
||||
</message>
|
||||
|
|
@ -801,12 +861,12 @@ Brak połączenia sieciowego</translation>
|
|||
<translation type="obsolete">Dynamiczna</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="310"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="311"/>
|
||||
<source>Portrait</source>
|
||||
<translation>Pionowa</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="311"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="312"/>
|
||||
<source>Landscape</source>
|
||||
<translation>Pozioma</translation>
|
||||
</message>
|
||||
|
|
@ -839,7 +899,7 @@ Brak połączenia sieciowego</translation>
|
|||
<translation type="obsolete">Treść aktykułów będzie pobierana z lokalnej kopi, czyli bez użycia połączenia internetowego.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="212"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="213"/>
|
||||
<source>Cache articles</source>
|
||||
<translation>Twórz lokalną kopię</translation>
|
||||
</message>
|
||||
|
|
@ -849,13 +909,13 @@ Brak połączenia sieciowego</translation>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/SettingsPage.qml" line="129"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="223"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="224"/>
|
||||
<location filename="../qml/symbian/SettingsPage.qml" line="122"/>
|
||||
<source>UI</source>
|
||||
<translation>Interfejs</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="253"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="254"/>
|
||||
<source>Show only unread articles</source>
|
||||
<translation>Pokazuj tylko nieprzeczytane artykuły</translation>
|
||||
</message>
|
||||
|
|
@ -864,7 +924,7 @@ Brak połączenia sieciowego</translation>
|
|||
<translation type="obsolete">Pokazuj ikony</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="273"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="274"/>
|
||||
<source>Show Tab with saved articles</source>
|
||||
<translation>Pokazuj zakładkę z zapisanymi artykułami </translation>
|
||||
</message>
|
||||
|
|
@ -873,18 +933,18 @@ Brak połączenia sieciowego</translation>
|
|||
<translation type="obsolete">Pokazuj zakładkę z ulubionymi </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="329"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="330"/>
|
||||
<source>Black</source>
|
||||
<translation>Czarny</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="330"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="331"/>
|
||||
<source>White</source>
|
||||
<translation>Biały</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/SettingsPage.qml" line="199"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="319"/>
|
||||
<location filename="../qml/sailfish/SettingsPage.qml" line="320"/>
|
||||
<location filename="../qml/symbian/SettingsPage.qml" line="192"/>
|
||||
<source>Offline viewer style</source>
|
||||
<translation>Styl wyświetlania w trybie Offline</translation>
|
||||
|
|
@ -974,6 +1034,11 @@ Brak połączenia sieciowego</translation>
|
|||
<source>Tabs</source>
|
||||
<translation>Zakładki</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/TabPage.qml" line="274"/>
|
||||
<source>Pull down to do Sync</source>
|
||||
<translation>Wykonaj aktualizacje kanałów</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/TabPage.qml" line="158"/>
|
||||
<location filename="../qml/sailfish/TabPage.qml" line="246"/>
|
||||
|
|
@ -1002,9 +1067,8 @@ Brak połączenia sieciowego</translation>
|
|||
<translation>Wykonaj pierwszą aktualizacje kanałów</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/TabPage.qml" line="274"/>
|
||||
<source>Pull down to do first Sync</source>
|
||||
<translation>Wykonaj pierwszą aktualizacje kanałów</translation>
|
||||
<translation type="obsolete">Wykonaj pierwszą aktualizacje kanałów</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/TabPage.qml" line="179"/>
|
||||
|
|
@ -1224,7 +1288,7 @@ Brak połączenia sieciowego</translation>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="123"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="142"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="152"/>
|
||||
<location filename="../qml/symbian/main.qml" line="120"/>
|
||||
<source>An unknown error occurred! :-(</source>
|
||||
<translation>Wystąpił nieznany błąd! :-(</translation>
|
||||
|
|
@ -1269,7 +1333,7 @@ Brak połączenia sieciowego</translation>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="107"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="126"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="136"/>
|
||||
<location filename="../qml/symbian/main.qml" line="104"/>
|
||||
<source>Sync failed
|
||||
Network connection is unavailable</source>
|
||||
|
|
@ -1279,8 +1343,8 @@ Brak połączenia sieciowego</translation>
|
|||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="118"/>
|
||||
<location filename="../qml/harmattan/main.qml" line="128"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="137"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="147"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="157"/>
|
||||
<location filename="../qml/symbian/main.qml" line="115"/>
|
||||
<location filename="../qml/symbian/main.qml" line="125"/>
|
||||
<source>User & Password do not match!</source>
|
||||
|
|
@ -1288,28 +1352,28 @@ Brak połączenia sieciowego</translation>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="132"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="151"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="161"/>
|
||||
<location filename="../qml/symbian/main.qml" line="129"/>
|
||||
<source>Successfully Signed In!</source>
|
||||
<translation>Zalogowano!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="137"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="155"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="165"/>
|
||||
<location filename="../qml/symbian/main.qml" line="134"/>
|
||||
<source>Receiving data... </source>
|
||||
<translation>Pobieranie danych...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="150"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="170"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="180"/>
|
||||
<location filename="../qml/symbian/main.qml" line="147"/>
|
||||
<source>Initiating...</source>
|
||||
<translation>Pierwsza aktualizacja...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="154"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="174"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="184"/>
|
||||
<location filename="../qml/symbian/main.qml" line="151"/>
|
||||
<source>Updating...</source>
|
||||
<translation>Aktualizacja...</translation>
|
||||
|
|
@ -1336,14 +1400,14 @@ Brak połączenia sieciowego</translation>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="143"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="160"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="170"/>
|
||||
<location filename="../qml/symbian/main.qml" line="140"/>
|
||||
<source>Sending data to Netvibes...</source>
|
||||
<translation>Wysyłanie danych do Netvibes...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harmattan/main.qml" line="158"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="178"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="188"/>
|
||||
<location filename="../qml/symbian/main.qml" line="155"/>
|
||||
<source>Signing in...</source>
|
||||
<translation>Logowanie...</translation>
|
||||
|
|
@ -1352,9 +1416,9 @@ Brak połączenia sieciowego</translation>
|
|||
<location filename="../qml/harmattan/main.qml" line="162"/>
|
||||
<location filename="../qml/harmattan/main.qml" line="166"/>
|
||||
<location filename="../qml/harmattan/main.qml" line="170"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="182"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="186"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="190"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="192"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="196"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="200"/>
|
||||
<location filename="../qml/symbian/main.qml" line="159"/>
|
||||
<location filename="../qml/symbian/main.qml" line="163"/>
|
||||
<location filename="../qml/symbian/main.qml" line="167"/>
|
||||
|
|
@ -1367,9 +1431,13 @@ Brak połączenia sieciowego</translation>
|
|||
<translation>Kanały</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/sailfish/main.qml" line="66"/>
|
||||
<location filename="../qml/sailfish/main.qml" line="235"/>
|
||||
<source>Removing cache data...</source>
|
||||
<translation>Usuwanie kopii lokalnej...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browsing mode changed!</source>
|
||||
<translation>Tryb przeglądania został zmieniony!</translation>
|
||||
<translation type="obsolete">Tryb przeglądania został zmieniony!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
|
|
|||
|
|
@ -36,7 +36,16 @@ Page {
|
|||
}
|
||||
|
||||
SilicaListView {
|
||||
anchors.fill: parent
|
||||
anchors { top: parent.top; left: parent.left; right: parent.right }
|
||||
clip: true
|
||||
|
||||
height: {
|
||||
if (dm.busy||fetcher.busy||dm.removerBusy)
|
||||
return isPortrait ? app.height-Theme.itemSizeMedium : app.width-0.8*Theme.itemSizeMedium;
|
||||
return isPortrait ? app.height : app.width;
|
||||
}
|
||||
|
||||
|
||||
anchors.leftMargin: Theme.paddingLarge
|
||||
anchors.rightMargin: Theme.paddingLarge
|
||||
spacing: Theme.paddingLarge
|
||||
|
|
@ -97,7 +106,7 @@ Page {
|
|||
}
|
||||
|
||||
Button {
|
||||
text: qsTr("What's new")
|
||||
text: qsTr("What's new in this release")
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
onClicked: pageStack.push(Qt.resolvedUrl("ChangelogPage.qml"))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,36 +50,41 @@ Page {
|
|||
|
||||
model: VisualItemModel {
|
||||
|
||||
SectionHeader {
|
||||
text: "1.2.0"
|
||||
LogItem {
|
||||
title: qsTr('Multi-Feed widget support')
|
||||
description: qsTr('Kaktus can also read Feeds, which are aggregated in the Netvibes Multi-Feed widget.')
|
||||
}
|
||||
|
||||
LogItem {
|
||||
text: qsTr('Netvibes "Multi-Feed" widget support')
|
||||
title: qsTr('Double-click marks article as read/unread')
|
||||
description: qsTr('In addition to the context menu option, marking as read/unread can be done by double-click.')
|
||||
}
|
||||
|
||||
LogItem {
|
||||
text: qsTr('Double-click marks article as read/unread')
|
||||
title: qsTr('New Browsing Modes')
|
||||
description: qsTr('There are new Browsing Modes. '+
|
||||
'It is possible to show all articles in the one list '+
|
||||
'or group by Tabs or Feeds.')
|
||||
}
|
||||
|
||||
LogItem {
|
||||
text: qsTr('Option to show all feeds in one list (see "Browsing Mode option")')
|
||||
title: qsTr('Indicator for new articles')
|
||||
description: qsTr('Articles, that have been added since last sync, '+
|
||||
'are marked with small dash on the right side of the list.')
|
||||
}
|
||||
|
||||
LogItem {
|
||||
text: qsTr('Indicator for articles that have been added since last sync')
|
||||
title: qsTr('Option to delete cache data')
|
||||
description: qsTr('Cache data can be deleted manually. The option is located on the settings page.')
|
||||
}
|
||||
|
||||
LogItem {
|
||||
text: qsTr('Option to delete cache data (see "Cache size" option)')
|
||||
title: qsTr('Image caching improvements')
|
||||
description: qsTr('Caching mechanism for images are improved. Files with images are downloaded more effectively.')
|
||||
}
|
||||
|
||||
LogItem {
|
||||
text: qsTr('Improved display of images')
|
||||
}
|
||||
|
||||
LogItem {
|
||||
text: qsTr('Many UI improvements')
|
||||
Item {
|
||||
height: Theme.paddingMedium
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,16 @@ Dialog {
|
|||
|
||||
SilicaListView {
|
||||
id: listView
|
||||
anchors.fill: parent
|
||||
|
||||
anchors { top: parent.top; left: parent.left; right: parent.right }
|
||||
clip: true
|
||||
|
||||
height: {
|
||||
if (dm.busy||fetcher.busy||dm.removerBusy)
|
||||
return isPortrait ? app.height-Theme.itemSizeMedium : app.width-0.8*Theme.itemSizeMedium;
|
||||
return isPortrait ? app.height : app.width;
|
||||
}
|
||||
|
||||
spacing: Theme.paddingMedium
|
||||
model: dashboardModel
|
||||
|
||||
|
|
|
|||
|
|
@ -39,14 +39,10 @@ Page {
|
|||
model: dashboardModel
|
||||
|
||||
anchors { top: parent.top; left: parent.left; right: parent.right }
|
||||
clip:true
|
||||
clip: true
|
||||
|
||||
height: {
|
||||
if ((dm.busy||fetcher.busy) && bar.open)
|
||||
return isPortrait ? app.height-Theme.itemSizeMedium : app.width-1.6*Theme.itemSizeMedium;
|
||||
if (dm.busy||fetcher.busy)
|
||||
return isPortrait ? app.height-Theme.itemSizeMedium : app.width-0.8*Theme.itemSizeMedium;
|
||||
if (bar.open)
|
||||
if (dm.busy||fetcher.busy||dm.removerBusy)
|
||||
return isPortrait ? app.height-Theme.itemSizeMedium : app.width-0.8*Theme.itemSizeMedium;
|
||||
return isPortrait ? app.height : app.width;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ Page {
|
|||
clip:true
|
||||
|
||||
height: {
|
||||
if (dm.busy||fetcher.busy)
|
||||
if (dm.busy||fetcher.busy||dm.removerBusy)
|
||||
return isPortrait ? app.height-Theme.itemSizeMedium : app.width-0.8*Theme.itemSizeMedium;
|
||||
return isPortrait ? app.height : app.width;
|
||||
}
|
||||
|
|
@ -121,8 +121,8 @@ Page {
|
|||
// One click
|
||||
|
||||
// Not allowed while Syncing
|
||||
if (dm.busy || fetcher.busy) {
|
||||
notification.show(qsTr("Please wait until Sync finishes"));
|
||||
if (dm.busy || fetcher.busy || dm.removerBusy) {
|
||||
notification.show(qsTr("Please wait until current task is complete"));
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -183,6 +183,15 @@ Page {
|
|||
ViewPlaceholder {
|
||||
enabled: listView.count == 0
|
||||
text: settings.showOnlyUnread ? qsTr("No unread items") : qsTr("No items")
|
||||
|
||||
Label {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.bottom: parent.bottom
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.secondaryHighlightColor
|
||||
text: fetcher.busy ? qsTr("Wait until Sync finish") : qsTr("Pull down to do Sync")
|
||||
visible: settings.viewMode==3
|
||||
}
|
||||
}
|
||||
|
||||
VerticalScrollDecorator {
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ Page {
|
|||
height: {
|
||||
/*if ((dm.busy||fetcher.busy) && bar.open)
|
||||
return isPortrait ? app.height-Theme.itemSizeMedium : app.width-1.6*Theme.itemSizeMedium;*/
|
||||
if (dm.busy||fetcher.busy)
|
||||
if (dm.busy||fetcher.busy||dm.removerBusy)
|
||||
return isPortrait ? app.height-Theme.itemSizeMedium : app.width-0.8*Theme.itemSizeMedium;
|
||||
/*if (bar.open)
|
||||
return isPortrait ? app.height-Theme.itemSizeMedium : app.width-0.8*Theme.itemSizeMedium;*/
|
||||
|
|
@ -193,6 +193,15 @@ Page {
|
|||
ViewPlaceholder {
|
||||
enabled: listView.count == 0
|
||||
text: qsTr("No feeds")
|
||||
|
||||
Label {
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.bottom: parent.bottom
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.secondaryHighlightColor
|
||||
text: fetcher.busy ? qsTr("Wait until Sync finish") : qsTr("Pull down to do Sync")
|
||||
visible: settings.viewMode==2
|
||||
}
|
||||
}
|
||||
|
||||
VerticalScrollDecorator {
|
||||
|
|
|
|||
|
|
@ -23,21 +23,45 @@ import Sailfish.Silica 1.0
|
|||
Row {
|
||||
id: root
|
||||
|
||||
property alias text: label.text
|
||||
property alias title: label1.text
|
||||
property alias description: label2.text
|
||||
|
||||
anchors.left: parent.left; anchors.right: parent.right
|
||||
anchors.leftMargin: Theme.paddingLarge; anchors.rightMargin: Theme.paddingLarge
|
||||
spacing: 1.5*Theme.paddingLarge
|
||||
spacing: 1.0*Theme.paddingLarge
|
||||
|
||||
Image {
|
||||
width: Theme.iconSizeSmall; height: width
|
||||
source: "image://theme/icon-s-new"
|
||||
anchors.top: parent.top
|
||||
}
|
||||
|
||||
Label {
|
||||
id: label
|
||||
Column {
|
||||
spacing: Theme.paddingSmall
|
||||
anchors.top: parent.top
|
||||
width: parent.width-3*Theme.paddingLarge
|
||||
wrapMode: Text.WordWrap
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
|
||||
Label {
|
||||
id: label1
|
||||
width: parent.width
|
||||
wrapMode: Text.WordWrap
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.primaryColor
|
||||
font.bold: true
|
||||
|
||||
}
|
||||
|
||||
Label {
|
||||
id: label2
|
||||
width: parent.width
|
||||
wrapMode: Text.WordWrap
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.primaryColor
|
||||
}
|
||||
|
||||
Item {
|
||||
height: Theme.paddingMedium
|
||||
width: parent.width
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -60,11 +60,11 @@ PullDownMenu {
|
|||
}
|
||||
|
||||
MenuItem {
|
||||
text: enabled ? qsTr("Sync") : qsTr("Syncing...")
|
||||
text: enabled ? qsTr("Sync") : qsTr("Busy...")
|
||||
visible: root.showSync
|
||||
|
||||
onClicked: fetcher.update()
|
||||
enabled: !fetcher.busy && !dm.busy
|
||||
enabled: !fetcher.busy && !dm.busy && !dm.removerBusy
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -40,17 +40,12 @@ Item {
|
|||
|
||||
Behavior on opacity { FadeAnimation {} }
|
||||
|
||||
Rectangle {
|
||||
/*Rectangle {
|
||||
anchors.fill: parent
|
||||
visible: root.transparent
|
||||
|
||||
/*gradient: Gradient {
|
||||
GradientStop { position: 0.0; color: Theme.rgba(Theme.highlightColor, 0.1) }
|
||||
GradientStop { position: 1.0; color: Theme.rgba(Theme.highlightColor, 0.2) }
|
||||
}*/
|
||||
|
||||
color: Theme.rgba(Theme.highlightColor, 0.2)
|
||||
}
|
||||
}*/
|
||||
|
||||
Rectangle {
|
||||
anchors.fill: parent
|
||||
|
|
@ -69,10 +64,15 @@ Item {
|
|||
}
|
||||
|
||||
Image {
|
||||
anchors.fill: parent
|
||||
anchors.left: parent.left; anchors.right: parent.right
|
||||
//anchors.fill: parent
|
||||
//fillMode: Image.PreserveAspectFit
|
||||
source: "image://theme/graphic-gradient-home-top"
|
||||
source: "image://theme/graphic-gradient-home-top?"+Theme.highlightBackgroundColor
|
||||
//source: "image://theme/graphic-gradient-home-bottom?"+Theme.highlightBackgroundColor
|
||||
//source: "image://theme/graphic-gradient-edge?"+Theme.highlightBackgroundColor
|
||||
//source: "image://theme/graphic-keyboard-highlight-top?"+Theme.highlightBackgroundColor
|
||||
visible: root.transparent
|
||||
opacity: 0.3
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ Page {
|
|||
clip: true
|
||||
|
||||
height: {
|
||||
if (dm.busy||fetcher.busy)
|
||||
if (dm.busy||fetcher.busy||dm.removerBusy)
|
||||
return isPortrait ? app.height-Theme.itemSizeMedium : app.width-0.8*Theme.itemSizeMedium;
|
||||
return isPortrait ? app.height : app.width;
|
||||
}
|
||||
|
|
@ -171,9 +171,10 @@ Page {
|
|||
text: qsTr("Delete cache")
|
||||
onClicked: {
|
||||
//dm.cleanCache();
|
||||
notification.show(qsTr("Cache data deleted!"));
|
||||
//notification.show(qsTr("Cache data deleted!"));
|
||||
fetcher.cancel(); dm.cancel();
|
||||
db.newInit();
|
||||
dm.removeCache();
|
||||
//db.newInit();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -229,7 +230,7 @@ Page {
|
|||
currentIndex: settings.viewMode
|
||||
|
||||
menu: ContextMenu {
|
||||
MenuItem { text: qsTr("Tabs & feeds & articles") }
|
||||
MenuItem { text: qsTr("Tabs, Feeds & articles") }
|
||||
MenuItem { text: qsTr("Tabs & articles") }
|
||||
MenuItem { text: qsTr("Feeds & articles") }
|
||||
MenuItem { text: qsTr("Only articles") }
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ Page {
|
|||
height: {
|
||||
/*if ((dm.busy||fetcher.busy) && bar.open)
|
||||
return isPortrait ? app.height-Theme.itemSizeMedium : app.width-1.6*Theme.itemSizeMedium;*/
|
||||
if (dm.busy||fetcher.busy)
|
||||
if (dm.busy||fetcher.busy||dm.removerBusy)
|
||||
return isPortrait ? app.height-Theme.itemSizeMedium : app.width-0.8*Theme.itemSizeMedium;
|
||||
/*if (bar.open)
|
||||
return isPortrait ? app.height-Theme.itemSizeMedium : app.width-0.8*Theme.itemSizeMedium;*/
|
||||
|
|
@ -271,7 +271,7 @@ Page {
|
|||
anchors.bottom: parent.bottom
|
||||
font.pixelSize: Theme.fontSizeSmall
|
||||
color: Theme.secondaryHighlightColor
|
||||
text: fetcher.busy ? qsTr("Wait until Sync finish") : qsTr("Pull down to do first Sync")
|
||||
text: fetcher.busy ? qsTr("Wait until Sync finish") : qsTr("Pull down to do Sync")
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ ApplicationWindow {
|
|||
|
||||
onViewModeChanged: {
|
||||
resetView();
|
||||
notification.show(qsTr("Browsing mode changed!"));
|
||||
//notification.show(qsTr("Browsing mode changed!"));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -109,6 +109,16 @@ ApplicationWindow {
|
|||
if (dm.busy && bar.open)
|
||||
bar.open = false;
|
||||
}
|
||||
|
||||
onRemoverBusyChanged: {
|
||||
if (dm.removerBusy && bar.open)
|
||||
bar.open = false;
|
||||
}
|
||||
|
||||
onRemoverProgressChanged: {
|
||||
//console.log("Remover progress: " + current / total);
|
||||
progressPanelRemover.progress = current / total;
|
||||
}
|
||||
}
|
||||
|
||||
Connections {
|
||||
|
|
@ -211,6 +221,20 @@ ApplicationWindow {
|
|||
x: app.orientation==Orientation.Portrait ? 0 : height
|
||||
}
|
||||
|
||||
ProgressPanel {
|
||||
id: progressPanelRemover
|
||||
open: dm.removerBusy
|
||||
onCloseClicked: dm.removerCancel();
|
||||
|
||||
rotation: app.orientation==Orientation.Portrait ? 0 : 90
|
||||
transformOrigin: Item.TopLeft
|
||||
height: app.orientation==Orientation.Portrait ? Theme.itemSizeMedium : 0.8*Theme.itemSizeMedium
|
||||
width: app.orientation==Orientation.Portrait ? app.width : app.height
|
||||
y: app.orientation==Orientation.Portrait ? app.height-height : 0
|
||||
x: app.orientation==Orientation.Portrait ? 0 : height
|
||||
text: qsTr("Removing cache data...");
|
||||
}
|
||||
|
||||
ProgressPanel {
|
||||
id: progressPanelDm
|
||||
open: dm.busy && !fetcher.busy
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ Name: harbour-kaktus
|
|||
%{?qtc_builddir:%define _builddir %qtc_builddir}
|
||||
Summary: Kaktus
|
||||
Version: 1.2.0
|
||||
Release: 2
|
||||
Release: 3
|
||||
Group: Qt/Qt
|
||||
License: LICENSE
|
||||
URL: https://github.com/mkiol/kaktus
|
||||
|
|
@ -76,6 +76,9 @@ desktop-file-install --delete-original \
|
|||
|
||||
%changelog
|
||||
|
||||
* Sat Sep 06 2014 Michal Kosciesza 1.2.0-3
|
||||
- Caching and downloading improvements
|
||||
|
||||
* Tue Sep 02 2014 Michal Kosciesza 1.2.0-2
|
||||
- Netvibes Multi-Feed widget (initial) support
|
||||
- Improved display of images
|
||||
|
|
|
|||
4
screenshots/sailfish/.directory
Normal file
4
screenshots/sailfish/.directory
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
[Dolphin]
|
||||
PreviewsShown=true
|
||||
Timestamp=2014,8,12,22,49,0
|
||||
Version=3
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 545 KiB After Width: | Height: | Size: 512 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 408 KiB After Width: | Height: | Size: 277 KiB |
|
|
@ -1588,8 +1588,7 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesUnreadByTab(const QStr
|
|||
//(e.read=0 OR e.readlater=1)
|
||||
|
||||
if (!ret) {
|
||||
qWarning() << "SQL error!";
|
||||
qWarning() << query.lastError();
|
||||
qWarning() << "SQL error!" << query.lastError();
|
||||
}
|
||||
|
||||
while(query.next()) {
|
||||
|
|
@ -1785,6 +1784,29 @@ QList<QString> DatabaseManager::readCacheFinalUrlOlderThan(int cacheDate, int li
|
|||
return list;
|
||||
}
|
||||
|
||||
|
||||
bool DatabaseManager::removeAllCacheItems()
|
||||
{
|
||||
bool ret = false;
|
||||
if (_db.isOpen()) {
|
||||
QSqlQuery query(_db);
|
||||
ret = query.exec(QString("DELETE FROM cache;"));
|
||||
|
||||
if (!ret) {
|
||||
qWarning() << "SQL error!" << query.lastError().text();
|
||||
}
|
||||
|
||||
ret = query.exec(QString("UPDATE entries SET cached=0;"));
|
||||
|
||||
if (!ret) {
|
||||
qWarning() << "SQL error!" << query.lastError().text();
|
||||
}
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
bool DatabaseManager::removeEntriesOlderThan(int cacheDate, int limit)
|
||||
{
|
||||
bool ret = false;
|
||||
|
|
|
|||
|
|
@ -33,6 +33,8 @@
|
|||
|
||||
#include "settings.h"
|
||||
|
||||
//typedef DatabaseManager::CacheItem Cache;
|
||||
|
||||
class DatabaseManager : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
|
@ -217,7 +219,7 @@ public:
|
|||
int readTabLastUpadate(const QString &tabId);
|
||||
|
||||
bool removeFeed(const QString &feedId);
|
||||
//bool removeCacheItems(const QString &feedId);
|
||||
bool removeAllCacheItems();
|
||||
bool removeEntriesOlderThan(int cacheDate, int limit);
|
||||
//bool removeCacheItemsOlderThan(int cacheDate, int limit);
|
||||
bool removeAction(const QString &entryId);
|
||||
|
|
@ -269,4 +271,6 @@ private:
|
|||
void decodeBase64(const QVariant &source, QString &result);
|
||||
};
|
||||
|
||||
Q_DECLARE_METATYPE(DatabaseManager::CacheItem)
|
||||
|
||||
#endif // DATABASEMANAGER_H
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@
|
|||
DownloadManager::DownloadManager(QObject *parent) :
|
||||
QObject(parent)
|
||||
{
|
||||
|
||||
qDebug() << "0";
|
||||
/*QList<QNetworkConfiguration> activeConfigs = ncm.allConfigurations(QNetworkConfiguration::Active);
|
||||
QList<QNetworkConfiguration>::iterator i = activeConfigs.begin();
|
||||
while (i != activeConfigs.end()) {
|
||||
|
|
@ -46,7 +46,9 @@ DownloadManager::DownloadManager(QObject *parent) :
|
|||
++i;
|
||||
}*/
|
||||
|
||||
connect(&cleaner, SIGNAL(ready()), this, SLOT(cacheCleaningFinished()));
|
||||
connect(&cleaner, SIGNAL(finished()), this, SLOT(cacheCleaningFinished()));
|
||||
connect(&remover, SIGNAL(finished()), this, SLOT(cacheRemoverFinished()));
|
||||
connect(&remover, SIGNAL(progressChanged(int,int)), this, SLOT(cacheRemoverProgressChanged(int,int)));
|
||||
#ifdef ONLINE_CHECK
|
||||
connect(&ncm, SIGNAL(onlineStateChanged(bool)), this, SLOT(onlineStateChanged(bool)));
|
||||
#endif
|
||||
|
|
@ -54,6 +56,7 @@ DownloadManager::DownloadManager(QObject *parent) :
|
|||
this, SLOT(downloadFinished(QNetworkReply*)));
|
||||
connect(&manager, SIGNAL(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility)),
|
||||
this, SLOT(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility)));
|
||||
connect(&adder, SIGNAL(addDownload(DatabaseManager::CacheItem)), this, SLOT(addDownload(DatabaseManager::CacheItem)));
|
||||
}
|
||||
|
||||
bool DownloadManager::isOnline()
|
||||
|
|
@ -72,6 +75,11 @@ void DownloadManager::onlineStateChanged(bool isOnline)
|
|||
emit onlineChanged();
|
||||
}
|
||||
|
||||
void DownloadManager::removerCancel()
|
||||
{
|
||||
remover.cancel();
|
||||
}
|
||||
|
||||
int DownloadManager::getCacheSize()
|
||||
{
|
||||
int size = 0;
|
||||
|
|
@ -87,18 +95,31 @@ int DownloadManager::getCacheSize()
|
|||
|
||||
void DownloadManager::cleanCache()
|
||||
{
|
||||
cleaner.start();
|
||||
cleaner.start(QThread::IdlePriority);
|
||||
}
|
||||
|
||||
void DownloadManager::cacheCleaningFinished()
|
||||
{
|
||||
qDebug() << "Cache cleaning finished!";
|
||||
//qDebug() << "Cache cleaning finished!";
|
||||
emit cacheSizeChanged();
|
||||
}
|
||||
|
||||
void DownloadManager::cacheRemoverProgressChanged(int current, int total)
|
||||
{
|
||||
//qDebug() << "Cache remover progress changed!";
|
||||
emit removerProgressChanged(current, total);
|
||||
}
|
||||
|
||||
void DownloadManager::cacheRemoverFinished()
|
||||
{
|
||||
qDebug() << "Cache remover finished!";
|
||||
emit removerBusyChanged();
|
||||
emit cacheSizeChanged();
|
||||
}
|
||||
|
||||
void DownloadManager::removeCache()
|
||||
{
|
||||
Settings *s = Settings::instance();
|
||||
/*Settings *s = Settings::instance();
|
||||
QDir cache(s->getDmCacheDir());
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
|
||||
if (!cache.removeRecursively()) {
|
||||
|
|
@ -106,7 +127,16 @@ void DownloadManager::removeCache()
|
|||
if (!Utils::removeDir(cache.absolutePath())) {
|
||||
#endif
|
||||
qWarning() << "Unable to remove " << s->getDmCacheDir();
|
||||
}
|
||||
}*/
|
||||
|
||||
if (isRemoverBusy())
|
||||
return;
|
||||
|
||||
Settings *s = Settings::instance();
|
||||
s->db->removeAllCacheItems();
|
||||
//remover.start(QThread::IdlePriority);
|
||||
remover.start(QThread::LowestPriority);
|
||||
emit removerBusyChanged();
|
||||
}
|
||||
|
||||
void DownloadManager::networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility accessible)
|
||||
|
|
@ -159,6 +189,7 @@ void DownloadManager::addNextDownload()
|
|||
emit progress(0);
|
||||
emit ready();
|
||||
emit busyChanged();
|
||||
emit cacheSizeChanged();
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
@ -379,10 +410,13 @@ void DownloadManager::sslErrors(const QList<QSslError> &sslErrors)
|
|||
void DownloadManager::addDownload(DatabaseManager::CacheItem item)
|
||||
{
|
||||
Settings *s = Settings::instance();
|
||||
bool busy = isBusy();
|
||||
|
||||
if (downloads.count() < s->getDmConnections()) {
|
||||
doDownload(item);
|
||||
emit busyChanged();
|
||||
emit cacheSizeChanged();
|
||||
if (!busy)
|
||||
emit busyChanged();
|
||||
//emit cacheSizeChanged();
|
||||
} else {
|
||||
queue.append(item);
|
||||
}
|
||||
|
|
@ -437,16 +471,10 @@ void Checker::metaDataChanged()
|
|||
}
|
||||
}
|
||||
|
||||
bool DownloadManager::startFeedDownload()
|
||||
void DownloadManager::startFeedDownload()
|
||||
{
|
||||
/*bool busy = !downloads.isEmpty() || !queue.isEmpty();
|
||||
if (busy) {
|
||||
qWarning() << "Download Manager is busy!";
|
||||
return;
|
||||
}*/
|
||||
|
||||
#if defined(Q_OS_SYMBIAN) || defined(Q_WS_SIMULATOR)
|
||||
//cleanCache();
|
||||
cleanCache();
|
||||
#else
|
||||
cleanCache();
|
||||
#endif
|
||||
|
|
@ -457,31 +485,7 @@ bool DownloadManager::startFeedDownload()
|
|||
//return false;
|
||||
}
|
||||
|
||||
Settings *s = Settings::instance();
|
||||
QMap<QString,QString> list = s->db->readNotCachedEntries();
|
||||
//qDebug() << "startFeedDownload, list.count=" << list.count();
|
||||
|
||||
if (list.count() == 0) {
|
||||
qWarning() << "No feeds to download!";
|
||||
return false;
|
||||
}
|
||||
|
||||
//replyToCachedItemMap.clear();
|
||||
//replyToCheckerMap.clear();
|
||||
|
||||
QMap<QString,QString>::iterator i = list.begin();
|
||||
while (i != list.end()) {
|
||||
|
||||
DatabaseManager::CacheItem item;
|
||||
item.entryId = i.key();
|
||||
item.origUrl = i.value();
|
||||
item.finalUrl = i.value();
|
||||
|
||||
addDownload(item);
|
||||
++i;
|
||||
}
|
||||
|
||||
return true;
|
||||
adder.start();
|
||||
}
|
||||
|
||||
QString DownloadManager::hash(const QString &url)
|
||||
|
|
@ -519,7 +523,11 @@ bool DownloadManager::isBusy()
|
|||
return true;
|
||||
}
|
||||
|
||||
//void CacheCleaner::run() Q_DECL_OVERRIDE {
|
||||
bool DownloadManager::isRemoverBusy()
|
||||
{
|
||||
return remover.isRunning();
|
||||
}
|
||||
|
||||
void CacheCleaner::run() {
|
||||
|
||||
Settings *s = Settings::instance();
|
||||
|
|
@ -538,7 +546,7 @@ void CacheCleaner::run() {
|
|||
}
|
||||
}
|
||||
++iii;
|
||||
QThread::msleep(100);
|
||||
QThread::msleep(10);
|
||||
}
|
||||
|
||||
s->db->removeEntriesByLimit(*ii, entriesLimit);
|
||||
|
|
@ -546,5 +554,97 @@ void CacheCleaner::run() {
|
|||
++ii;
|
||||
}
|
||||
|
||||
emit ready();
|
||||
//emit ready();
|
||||
}
|
||||
|
||||
CacheRemover::CacheRemover(QObject *parent) : QThread(parent)
|
||||
{
|
||||
total = 100;
|
||||
current = 0;
|
||||
doCancel = false;
|
||||
}
|
||||
|
||||
/*
|
||||
* Copyright (c) 2009 John Schember <john@nachtimwald.com>
|
||||
* http://john.nachtimwald.com/2010/06/08/qt-remove-directory-and-its-contents/
|
||||
*/
|
||||
bool CacheRemover::removeDir(const QString &dirName)
|
||||
{
|
||||
bool result = true;
|
||||
QDir dir(dirName);
|
||||
|
||||
emit progressChanged(0,total);
|
||||
|
||||
if (dir.exists(dirName)) {
|
||||
QFileInfoList infoList = dir.entryInfoList(QDir::NoDotAndDotDot | QDir::System | QDir::Hidden | QDir::AllDirs | QDir::Files, QDir::DirsFirst);
|
||||
total = infoList.count();
|
||||
Q_FOREACH(QFileInfo info, infoList) {
|
||||
if (doCancel)
|
||||
return result;
|
||||
|
||||
if (info.isDir()) {
|
||||
result = removeDir(info.absoluteFilePath());
|
||||
}
|
||||
else {
|
||||
result = QFile::remove(info.absoluteFilePath());
|
||||
++current;
|
||||
if (current % 10 == 0)
|
||||
emit progressChanged(++current,total);
|
||||
}
|
||||
|
||||
if (!result) {
|
||||
return result;
|
||||
}
|
||||
//qDebug() << "File" << info.absoluteFilePath() << "removed. Result:" << result;
|
||||
//QThread::msleep(5);
|
||||
}
|
||||
result = dir.rmdir(dirName);
|
||||
}
|
||||
|
||||
emit progressChanged(total,total);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
void CacheRemover::run()
|
||||
{
|
||||
current=0; total = 100; doCancel = false;
|
||||
Settings *s = Settings::instance();
|
||||
if (!removeDir(s->getDmCacheDir())) {
|
||||
qWarning() << "Unable to remove " << s->getDmCacheDir();
|
||||
}
|
||||
|
||||
//emit ready();
|
||||
}
|
||||
|
||||
void CacheRemover::cancel()
|
||||
{
|
||||
doCancel = true;
|
||||
}
|
||||
|
||||
DownloadAdder::DownloadAdder(QObject *parent) : QThread(parent)
|
||||
{}
|
||||
|
||||
void DownloadAdder::run()
|
||||
{
|
||||
Settings *s = Settings::instance();
|
||||
QMap<QString,QString> list = s->db->readNotCachedEntries();
|
||||
//qDebug() << "startFeedDownload, list.count=" << list.count();
|
||||
|
||||
if (list.count() == 0) {
|
||||
qWarning() << "No feeds to download!";
|
||||
return;
|
||||
}
|
||||
|
||||
QMap<QString,QString>::iterator i = list.begin();
|
||||
while (i != list.end()) {
|
||||
|
||||
DatabaseManager::CacheItem item;
|
||||
item.entryId = i.key();
|
||||
item.origUrl = i.value();
|
||||
item.finalUrl = i.value();
|
||||
|
||||
emit addDownload(item);
|
||||
++i;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,6 +37,40 @@
|
|||
|
||||
class QSslError;
|
||||
|
||||
class DownloadAdder : public QThread
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
DownloadAdder(QObject * parent = 0);
|
||||
|
||||
protected:
|
||||
void run();
|
||||
|
||||
signals:
|
||||
void addDownload(DatabaseManager::CacheItem item);
|
||||
};
|
||||
|
||||
class CacheRemover : public QThread
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CacheRemover(QObject * parent = 0);
|
||||
void cancel();
|
||||
|
||||
protected:
|
||||
void run();
|
||||
|
||||
signals:
|
||||
//void ready();
|
||||
void progressChanged(int current, int total);
|
||||
|
||||
private:
|
||||
bool removeDir(const QString &dirName);
|
||||
int total;
|
||||
int current;
|
||||
bool doCancel;
|
||||
};
|
||||
|
||||
class CacheCleaner : public QThread
|
||||
{
|
||||
Q_OBJECT
|
||||
|
|
@ -44,8 +78,8 @@ class CacheCleaner : public QThread
|
|||
protected:
|
||||
void run();
|
||||
|
||||
signals:
|
||||
void ready();
|
||||
/*signals:
|
||||
void ready();*/
|
||||
|
||||
private:
|
||||
static const int entriesLimit = 100;
|
||||
|
|
@ -76,19 +110,21 @@ class DownloadManager: public QObject
|
|||
Q_PROPERTY (bool online READ isOnline NOTIFY onlineChanged)
|
||||
Q_PROPERTY (bool busy READ isBusy NOTIFY busyChanged)
|
||||
Q_PROPERTY (int cacheSize READ getCacheSize NOTIFY cacheSizeChanged)
|
||||
Q_PROPERTY (bool removerBusy READ isRemoverBusy NOTIFY removerBusyChanged)
|
||||
|
||||
public:
|
||||
DownloadManager(QObject *parent = 0);
|
||||
|
||||
void addDownload(DatabaseManager::CacheItem item);
|
||||
Q_INVOKABLE void cancel();
|
||||
Q_INVOKABLE void removerCancel();
|
||||
Q_INVOKABLE int itemsToDownloadCount();
|
||||
Q_INVOKABLE bool startFeedDownload();
|
||||
Q_INVOKABLE void startFeedDownload();
|
||||
Q_INVOKABLE void cleanCache();
|
||||
|
||||
bool isBusy();
|
||||
bool isOnline();
|
||||
int getCacheSize();
|
||||
bool isRemoverBusy();
|
||||
|
||||
signals:
|
||||
void cacheSizeChanged();
|
||||
|
|
@ -97,6 +133,8 @@ signals:
|
|||
void networkNotAccessible();
|
||||
void onlineChanged();
|
||||
void canceled();
|
||||
void removerBusyChanged();
|
||||
void removerProgressChanged(int current, int total);
|
||||
/*
|
||||
500 - Unknown error
|
||||
501 - Save to disk error
|
||||
|
|
@ -105,6 +143,7 @@ signals:
|
|||
void progress(int remaining);
|
||||
|
||||
public slots:
|
||||
void addDownload(DatabaseManager::CacheItem item);
|
||||
void downloadFinished(QNetworkReply *reply);
|
||||
void sslErrors(const QList<QSslError> &errors);
|
||||
void error(QNetworkReply::NetworkError code);
|
||||
|
|
@ -112,6 +151,8 @@ public slots:
|
|||
void removeCache();
|
||||
void onlineStateChanged(bool isOnline);
|
||||
void cacheCleaningFinished();
|
||||
void cacheRemoverFinished();
|
||||
void cacheRemoverProgressChanged(int current, int total);
|
||||
|
||||
private:
|
||||
static const int entriesLimit = 200;
|
||||
|
|
@ -125,6 +166,8 @@ private:
|
|||
QMap<QNetworkReply*,Checker*> replyToCheckerMap;
|
||||
QNetworkConfigurationManager ncm;
|
||||
CacheCleaner cleaner;
|
||||
CacheRemover remover;
|
||||
DownloadAdder adder;
|
||||
|
||||
void doDownload(DatabaseManager::CacheItem item);
|
||||
bool saveToDisk(const QString &filename, const QByteArray &content);
|
||||
|
|
|
|||
10
src/main.cpp
10
src/main.cpp
|
|
@ -63,6 +63,8 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
|
|||
view.rootContext()->setContextProperty("AUTHOR", AUTHOR);
|
||||
view.rootContext()->setContextProperty("PAGE", PAGE);
|
||||
|
||||
qRegisterMetaType<DatabaseManager::CacheItem>("CacheItem");
|
||||
|
||||
QTranslator *appTranslator = new QTranslator;
|
||||
appTranslator->load(":/i18n/kaktus_" + QLocale::system().name() + ".qm");
|
||||
app->installTranslator(appTranslator);
|
||||
|
|
@ -107,6 +109,8 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
|
|||
view->rootContext()->setContextProperty("AUTHOR", AUTHOR);
|
||||
view->rootContext()->setContextProperty("PAGE", PAGE);
|
||||
|
||||
qRegisterMetaType<DatabaseManager::CacheItem>("CacheItem");
|
||||
|
||||
QTranslator *appTranslator = new QTranslator;
|
||||
appTranslator->load(":/i18n/kaktus_" + QLocale::system().name() + ".qm");
|
||||
app->installTranslator(appTranslator);
|
||||
|
|
@ -114,12 +118,14 @@ Q_DECL_EXPORT int main(int argc, char *argv[])
|
|||
Settings* settings = Settings::instance();
|
||||
settings->view = view.data();
|
||||
DatabaseManager db; settings->db = &db;
|
||||
DownloadManager dm; settings->dm = &dm;
|
||||
DownloadManager dm;
|
||||
settings->dm = &dm;
|
||||
|
||||
CacheServer cache(&db); settings->cache = &cache;
|
||||
NetvibesFetcher fetcher; settings->fetcher = &fetcher;
|
||||
Utils utils;
|
||||
|
||||
QObject::connect(&fetcher, SIGNAL(ready()), &utils, SLOT(updateModels()));
|
||||
//QObject::connect(&fetcher, SIGNAL(ready()), &utils, SLOT(updateModels()));
|
||||
QObject::connect(view->engine(), SIGNAL(quit()), QCoreApplication::instance(), SLOT(quit()));
|
||||
|
||||
view->rootContext()->setContextProperty("db", &db);
|
||||
|
|
|
|||
|
|
@ -39,14 +39,18 @@
|
|||
#include "netvibesfetcher.h"
|
||||
|
||||
NetvibesFetcher::NetvibesFetcher(QObject *parent) :
|
||||
QObject(parent)
|
||||
QThread(parent)
|
||||
{
|
||||
_currentReply = NULL;
|
||||
_busy = false;
|
||||
_busyType = Unknown;
|
||||
|
||||
Settings *s = Settings::instance();
|
||||
|
||||
connect(&_manager, SIGNAL(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility)),
|
||||
this, SLOT(networkAccessibleChanged(QNetworkAccessManager::NetworkAccessibility)));
|
||||
|
||||
connect(this, SIGNAL(addDownload(DatabaseManager::CacheItem)), s->dm, SLOT(addDownload(DatabaseManager::CacheItem)));
|
||||
}
|
||||
|
||||
bool NetvibesFetcher::delayedUpdate(bool state)
|
||||
|
|
@ -663,9 +667,10 @@ bool NetvibesFetcher::parse()
|
|||
return true;
|
||||
}
|
||||
|
||||
void NetvibesFetcher::storeTabs(const QString &dashboardId)
|
||||
void NetvibesFetcher::storeTabs()
|
||||
{
|
||||
Settings *s = Settings::instance();
|
||||
QString dashboardId = _dashboardList.takeFirst();
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
|
||||
if (_jsonObj["userData"].toObject()["tabs"].isArray()) {
|
||||
|
|
@ -695,7 +700,8 @@ void NetvibesFetcher::storeTabs(const QString &dashboardId)
|
|||
DatabaseManager::CacheItem item;
|
||||
item.origUrl = t.icon;
|
||||
item.finalUrl = t.icon;
|
||||
s->dm->addDownload(item);
|
||||
emit addDownload(item);
|
||||
//s->dm->addDownload(item);
|
||||
//qDebug() << "icon:" << t.icon;
|
||||
}
|
||||
|
||||
|
|
@ -806,10 +812,10 @@ void NetvibesFetcher::storeFeeds()
|
|||
DatabaseManager::CacheItem item;
|
||||
item.origUrl = f.icon;
|
||||
item.finalUrl = f.icon;
|
||||
s->dm->addDownload(item);
|
||||
//s->dm->addDownload(item);
|
||||
emit addDownload(item);
|
||||
//qDebug() << "favicon:" << f.icon;
|
||||
}
|
||||
|
||||
s->db->writeFeed(it.value(), f);
|
||||
|
||||
} else {
|
||||
|
|
@ -885,7 +891,8 @@ void NetvibesFetcher::storeEntries()
|
|||
DatabaseManager::CacheItem item;
|
||||
item.origUrl = image;
|
||||
item.finalUrl = image;
|
||||
s->dm->addDownload(item);
|
||||
//s->dm->addDownload(item);
|
||||
emit addDownload(item);
|
||||
}
|
||||
} else {
|
||||
// Checking if content contains image
|
||||
|
|
@ -897,7 +904,8 @@ void NetvibesFetcher::storeEntries()
|
|||
DatabaseManager::CacheItem item;
|
||||
item.origUrl = imgSrc;
|
||||
item.finalUrl = imgSrc;
|
||||
s->dm->addDownload(item);
|
||||
//s->dm->addDownload(item);
|
||||
emit addDownload(item);
|
||||
}
|
||||
e.image = imgSrc;
|
||||
//qDebug() << "cap:" << imgSrc;
|
||||
|
|
@ -1137,8 +1145,6 @@ void NetvibesFetcher::finishedDashboards()
|
|||
{
|
||||
//qDebug() << this->_data;
|
||||
|
||||
Settings *s = Settings::instance();
|
||||
|
||||
if(!parse()) {
|
||||
qWarning() << "Error parsing Json!";
|
||||
emit error(600);
|
||||
|
|
@ -1146,7 +1152,12 @@ void NetvibesFetcher::finishedDashboards()
|
|||
return;
|
||||
}
|
||||
|
||||
storeDashboards();
|
||||
startJob(StoreDashboards);
|
||||
}
|
||||
|
||||
void NetvibesFetcher::finishedDashboards2()
|
||||
{
|
||||
Settings *s = Settings::instance();
|
||||
|
||||
if(!_dashboardList.isEmpty()) {
|
||||
s->db->cleanTabs();
|
||||
|
|
@ -1168,10 +1179,6 @@ void NetvibesFetcher::finishedTabs()
|
|||
{
|
||||
//qDebug() << this->_data;
|
||||
|
||||
Settings *s = Settings::instance();
|
||||
int feedsAtOnce = s->getFeedsAtOnce();
|
||||
int feedsUpdateAtOnce = s->getFeedsUpdateAtOnce();
|
||||
|
||||
if(!parse()) {
|
||||
qWarning() << "Error parsing Json!";
|
||||
emit error(600);
|
||||
|
|
@ -1179,9 +1186,17 @@ void NetvibesFetcher::finishedTabs()
|
|||
return;
|
||||
}
|
||||
|
||||
QString dashboardId = _dashboardList.takeFirst();
|
||||
//QString dashboardId = _dashboardList.takeFirst();
|
||||
//storeTabs(dashboardId);
|
||||
|
||||
storeTabs(dashboardId);
|
||||
startJob(StoreTabs);
|
||||
}
|
||||
|
||||
void NetvibesFetcher::finishedTabs2()
|
||||
{
|
||||
Settings *s = Settings::instance();
|
||||
int feedsAtOnce = s->getFeedsAtOnce();
|
||||
int feedsUpdateAtOnce = s->getFeedsUpdateAtOnce();
|
||||
|
||||
// Set current entries as not fresh
|
||||
s->db->updateAllEntriesFreshFlag(0);
|
||||
|
|
@ -1275,10 +1290,6 @@ void NetvibesFetcher::finishedFeeds()
|
|||
{
|
||||
//qDebug() << this->_data;
|
||||
|
||||
Settings *s = Settings::instance();
|
||||
int feedsAtOnce = s->getFeedsAtOnce();
|
||||
int feedsUpdateAtOnce = s->getFeedsUpdateAtOnce();
|
||||
|
||||
if(!parse()) {
|
||||
qWarning() << "Error parsing Json!";
|
||||
emit error(600);
|
||||
|
|
@ -1286,8 +1297,14 @@ void NetvibesFetcher::finishedFeeds()
|
|||
return;
|
||||
}
|
||||
|
||||
storeFeeds();
|
||||
storeEntries();
|
||||
startJob(StoreFeeds);
|
||||
}
|
||||
|
||||
void NetvibesFetcher::finishedFeeds2()
|
||||
{
|
||||
Settings *s = Settings::instance();
|
||||
int feedsAtOnce = s->getFeedsAtOnce();
|
||||
int feedsUpdateAtOnce = s->getFeedsUpdateAtOnce();
|
||||
|
||||
emit progress(_total-((_feedList.count()/feedsAtOnce)+(_feedUpdateList.count()/feedsUpdateAtOnce)),_total);
|
||||
|
||||
|
|
@ -1308,6 +1325,44 @@ void NetvibesFetcher::finishedFeeds()
|
|||
}
|
||||
}
|
||||
|
||||
/*void NetvibesFetcher::finishedFeeds()
|
||||
{
|
||||
//qDebug() << this->_data;
|
||||
|
||||
Settings *s = Settings::instance();
|
||||
int feedsAtOnce = s->getFeedsAtOnce();
|
||||
int feedsUpdateAtOnce = s->getFeedsUpdateAtOnce();
|
||||
|
||||
if(!parse()) {
|
||||
qWarning() << "Error parsing Json!";
|
||||
emit error(600);
|
||||
setBusy(false);
|
||||
return;
|
||||
}
|
||||
|
||||
storeFeeds();
|
||||
//storeEntries();
|
||||
entriesStorer.start(QThread::IdlePriority);
|
||||
|
||||
emit progress(_total-((_feedList.count()/feedsAtOnce)+(_feedUpdateList.count()/feedsUpdateAtOnce)),_total);
|
||||
|
||||
if (_feedList.isEmpty()) {
|
||||
|
||||
if(_busyType == Updating) {
|
||||
_feedUpdateList = s->db->readFeedsFirstUpdate();
|
||||
fetchFeedsUpdate();
|
||||
}
|
||||
|
||||
if(_busyType == Initiating) {
|
||||
offset = 0;
|
||||
fetchFeedsReadlater();
|
||||
}
|
||||
|
||||
} else {
|
||||
fetchFeeds();
|
||||
}
|
||||
}*/
|
||||
|
||||
void NetvibesFetcher::finishedFeedsReadlater()
|
||||
{
|
||||
//qDebug() << this->_data;
|
||||
|
|
@ -1321,7 +1376,13 @@ void NetvibesFetcher::finishedFeedsReadlater()
|
|||
|
||||
++offset;
|
||||
|
||||
if (storeEntriesMerged())
|
||||
moreReadlaterEntries = false;
|
||||
startJob(StoreFeedsReadlater);
|
||||
}
|
||||
|
||||
void NetvibesFetcher::finishedFeedsReadlater2()
|
||||
{
|
||||
if (moreReadlaterEntries)
|
||||
fetchFeedsReadlater();
|
||||
else
|
||||
taskEnd();
|
||||
|
|
@ -1342,6 +1403,10 @@ void NetvibesFetcher::finishedFeedsInfo()
|
|||
setBusy(false);
|
||||
}
|
||||
|
||||
void NetvibesFetcher::finishedFeedsInfo2()
|
||||
{
|
||||
}
|
||||
|
||||
void NetvibesFetcher::finishedSet()
|
||||
{
|
||||
//qDebug() << this->_data;
|
||||
|
|
@ -1382,9 +1447,6 @@ void NetvibesFetcher::finishedFeedsUpdate()
|
|||
{
|
||||
//qDebug() << this->_data;
|
||||
|
||||
Settings *s = Settings::instance();
|
||||
int feedsUpdateAtOnce = s->getFeedsUpdateAtOnce();
|
||||
|
||||
if(!parse()) {
|
||||
qWarning() << "Error parsing Json!";
|
||||
emit error(600);
|
||||
|
|
@ -1392,8 +1454,13 @@ void NetvibesFetcher::finishedFeedsUpdate()
|
|||
return;
|
||||
}
|
||||
|
||||
storeFeeds();
|
||||
storeEntries();
|
||||
startJob(StoreFeedsUpdate);
|
||||
}
|
||||
|
||||
void NetvibesFetcher::finishedFeedsUpdate2()
|
||||
{
|
||||
Settings *s = Settings::instance();
|
||||
int feedsUpdateAtOnce = s->getFeedsUpdateAtOnce();
|
||||
|
||||
emit progress(_total-qCeil(_feedUpdateList.count()/feedsUpdateAtOnce),_total);
|
||||
|
||||
|
|
@ -1464,3 +1531,64 @@ QString NetvibesFetcher::hash(const QString &url)
|
|||
QByteArray data; data.append(url);
|
||||
return QString(QCryptographicHash::hash(data, QCryptographicHash::Md5).toHex());
|
||||
}
|
||||
|
||||
void NetvibesFetcher::run() {
|
||||
|
||||
switch (currentJob) {
|
||||
case StoreFeeds:
|
||||
case StoreFeedsUpdate:
|
||||
storeFeeds();
|
||||
storeEntries();
|
||||
break;
|
||||
case StoreDashboards:
|
||||
storeDashboards();
|
||||
break;
|
||||
case StoreTabs:
|
||||
storeTabs();
|
||||
break;
|
||||
case StoreFeedsInfo:
|
||||
break;
|
||||
case StoreFeedsReadlater:
|
||||
moreReadlaterEntries = storeEntriesMerged();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void NetvibesFetcher::startJob(Job job)
|
||||
{
|
||||
if (isRunning()) {
|
||||
qWarning() << "Job is running";
|
||||
return;
|
||||
}
|
||||
|
||||
disconnect(this, SIGNAL(finished()), 0, 0);
|
||||
currentJob = job;
|
||||
|
||||
switch (job) {
|
||||
case StoreDashboards:
|
||||
connect(this, SIGNAL(finished()), this, SLOT(finishedDashboards2()));
|
||||
break;
|
||||
case StoreTabs:
|
||||
connect(this, SIGNAL(finished()), this, SLOT(finishedTabs2()));
|
||||
break;
|
||||
case StoreFeeds:
|
||||
connect(this, SIGNAL(finished()), this, SLOT(finishedFeeds2()));
|
||||
break;
|
||||
case StoreFeedsInfo:
|
||||
connect(this, SIGNAL(finished()), this, SLOT(finishedFeedsInfo2()));
|
||||
break;
|
||||
case StoreFeedsUpdate:
|
||||
connect(this, SIGNAL(finished()), this, SLOT(finishedFeedsUpdate2()));
|
||||
break;
|
||||
case StoreFeedsReadlater:
|
||||
connect(this, SIGNAL(finished()), this, SLOT(finishedFeedsReadlater2()));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
//start(QThread::IdlePriority);
|
||||
start();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
#include <QMap>
|
||||
#include <QStringList>
|
||||
#include <QNetworkConfigurationManager>
|
||||
#include <QThread>
|
||||
|
||||
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
|
||||
#include <QJsonObject>
|
||||
|
|
@ -38,7 +39,7 @@
|
|||
#include "databasemanager.h"
|
||||
#include "downloadmanager.h"
|
||||
|
||||
class NetvibesFetcher: public QObject
|
||||
class NetvibesFetcher : public QThread
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_ENUMS(BusyType)
|
||||
|
|
@ -66,6 +67,9 @@ public:
|
|||
BusyType readBusyType();
|
||||
bool isBusy();
|
||||
|
||||
protected:
|
||||
void run();
|
||||
|
||||
signals:
|
||||
void quit();
|
||||
void busyChanged();
|
||||
|
|
@ -73,6 +77,7 @@ signals:
|
|||
void networkNotAccessible();
|
||||
void uploading();
|
||||
void checkingCredentials();
|
||||
void addDownload(DatabaseManager::CacheItem item);
|
||||
|
||||
/*
|
||||
200 - Fether is busy
|
||||
|
|
@ -94,21 +99,30 @@ public slots:
|
|||
void finishedSignIn();
|
||||
void finishedSignInOnlyCheck();
|
||||
void finishedDashboards();
|
||||
void finishedDashboards2();
|
||||
void finishedTabs();
|
||||
void finishedTabs2();
|
||||
void finishedFeeds();
|
||||
void finishedFeeds2();
|
||||
void finishedFeedsInfo();
|
||||
void finishedFeedsInfo2();
|
||||
void finishedFeedsUpdate();
|
||||
void finishedFeedsUpdate2();
|
||||
void finishedFeedsReadlater();
|
||||
void finishedFeedsReadlater2();
|
||||
|
||||
void finishedSet();
|
||||
|
||||
void readyRead();
|
||||
void networkError(QNetworkReply::NetworkError);
|
||||
void networkAccessibleChanged (QNetworkAccessManager::NetworkAccessibility accessible);
|
||||
|
||||
bool delayedUpdate(bool state);
|
||||
|
||||
private:
|
||||
|
||||
enum Job { StoreDashboards, StoreTabs, StoreFeeds,
|
||||
StoreFeedsInfo, StoreFeedsUpdate, StoreFeedsReadlater };
|
||||
|
||||
static const int feedsAtOnce = 5;
|
||||
static const int limitFeeds = 50;
|
||||
static const int limitFeedsReadlater = 50;
|
||||
|
|
@ -136,13 +150,17 @@ private:
|
|||
int _total;
|
||||
QByteArray _cookie;
|
||||
QNetworkConfigurationManager ncm;
|
||||
Job currentJob;
|
||||
bool moreReadlaterEntries;
|
||||
|
||||
int offset;
|
||||
|
||||
bool parse();
|
||||
|
||||
QString hash(const QString &url);
|
||||
|
||||
void storeTabs(const QString &dashboardId);
|
||||
//void storeTabs(const QString &dashboardId);
|
||||
void storeTabs();
|
||||
void storeFeeds();
|
||||
void storeDashboards();
|
||||
void storeEntries();
|
||||
|
|
@ -164,6 +182,7 @@ private:
|
|||
void downloadFeeds();
|
||||
|
||||
void setBusy(bool busy, BusyType type = Unknown);
|
||||
void startJob(Job job);
|
||||
};
|
||||
|
||||
#endif // NETVIBESFETCHER_H
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ Utils::Utils(QObject *parent) :
|
|||
* Copyright (c) 2009 John Schember <john@nachtimwald.com>
|
||||
* http://john.nachtimwald.com/2010/06/08/qt-remove-directory-and-its-contents/
|
||||
*/
|
||||
bool Utils::removeDir(const QString &dirName)
|
||||
/*bool Utils::removeDir(const QString &dirName)
|
||||
{
|
||||
bool result = true;
|
||||
QDir dir(dirName);
|
||||
|
|
@ -66,7 +66,7 @@ bool Utils::removeDir(const QString &dirName)
|
|||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}*/
|
||||
|
||||
void Utils::copyToClipboard(const QString &text)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ public:
|
|||
explicit Utils(QObject *parent = 0);
|
||||
~Utils();
|
||||
|
||||
static bool removeDir(const QString &dirName);
|
||||
//static bool removeDir(const QString &dirName);
|
||||
|
||||
Q_INVOKABLE void setEntryModel(const QString &feedId);
|
||||
Q_INVOKABLE void setFeedModel(const QString &tabId);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue