[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