Many small bug fixes

This commit is contained in:
mkiol 2015-05-31 16:17:59 +02:00
parent 2e46bbfe73
commit 658d46c8ad
42 changed files with 3395 additions and 1808 deletions

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -286,42 +286,42 @@ Network connection is unavailable.</source>
<context>
<name>EntryDelegate</name>
<message>
<location filename="../qml/sailfish/EntryDelegate.qml" line="391"/>
<location filename="../qml/sailfish/EntryDelegate.qml" line="394"/>
<source>Unsave</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/EntryDelegate.qml" line="391"/>
<location filename="../qml/sailfish/EntryDelegate.qml" line="394"/>
<source>Save</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/EntryDelegate.qml" line="392"/>
<location filename="../qml/sailfish/EntryDelegate.qml" line="395"/>
<source>Unstar</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/EntryDelegate.qml" line="392"/>
<location filename="../qml/sailfish/EntryDelegate.qml" line="395"/>
<source>Star</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/EntryDelegate.qml" line="404"/>
<location filename="../qml/sailfish/EntryDelegate.qml" line="407"/>
<source>Collapse</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/EntryDelegate.qml" line="404"/>
<location filename="../qml/sailfish/EntryDelegate.qml" line="407"/>
<source>Expand</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/EntryDelegate.qml" line="376"/>
<location filename="../qml/sailfish/EntryDelegate.qml" line="379"/>
<source>Mark as unread</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/EntryDelegate.qml" line="376"/>
<location filename="../qml/sailfish/EntryDelegate.qml" line="379"/>
<source>Mark as read</source>
<translation type="unfinished"></translation>
</message>
@ -329,37 +329,37 @@ Network connection is unavailable.</source>
<context>
<name>EntryModel</name>
<message>
<location filename="../src/entrymodel.cpp" line="194"/>
<location filename="../src/entrymodel.cpp" line="195"/>
<source>Today</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/entrymodel.cpp" line="197"/>
<location filename="../src/entrymodel.cpp" line="198"/>
<source>Yesterday</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/entrymodel.cpp" line="200"/>
<location filename="../src/entrymodel.cpp" line="201"/>
<source>Current week</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/entrymodel.cpp" line="203"/>
<location filename="../src/entrymodel.cpp" line="204"/>
<source>Current month</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/entrymodel.cpp" line="206"/>
<location filename="../src/entrymodel.cpp" line="207"/>
<source>Previous month</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/entrymodel.cpp" line="209"/>
<location filename="../src/entrymodel.cpp" line="210"/>
<source>Current year</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/entrymodel.cpp" line="212"/>
<location filename="../src/entrymodel.cpp" line="213"/>
<source>Previous year &amp; older</source>
<translation type="unfinished"></translation>
</message>
@ -397,7 +397,7 @@ Network connection is unavailable.</source>
<message>
<location filename="../qml/bb10/EntryPage.qml" line="277"/>
<location filename="../qml/harmattan/EntryPage.qml" line="193"/>
<location filename="../qml/sailfish/EntryPage.qml" line="257"/>
<location filename="../qml/sailfish/EntryPage.qml" line="258"/>
<location filename="../qml/symbian/EntryPage.qml" line="192"/>
<source>No unread items</source>
<translation type="unfinished"></translation>
@ -405,7 +405,7 @@ Network connection is unavailable.</source>
<message>
<location filename="../qml/bb10/EntryPage.qml" line="277"/>
<location filename="../qml/harmattan/EntryPage.qml" line="194"/>
<location filename="../qml/sailfish/EntryPage.qml" line="257"/>
<location filename="../qml/sailfish/EntryPage.qml" line="258"/>
<location filename="../qml/symbian/EntryPage.qml" line="193"/>
<source>No items</source>
<translation type="unfinished"></translation>
@ -437,7 +437,7 @@ Network connection is unavailable.</source>
<message>
<location filename="../qml/bb10/EntryPage.qml" line="82"/>
<location filename="../qml/harmattan/EntryPage.qml" line="131"/>
<location filename="../qml/sailfish/EntryPage.qml" line="180"/>
<location filename="../qml/sailfish/EntryPage.qml" line="181"/>
<location filename="../qml/symbian/EntryPage.qml" line="131"/>
<source>Please wait until current task is complete.</source>
<translation type="unfinished"></translation>
@ -445,7 +445,7 @@ Network connection is unavailable.</source>
<message>
<location filename="../qml/bb10/EntryPage.qml" line="88"/>
<location filename="../qml/harmattan/EntryPage.qml" line="137"/>
<location filename="../qml/sailfish/EntryPage.qml" line="186"/>
<location filename="../qml/sailfish/EntryPage.qml" line="187"/>
<location filename="../qml/symbian/EntryPage.qml" line="137"/>
<source>Offline version not available.</source>
<translation type="unfinished"></translation>
@ -453,7 +453,7 @@ Network connection is unavailable.</source>
<message>
<location filename="../qml/bb10/EntryPage.qml" line="96"/>
<location filename="../qml/harmattan/EntryPage.qml" line="145"/>
<location filename="../qml/sailfish/EntryPage.qml" line="194"/>
<location filename="../qml/sailfish/EntryPage.qml" line="195"/>
<location filename="../qml/symbian/EntryPage.qml" line="145"/>
<source>Network connection is unavailable.
Switching to Offline mode.</source>
@ -462,7 +462,7 @@ Switching to Offline mode.</source>
<message>
<location filename="../qml/bb10/EntryPage.qml" line="100"/>
<location filename="../qml/harmattan/EntryPage.qml" line="149"/>
<location filename="../qml/sailfish/EntryPage.qml" line="198"/>
<location filename="../qml/sailfish/EntryPage.qml" line="199"/>
<location filename="../qml/symbian/EntryPage.qml" line="149"/>
<source>Network connection is unavailable.</source>
<translation type="unfinished"></translation>
@ -470,7 +470,7 @@ Switching to Offline mode.</source>
<message>
<location filename="../qml/bb10/EntryPage.qml" line="276"/>
<location filename="../qml/harmattan/EntryPage.qml" line="192"/>
<location filename="../qml/sailfish/EntryPage.qml" line="256"/>
<location filename="../qml/sailfish/EntryPage.qml" line="257"/>
<location filename="../qml/symbian/EntryPage.qml" line="191"/>
<source>No saved items</source>
<translation type="unfinished"></translation>
@ -489,7 +489,7 @@ Switching to Offline mode.</source>
</message>
<message>
<location filename="../qml/bb10/EntryPage.qml" line="275"/>
<location filename="../qml/sailfish/EntryPage.qml" line="255"/>
<location filename="../qml/sailfish/EntryPage.qml" line="256"/>
<source>Wait until Sync finish.</source>
<translation type="unfinished"></translation>
</message>
@ -519,7 +519,7 @@ Switching to Offline mode.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/EntryPage.qml" line="256"/>
<location filename="../qml/sailfish/EntryPage.qml" line="257"/>
<source>No starred items</source>
<translation type="unfinished"></translation>
</message>
@ -541,14 +541,14 @@ Switching to Offline mode.</source>
<name>FeedPage</name>
<message>
<location filename="../qml/harmattan/FeedPage.qml" line="145"/>
<location filename="../qml/sailfish/FeedPage.qml" line="220"/>
<location filename="../qml/sailfish/FeedPage.qml" line="217"/>
<location filename="../qml/symbian/FeedPage.qml" line="143"/>
<source>Mark all as read</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/harmattan/FeedPage.qml" line="153"/>
<location filename="../qml/sailfish/FeedPage.qml" line="228"/>
<location filename="../qml/sailfish/FeedPage.qml" line="225"/>
<location filename="../qml/symbian/FeedPage.qml" line="151"/>
<source>Mark all as unread</source>
<translation type="unfinished"></translation>
@ -556,7 +556,7 @@ Switching to Offline mode.</source>
<message>
<location filename="../qml/bb10/FeedPage.qml" line="141"/>
<location filename="../qml/harmattan/FeedPage.qml" line="114"/>
<location filename="../qml/sailfish/FeedPage.qml" line="241"/>
<location filename="../qml/sailfish/FeedPage.qml" line="238"/>
<location filename="../qml/symbian/FeedPage.qml" line="113"/>
<source>No feeds</source>
<translation type="unfinished"></translation>
@ -581,7 +581,7 @@ Switching to Offline mode.</source>
</message>
<message>
<location filename="../qml/bb10/FeedPage.qml" line="141"/>
<location filename="../qml/sailfish/FeedPage.qml" line="241"/>
<location filename="../qml/sailfish/FeedPage.qml" line="238"/>
<source>Wait until Sync finish.</source>
<translation type="unfinished"></translation>
</message>
@ -1058,14 +1058,6 @@ Network connection is unavailable</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OldReaderFetcher</name>
<message>
<location filename="../src/oldreaderfetcher.cpp" line="835"/>
<source>Subscriptions</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>OldReaderSignInDialog</name>
<message>
@ -1245,7 +1237,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="73"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="77"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="141"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="139"/>
<location filename="../qml/symbian/SettingsPage.qml" line="82"/>
<source>Dashboard in use</source>
<translation type="unfinished"></translation>
@ -1253,67 +1245,61 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="73"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="77"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="141"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="139"/>
<location filename="../qml/symbian/SettingsPage.qml" line="82"/>
<source>Dashboard not selected</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="75"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="155"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="153"/>
<source>Change</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="50"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="66"/>
<source>Netvibes account</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/SettingsPage.qml" line="67"/>
<source>Old Reader account</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/SettingsPage.qml" line="89"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="87"/>
<source>Not signed in </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/SettingsPage.qml" line="93"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="91"/>
<source>Signed in with</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/SettingsPage.qml" line="227"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="225"/>
<source>Never</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/SettingsPage.qml" line="228"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="226"/>
<source>WiFi only</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/SettingsPage.qml" line="229"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="227"/>
<source>Always</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/SettingsPage.qml" line="401"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="399"/>
<source>Read mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/SettingsPage.qml" line="402"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="400"/>
<source>Web pages will be reformatted into an easy to read version.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="299"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="328"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="478"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="476"/>
<location filename="../qml/symbian/SettingsPage.qml" line="345"/>
<source>Web viewer font size</source>
<translation type="unfinished"></translation>
@ -1321,7 +1307,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="304"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="333"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="482"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="480"/>
<location filename="../qml/symbian/SettingsPage.qml" line="350"/>
<source>-50%</source>
<translation type="unfinished"></translation>
@ -1329,7 +1315,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="309"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="334"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="483"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="481"/>
<location filename="../qml/symbian/SettingsPage.qml" line="351"/>
<source>Normal</source>
<translation type="unfinished"></translation>
@ -1337,7 +1323,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="314"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="335"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="484"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="482"/>
<location filename="../qml/symbian/SettingsPage.qml" line="352"/>
<source>+50%</source>
<translation type="unfinished"></translation>
@ -1345,7 +1331,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="96"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="97"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="194"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="192"/>
<location filename="../qml/symbian/SettingsPage.qml" line="102"/>
<source>Delete cache</source>
<translation type="unfinished"></translation>
@ -1353,7 +1339,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="105"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="106"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="205"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="203"/>
<location filename="../qml/symbian/SettingsPage.qml" line="111"/>
<source>Network mode</source>
<translation type="unfinished"></translation>
@ -1361,7 +1347,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="128"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="126"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="236"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="234"/>
<location filename="../qml/symbian/SettingsPage.qml" line="142"/>
<source>After sync the content of all items will be downloaded and cached for access in the Offline mode.</source>
<translation type="unfinished"></translation>
@ -1369,7 +1355,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="149"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="141"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="247"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="245"/>
<location filename="../qml/symbian/SettingsPage.qml" line="157"/>
<source>Language</source>
<translation type="unfinished"></translation>
@ -1377,7 +1363,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="154"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="163"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="280"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="278"/>
<location filename="../qml/symbian/SettingsPage.qml" line="179"/>
<source>Default</source>
<translation type="unfinished"></translation>
@ -1385,7 +1371,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="195"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="204"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="344"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="342"/>
<location filename="../qml/symbian/SettingsPage.qml" line="220"/>
<source>Changes will take effect after you restart Kaktus.</source>
<translation type="unfinished"></translation>
@ -1444,21 +1430,21 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="213"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="262"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="413"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="411"/>
<location filename="../qml/symbian/SettingsPage.qml" line="278"/>
<source>Show images</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/harmattan/SettingsPage.qml" line="345"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="493"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="491"/>
<location filename="../qml/symbian/SettingsPage.qml" line="362"/>
<source>Other</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/harmattan/SettingsPage.qml" line="350"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="497"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="495"/>
<location filename="../qml/symbian/SettingsPage.qml" line="367"/>
<source>Show User Guide</source>
<translation type="unfinished"></translation>
@ -1466,7 +1452,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="111"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="111"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="209"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="207"/>
<location filename="../qml/symbian/SettingsPage.qml" line="116"/>
<source>Online</source>
<translation type="unfinished"></translation>
@ -1474,7 +1460,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="117"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="112"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="210"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="208"/>
<location filename="../qml/symbian/SettingsPage.qml" line="117"/>
<source>Offline</source>
<translation type="unfinished"></translation>
@ -1482,7 +1468,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="127"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="125"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="223"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="221"/>
<location filename="../qml/symbian/SettingsPage.qml" line="141"/>
<source>Cache articles</source>
<translation type="unfinished"></translation>
@ -1490,7 +1476,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="204"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="252"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="391"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="389"/>
<location filename="../qml/symbian/SettingsPage.qml" line="268"/>
<source>Show only unread articles</source>
<translation type="unfinished"></translation>
@ -1518,7 +1504,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="62"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="66"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="110"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="108"/>
<location filename="../qml/symbian/SettingsPage.qml" line="65"/>
<source>Sign out</source>
<translation type="unfinished"></translation>
@ -1526,7 +1512,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="62"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="66"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="110"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="108"/>
<location filename="../qml/symbian/SettingsPage.qml" line="65"/>
<source>Sign in</source>
<translation type="unfinished"></translation>
@ -1539,7 +1525,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="84"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="87"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="165"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="163"/>
<location filename="../qml/symbian/SettingsPage.qml" line="92"/>
<source>Cache</source>
<translation type="unfinished"></translation>
@ -1547,28 +1533,28 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="94"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="91"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="183"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="181"/>
<location filename="../qml/symbian/SettingsPage.qml" line="96"/>
<source>Current cache size</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/harmattan/SettingsPage.qml" line="272"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="423"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="421"/>
<location filename="../qml/symbian/SettingsPage.qml" line="288"/>
<source>Power save mode</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/harmattan/SettingsPage.qml" line="273"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="424"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="422"/>
<location filename="../qml/symbian/SettingsPage.qml" line="289"/>
<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/harmattan/SettingsPage.qml" line="288"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="440"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="438"/>
<location filename="../qml/symbian/SettingsPage.qml" line="304"/>
<source>Dynamic</source>
<translation type="unfinished"></translation>
@ -1576,28 +1562,28 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="138"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="137"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="241"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="239"/>
<location filename="../qml/symbian/SettingsPage.qml" line="153"/>
<source>UI</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/harmattan/SettingsPage.qml" line="283"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="436"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="434"/>
<location filename="../qml/symbian/SettingsPage.qml" line="299"/>
<source>Orientation</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/harmattan/SettingsPage.qml" line="289"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="441"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="439"/>
<location filename="../qml/symbian/SettingsPage.qml" line="305"/>
<source>Portrait</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/harmattan/SettingsPage.qml" line="290"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="442"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="440"/>
<location filename="../qml/symbian/SettingsPage.qml" line="306"/>
<source>Landscape</source>
<translation type="unfinished"></translation>
@ -1605,7 +1591,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="280"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="300"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="450"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="448"/>
<location filename="../qml/symbian/SettingsPage.qml" line="316"/>
<source>Offline viewer style</source>
<translation type="unfinished"></translation>
@ -1613,7 +1599,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="285"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="310"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="460"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="458"/>
<location filename="../qml/symbian/SettingsPage.qml" line="327"/>
<source>Black</source>
<translation type="unfinished"></translation>
@ -1621,7 +1607,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/SettingsPage.qml" line="290"/>
<location filename="../qml/harmattan/SettingsPage.qml" line="311"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="461"/>
<location filename="../qml/sailfish/SettingsPage.qml" line="459"/>
<location filename="../qml/symbian/SettingsPage.qml" line="328"/>
<source>White</source>
<translation type="unfinished"></translation>
@ -1734,7 +1720,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/TabPage.qml" line="147"/>
<location filename="../qml/harmattan/TabPage.qml" line="157"/>
<location filename="../qml/sailfish/TabPage.qml" line="246"/>
<location filename="../qml/sailfish/TabPage.qml" line="244"/>
<location filename="../qml/symbian/TabPage.qml" line="154"/>
<source>Wait until Sync finish.</source>
<translation type="unfinished"></translation>
@ -1747,14 +1733,14 @@ Network connection is unavailable</source>
</message>
<message>
<location filename="../qml/harmattan/TabPage.qml" line="138"/>
<location filename="../qml/sailfish/TabPage.qml" line="224"/>
<location filename="../qml/sailfish/TabPage.qml" line="222"/>
<location filename="../qml/symbian/TabPage.qml" line="135"/>
<source>Mark all as read</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/harmattan/TabPage.qml" line="145"/>
<location filename="../qml/sailfish/TabPage.qml" line="232"/>
<location filename="../qml/sailfish/TabPage.qml" line="230"/>
<location filename="../qml/symbian/TabPage.qml" line="142"/>
<source>Mark all as unread</source>
<translation type="unfinished"></translation>
@ -1762,7 +1748,7 @@ Network connection is unavailable</source>
<message>
<location filename="../qml/bb10/TabPage.qml" line="147"/>
<location filename="../qml/harmattan/TabPage.qml" line="156"/>
<location filename="../qml/sailfish/TabPage.qml" line="247"/>
<location filename="../qml/sailfish/TabPage.qml" line="245"/>
<location filename="../qml/symbian/TabPage.qml" line="153"/>
<source>No tabs</source>
<translation type="unfinished"></translation>
@ -1773,7 +1759,14 @@ Network connection is unavailable</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/TabPage.qml" line="247"/>
<location filename="../qml/sailfish/TabPage.qml" line="131"/>
<location filename="../qml/sailfish/TabPage.qml" line="208"/>
<location filename="../qml/sailfish/TabPage.qml" line="212"/>
<source>Subscriptions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/TabPage.qml" line="245"/>
<source>No folders</source>
<translation type="unfinished"></translation>
</message>
@ -2109,7 +2102,7 @@ Network connection is unavailable.</source>
</message>
<message>
<location filename="../qml/harmattan/main.qml" line="149"/>
<location filename="../qml/sailfish/main.qml" line="226"/>
<location filename="../qml/sailfish/main.qml" line="230"/>
<location filename="../qml/symbian/main.qml" line="146"/>
<source>Sync failed!
Network connection is unavailable.</source>
@ -2118,8 +2111,8 @@ Network connection is unavailable.</source>
<message>
<location filename="../qml/harmattan/main.qml" line="160"/>
<location filename="../qml/harmattan/main.qml" line="170"/>
<location filename="../qml/sailfish/main.qml" line="237"/>
<location filename="../qml/sailfish/main.qml" line="259"/>
<location filename="../qml/sailfish/main.qml" line="241"/>
<location filename="../qml/sailfish/main.qml" line="263"/>
<location filename="../qml/symbian/main.qml" line="157"/>
<location filename="../qml/symbian/main.qml" line="167"/>
<source>The user name or password is incorrect!</source>
@ -2127,43 +2120,43 @@ Network connection is unavailable.</source>
</message>
<message>
<location filename="../qml/harmattan/main.qml" line="174"/>
<location filename="../qml/sailfish/main.qml" line="263"/>
<location filename="../qml/sailfish/main.qml" line="267"/>
<location filename="../qml/symbian/main.qml" line="171"/>
<source>You are signed in!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/harmattan/main.qml" line="178"/>
<location filename="../qml/sailfish/main.qml" line="267"/>
<location filename="../qml/sailfish/main.qml" line="271"/>
<location filename="../qml/symbian/main.qml" line="175"/>
<source>Receiving data... </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/harmattan/main.qml" line="183"/>
<location filename="../qml/sailfish/main.qml" line="272"/>
<location filename="../qml/sailfish/main.qml" line="276"/>
<location filename="../qml/symbian/main.qml" line="180"/>
<source>Sending data...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/harmattan/main.qml" line="189"/>
<location filename="../qml/sailfish/main.qml" line="282"/>
<location filename="../qml/sailfish/main.qml" line="286"/>
<location filename="../qml/symbian/main.qml" line="186"/>
<source>Initiating...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/harmattan/main.qml" line="193"/>
<location filename="../qml/sailfish/main.qml" line="286"/>
<location filename="../qml/sailfish/main.qml" line="290"/>
<location filename="../qml/symbian/main.qml" line="190"/>
<source>Updating...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/harmattan/main.qml" line="197"/>
<location filename="../qml/sailfish/main.qml" line="290"/>
<location filename="../qml/sailfish/main.qml" line="294"/>
<location filename="../qml/sailfish/main.qml" line="298"/>
<location filename="../qml/symbian/main.qml" line="194"/>
<source>Signing in...</source>
<translation type="unfinished"></translation>
@ -2172,9 +2165,9 @@ Network connection is unavailable.</source>
<location filename="../qml/harmattan/main.qml" line="201"/>
<location filename="../qml/harmattan/main.qml" line="205"/>
<location filename="../qml/harmattan/main.qml" line="209"/>
<location filename="../qml/sailfish/main.qml" line="298"/>
<location filename="../qml/sailfish/main.qml" line="302"/>
<location filename="../qml/sailfish/main.qml" line="306"/>
<location filename="../qml/sailfish/main.qml" line="310"/>
<location filename="../qml/symbian/main.qml" line="198"/>
<location filename="../qml/symbian/main.qml" line="202"/>
<location filename="../qml/symbian/main.qml" line="206"/>
@ -2190,18 +2183,18 @@ Restart the app to rebuild cache data.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main.qml" line="222"/>
<location filename="../qml/sailfish/main.qml" line="226"/>
<source>Something goes wrong. Unable to sign in! :-(</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main.qml" line="254"/>
<location filename="../qml/sailfish/main.qml" line="258"/>
<source>Something went wrong :-(
An unknown error occurred.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main.qml" line="467"/>
<location filename="../qml/sailfish/main.qml" line="471"/>
<source>Removing cache data...</source>
<translation type="unfinished"></translation>
</message>
@ -2217,102 +2210,6 @@ Network connection is unavailable.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>main_test</name>
<message>
<location filename="../qml/sailfish/main_test.qml" line="50"/>
<source>Feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main_test.qml" line="106"/>
<source>Something went wrong :-(
Restart the app to rebuild cache data.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main_test.qml" line="131"/>
<source>%1 more items left...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main_test.qml" line="133"/>
<source>All done!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main_test.qml" line="138"/>
<source>Download failed!
Network connection is unavailable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main_test.qml" line="174"/>
<source>Something goes wrong. Unable to sign in! :-(</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main_test.qml" line="178"/>
<source>Sync failed!
Network connection is unavailable.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main_test.qml" line="189"/>
<location filename="../qml/sailfish/main_test.qml" line="199"/>
<source>The user name or password is incorrect!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main_test.qml" line="194"/>
<source>Something went wrong :-(
An unknown error occurred.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main_test.qml" line="203"/>
<source>You are signed in!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main_test.qml" line="207"/>
<source>Receiving data... </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main_test.qml" line="212"/>
<source>Sending data...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main_test.qml" line="218"/>
<source>Initiating...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main_test.qml" line="222"/>
<source>Updating...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main_test.qml" line="226"/>
<location filename="../qml/sailfish/main_test.qml" line="230"/>
<source>Signing in...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main_test.qml" line="234"/>
<location filename="../qml/sailfish/main_test.qml" line="238"/>
<location filename="../qml/sailfish/main_test.qml" line="242"/>
<source>Waiting for network...</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/sailfish/main_test.qml" line="292"/>
<source>Removing cache data...</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>test</name>
<message>

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

File diff suppressed because it is too large Load diff

View file

@ -34,8 +34,8 @@ Page {
function accept() {
var doInit = settings.getSigninType!=type;
settings.setSigninType(type);
var doInit = settings.signinType != type;
settings.signinType = type;
if (code == 0) {
fetcher.checkCredentials();

View file

@ -31,6 +31,7 @@ ListItem {
property string content
property string image
property string feedIcon
property string feedTitle
property int maxWords: 20
property int maxChars: 200
property bool cached: false
@ -43,6 +44,7 @@ ListItem {
property bool showMarkedAsRead: true
property bool hidden: read>0 && readlater==0
property bool showIcon: settings.viewMode==1 || settings.viewMode==3 || settings.viewMode==4 || settings.viewMode==5 ? true : false
signal markedAsRead
signal markedAsUnread
@ -173,15 +175,17 @@ ListItem {
anchors.left: parent.left; anchors.right: parent.right;
//anchors.leftMargin: Theme.paddingLarge
anchors.rightMargin: star.width
height: Math.max(titleLabel.height, icon.height+Theme.paddingSmall)
height: Math.max(titleLabel.height, icon.height+Theme.paddingSmall, iconPlaceholder.height+Theme.paddingSmall)
//color: "red"
// Title
Label {
id: titleLabel
anchors.right: parent.right; anchors.left: icon.visible ? icon.right : parent.left;
anchors.leftMargin: icon.visible ? Theme.paddingMedium : Theme.paddingLarge
//anchors.right: parent.right; anchors.left: icon.visible ? icon.right : parent.left;
anchors.right: parent.right; anchors.left: icon.visible ? icon.right : iconPlaceholder.visible ? iconPlaceholder.right : parent.left
//anchors.leftMargin: icon.visible ? Theme.paddingMedium : Theme.paddingLarge
anchors.leftMargin: showIcon ? Theme.paddingMedium : Theme.paddingLarge
font.pixelSize: Theme.fontSizeMedium
font.family: Theme.fontFamilyHeading
font.bold: !root.read || root.readlater
@ -204,31 +208,30 @@ ListItem {
// Feed Icon
/*Rectangle {
Rectangle {
id: iconPlaceholder
width: visible ? 1.2*Theme.iconSizeSmall : 0
height: width
anchors.left: parent.left;
anchors.top: titleLabel.top; anchors.topMargin: Theme.paddingSmall
y: Theme.paddingMedium
visible: !icon.visible
color: {
var r=1; var g=1; var b=1;
if (title.length>0)
r = (Math.abs(title.charCodeAt(0)-65)/57)%1;
if (title.length>1)
g = (Math.abs(title.charCodeAt(1)-65)/57)%1;
if (title.length>2)
b = (Math.abs(title.charCodeAt(2)-65)/57)%1;
return Qt.rgba(r,g,b,0.9);
}
visible: !icon.visible && root.showIcon
Label {
id: iconPlaceholderLabel
anchors.centerIn: parent
text: title.substring(0,1).toUpperCase()
color: Theme.highlightDimmerColor
text: feedTitle.substring(0,1).toUpperCase()
}
}*/
Component.onCompleted: {
//console.log("showIcon", showIcon, "icon.visible", icon.visible);
var r = feedTitle.length>0 ? (Math.abs(feedTitle.charCodeAt(0)-65)/57)%1 : 1;
var g = feedTitle.length>1 ? (Math.abs(feedTitle.charCodeAt(1)-65)/57)%1 : 1;
var b = feedTitle.length>2 ? (Math.abs(feedTitle.charCodeAt(2)-65)/57)%1 : 1;
iconPlaceholder.color = Qt.rgba(r,g,b,0.9);
iconPlaceholderLabel.color = (r+g+b)>1.5 ? Theme.highlightDimmerColor : Theme.primaryColor;
}
}
Rectangle {
anchors.fill: icon
@ -244,7 +247,7 @@ ListItem {
height: width
anchors.left: parent.left;
anchors.top: titleLabel.top; anchors.topMargin: Theme.paddingSmall
visible: status!=Image.Error && status!=Image.Null
visible: status!=Image.Error && status!=Image.Null && root.showIcon
}
Connections {
@ -388,7 +391,7 @@ ListItem {
}
MenuItem {
text: settings.getSigninType()<10 ? readlater ? qsTr("Unsave") : qsTr("Save") :
text: settings.signinType<10 ? readlater ? qsTr("Unsave") : qsTr("Save") :
readlater ? qsTr("Unstar") : qsTr("Star")
onClicked: {
if (readlater) {

View file

@ -71,7 +71,7 @@ Page {
}
if (settings.viewMode==4) {
remorse.execute(
settings.getSigninType()<10 ? qsTr("Marking all saved articles as read") :
settings.signinType<10 ? qsTr("Marking all saved articles as read") :
qsTr("Marking all starred articles as read")
, function(){entryModel.setAllAsRead()});
return;
@ -123,7 +123,8 @@ Page {
content: model.content
date: model.date
read: model.read
feedIcon: settings.viewMode==1 || settings.viewMode==3 || settings.viewMode==4 || settings.viewMode==5 ? model.feedIcon : ""
feedIcon: model.feedIcon
feedTitle: model.feedTitle
author: model.author
image: model.image
readlater: model.readlater
@ -136,7 +137,7 @@ Page {
objectName: "EntryDelegate"
Component.onCompleted: {
//console.log(image);
//console.log("feedTitle:",feedTitle);
// Dynamic creation of new items if last item is compleated
if (index==entryModel.count()-1) {
//console.log(index);
@ -253,7 +254,7 @@ Page {
id: placeholder
enabled: listView.count == 0
text: fetcher.busy ? qsTr("Wait until Sync finish.") :
settings.viewMode==4 ? settings.getSigninType()<10 ? qsTr("No saved items") : qsTr("No starred items") :
settings.viewMode==4 ? settings.signinType<10 ? qsTr("No saved items") : qsTr("No starred items") :
settings.showOnlyUnread ? qsTr("No unread items") : qsTr("No items")
}

View file

@ -152,21 +152,19 @@ Page {
anchors.left: parent.left
y: Theme.paddingMedium
visible: !image.visible && !listItem.last
color: {
var r=1; var g=1; var b=1;
if (title.length>0)
r = (Math.abs(title.charCodeAt(0)-65)/57)%1;
if (title.length>1)
g = (Math.abs(title.charCodeAt(1)-65)/57)%1;
if (title.length>2)
b = (Math.abs(title.charCodeAt(2)-65)/57)%1;
return Qt.rgba(r,g,b,0.9);
}
Label {
id: imagePlaceholderLabel
anchors.centerIn: parent
text: title.substring(0,1).toUpperCase()
color: Theme.highlightDimmerColor
}
Component.onCompleted: {
var r = title.length>0 ? (Math.abs(title.charCodeAt(0)-65)/57)%1 : 1;
var g = title.length>1 ? (Math.abs(title.charCodeAt(1)-65)/57)%1 : 1;
var b = title.length>2 ? (Math.abs(title.charCodeAt(2)-65)/57)%1 : 1;
imagePlaceholder.color = Qt.rgba(r,g,b,0.9);
imagePlaceholderLabel.color = (r+g+b)>1.5 ? Theme.highlightDimmerColor : Theme.primaryColor;
}
}
@ -184,7 +182,6 @@ Page {
height: width
anchors.left: parent.left; //anchors.leftMargin: Theme.paddingLarge
visible: status!=Image.Error && status!=Image.Null && !listItem.last
//visible: false
y: Theme.paddingMedium
}
@ -226,7 +223,7 @@ Page {
}
MenuItem {
text: qsTr("Mark all as unread")
enabled: model.read!=0 && settings.getSigninType()<10
enabled: model.read!=0 && settings.signinType<10
visible: enabled
onClicked: {
feedModel.markAsUnread(model.index);

View file

@ -202,7 +202,7 @@ Rectangle {
horizontalAlignment: Text.AlignHCenter
//textFormat: Text.StyledText
text: settings.getSigninType()<10 ? qsTr("Mode #1\n\nLists all your tabs. Feeds are grouped by the tabs they belong to and articles are grouped in the feeds.") :
text: settings.signinType<10 ? qsTr("Mode #1\n\nLists all your tabs. Feeds are grouped by the tabs they belong to and articles are grouped in the feeds.") :
qsTr("Mode #1\n\nLists all your folders. Feeds are grouped by the folders they belong to and articles are grouped in the feeds.")
}
}
@ -225,7 +225,7 @@ Rectangle {
wrapMode: Text.WordWrap
horizontalAlignment: Text.AlignHCenter
//textFormat: Text.StyledText
text: settings.getSigninType()<10 ? qsTr("Mode #2\n\nLists all your tabs. Articles are grouped by the tabs they belong to.") :
text: settings.signinType<10 ? qsTr("Mode #2\n\nLists all your tabs. Articles are grouped by the tabs they belong to.") :
qsTr("Mode #2\n\nLists all your folders. Articles are grouped by the folders they belong to.");
}
}
@ -272,7 +272,7 @@ Rectangle {
horizontalAlignment: Text.AlignHCenter
//textFormat: Text.StyledText
text: settings.getSigninType()<10 ? qsTr("Mode #4\n\nLists all articles you have saved.") :
text: settings.signinType<10 ? qsTr("Mode #4\n\nLists all articles you have saved.") :
qsTr("Mode #4\n\nLists all articles you have starred.")
}
}

View file

@ -224,8 +224,8 @@ Dialog {
settings.setUsername(user.text);
settings.setPassword(password.text);
m.doInit = settings.getSigninType() != 0;
settings.setSigninType(0);
m.doInit = settings.signinType != 0;
settings.signinType = 0;
if (code == 0) {
fetcher.checkCredentials();

View file

@ -167,8 +167,8 @@ Dialog {
settings.setUsername(user.text);
settings.setPassword(password.text);
m.doInit = settings.getSigninType() != 10;
settings.setSigninType(10);
m.doInit = settings.signinType != 10;
settings.signinType = 10;
if (code == 0) {
fetcher.checkCredentials();

View file

@ -70,7 +70,7 @@ Dialog {
if (type==2) {
return settings.viewMode == 3 ? qsTr("Mark all your articles as read?") :
settings.viewMode == 4 ?
settings.getSigninType()<10 ? qsTr("Mark all saved articles as read?") : qsTr("Mark all starred articles as read?") :
settings.signinType<10 ? qsTr("Mark all saved articles as read?") : qsTr("Mark all starred articles as read?") :
qsTr("Mark articles as read?");
}
}

View file

@ -56,15 +56,13 @@ Page {
Image {
id: icon
anchors { right: label.left; rightMargin: Theme.paddingMedium }
source: settings.getSigninType()<10 ? "nv.png" : "oldreader.png"
source: settings.signinType<10 ? "nv.png" : "oldreader.png"
}
Label {
id: label
anchors { right: parent.right; rightMargin: Theme.paddingLarge}
text: settings.getSigninType()<10 ?
qsTr("Netvibes account"):
qsTr("Old Reader account")
text: settings.signinType<10 ? "Netvibes": "Old Reader"
wrapMode: Text.WordWrap
horizontalAlignment: Text.AlignRight
color: Theme.highlightColor
@ -97,10 +95,10 @@ Page {
color: Theme.highlightColor
visible: settings.signedIn
text: settings.signedIn ?
settings.getSigninType()==0 ? settings.getUsername() :
settings.getSigninType()==1 ? "Twitter" :
settings.getSigninType()==2 ? "Facebook" :
settings.getSigninType()==10 ? settings.getUsername() :
settings.signinType==0 ? settings.getUsername() :
settings.signinType==1 ? "Twitter" :
settings.signinType==2 ? "Facebook" :
settings.signinType==10 ? settings.getUsername() :
"" : ""
}
}
@ -125,8 +123,8 @@ Page {
ListItem {
id: defaultdashboard
contentHeight: visible ? flow2.height + 2*Theme.paddingLarge : 0
enabled: settings.signedIn && utils.defaultDashboardName()!=="" && settings.getSigninType()<10
visible: settings.getSigninType()<10
enabled: settings.signedIn && utils.defaultDashboardName()!=="" && settings.signinType<10
visible: settings.signinType<10
Flow {
id: flow2
@ -501,16 +499,6 @@ Page {
}
}
/*TextSwitch {
text: qsTr("Show guide on startup")
onCheckedChanged: {
settings.helpDone = !checked;
}
Component.onCompleted: {
checked = !settings.helpDone;
}
}*/
Item {
height: Theme.paddingMedium
width: height

View file

@ -59,7 +59,7 @@ Dialog {
wrapMode: Text.WordWrap
font.pixelSize: Theme.fontSizeLarge
color: Theme.primaryColor
text: settings.getSigninType() < 10 ?
text: settings.signinType < 10 ?
qsTr("Disconnect Kaktus from your Netvibes account?") :
qsTr("Disconnect Kaktus from your Old Reader account?")
}

View file

@ -78,7 +78,7 @@ Page {
}
header: PageHeader {
title: settings.getSigninType()<10 ? qsTr("Tabs") : qsTr("Folders")
title: settings.signinType<10 ? qsTr("Tabs") : qsTr("Folders")
}
delegate: Item {
@ -128,7 +128,7 @@ Page {
color: listItem.down ?
(model.unread ? Theme.highlightColor : Theme.secondaryHighlightColor) :
(model.unread ? Theme.primaryColor : Theme.secondaryColor)
text: title
text: model.uid=="subscriptions" ? qsTr("Subscriptions") : model.title
}
}
@ -157,21 +157,19 @@ Page {
anchors.left: parent.left
y: Theme.paddingMedium
visible: !image.visible && !listItem.last
color: {
var r=1; var g=1; var b=1;
if (title.length>0)
r = (Math.abs(title.charCodeAt(0)-65)/57)%1;
if (title.length>1)
g = (Math.abs(title.charCodeAt(1)-65)/57)%1;
if (title.length>2)
b = (Math.abs(title.charCodeAt(2)-65)/57)%1;
return Qt.rgba(r,g,b,0.9);
}
Label {
id: imagePlaceholderLabel
anchors.centerIn: parent
text: title.substring(0,1).toUpperCase()
color: Theme.highlightDimmerColor
}
Component.onCompleted: {
var r = title.length>0 ? (Math.abs(title.charCodeAt(0)-65)/57)%1 : 1;
var g = title.length>1 ? (Math.abs(title.charCodeAt(1)-65)/57)%1 : 1;
var b = title.length>2 ? (Math.abs(title.charCodeAt(2)-65)/57)%1 : 1;
imagePlaceholder.color = Qt.rgba(r,g,b,0.9);
imagePlaceholderLabel.color = (r+g+b)>1.5 ? Theme.highlightDimmerColor : Theme.primaryColor;
}
}
@ -207,11 +205,11 @@ Page {
if (!listItem.last) {
if (settings.viewMode == 0) {
utils.setFeedModel(uid);
pageStack.push(Qt.resolvedUrl("FeedPage.qml"),{"title": title, "index": model.index});
pageStack.push(Qt.resolvedUrl("FeedPage.qml"),{"title": model.uid=="subscriptions" ? qsTr("Subscriptions") : title, "index": model.index});
}
if (settings.viewMode == 1) {
utils.setEntryModel(uid);
pageStack.push(Qt.resolvedUrl("EntryPage.qml"),{"title": title, "readlater": false});
pageStack.push(Qt.resolvedUrl("EntryPage.qml"),{"title": model.uid=="subscriptions" ? qsTr("Subscriptions") : title, "readlater": false});
}
}
}
@ -230,7 +228,7 @@ Page {
}
MenuItem {
text: qsTr("Mark all as unread")
enabled: model.read!=0 && settings.getSigninType()<10
enabled: model.read!=0 && settings.signinType<10
visible: enabled
onClicked: {
tabModel.markAsUnread(model.index);
@ -244,7 +242,7 @@ Page {
id: placeholder
enabled: listView.count < 1
text: fetcher.busy ? qsTr("Wait until Sync finish.") :
settings.getSigninType()<10 ? qsTr("No tabs") : qsTr("No folders")
settings.signinType<10 ? qsTr("No tabs") : qsTr("No folders")
}
VerticalScrollDecorator {

View file

@ -70,7 +70,7 @@ Dialog {
if (type==2) {
return settings.viewMode == 3 ? qsTr("Mark all your articles as unread?") :
settings.viewMode == 4 ?
settings.getSigninType()<10 ? qsTr("Mark all saved articles as unread?") : qsTr("Mark all starred articles as unread?") :
settings.signinType<10 ? qsTr("Mark all saved articles as unread?") : qsTr("Mark all starred articles as unread?") :
qsTr("Mark articles as unread?");
}
}

View file

@ -314,6 +314,7 @@ Page {
onClipboardClicked: {
notification.show(qsTr("URL copied to clipboard"));
Clipboard.text = root.onlineUrl;
//pageStack.push(Qt.resolvedUrl("ShareDialog.qml"));
}
}

View file

@ -39,7 +39,7 @@ ApplicationWindow {
// Reconnect fetcher
if (typeof fetcher === 'undefined') {
var type = settings.getSigninType();
var type = settings.signinType;
if (type < 10)
reconnectFetcher(1);
else if (type == 10)
@ -152,6 +152,10 @@ ApplicationWindow {
onRemoverProgressChanged: {
progressPanelRemover.progress = current / total;
}
/*onError: {
console.log("DM error code:", code);
}*/
}
function reconnectFetcher(type) {
@ -239,7 +243,7 @@ ApplicationWindow {
console.log("settings.signinType",settings.getSigninType());
// Sign in
var type = settings.getSigninType();
var type = settings.signinType;
if (type < 10) {
pageStack.push(Qt.resolvedUrl("NvSignInDialog.qml"),{"code": code});
return;

View file

@ -14,7 +14,7 @@ Name: harbour-kaktus
%{?qtc_builddir:%define _builddir %qtc_builddir}
Summary: Kaktus
Version: 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
* Sun May 31 2015 Michal Kosciesza 2.0-3
- Many small bug fixes
* Sat May 23 2015 Michal Kosciesza 2.0-2
- Old Reader support as feed aggregator service

View file

@ -814,9 +814,12 @@ void DatabaseManager::writeModule(const Module &item)
.arg(QString(item.icon.toUtf8().toBase64())));
if(!ret) {
ret = query.exec(QString("UPDATE modules SET status='%1', title='%2' WHERE id='%3';")
ret = query.exec(QString("UPDATE modules SET status='%1',title='%2',tab_id='%3',icon='%4',name='%5' WHERE id='%6';")
.arg(item.status)
.arg(QString(item.title.toUtf8().toBase64()))
.arg(item.tabId)
.arg(QString(item.icon.toUtf8().toBase64()))
.arg(QString(item.name.toUtf8().toBase64()))
.arg(item.id));
}
@ -1187,7 +1190,8 @@ QList<DatabaseManager::Stream> DatabaseManager::readStreamsByTab(const QString &
if (db.isOpen()) {
QSqlQuery query(db);
bool ret = query.exec(QString("SELECT s.id, ms.module_id, m.title, s.content, s.link, s.query, s.icon, "
bool ret = query.exec(QString("SELECT s.id, ms.module_id, m.title, s.title, m.name, s.content, s.link, s.query, s.icon, "
"s.type, s.unread, s.read, s.saved, s.slow, s.newest_item_added_at, s.update_at, s.last_update "
"FROM streams as s, module_stream as ms, modules as m "
"WHERE ms.stream_id=s.id AND ms.module_id=m.id AND m.tab_id='%1' "
@ -1202,19 +1206,25 @@ QList<DatabaseManager::Stream> DatabaseManager::readStreamsByTab(const QString &
while(query.next()) {
Stream item;
item.id = query.value(0).toString();
decodeBase64(query.value(2),item.title);
decodeBase64(query.value(3),item.content);
decodeBase64(query.value(4),item.link);
decodeBase64(query.value(5),item.query);
decodeBase64(query.value(6),item.icon);
item.type = query.value(7).toString();
item.unread = query.value(8).toInt();
item.read = query.value(9).toInt();
item.saved = query.value(10).toInt();
item.slow = query.value(11).toInt();
item.newestItemAddedAt = query.value(12).toInt();
item.updateAt = query.value(13).toInt();
item.lastUpdate = query.value(14).toInt();
QString name; decodeBase64(query.value(4),name);
//qDebug() << name << query.value(2).toString() << query.value(3).toString();
if (name == "RssReader") {
decodeBase64(query.value(2),item.title);
} else {
decodeBase64(query.value(3),item.title);
}
decodeBase64(query.value(5),item.content);
decodeBase64(query.value(6),item.link);
decodeBase64(query.value(7),item.query);
decodeBase64(query.value(8),item.icon);
item.type = query.value(9).toString();
item.unread = query.value(10).toInt();
item.read = query.value(11).toInt();
item.saved = query.value(12).toInt();
item.slow = query.value(13).toInt();
item.newestItemAddedAt = query.value(14).toInt();
item.updateAt = query.value(15).toInt();
item.lastUpdate = query.value(16).toInt();
list.append(item);
}
@ -1258,7 +1268,7 @@ QList<DatabaseManager::Stream> DatabaseManager::readStreamsByDashboard(const QSt
if (db.isOpen()) {
QSqlQuery query(db);
bool ret = query.exec(QString("SELECT s.id, ms.module_id, m.title, s.content, s.link, s.query, s.icon, "
bool ret = query.exec(QString("SELECT s.id, ms.module_id, m.title, s.title, m.name, s.content, s.link, s.query, s.icon, "
"s.type, s.unread, s.read, s.saved, s.slow, s.newest_item_added_at, s.update_at, s.last_update "
"FROM streams as s, module_stream as ms, modules as m, tabs as t "
"WHERE ms.stream_id=s.id AND ms.module_id=m.id AND m.tab_id=t.id "
@ -1274,19 +1284,25 @@ QList<DatabaseManager::Stream> DatabaseManager::readStreamsByDashboard(const QSt
while(query.next()) {
Stream item;
item.id = query.value(0).toString();
decodeBase64(query.value(2),item.title);
decodeBase64(query.value(3),item.content);
decodeBase64(query.value(4),item.link);
decodeBase64(query.value(5),item.query);
decodeBase64(query.value(6),item.icon);
item.type = query.value(7).toString();
item.unread = query.value(8).toInt();
item.read = query.value(9).toInt();
item.saved = query.value(10).toInt();
item.slow = query.value(11).toInt();
item.newestItemAddedAt = query.value(12).toInt();
item.updateAt = query.value(13).toInt();
item.lastUpdate = query.value(14).toInt();
QString name; decodeBase64(query.value(4),name);
//qDebug() << name << query.value(2).toString() << query.value(3).toString();
if (name == "RssReader") {
decodeBase64(query.value(2),item.title);
} else {
decodeBase64(query.value(3),item.title);
}
decodeBase64(query.value(5),item.content);
decodeBase64(query.value(6),item.link);
decodeBase64(query.value(7),item.query);
decodeBase64(query.value(8),item.icon);
item.type = query.value(9).toString();
item.unread = query.value(10).toInt();
item.read = query.value(11).toInt();
item.saved = query.value(12).toInt();
item.slow = query.value(13).toInt();
item.newestItemAddedAt = query.value(14).toInt();
item.updateAt = query.value(15).toInt();
item.lastUpdate = query.value(16).toInt();
list.append(item);
}
@ -2381,7 +2397,7 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesByStream(const QString
if (db.isOpen()) {
QSqlQuery query(db);
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, "
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, s.title, "
"e.fresh, e.fresh_or, e.read, e.saved, e.liked, e.cached, e.created_at, e.published_at, e.timestamp, e.crawl_time, e.last_update "
"FROM entries as e, streams as s "
"WHERE e.stream_id='%1' AND e.stream_id=s.id "
@ -2402,16 +2418,17 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesByStream(const QString
decodeBase64(query.value(5),item.link);
decodeBase64(query.value(6),item.image);
decodeBase64(query.value(7),item.feedIcon);
item.fresh = query.value(8).toInt();
item.freshOR = query.value(9).toInt();
item.read = query.value(10).toInt();
item.saved = query.value(11).toInt();
item.liked = query.value(12).toInt();
item.cached = query.value(13).toInt();
item.createdAt = query.value(14).toInt();
item.publishedAt = query.value(15).toInt();
item.timestamp = query.value(16).toInt();
item.crawlTime = query.value(17).toInt();
decodeBase64(query.value(8),item.feedTitle);
item.fresh = query.value(9).toInt();
item.freshOR = query.value(10).toInt();
item.read = query.value(11).toInt();
item.saved = query.value(12).toInt();
item.liked = query.value(13).toInt();
item.cached = query.value(14).toInt();
item.createdAt = query.value(15).toInt();
item.publishedAt = query.value(16).toInt();
item.timestamp = query.value(17).toInt();
item.crawlTime = query.value(18).toInt();
list.append(item);
}
} else {
@ -2428,7 +2445,7 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesByDashboard(const QStr
if (db.isOpen()) {
QSqlQuery query(db);
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, "
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, s.title, "
"e.fresh, e.fresh_or, e.read, e.saved, e.liked, e.cached, e.created_at, e.published_at, e.timestamp, e.crawl_time, e.last_update "
"FROM entries as e, streams as s, module_stream as ms, modules as m, tabs as t "
"WHERE e.stream_id=ms.stream_id AND e.stream_id=s.id AND ms.module_id=m.id AND m.tab_id=t.id "
@ -2450,16 +2467,17 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesByDashboard(const QStr
decodeBase64(query.value(5),item.link);
decodeBase64(query.value(6),item.image);
decodeBase64(query.value(7),item.feedIcon);
item.fresh = query.value(8).toInt();
item.freshOR = query.value(9).toInt();
item.read = query.value(10).toInt();
item.saved = query.value(11).toInt();
item.liked = query.value(12).toInt();
item.cached = query.value(13).toInt();
item.createdAt = query.value(14).toInt();
item.publishedAt = query.value(15).toInt();
item.timestamp = query.value(16).toInt();
item.crawlTime = query.value(17).toInt();
decodeBase64(query.value(8),item.feedTitle);
item.fresh = query.value(9).toInt();
item.freshOR = query.value(10).toInt();
item.read = query.value(11).toInt();
item.saved = query.value(12).toInt();
item.liked = query.value(13).toInt();
item.cached = query.value(14).toInt();
item.createdAt = query.value(15).toInt();
item.publishedAt = query.value(16).toInt();
item.timestamp = query.value(17).toInt();
item.crawlTime = query.value(18).toInt();
list.append(item);
}
} else {
@ -2476,7 +2494,7 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesUnreadByDashboard(cons
if (db.isOpen()) {
QSqlQuery query(db);
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, "
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, s.title, "
"e.fresh, e.fresh_or, e.read, e.saved, e.liked, e.cached, e.created_at, e.published_at, e.timestamp, e.crawl_time, e.last_update "
"FROM entries as e, streams as s, module_stream as ms, modules as m, tabs as t "
"WHERE e.stream_id=ms.stream_id AND e.stream_id=s.id AND ms.module_id=m.id AND m.tab_id=t.id "
@ -2498,16 +2516,17 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesUnreadByDashboard(cons
decodeBase64(query.value(5),item.link);
decodeBase64(query.value(6),item.image);
decodeBase64(query.value(7),item.feedIcon);
item.fresh = query.value(8).toInt();
item.freshOR = query.value(9).toInt();
item.read = query.value(10).toInt();
item.saved = query.value(11).toInt();
item.liked = query.value(12).toInt();
item.cached = query.value(13).toInt();
item.createdAt = query.value(14).toInt();
item.publishedAt = query.value(15).toInt();
item.timestamp = query.value(16).toInt();
item.crawlTime = query.value(17).toInt();
decodeBase64(query.value(8),item.feedTitle);
item.fresh = query.value(9).toInt();
item.freshOR = query.value(10).toInt();
item.read = query.value(11).toInt();
item.saved = query.value(12).toInt();
item.liked = query.value(13).toInt();
item.cached = query.value(14).toInt();
item.createdAt = query.value(15).toInt();
item.publishedAt = query.value(16).toInt();
item.timestamp = query.value(17).toInt();
item.crawlTime = query.value(18).toInt();
list.append(item);
}
} else {
@ -2524,7 +2543,7 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesSlowUnreadByDashboard(
if (db.isOpen()) {
QSqlQuery query(db);
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, "
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, s.title, "
"e.fresh, e.fresh_or, e.read, e.saved, e.liked, e.cached, e.created_at, e.published_at, e.timestamp, e.crawl_time, e.last_update "
"FROM entries as e, streams as s, module_stream as ms, modules as m, tabs as t "
"WHERE e.stream_id=ms.stream_id AND e.stream_id=s.id AND ms.module_id=m.id AND m.tab_id=t.id "
@ -2546,16 +2565,17 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesSlowUnreadByDashboard(
decodeBase64(query.value(5),item.link);
decodeBase64(query.value(6),item.image);
decodeBase64(query.value(7),item.feedIcon);
item.fresh = query.value(8).toInt();
item.freshOR = query.value(9).toInt();
item.read = query.value(10).toInt();
item.saved = query.value(11).toInt();
item.liked = query.value(12).toInt();
item.cached = query.value(13).toInt();
item.createdAt = query.value(14).toInt();
item.publishedAt = query.value(15).toInt();
item.timestamp = query.value(16).toInt();
item.crawlTime = query.value(17).toInt();
decodeBase64(query.value(8),item.feedTitle);
item.fresh = query.value(9).toInt();
item.freshOR = query.value(10).toInt();
item.read = query.value(11).toInt();
item.saved = query.value(12).toInt();
item.liked = query.value(13).toInt();
item.cached = query.value(14).toInt();
item.createdAt = query.value(15).toInt();
item.publishedAt = query.value(16).toInt();
item.timestamp = query.value(17).toInt();
item.crawlTime = query.value(18).toInt();
list.append(item);
}
} else {
@ -2572,7 +2592,7 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesByTab(const QString &i
if (db.isOpen()) {
QSqlQuery query(db);
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, "
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, s.title, "
"e.fresh, e.fresh_or, e.read, e.saved, e.liked, e.cached, e.created_at, e.published_at, e.timestamp, e.crawl_time, e.last_update "
"FROM entries as e, streams as s, module_stream as ms, modules as m "
"WHERE e.stream_id=ms.stream_id AND e.stream_id=s.id AND ms.module_id=m.id "
@ -2594,16 +2614,17 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesByTab(const QString &i
decodeBase64(query.value(5),item.link);
decodeBase64(query.value(6),item.image);
decodeBase64(query.value(7),item.feedIcon);
item.fresh = query.value(8).toInt();
item.freshOR = query.value(9).toInt();
item.read = query.value(10).toInt();
item.saved = query.value(11).toInt();
item.liked = query.value(12).toInt();
item.cached = query.value(13).toInt();
item.createdAt = query.value(14).toInt();
item.publishedAt = query.value(15).toInt();
item.timestamp = query.value(16).toInt();
item.crawlTime = query.value(17).toInt();
decodeBase64(query.value(8),item.feedTitle);
item.fresh = query.value(9).toInt();
item.freshOR = query.value(10).toInt();
item.read = query.value(11).toInt();
item.saved = query.value(12).toInt();
item.liked = query.value(13).toInt();
item.cached = query.value(14).toInt();
item.createdAt = query.value(15).toInt();
item.publishedAt = query.value(16).toInt();
item.timestamp = query.value(17).toInt();
item.crawlTime = query.value(18).toInt();
list.append(item);
}
} else {
@ -2620,7 +2641,7 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesUnreadByTab(const QStr
if (db.isOpen()) {
QSqlQuery query(db);
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, "
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, s.title, "
"e.fresh, e.fresh_or, e.read, e.saved, e.liked, e.cached, e.created_at, e.published_at, e.timestamp, e.crawl_time, e.last_update "
"FROM entries as e, streams as s, module_stream as ms, modules as m "
"WHERE e.stream_id=ms.stream_id AND e.stream_id=s.id AND ms.module_id=m.id "
@ -2642,16 +2663,17 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesUnreadByTab(const QStr
decodeBase64(query.value(5),item.link);
decodeBase64(query.value(6),item.image);
decodeBase64(query.value(7),item.feedIcon);
item.fresh = query.value(8).toInt();
item.freshOR = query.value(9).toInt();
item.read = query.value(10).toInt();
item.saved = query.value(11).toInt();
item.liked = query.value(12).toInt();
item.cached = query.value(13).toInt();
item.createdAt = query.value(14).toInt();
item.publishedAt = query.value(15).toInt();
item.timestamp = query.value(16).toInt();
item.crawlTime = query.value(17).toInt();
decodeBase64(query.value(8),item.feedTitle);
item.fresh = query.value(9).toInt();
item.freshOR = query.value(10).toInt();
item.read = query.value(11).toInt();
item.saved = query.value(12).toInt();
item.liked = query.value(13).toInt();
item.cached = query.value(14).toInt();
item.createdAt = query.value(15).toInt();
item.publishedAt = query.value(16).toInt();
item.timestamp = query.value(17).toInt();
item.crawlTime = query.value(18).toInt();
list.append(item);
}
} else {
@ -2668,7 +2690,7 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesSavedByDashboard(const
if (db.isOpen()) {
QSqlQuery query(db);
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, "
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, s.title, "
"e.fresh, e.fresh_or, e.read, e.saved, e.liked, e.cached, e.created_at, e.published_at, e.timestamp, e.crawl_time, e.last_update "
"FROM entries as e, streams as s, module_stream as ms, modules as m, tabs as t "
"WHERE e.stream_id=ms.stream_id AND e.stream_id=s.id AND ms.module_id=m.id AND m.tab_id=t.id "
@ -2690,16 +2712,17 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesSavedByDashboard(const
decodeBase64(query.value(5),item.link);
decodeBase64(query.value(6),item.image);
decodeBase64(query.value(7),item.feedIcon);
item.fresh = query.value(8).toInt();
item.freshOR = query.value(9).toInt();
item.read = query.value(10).toInt();
item.saved = query.value(11).toInt();
item.liked = query.value(12).toInt();
item.cached = query.value(13).toInt();
item.createdAt = query.value(14).toInt();
item.publishedAt = query.value(15).toInt();
item.timestamp = query.value(16).toInt();
item.crawlTime = query.value(17).toInt();
decodeBase64(query.value(8),item.feedTitle);
item.fresh = query.value(9).toInt();
item.freshOR = query.value(10).toInt();
item.read = query.value(11).toInt();
item.saved = query.value(12).toInt();
item.liked = query.value(13).toInt();
item.cached = query.value(14).toInt();
item.createdAt = query.value(15).toInt();
item.publishedAt = query.value(16).toInt();
item.timestamp = query.value(17).toInt();
item.crawlTime = query.value(18).toInt();
list.append(item);
}
} else {
@ -2716,7 +2739,7 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesSlowByDashboard(const
if (db.isOpen()) {
QSqlQuery query(db);
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, "
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, s.title, "
"e.fresh, e.fresh_or, e.read, e.saved, e.liked, e.cached, e.created_at, e.published_at, e.timestamp, e.crawl_time, e.last_update "
"FROM entries as e, streams as s, module_stream as ms, modules as m, tabs as t "
"WHERE e.stream_id=ms.stream_id AND e.stream_id=s.id AND ms.module_id=m.id AND m.tab_id=t.id "
@ -2738,16 +2761,17 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesSlowByDashboard(const
decodeBase64(query.value(5),item.link);
decodeBase64(query.value(6),item.image);
decodeBase64(query.value(7),item.feedIcon);
item.fresh = query.value(8).toInt();
item.freshOR = query.value(9).toInt();
item.read = query.value(10).toInt();
item.saved = query.value(11).toInt();
item.liked = query.value(12).toInt();
item.cached = query.value(13).toInt();
item.createdAt = query.value(14).toInt();
item.publishedAt = query.value(15).toInt();
item.timestamp = query.value(16).toInt();
item.crawlTime = query.value(17).toInt();
decodeBase64(query.value(8),item.feedTitle);
item.fresh = query.value(9).toInt();
item.freshOR = query.value(10).toInt();
item.read = query.value(11).toInt();
item.saved = query.value(12).toInt();
item.liked = query.value(13).toInt();
item.cached = query.value(14).toInt();
item.createdAt = query.value(15).toInt();
item.publishedAt = query.value(16).toInt();
item.timestamp = query.value(17).toInt();
item.crawlTime = query.value(18).toInt();
list.append(item);
}
} else {
@ -2764,7 +2788,7 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesUnreadByStream(const Q
if (db.isOpen()) {
QSqlQuery query(db);
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, "
bool ret = query.exec(QString("SELECT e.id, e.stream_id, e.title, e.author, e.content, e.link, e.image, s.icon, s.title, "
"e.fresh, e.fresh_or, e.read, e.saved, e.liked, e.cached, e.created_at, e.published_at, e.timestamp, e.crawl_time, e.last_update "
"FROM entries as e, streams as s "
"WHERE e.stream_id='%1' AND e.stream_id=s.id AND e.read=0 "
@ -2785,16 +2809,17 @@ QList<DatabaseManager::Entry> DatabaseManager::readEntriesUnreadByStream(const Q
decodeBase64(query.value(5),item.link);
decodeBase64(query.value(6),item.image);
decodeBase64(query.value(7),item.feedIcon);
item.fresh = query.value(8).toInt();
item.freshOR = query.value(9).toInt();
item.read = query.value(10).toInt();
item.saved = query.value(11).toInt();
item.liked = query.value(12).toInt();
item.cached = query.value(13).toInt();
item.createdAt = query.value(14).toInt();
item.publishedAt = query.value(15).toInt();
item.timestamp = query.value(16).toInt();
item.crawlTime = query.value(17).toInt();
decodeBase64(query.value(8),item.feedTitle);
item.fresh = query.value(9).toInt();
item.freshOR = query.value(10).toInt();
item.read = query.value(11).toInt();
item.saved = query.value(12).toInt();
item.liked = query.value(13).toInt();
item.cached = query.value(14).toInt();
item.createdAt = query.value(15).toInt();
item.publishedAt = query.value(16).toInt();
item.timestamp = query.value(17).toInt();
item.crawlTime = query.value(18).toInt();
list.append(item);
}
} else {

View file

@ -103,6 +103,7 @@ public:
QString content;
QString image;
QString feedIcon;
QString feedTitle;
int fresh;
int freshOR;
int read;

View file

@ -381,15 +381,12 @@ void DownloadManager::downloadFinished(QNetworkReply *reply)
} else {
//qDebug() << "url" << url.toString() << "finalUrl" << item.finalUrl;
//qDebug() << "hash" << hash(url.toString()) << "finalUrl" << hash(item.finalUrl);
//if (saveToDisk(hash(url.toString()), content)) {
if (saveToDisk(hash(item.finalUrl), content)) {
// Write Cache item to DB
//qDebug() << "Write Cache item to DB" << item.type << item.finalUrl;
item.id = hash(item.entryId+item.finalUrl);
//qDebug() << "hash(item.finalUrl): " << hash(item.finalUrl);
item.origUrl = hash(item.origUrl);
item.baseUrl = item.finalUrl;
//qDebug() << "baseUrl2" << item.baseUrl;
item.finalUrl = hash(item.finalUrl);
item.date = QDateTime::currentDateTime().toTime_t();
item.flag = 1;
@ -410,8 +407,9 @@ void DownloadManager::downloadFinished(QNetworkReply *reply)
} else {
if (onlineItem)
emit this->onlineDownloadFailed();
qWarning() << "Saving file has failed! Maybe out of disk space?";
emit this->error(501);
qWarning() << "Save to disk failed!";
}
}
}
@ -488,18 +486,24 @@ bool DownloadManager::saveToDisk(const QString &filename, const QByteArray &cont
QFile file(s->getDmCacheDir() + "/" + filename);
if (file.exists()) {
//qWarning() << "File exists, deleting file" << filename;
file.remove();
if (!file.remove()) {
qWarning() << "File" << filename << "exists, but unable to delete.";
return false;
}
}
if (!file.open(QIODevice::WriteOnly)) {
qWarning() << "Could not open" << filename << "for writing: " << file.errorString();
qWarning() << "Could not open" << filename << "for writing. Error string:" << file.errorString();
return false;
}
file.write(content);
file.close();
if (file.write(content) == -1) {
qWarning() << "Could not write data to" << filename << ". Error string:" << file.errorString();
file.close();
return false;
}
file.close();
return true;
}

View file

@ -74,7 +74,6 @@ protected:
void run();
signals:
//void ready();
void progressChanged(int current, int total);
private:

View file

@ -144,6 +144,7 @@ int EntryModel::createItems(int offset, int limit)
prevDateRow = getDateRowId(item->date());
}
QRegExp re("<[^>]*>");
while( i != list.end() ) {
// Removing html tags!
@ -191,37 +192,37 @@ int EntryModel::createItems(int offset, int limit)
if (dateRow>prevDateRow) {
switch (dateRow) {
case 1:
appendRow(new EntryItem("daterow",tr("Today"),"","","","","",false,0,0,0,0));
appendRow(new EntryItem("daterow",tr("Today"),"","","","","","",false,0,0,0,0));
break;
case 2:
appendRow(new EntryItem("daterow",tr("Yesterday"),"","","","","",false,0,0,0,0));
appendRow(new EntryItem("daterow",tr("Yesterday"),"","","","","","",false,0,0,0,0));
break;
case 3:
appendRow(new EntryItem("daterow",tr("Current week"),"","","","","",false,0,0,0,0));
appendRow(new EntryItem("daterow",tr("Current week"),"","","","","","",false,0,0,0,0));
break;
case 4:
appendRow(new EntryItem("daterow",tr("Current month"),"","","","","",false,0,0,0,0));
appendRow(new EntryItem("daterow",tr("Current month"),"","","","","","",false,0,0,0,0));
break;
case 5:
appendRow(new EntryItem("daterow",tr("Previous month"),"","","","","",false,0,0,0,0));
appendRow(new EntryItem("daterow",tr("Previous month"),"","","","","","",false,0,0,0,0));
break;
case 6:
appendRow(new EntryItem("daterow",tr("Current year"),"","","","","",false,0,0,0,0));
appendRow(new EntryItem("daterow",tr("Current year"),"","","","","","",false,0,0,0,0));
break;
default:
appendRow(new EntryItem("daterow",tr("Previous year & older"),"","","","","",false,0,0,0,0));
appendRow(new EntryItem("daterow",tr("Previous year & older"),"","","","","","",false,0,0,0,0));
break;
}
}
prevDateRow = dateRow;
appendRow(new EntryItem((*i).id,
title,
title.remove(re),
(*i).author,
content,
(*i).link,
imageOk? (*i).image : "",
(*i).feedIcon,
(*i).feedTitle.remove(re),
_db->isCacheExistsByEntryId((*i).id),
(*i).fresh,
(*i).read,
@ -233,7 +234,7 @@ int EntryModel::createItems(int offset, int limit)
// Dummy row as workaround!
if (list.count()>0)
appendRow(new EntryItem("last","","","","","","",false,0,0,0,0));
appendRow(new EntryItem("last","","","","","","","",false,0,0,0,0));
return list.count();
}
@ -505,6 +506,7 @@ EntryItem::EntryItem(const QString &uid,
const QString &link,
const QString &image,
const QString &feedIcon,
const QString &feedTitle,
const bool cached,
const bool fresh,
const int read,
@ -519,6 +521,7 @@ EntryItem::EntryItem(const QString &uid,
m_link(link),
m_image(image),
m_feedIcon(feedIcon),
m_feedTitle(feedTitle),
m_cached(cached),
m_fresh(fresh),
m_read(read),
@ -536,6 +539,7 @@ QHash<int, QByteArray> EntryItem::roleNames() const
names[LinkRole] = "link";
names[ImageRole] = "image";
names[FeedIconRole] = "feedIcon";
names[FeedTitleRole] = "feedTitle";
names[CachedRole] = "cached";
names[FreshRole] = "fresh";
names[ReadRole] = "read";
@ -561,6 +565,8 @@ QVariant EntryItem::data(int role) const
return image();
case FeedIconRole:
return feedIcon();
case FeedTitleRole:
return feedTitle();
case CachedRole:
return cached();
case FreshRole:

View file

@ -43,6 +43,7 @@ public:
LinkRole,
ImageRole,
FeedIconRole,
FeedTitleRole,
CachedRole,
FreshRole,
ReadRole,
@ -59,6 +60,7 @@ public:
const QString &link,
const QString &image,
const QString &feedIcon,
const QString &feedTitle,
const bool cached,
const bool fresh,
const int read,
@ -75,6 +77,7 @@ public:
inline QString link() const { return m_link; }
inline QString image() const { return m_image; }
inline QString feedIcon() const { return m_feedIcon; }
inline QString feedTitle() const { return m_feedTitle; }
inline bool cached() const { return m_cached; }
inline bool fresh() const { return m_fresh; }
inline int read() const { return m_read; }
@ -93,6 +96,7 @@ private:
QString m_link;
QString m_image;
QString m_feedIcon;
QString m_feedTitle;
bool m_cached;
bool m_fresh;
int m_read;

View file

@ -108,7 +108,18 @@ void NvFetcher::signIn()
void NvFetcher::startFetching()
{
Settings *s = Settings::instance();
storedStreamList = s->db->readStreamModuleTabListWithoutDate();
s->db->cleanDashboards();
s->db->cleanTabs();
s->db->cleanModules();
// Create Cache structure
if(busyType == Fetcher::Initiating) {
s->db->cleanCache();
}
fetchDashboards();
}
@ -195,6 +206,8 @@ void NvFetcher::fetchFeeds()
.arg((*i).streamId)
.arg((*i).moduleId);
//qDebug() << "streamId:" << (*i).streamId << "moduleId:" << (*i).moduleId;
i = streamList.erase(i);
++ii;
}
@ -749,14 +762,6 @@ void NvFetcher::finishedDashboards2()
Settings *s = Settings::instance();
if(!dashboardList.isEmpty()) {
s->db->cleanTabs();
// Create Modules and Cache structure
if(busyType == Fetcher::Initiating) {
s->db->cleanCache();
s->db->cleanModules();
}
fetchTabs();
} else {
qWarning() << "No Dashboards found!";
@ -794,10 +799,12 @@ void NvFetcher::finishedTabs2()
// Set current entries as not fresh
s->db->updateEntriesFreshFlag(0);
streamUpdateList = s->db->readStreamModuleTabList();
cleanRemovedFeeds();
cleanNewFeeds();
streamUpdateList = s->db->readStreamModuleTabList();
s->db->cleanStreams();
if (streamList.isEmpty()) {
qDebug() << "No new Feeds!";
@ -881,6 +888,12 @@ void NvFetcher::finishedFeedsReadlater2()
Settings *s = Settings::instance();
s->db->updateEntriesSavedFlagByFlagAndDashboard(s->getDashboardInUse(),9,0);
dashboardList.clear();
tabList.clear();
streamList.clear();
streamUpdateList.clear();
storedStreamList.clear();
taskEnd();
}
}
@ -1212,7 +1225,7 @@ void NvFetcher::storeTabs()
smt.tabId = obj["tab"].toString();
streamList.append(smt);
m.streamList.append(smt.streamId);
//qDebug() << "Writing module: " << smt.moduleId << m.title << "streamId:" << smt.streamId;
//qDebug() << "Writing module: " << "tabid:" << smt.tabId << "moduleId:" << smt.moduleId << "streamId:" << smt.streamId << m.title;
++mi;
}
} else {
@ -1264,11 +1277,14 @@ int NvFetcher::storeFeeds()
#if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
QJsonObject obj = (*ai).toObject();
if (obj["error"].isObject()) {
qWarning() << "Nested error in Netvibes response!";
qWarning() << "Code:" << (int) obj["error"].toObject()["code"].toDouble();
qWarning() << "Message:" << obj["error"].toObject()["message"].toString();
qWarning() << "JSON obj:" << obj;
qWarning() << "id:" << obj["id"].toString();
int code = (int) obj["error"].toObject()["code"].toDouble();
if (code != 204) {
qWarning() << "Nested error in Netvibes response!";
qWarning() << "Code:" << code;
qWarning() << "Message:" << obj["error"].toObject()["message"].toString();
qWarning() << "JSON obj:" << obj;
qWarning() << "id:" << obj["id"].toString();
}
}
#else
QVariantMap obj = (*ai).toMap();
@ -1311,6 +1327,7 @@ int NvFetcher::storeFeeds()
emit addDownload(item);
}
//qDebug() << "Writing Stream: " << st.id << st.title;
s->db->writeStream(st);
++ai;
}
@ -1541,18 +1558,20 @@ void NvFetcher::uploadActions()
void NvFetcher::cleanNewFeeds()
{
Settings *s = Settings::instance();
QList<DatabaseManager::StreamModuleTab> storedStreamList = s->db->readStreamModuleTabListWithoutDate();
//QList<DatabaseManager::StreamModuleTab> storedStreamList = s->db->readStreamModuleTabListWithoutDate();
QList<DatabaseManager::StreamModuleTab> tmp_storedStreamList = QList<DatabaseManager::StreamModuleTab>(storedStreamList);
QList<DatabaseManager::StreamModuleTab>::iterator i = streamList.begin();
//qDebug() << "###################################### tmp_storedStreamList.count" << tmp_storedStreamList.count();
i = streamList.begin();
while (i != streamList.end()) {
QList<DatabaseManager::StreamModuleTab>::iterator ci = storedStreamList.begin();
//qDebug() << "streamList| streamId:" << (*i).streamId << "tabId:" << (*i).tabId;
QList<DatabaseManager::StreamModuleTab>::iterator ci = tmp_storedStreamList.begin();
bool newStream = true;
while (ci != storedStreamList.end()) {
while (ci != tmp_storedStreamList.end()) {
//qDebug() << "tmp_storedStreamList| streamId:" << (*ci).streamId << "tabId:" << (*ci).tabId;
if ((*i).streamId==(*ci).streamId && (*i).tabId==(*ci).tabId) {
i = streamList.erase(i);
storedStreamList.erase(ci);
tmp_storedStreamList.erase(ci);
newStream = false;
break;
}
@ -1572,21 +1591,25 @@ void NvFetcher::cleanNewFeeds()
void NvFetcher::cleanRemovedFeeds()
{
Settings *s = Settings::instance();
QList<DatabaseManager::StreamModuleTab> storedStreamList = s->db->readStreamModuleTabListWithoutDate();
QList<DatabaseManager::StreamModuleTab>::iterator i = storedStreamList.begin();
while (i != storedStreamList.end()) {
bool removedStream = true;
QList<DatabaseManager::StreamModuleTab>::iterator ci = streamList.begin();
while (ci != streamList.end()) {
if ((*i).streamId==(*ci).streamId && (*i).tabId==(*ci).tabId) {
//qDebug() << "Existing stream" << (*i).streamId << "in tab" << (*i).tabId;
if ((*i).streamId == (*ci).streamId) {
removedStream = false;
if ((*i).tabId == (*ci).tabId) {
//qDebug() << "Existing stream" << (*i).streamId << "in tab" << (*i).tabId;
} else {
qDebug() << "Old stream" << (*i).streamId << "in new tab" << (*ci).tabId;
}
break;
}
++ci;
}
if (removedStream) {
qDebug() << "Removing stream" << (*i).streamId << "in tab" << (*i).tabId;
s->db->removeStreamsByStream((*i).streamId);
@ -1595,13 +1618,14 @@ void NvFetcher::cleanRemovedFeeds()
QList<DatabaseManager::StreamModuleTab>::iterator sui = streamUpdateList.begin();
while (sui != streamUpdateList.end()) {
if ((*sui).streamId==(*i).streamId && (*sui).tabId==(*i).tabId) {
//qDebug() << "Removing stream form _streamUpdateList" << (*sui).streamId;
//qDebug() << "Removing stream form streamUpdateList" << (*sui).streamId;
streamUpdateList.erase(sui);
break;
}
++sui;
}
}
++i;
}
}

View file

@ -79,6 +79,7 @@ private:
QStringList tabList;
QList<DatabaseManager::StreamModuleTab> streamList;
QList<DatabaseManager::StreamModuleTab> streamUpdateList;
QList<DatabaseManager::StreamModuleTab> storedStreamList;
int publishedBeforeDate;
void signIn();

View file

@ -832,7 +832,7 @@ void OldReaderFetcher::storeTabs()
DatabaseManager::Tab t;
t.id = "subscriptions";
t.dashboardId = dashboardId;
t.title = tr("Subscriptions");
t.title = "Subscriptions";
s->db->writeTab(t);
tabList.append(t.id);

View file

@ -333,7 +333,10 @@ int Settings::getSigninType()
void Settings::setSigninType(int value)
{
settings.setValue("signintype", value);
if (getSigninType() != value) {
settings.setValue("signintype", value);
emit signinTypeChanged();
}
}
int Settings::getLastUpdateDate()

View file

@ -66,6 +66,7 @@ class Settings: public QObject
Q_PROPERTY (bool autoDownloadOnUpdate READ getAutoDownloadOnUpdate WRITE setAutoDownloadOnUpdate NOTIFY autoDownloadOnUpdateChanged)
Q_PROPERTY (int cachingMode READ getCachingMode WRITE setCachingMode NOTIFY cachingModeChanged)
Q_PROPERTY (int theme READ getTheme WRITE setTheme NOTIFY themeChanged)
Q_PROPERTY (int signinType READ getSigninType WRITE setSigninType NOTIFY signinTypeChanged)
public:
static Settings* instance();
@ -143,6 +144,14 @@ public:
void setTheme(int value);
int getTheme();
// Sign in
// 0 - Netvibes
// 1 - Netvibes with Twitter
// 2 - Netvibes with FB
// 10 - Oldreader
void setSigninType(int);
int getSigninType();
// ---
bool getShowOnlyUnread();
@ -152,13 +161,6 @@ public:
QString getDmCacheDir();
// Sign in
// 0 - Netvibes
// 1 - Netvibes with Twitter
// 2 - Netvibes with FB
// 10 - Oldreader
Q_INVOKABLE void setSigninType(int);
Q_INVOKABLE int getSigninType();
Q_INVOKABLE void setCookie(const QString &value);
Q_INVOKABLE QString getCookie();
@ -216,6 +218,7 @@ signals:
void autoDownloadOnUpdateChanged();
void themeChanged();
void cachingModeChanged();
void signinTypeChanged();
/*
501 - Unable create settings dir