From 1bdbc2ea55ab4ae821f8cab85db4beee912e2797 Mon Sep 17 00:00:00 2001 From: Max Lapan Date: Tue, 16 Mar 2010 17:38:42 +0300 Subject: [PATCH] Check for device state on update. --- mainwidget.cpp | 2 ++ settings.cpp | 4 ++++ settings.hpp | 1 + settingsDialog.cpp | 4 ++++ settingsDialog.hpp | 2 +- 5 files changed, 12 insertions(+), 1 deletion(-) diff --git a/mainwidget.cpp b/mainwidget.cpp index 8149f1f..187602f 100644 --- a/mainwidget.cpp +++ b/mainwidget.cpp @@ -106,6 +106,8 @@ void MainWidget::updateData () #if CHECK_FOR_CONNECTION update = ConnectionChecker::instance ()->checkConnection (_settings->check (Settings::C_UpdateOnGSM), _settings->check (Settings::C_UpdateOnWiFi)); + if (!_settings->check (Settings::C_UpdateWhenLocked)) + update &= !DeviceState::instance ()->locked (); #endif if (update) diff --git a/settings.cpp b/settings.cpp index 973e6d6..6831ecb 100644 --- a/settings.cpp +++ b/settings.cpp @@ -22,6 +22,7 @@ void Settings::load () _checks[C_ShowHint] = settings.value ("checks/hint", _checks[C_ShowHint]).toBool (); _checks[C_UpdateOnWiFi] = settings.value ("checks/updateOnWifi", _checks[C_UpdateOnWiFi]).toBool (); _checks[C_UpdateOnGSM] = settings.value ("checks/updateOnGSM", _checks[C_UpdateOnGSM]).toBool (); + _checks[C_UpdateWhenLocked] = settings.value ("checks/updateWhenLocked", _checks[C_UpdateWhenLocked]).toBool (); loadCities (&settings); @@ -41,6 +42,7 @@ void Settings::save () settings.setValue ("checks/hint", _checks[C_ShowHint]); settings.setValue ("checks/updateOnWifi", _checks[C_UpdateOnWiFi]); settings.setValue ("checks/updateOnGSM", _checks[C_UpdateOnGSM]); + settings.setValue ("checks/updateWhenLocked", _checks[C_UpdateWhenLocked]); settings.setValue ("updateInterval", intervalIndex2Minutes (_updateIntervalIndex)); @@ -99,6 +101,8 @@ void Settings::makeDefault () setCheck (C_UpdateOnWiFi, true); + setCheck (C_UpdateWhenLocked, true); + _updateIntervalIndex = 3; } diff --git a/settings.hpp b/settings.hpp index 28fb78f..cc896e6 100644 --- a/settings.hpp +++ b/settings.hpp @@ -15,6 +15,7 @@ public: C_ShowHint, C_UpdateOnWiFi, C_UpdateOnGSM, + C_UpdateWhenLocked, }; private: diff --git a/settingsDialog.cpp b/settingsDialog.cpp index 693c3ad..77ff7eb 100644 --- a/settingsDialog.cpp +++ b/settingsDialog.cpp @@ -206,11 +206,14 @@ UpdateSettingsDialog::UpdateSettingsDialog (Settings *_settings) _wifiUpdate->setChecked (settings ()->check (Settings::C_UpdateOnWiFi)); _gsmUpdate = new QCheckBox (tr ("Update via GSM"), this); _gsmUpdate->setChecked (settings ()->check (Settings::C_UpdateOnGSM)); + _lockedUpdate = new QCheckBox (tr ("Update when device locked"), this); + _lockedUpdate->setChecked (settings ()->check (Settings::C_UpdateWhenLocked)); initUpdateInterval (layout ()); layout ()->addWidget (_wifiUpdate); layout ()->addWidget (_gsmUpdate); + layout ()->addWidget (_lockedUpdate); } @@ -224,6 +227,7 @@ void UpdateSettingsDialog::saveSettings () #endif settings ()->setCheck (Settings::C_UpdateOnWiFi, _wifiUpdate->isChecked ()); settings ()->setCheck (Settings::C_UpdateOnGSM, _gsmUpdate->isChecked ()); + settings ()->setCheck (Settings::C_UpdateWhenLocked, _lockedUpdate->isChecked ()); } diff --git a/settingsDialog.hpp b/settingsDialog.hpp index 28a7892..9d041ec 100644 --- a/settingsDialog.hpp +++ b/settingsDialog.hpp @@ -84,7 +84,7 @@ class UpdateSettingsDialog : public BaseSettingsDialog private: QMaemo5ValueButton *_intervalButton; - QCheckBox *_wifiUpdate, *_gsmUpdate; + QCheckBox *_wifiUpdate, *_gsmUpdate, *_lockedUpdate; void initUpdateInterval (QBoxLayout *layout); -- 1.7.9.5