psa: added progress bar for updates
[feedingit] / psa_harmattan / feedingit / deb_dist / feedingit-0.1.0 / debian / feedingit / usr / share / feedingit / qml / main.qml
index 0ade188..267d1a6 100644 (file)
@@ -9,21 +9,38 @@ PageStackWindow {
     signal longPressFeed(string key)
     signal categoryReloadRequest()
     signal feedReloadRequest()
+    signal articlesReloadRequest()
     signal addFileSignal(string fullname, string filename)
 
     property string feedid
     property string catid
 
+    property bool isUpdateInProgress: false
+    property int updateProgressValue: 0
+
     function addFileNotification(fullname, filename) {
         window.addFileSignal(fullname,filename)
     }
 
     function updateStarted() {
         banner.show(qsTr("Update Started"))
+        updateProgressValue = 0
+        isUpdateInProgress = true
     }
 
     function updateFinished() {
+        categoryReloadRequest()
+        feedReloadRequest()
         banner.show(qsTr("Updated Completed"))
+        isUpdateInProgress = false
+    }
+
+    function updateProgress(total, completed) {
+        if (total>0) {
+            updateProgressValue = Math.round(100*completed/total);
+        } else {
+            updateProgressValue = 0
+        }
     }
 
     onLongPressFeed: {
@@ -72,7 +89,11 @@ PageStackWindow {
         id: myArticlesMenu
         visualParent: pageStack
         MenuLayout {
-            MenuItem { text: qsTr("Mark All As Read"); onClicked: controller.markAllAsRead(feedid); }
+            MenuItem { text: qsTr("Mark All As Read"); onClicked: {
+                    controller.markAllAsRead(feedid);
+                    articlesReloadRequest()
+                }
+            }
             MenuItem { text: qsTr("Update Feed"); onClicked: controller.updateFeed(feedid); }
             //MenuItem { text: qsTr("About FeedingIt"); onClicked: query.open(); }
         }
@@ -248,6 +269,10 @@ PageStackWindow {
                     onClicked: (myArticlesMenu.status == DialogStatus.Closed) ? myArticlesMenu.open() : myArticlesMenu.close()
                 }
             }
+            Connections {
+                 target: window
+                 onArticlesReloadRequest: flipper.reload()
+             }
         }
     }