X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fqml%2FMarketsTodayApp.qml;h=854277326210787f7fc9f115c2c4c886a8e61169;hb=3d8cc3e91700dc91c5e63d56aef9f405e8b2786d;hp=deb094ece81a263baddfa4c5db991d848a381a49;hpb=fc2f53285830346bbb3281738c65b4550d3b2477;p=marketstoday diff --git a/src/qml/MarketsTodayApp.qml b/src/qml/MarketsTodayApp.qml index deb094e..8542773 100644 --- a/src/qml/MarketsTodayApp.qml +++ b/src/qml/MarketsTodayApp.qml @@ -1,5 +1,5 @@ /* -@version: 0.2 +@version: 0.4 @author: Sudheer K. @license: GNU General Public License */ @@ -10,6 +10,7 @@ import com.nokia.meego 1.0 import "Library" as Library import "Library/js/ISODate.js" as DateLib import "Library/js/DBUtility.js" as DBUtility +import "Library/js/CSVUtility.js" as CSVUtility import "Library/js/Common.js" as Common import "Library/js/CoreLogic.js" as CoreLib @@ -22,9 +23,9 @@ PageStackWindow { property int autoUpdateInterval: 300000 property bool updateWeekDaysOnly: false property bool updateOnSavedNetworksOnly: false + property bool isDesktopWidget: false property string rssURL: "http://finance.yahoo.com/rss/topfinstories" property string lastUpdatedTimeStamp - property bool isDesktopWidget //property string selectedSymbol:"YHOO" property string selectedSymbol:sharedContext.getStockSymbol() @@ -133,9 +134,8 @@ PageStackWindow { Text { text: stockName; width: parent.width * 30/100; font.pixelSize: 18; font.bold: true; elide: Text.ElideRight; color: "white"; style: Text.Raised; styleColor: "black" } Text { text: lastTradedPrice; width: parent.width * 15/100; font.pixelSize: 18; horizontalAlignment: Text.AlignLeft; elide: Text.ElideLeft; color: "#cccccc"; style: Text.Raised; styleColor: "black" } - Text { text: change !== ""? (change + " ("+changePercentage+")"):""; width: parent.width * 25/100; font.pixelSize: 18; horizontalAlignment: Text.AlignLeft; elide: Text.ElideRight - color: if(change >= 0){"green";} else {"red";} - style: Text.Raised; styleColor: "black" } + Text { text: change !== ""? (change + " ("+changePercentage+")"):""; width: parent.width * 25/100; font.pixelSize: 18; horizontalAlignment: Text.AlignLeft; elide: Text.ElideRight + color: change >= 0 ? "#00ff00":"#ff0000"; style: Text.Raised; styleColor: "black"} Text { text: volume; width: parent.width * 15/100; font.pixelSize: 18; horizontalAlignment: Text.AlignLeft; elide: Text.ElideLeft; color: "#cccccc"; style: Text.Raised; styleColor: "black" } Text { text: marketCap; width: parent.width * 15/100; font.pixelSize: 18; horizontalAlignment: Text.AlignLeft; elide: Text.ElideLeft; color: "#cccccc"; style: Text.Raised; styleColor: "black" } } @@ -174,10 +174,10 @@ PageStackWindow { width: parent.width * 18/100; height: parent.height spacing: 2 Text { text: change; font.pixelSize: 16; horizontalAlignment: Text.AlignLeft; elide: Text.ElideRight - color: if(change >= 0){"green";} else {"red";} + color: change >= 0 ? "#00ff00":"#ff0000"; style: Text.Raised; styleColor: "black" } Text { text: changePercentage; font.pixelSize: 16; horizontalAlignment: Text.AlignLeft; elide: Text.ElideRight; - color: if(change >= 0){"green";} else {"red";} + color: change >= 0 ? "#00ff00":"#ff0000"; style: Text.Raised; styleColor: "black" } } Text { text: volume; width: parent.width * 20/100; font.pixelSize: 18; horizontalAlignment: Text.AlignLeft; elide: Text.ElideLeft; color: "#cccccc"; style: Text.Raised; styleColor: "black" } @@ -210,7 +210,7 @@ PageStackWindow { } MouseArea{ anchors.fill: parent - onClicked: Qt.openUrlExternally(link); + onDoubleClicked: Qt.openUrlExternally(link); } } } @@ -297,7 +297,7 @@ PageStackWindow { id: listViewWrapper width: parent.width anchors.top: parent.top - anchors.bottom: footerText.top + anchors.bottom: footerTextArea.top color: "#343434" ListView { @@ -334,10 +334,12 @@ PageStackWindow { onQuoteRefreshCompleted: { if (success){ stockStatusMsgArea.visible = false; + listViewWrapper.visible = true; } else{ stockStatusText.text = strMessage; stockStatusMsgArea.visible = true; + listViewWrapper.visible = true; } } } @@ -345,24 +347,39 @@ PageStackWindow { } Rectangle{ - id: footerText + id: footerTextArea width: parent.width height: 25 color: "#343434" anchors.bottom: parent.bottom Text { - id: timeStamp + id: footerMessage anchors.fill: parent text: lastUpdatedTimeStamp horizontalAlignment: Text.AlignRight; verticalAlignment: Text.AlignVCenter width: parent.width; font.pixelSize: 12; elide: Text.ElideRight; color: "#cccccc" style: Text.Raised; styleColor: "black" + } - Connections { - target: appWindow - onQuoteRefreshCompleted:{ - timeStamp.text = lastUpdatedTimeStamp; + Timer { + id: footerMessageTimer + interval: 10000 + repeat: false + onTriggered: { + footerMessage.text = appWindow.lastUpdatedTimeStamp; + } + } + + Connections { + target: appWindow + onQuoteRefreshCompleted:{ + if (success){ + footerMessage.text = "Double-tap on a row to display more details."; + footerMessageTimer.start(); + } + else{ + footerMessage.text = appWindow.lastUpdatedTimeStamp; } } } @@ -373,11 +390,39 @@ PageStackWindow { Component{ id: stockDetailsComponent StockDetailsComponent { + id: detailsComponent symbol: selectedSymbol onLogRequest: logUtility.logMessage(strMessage) - onLockInLandscape: mainPage.orientationLock = PageOrientation.LockLandscape - onUnlockOrientation: mainPage.orientationLock = PageOrientation.Automatic - } + orientation: (appWindow.inPortrait)? "Portrait":"Landscape"; //Initial Orientation + states: [ + State { + name: "inLandscape" + when: !appWindow.inPortrait + PropertyChanges { + target: detailsComponent + orientation: "Landscape" + } + }, + State { + name: "inPortrait" + when: appWindow.inPortrait + PropertyChanges { + target: detailsComponent + orientation: "Portrait" + } + } + ] + + Component.onCompleted: { + if (appWindow.inPortrait){ + logUtility.logMessage("Initial orientation is Portrait"); + } + else + { + logUtility.logMessage("Initial orientation is Landscape"); + } + } + } } Component {