[sailfish] added option to boot into special page, regards #68

This commit is contained in:
Hauke Schade 2015-02-07 18:47:06 +01:00
parent eaf821fea7
commit aa22ee5d7e
5 changed files with 165 additions and 84 deletions

View file

@ -717,31 +717,31 @@
<message>
<location filename="../qml/ttrss/harmattan/Settings.qml" line="88"/>
<location filename="../qml/ttrss/harmattan/Settings.qml" line="116"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="79"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="87"/>
<source>Minimum Ssl Version</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/harmattan/Settings.qml" line="93"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="81"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="89"/>
<source>Specify a minimum protocol version for your SSL connection. This might be necessary when your server does not allow connections with older (insecure) protocols. However, your server might not support the newest protocol.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/harmattan/Settings.qml" line="104"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="84"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="92"/>
<source>Any</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/harmattan/Settings.qml" line="105"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="85"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="93"/>
<source>SslV2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/harmattan/Settings.qml" line="106"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="87"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="95"/>
<source>SslV3</source>
<translation type="unfinished"></translation>
</message>
@ -767,25 +767,25 @@
</message>
<message>
<location filename="../qml/ttrss/harmattan/Settings.qml" line="128"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="120"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="128"/>
<source>Order</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/harmattan/Settings.qml" line="130"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="124"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="132"/>
<source>Newest First</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/harmattan/Settings.qml" line="130"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="125"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="133"/>
<source>Oldest First</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/harmattan/Settings.qml" line="173"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="211"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="219"/>
<source>Font Size</source>
<translation type="unfinished"></translation>
</message>
@ -796,7 +796,7 @@
</message>
<message>
<location filename="../qml/ttrss/harmattan/Settings.qml" line="153"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="102"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="110"/>
<source>Show Icons</source>
<translation type="unfinished"></translation>
</message>
@ -833,13 +833,13 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="73"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="74"/>
<source>You need to restart the App for this to take effect.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/harmattan/Settings.qml" line="124"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="184"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="192"/>
<source>Items</source>
<translation type="unfinished"></translation>
</message>
@ -859,7 +859,7 @@
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="219"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="227"/>
<source>Tiny</source>
<translation type="unfinished"></translation>
</message>
@ -880,113 +880,138 @@
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="72"/>
<source>Show &quot;All Feeds&quot;</source>
<source>Navigate to special page after login</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="89"/>
<source>TlsV1.0</source>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="77"/>
<source>Standard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="90"/>
<source>TlsV1.1</source>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="78"/>
<source>All Feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="91"/>
<source>TlsV1.2</source>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="79"/>
<source>Special</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="80"/>
<source>Special/Fresh Articles</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="81"/>
<source>Labels</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="97"/>
<source>TlsV1.0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="98"/>
<source>TlsV1.1</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="99"/>
<source>TlsV1.2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="105"/>
<source>Feeds</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="109"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="117"/>
<source>White Background on Icons</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="115"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="123"/>
<source>Item List</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="132"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="140"/>
<source>Max. Length of Title (in Lines)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="137"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="154"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="178"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="145"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="162"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="186"/>
<source>No Limit</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="142"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="150"/>
<source>Show Excerpt</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="149"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="157"/>
<source>Max. Length of Excerpt (in Lines)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="160"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="168"/>
<source>Show Labels</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="166"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="174"/>
<source>Show Note</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="173"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="181"/>
<source>Max. Length of Note (in Lines)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="189"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="197"/>
<source>Automatically Mark as Read</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="196"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="204"/>
<source>Show Images</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="202"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="210"/>
<source>Strip invisible Images</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="203"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="211"/>
<source>height or width &lt; 2</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="222"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="230"/>
<source>Small</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="225"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="233"/>
<source>Medium</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="228"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="236"/>
<source>Large</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="231"/>
<location filename="../qml/ttrss/sailfish/pages/Settings.qml" line="239"/>
<source>Huge</source>
<translation type="unfinished"></translation>
</message>

View file

@ -248,6 +248,75 @@ Dialog {
rootWindow.getTTRSS().getConfig(configDone)
}
function buildPages(index) {
var ttrss = rootWindow.getTTRSS()
var pages = []
// add root categories page if enabled
var hasCategoriesEnabled = ttrss.getPref(ttrss.constants['prefKeys']['categories'])
if (hasCategoriesEnabled === true || hasCategoriesEnabled === undefined) {
pages.push(Qt.resolvedUrl("Categories.qml"))
}
switch (index) {
default:
case 0:
// categories is already added
break
case 1:
// all feeds
var allfeedsparams = {
category: {
categoryId: ttrss.constants['categories']['ALL'],
title: constant.allFeeds,
unreadcount: 0
}
}
pages.push({page: Qt.resolvedUrl("Feeds.qml"), properties: allfeedsparams })
break
case 2:
case 3:
// Special
var specialparams = {
category: {
categoryId: ttrss.constants['categories']['SPECIAL'],
title: constant.specialCategory,
unreadcount: 0
}
}
pages.push({page: Qt.resolvedUrl("Feeds.qml"), properties: specialparams })
if (index == 3) {
var freshparams = {
feed: {
feedId: ttrss.constants['feeds']['fresh'],
categoryId: ttrss.constants['categories']['SPECIAL'],
title: constant.freshArticles,
unreadcount: 0,
isCat: false,
icon: settings.displayIcons ? ttrss.getIconUrl(ttrss.constants['feeds']['fresh']) : '',
lastUpdated: ''
}
}
pages.push({page: Qt.resolvedUrl("FeedItems.qml"), properties: freshparams })
}
break
case 4:
// Labels
var labelsparams = {
category: {
categoryId: ttrss.constants['categories']['LABELS'],
title: constant.labelsCategory,
unreadcount: 0
}
}
pages.push({page: Qt.resolvedUrl("Feeds.qml"), properties: labelsparams })
break
}
return pages.length === 0 ? buildPages(1) : pages;
}
function configDone(successful, errorMessage) {
if(!successful) {
// Let the user know
@ -260,46 +329,7 @@ Dialog {
var ttrss = rootWindow.getTTRSS()
var pages = []
var hasCategoriesEnabled = ttrss.getPref(ttrss.constants['prefKeys']['categories'])
if (hasCategoriesEnabled === true || hasCategoriesEnabled === undefined) {
pages.push(Qt.resolvedUrl("Categories.qml"))
}
if (settings.useAllFeedsOnStartup || pages.count === 0) {
var params = {
category: {
categoryId: ttrss.constants['categories']['ALL'],
title: constant.allFeeds,
unreadcount: 0
}
}
pages.push({page: Qt.resolvedUrl("Feeds.qml"), properties: params })
}
/*else if (settings.useSpecialFeedOnStartup) {
var ttrss = rootWindow.getTTRSS()
var params = {
category: {
categoryId: ttrss.constants['categories']['SPECIAL'],
title: constant.specialCategory,
name: constant.specialCategory,
unreadcount: 0
}
}
pages.push({page: Qt.resolvedUrl("Feeds.qml"), properties: params })
params = {
feed: {
feedId: ttrss.constants['feeds']['fresh'],
categoryId: ttrss.constants['categories']['SPECIAL'],
title: constant.freshArticles,
unreadcount: 0,
isCat: false,
icon: settings.displayIcons ? ttrss.getIconUrl(ttrss.constants['feeds']['fresh']) : ''
}
}
pages.push({page: Qt.resolvedUrl("FeedItems.qml"), properties: params })
}*/
var pages = buildPages(settings.startpage)
pageStack.replace(pages)
}

View file

@ -67,11 +67,19 @@ Dialog {
checked: settings.useAutologin
}
TextSwitch {
id: useAllFeedsOnStartupSetting
text: qsTr('Show "All Feeds"')
ComboBox {
id: startPage
label: qsTr("Navigate to special page after login")
currentIndex: settings.startpage
description: qsTr('You need to restart the App for this to take effect.')
checked: settings.useAllFeedsOnStartup
menu: ContextMenu {
MenuItem { text: qsTr("Standard") }
MenuItem { text: qsTr("All Feeds") }
MenuItem { text: qsTr("Special") }
MenuItem { text: qsTr("Special/Fresh Articles") }
MenuItem { text: qsTr("Labels") }
}
}
ComboBox {
@ -243,7 +251,8 @@ Dialog {
onAccepted: {
// Startup
settings.useAutologin = autoLoginSetting.checked
settings.useAllFeedsOnStartup = useAllFeedsOnStartupSetting.checked
//settings.useAllFeedsOnStartup = useAllFeedsOnStartupSetting.checked
settings.startpage = startPage.currentIndex
settings.minSSLVersion = minimumSSLVersionSetting.currentIndex
// Feeds

View file

@ -197,6 +197,14 @@ void Settings::setUseAllFeedsOnStartup(bool useAllFeedsOnStartup) {
}
}
void Settings::setStartpage(int index) {
if (_startpage != index) {
_startpage = index;
m_settings->setValue("startpage", _startpage);
emit startpageChanged();
}
}
// Feeds
void Settings::setDisplayIcons(bool displayIcons) {
if (_displayIcons != displayIcons) {
@ -336,6 +344,7 @@ Settings::Settings(QObject *parent) : QObject(parent), m_settings(new QSettings(
_autologin = m_settings->value("autologin", false).toBool();
_useAutologin = m_settings->value("useAutologin", true).toBool();
_useAllFeedsOnStartup = m_settings->value("useAllFeedsOnStartup", false).toBool();
_startpage = m_settings->value("startpage", _useAllFeedsOnStartup ? 1 : 0).toInt();
// Feeds
_displayIcons = m_settings->value("displayIcons", true).toBool();

View file

@ -45,6 +45,7 @@ class Settings : public QObject
// Startup
Q_PROPERTY(bool autologin READ hasAutologin WRITE setAutologin NOTIFY autologinChanged)
Q_PROPERTY(bool useAutologin READ hasUseAutologin WRITE setUseAutologin NOTIFY useAutologinChanged)
Q_PROPERTY(int startpage READ startpage WRITE setStartpage NOTIFY startpageChanged)
Q_PROPERTY(bool useAllFeedsOnStartup READ useAllFeedsOnStartup WRITE setUseAllFeedsOnStartup NOTIFY useAllFeedsOnStartupChanged)
// Feeds
@ -129,6 +130,11 @@ public:
}
void setUseAllFeedsOnStartup(bool useAllFeedsOnStartup);
int startpage() const {
return this->_startpage;
}
void setStartpage(int index);
// Feeds
bool displayIcons() const {
return this->_displayIcons;
@ -222,6 +228,7 @@ signals:
// Startup
void autologinChanged();
void useAutologinChanged();
void startpageChanged();
void useAllFeedsOnStartupChanged();
// Feeds
@ -270,6 +277,7 @@ private:
bool _autologin;
bool _useAutologin;
bool _useAllFeedsOnStartup;
int _startpage;
// Feeds
bool _displayIcons;