[Pkg-owncloud-commits] [owncloud-client] 134/498: App: Do a regular check for updates, currently hardcoded every two hours.
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 5b65bbf8e5da2eacf8508e54641b85db44fa9061
Author: Klaas Freitag <freitag at owncloud.com>
Date: Wed Jun 3 09:04:12 2015 +0200
App: Do a regular check for updates, currently hardcoded every two hours.
---
src/gui/application.cpp | 19 ++++++++++++-------
src/gui/application.h | 1 +
src/gui/updater/ocupdater.cpp | 12 ++++++++++--
src/gui/updater/updater.cpp | 5 +++++
src/gui/updater/updater.h | 2 ++
5 files changed, 30 insertions(+), 9 deletions(-)
diff --git a/src/gui/application.cpp b/src/gui/application.cpp
index 1295cee..5d60242 100644
--- a/src/gui/application.cpp
+++ b/src/gui/application.cpp
@@ -175,11 +175,10 @@ Application::Application(int &argc, char **argv) :
// Also check immediatly
QTimer::singleShot( 0, this, SLOT( slotCheckConnection() ));
- if( cfg.skipUpdateCheck() ) {
- qDebug() << Q_FUNC_INFO << "Skipping update check";
- } else {
- QTimer::singleShot( 3000, this, SLOT( slotStartUpdateDetector() ));
- }
+ // Update checks
+ _updaterTimer.setInterval(1000*120*60); // check every two hours
+ connect(&_updaterTimer, SIGNAL(timeout()), this, SLOT(slotStartUpdateDetector()));
+ QTimer::singleShot( 3000, this, SLOT( slotStartUpdateDetector() ));
connect (this, SIGNAL(aboutToQuit()), SLOT(slotCleanup()));
@@ -249,8 +248,14 @@ void Application::slotCleanup()
void Application::slotStartUpdateDetector()
{
- Updater *updater = Updater::instance();
- updater->backgroundCheckForUpdate();
+ ConfigFile cfg;
+
+ if( cfg.skipUpdateCheck() ) {
+ qDebug() << Q_FUNC_INFO << "Skipping update check because of config file";
+ } else {
+ Updater *updater = Updater::instance();
+ updater->backgroundCheckForUpdate();
+ }
}
void Application::slotCheckConnection()
diff --git a/src/gui/application.h b/src/gui/application.h
index 3657d79..d82343d 100644
--- a/src/gui/application.h
+++ b/src/gui/application.h
@@ -107,6 +107,7 @@ private:
ClientProxy _proxy;
QTimer _checkConnectionTimer;
+ QTimer _updaterTimer;
#if defined(WITH_CRASHREPORTER)
QScopedPointer<CrashReporter::Handler> _crashHandler;
diff --git a/src/gui/updater/ocupdater.cpp b/src/gui/updater/ocupdater.cpp
index 04c2ef5..c009fc7 100644
--- a/src/gui/updater/ocupdater.cpp
+++ b/src/gui/updater/ocupdater.cpp
@@ -65,8 +65,16 @@ bool OCUpdater::performUpdate()
void OCUpdater::backgroundCheckForUpdate()
{
- // FIXME
- checkForUpdate();
+ int dlState = downloadState();
+
+ if( dlState == Unknown ||
+ dlState == UpToDate ||
+ dlState == DownloadComplete ||
+ dlState == DownloadFailed ||
+ dlState == DownloadTimedOut ) {
+ // how about UpdateOnlyAvailableThroughSystem?
+ checkForUpdate();
+ }
}
QString OCUpdater::statusString() const
diff --git a/src/gui/updater/updater.cpp b/src/gui/updater/updater.cpp
index 85db07b..f530191 100644
--- a/src/gui/updater/updater.cpp
+++ b/src/gui/updater/updater.cpp
@@ -125,4 +125,9 @@ QString Updater::clientVersion()
return QString::fromLatin1(MIRALL_STRINGIFY(MIRALL_VERSION_FULL));
}
+int Updater::downloadState() const
+{
+ return instance()->downloadState();
+}
+
} // namespace OCC
diff --git a/src/gui/updater/updater.h b/src/gui/updater/updater.h
index 4dddeb3..746120a 100644
--- a/src/gui/updater/updater.h
+++ b/src/gui/updater/updater.h
@@ -33,6 +33,8 @@ public:
virtual void checkForUpdate() = 0;
virtual void backgroundCheckForUpdate() = 0;
+ int downloadState() const;
+
virtual bool handleStartup() = 0;
protected:
--
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