[Pkg-owncloud-commits] [owncloud-client] 135/498: Updater: Do a tray notification if a new update is available.

Sandro Knauß hefee-guest at moszumanska.debian.org
Tue Aug 11 14:48:43 UTC 2015


This is an automated email from the git hooks/post-receive script.

hefee-guest pushed a commit to branch master
in repository owncloud-client.

commit c8cb604c18d6bce0a1bc12260a24ad6c85d33403
Author: Klaas Freitag <freitag at owncloud.com>
Date:   Wed Jun 3 20:43:31 2015 +0200

    Updater: Do a tray notification if a new  update is available.
---
 src/gui/application.cpp       | 22 ++++++++++++++++++++--
 src/gui/application.h         |  1 +
 src/gui/generalsettings.cpp   |  3 +--
 src/gui/updater/ocupdater.cpp |  2 +-
 4 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/src/gui/application.cpp b/src/gui/application.cpp
index 5d60242..8bc0e05 100644
--- a/src/gui/application.cpp
+++ b/src/gui/application.cpp
@@ -34,6 +34,8 @@
 #include "sharedialog.h"
 
 #include "updater/updater.h"
+#include "updater/ocupdater.h"
+
 #include "creds/abstractcredentials.h"
 
 #include "config.h"
@@ -253,8 +255,24 @@ void Application::slotStartUpdateDetector()
     if( cfg.skipUpdateCheck() ) {
         qDebug() << Q_FUNC_INFO << "Skipping update check because of config file";
     } else {
-        Updater *updater = Updater::instance();
-        updater->backgroundCheckForUpdate();
+        if (OCUpdater *updater = dynamic_cast<OCUpdater*>(Updater::instance())) {
+            connect(updater, SIGNAL(downloadStateChanged()), this,
+                    SLOT(slotNotifyAboutAvailableUpdate()), Qt::UniqueConnection);
+
+            updater->backgroundCheckForUpdate();
+        }
+    }
+}
+
+void Application::slotNotifyAboutAvailableUpdate()
+{
+    if( _gui ) {
+        if (OCUpdater *updater = dynamic_cast<OCUpdater*>(Updater::instance())) {
+            // Show a tray message if an Update is ready...
+            if( updater->downloadState() == OCUpdater::DownloadComplete ) {
+                _gui->slotShowTrayMessage( tr("Update Check"), updater->statusString() );
+            }
+        }
     }
 }
 
diff --git a/src/gui/application.h b/src/gui/application.h
index d82343d..4f596d8 100644
--- a/src/gui/application.h
+++ b/src/gui/application.h
@@ -84,6 +84,7 @@ protected slots:
     void slotAccountStateRemoved(AccountState *accountState);
     void slotAccountStateChanged(int state);
     void slotCrash();
+    void slotNotifyAboutAvailableUpdate();
 
 private:
     void setHelp();
diff --git a/src/gui/generalsettings.cpp b/src/gui/generalsettings.cpp
index 2c63770..419301d 100644
--- a/src/gui/generalsettings.cpp
+++ b/src/gui/generalsettings.cpp
@@ -85,8 +85,7 @@ void GeneralSettings::loadMiscSettings()
 
 void GeneralSettings::slotUpdateInfo()
 {
-    if (OCUpdater *updater = dynamic_cast<OCUpdater*>(Updater::instance()))
-    {
+    if (OCUpdater *updater = dynamic_cast<OCUpdater*>(Updater::instance())) {
         connect(updater, SIGNAL(downloadStateChanged()), SLOT(slotUpdateInfo()), Qt::UniqueConnection);
         connect(_ui->restartButton, SIGNAL(clicked()), updater, SLOT(slotStartInstaller()), Qt::UniqueConnection);
         connect(_ui->restartButton, SIGNAL(clicked()), qApp, SLOT(quit()), Qt::UniqueConnection);
diff --git a/src/gui/updater/ocupdater.cpp b/src/gui/updater/ocupdater.cpp
index c009fc7..fe40801 100644
--- a/src/gui/updater/ocupdater.cpp
+++ b/src/gui/updater/ocupdater.cpp
@@ -69,7 +69,7 @@ void OCUpdater::backgroundCheckForUpdate()
 
      if( dlState == Unknown ||
              dlState == UpToDate         ||
-             dlState == DownloadComplete ||
+             /* dlState == DownloadComplete ||  <- are we checking if a previous download was successful already? */
              dlState == DownloadFailed   ||
              dlState == DownloadTimedOut ) {
          // how about  UpdateOnlyAvailableThroughSystem?

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-owncloud/owncloud-client.git



More information about the Pkg-owncloud-commits mailing list