summaryrefslogtreecommitdiff
authorharlekin <harlekin>2002-04-15 20:30:41 (UTC)
committer harlekin <harlekin>2002-04-15 20:30:41 (UTC)
commit15244683bb97d303d0d3b6104b46a9b429aaed85 (patch) (unidiff)
treece57768177baec8b90146245a8cfad669addf647
parent551eb586e6a19db69348b0bb38f06171201d89a0 (diff)
downloadopie-15244683bb97d303d0d3b6104b46a9b429aaed85.zip
opie-15244683bb97d303d0d3b6104b46a9b429aaed85.tar.gz
opie-15244683bb97d303d0d3b6104b46a9b429aaed85.tar.bz2
added a configurable delay, so for example if 5 min are set, and the suspend time is shorter, no app is autostarted
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/launcher/desktop.cpp13
-rw-r--r--core/launcher/desktop.h2
-rw-r--r--core/launcher/launcher.cpp16
-rw-r--r--core/pim/today/today.cpp23
-rw-r--r--core/pim/today/todayconfig.cpp51
-rw-r--r--core/pim/today/todayconfig.h29
6 files changed, 93 insertions, 41 deletions
diff --git a/core/launcher/desktop.cpp b/core/launcher/desktop.cpp
index cf33011..43006f1 100644
--- a/core/launcher/desktop.cpp
+++ b/core/launcher/desktop.cpp
@@ -35,6 +35,7 @@
35#include <qpe/password.h> 35#include <qpe/password.h>
36#include <qpe/config.h> 36#include <qpe/config.h>
37#include <qpe/power.h> 37#include <qpe/power.h>
38#include <qpe/timeconversion.h>
38#include <qpe/qcopenvelope_qws.h> 39#include <qpe/qcopenvelope_qws.h>
39#include <qpe/global.h> 40#include <qpe/global.h>
40#ifdef QT_QWS_CUSTOM 41#ifdef QT_QWS_CUSTOM
@@ -547,14 +548,21 @@ void Desktop::raiseEmail()
547} 548}
548 549
549// autoStarts apps on resume and start 550// autoStarts apps on resume and start
550void Desktop::execAutoStart() 551void Desktop::execAutoStart() {
551{
552 QString appName; 552 QString appName;
553 int delay;
554 QDateTime now = QDateTime::currentDateTime();
553 Config cfg( "autostart" ); 555 Config cfg( "autostart" );
554 cfg.setGroup( "AutoStart" ); 556 cfg.setGroup( "AutoStart" );
555 appName = cfg.readEntry("Apps", ""); 557 appName = cfg.readEntry("Apps", "");
558 delay = (cfg.readEntry("Delay", "0" )).toInt();
559 // If the time between suspend and resume was longer then the
560 // value saved as delay, start the app
561 if ( suspendTime.secsTo(now) >= (delay*60) ) {
556 QCopEnvelope e("QPE/System", "execute(QString)"); 562 QCopEnvelope e("QPE/System", "execute(QString)");
557 e << QString(appName); 563 e << QString(appName);
564 } else {
565 }
558} 566}
559 567
560#if defined(QPE_HAVE_TOGGLELIGHT) 568#if defined(QPE_HAVE_TOGGLELIGHT)
@@ -593,6 +601,7 @@ void Desktop::togglePower()
593{ 601{
594 bool wasloggedin = loggedin; 602 bool wasloggedin = loggedin;
595 loggedin=0; 603 loggedin=0;
604 suspendTime = QDateTime::currentDateTime();
596 darkScreen(); 605 darkScreen();
597 if ( wasloggedin ) 606 if ( wasloggedin )
598 blankScreen(); 607 blankScreen();
diff --git a/core/launcher/desktop.h b/core/launcher/desktop.h
index de0dbf0..e094dc0 100644
--- a/core/launcher/desktop.h
+++ b/core/launcher/desktop.h
@@ -27,6 +27,7 @@
27#include <qpe/qpeapplication.h> 27#include <qpe/qpeapplication.h>
28 28
29#include <qwidget.h> 29#include <qwidget.h>
30#include <qdatetime.h>
30 31
31class Background; 32class Background;
32class Launcher; 33class Launcher;
@@ -126,6 +127,7 @@ private:
126 TransferServer *transferServer; 127 TransferServer *transferServer;
127 PackageSlave *packageSlave; 128 PackageSlave *packageSlave;
128 129
130 QDateTime suspendTime;
129 bool keyclick,touchclick; 131 bool keyclick,touchclick;
130}; 132};
131 133
diff --git a/core/launcher/launcher.cpp b/core/launcher/launcher.cpp
index 1449269..979eee6 100644
--- a/core/launcher/launcher.cpp
+++ b/core/launcher/launcher.cpp
@@ -754,7 +754,7 @@ void Launcher::systemMessage( const QCString &msg, const QByteArray &data)
754 Config cfg( "autostart" ); 754 Config cfg( "autostart" );
755 cfg.setGroup( "AutoStart" ); 755 cfg.setGroup( "AutoStart" );
756 if ( modifier.compare("add") == 0 ){ 756 if ( modifier.compare("add") == 0 ){
757 // only add it appname is entered 757 // only add if appname is entered
758 if (!appName.isEmpty()) { 758 if (!appName.isEmpty()) {
759 cfg.writeEntry("Apps", appName); 759 cfg.writeEntry("Apps", appName);
760 } 760 }
@@ -768,6 +768,20 @@ void Launcher::systemMessage( const QCString &msg, const QByteArray &data)
768 cfg.writeEntry("Apps", ""); 768 cfg.writeEntry("Apps", "");
769 } 769 }
770 } 770 }
771 // case the autostart feature should be delayed
772 } else if ( msg == "autoStart(QString, QString, QString)") {
773 QString modifier, appName, delay;
774 stream >> modifier >> appName >> delay;
775 Config cfg( "autostart" );
776 cfg.setGroup( "AutoStart" );
777 if ( modifier.compare("add") == 0 ){
778 // only add it appname is entered
779 if (!appName.isEmpty()) {
780 cfg.writeEntry("Apps", appName);
781 cfg.writeEntry("Delay", delay);
782 }
783 } else {
784 }
771 } else if ( msg == "sendCardInfo()" ) { 785 } else if ( msg == "sendCardInfo()" ) {
772 QCopEnvelope e( "QPE/Desktop", "cardInfo(QString)" ); 786 QCopEnvelope e( "QPE/Desktop", "cardInfo(QString)" );
773 const QList<FileSystem> &fs = storage->fileSystems(); 787 const QList<FileSystem> &fs = storage->fileSystems();
diff --git a/core/pim/today/today.cpp b/core/pim/today/today.cpp
index 61bd0c4..f5ed8d2 100644
--- a/core/pim/today/today.cpp
+++ b/core/pim/today/today.cpp
@@ -22,7 +22,7 @@
22#include <qpe/timestring.h> 22#include <qpe/timestring.h>
23#include <qpe/config.h> 23#include <qpe/config.h>
24#include <qpe/qcopenvelope_qws.h> 24#include <qpe/qcopenvelope_qws.h>
25#include <qpe/qprocess.h> 25//#include <qpe/qprocess.h>
26#include <qpe/resource.h> 26#include <qpe/resource.h>
27#include <qpe/contact.h> 27#include <qpe/contact.h>
28#include <qpe/global.h> 28#include <qpe/global.h>
@@ -38,7 +38,7 @@
38#include <qlabel.h> 38#include <qlabel.h>
39#include <qtimer.h> 39#include <qtimer.h>
40#include <qpixmap.h> 40#include <qpixmap.h>
41#include <qfileinfo.h> 41//#include <qfileinfo.h>
42#include <qlayout.h> 42#include <qlayout.h>
43#include <qtl.h> 43#include <qtl.h>
44 44
@@ -55,6 +55,7 @@ int SHOW_NOTES;
55int ONLY_LATER; 55int ONLY_LATER;
56int AUTOSTART; 56int AUTOSTART;
57int NEW_START=1; 57int NEW_START=1;
58QString AUTOSTART_TIMER;
58 59
59/* 60/*
60 * Constructs a Example which is a child of 'parent', with the 61 * Constructs a Example which is a child of 'parent', with the
@@ -126,13 +127,15 @@ void Today::setOwnerField(QString &message) {
126 * If registered against that today ist started on each resume. 127 * If registered against that today ist started on each resume.
127 */ 128 */
128void Today::autoStart() { 129void Today::autoStart() {
129 Config cfg("today"); 130 // Config cfg("today");
130 cfg.setGroup("Autostart"); 131 //cfg.setGroup("Autostart");
131 AUTOSTART = cfg.readNumEntry("autostart",1); 132 //AUTOSTART = cfg.readNumEntry("autostart",1);
133
132 if (AUTOSTART) { 134 if (AUTOSTART) {
133 QCopEnvelope e("QPE/System", "autoStart(QString,QString)"); 135 QCopEnvelope e("QPE/System", "autoStart(QString, QString, QString)");
134 e << QString("add"); 136 e << QString("add");
135 e << QString("today"); 137 e << QString("today");
138 e << AUTOSTART_TIMER;
136 } else { 139 } else {
137 QCopEnvelope e("QPE/System", "autoStart(QString,QString)"); 140 QCopEnvelope e("QPE/System", "autoStart(QString,QString)");
138 e << QString("remove"); 141 e << QString("remove");
@@ -212,6 +215,10 @@ void Today::init() {
212 // should only later appointments be shown or all for the current day. 215 // should only later appointments be shown or all for the current day.
213 ONLY_LATER = cfg.readNumEntry("onlylater",1); 216 ONLY_LATER = cfg.readNumEntry("onlylater",1);
214 217
218 cfg.setGroup("Autostart");
219 AUTOSTART = cfg.readNumEntry("autostart",1);
220 AUTOSTART_TIMER = cfg.readEntry("autostartdelay", "0");
221
215 //db = new DateBookDB; 222 //db = new DateBookDB;
216} 223}
217 224
@@ -240,6 +247,8 @@ void Today::startConfig() {
240 conf->CheckBox3->setChecked(ONLY_LATER); 247 conf->CheckBox3->setChecked(ONLY_LATER);
241 // if today should be autostarted 248 // if today should be autostarted
242 conf->CheckBoxAuto->setChecked(AUTOSTART); 249 conf->CheckBoxAuto->setChecked(AUTOSTART);
250 // autostart only if device has been suspended for X minutes
251 conf->SpinBoxTime->setValue( AUTOSTART_TIMER.toInt() );
243 252
244 conf->exec(); 253 conf->exec();
245 254
@@ -250,6 +259,7 @@ void Today::startConfig() {
250 int maxcharclip = conf->SpinBox7->value(); 259 int maxcharclip = conf->SpinBox7->value();
251 int onlylater = conf->CheckBox3->isChecked(); 260 int onlylater = conf->CheckBox3->isChecked();
252 int autostart =conf->CheckBoxAuto->isChecked(); 261 int autostart =conf->CheckBoxAuto->isChecked();
262 int autostartdelay = conf->SpinBoxTime->value();
253 263
254 cfg.writeEntry("maxlinestask",maxlinestask); 264 cfg.writeEntry("maxlinestask",maxlinestask);
255 cfg.writeEntry("maxcharclip", maxcharclip); 265 cfg.writeEntry("maxcharclip", maxcharclip);
@@ -259,6 +269,7 @@ void Today::startConfig() {
259 cfg.writeEntry("onlylater", onlylater); 269 cfg.writeEntry("onlylater", onlylater);
260 cfg.setGroup("Autostart"); 270 cfg.setGroup("Autostart");
261 cfg.writeEntry("autostart", autostart); 271 cfg.writeEntry("autostart", autostart);
272 cfg.writeEntry("autostartdelay", autostartdelay);
262 273
263 // sync it to "disk" 274 // sync it to "disk"
264 cfg.write(); 275 cfg.write();
diff --git a/core/pim/today/todayconfig.cpp b/core/pim/today/todayconfig.cpp
index 500e8fb..905ec4b 100644
--- a/core/pim/today/todayconfig.cpp
+++ b/core/pim/today/todayconfig.cpp
@@ -1,11 +1,22 @@
1/**************************************************************************** 1/*
2** Form implementation generated from reading ui file 'todayconfig.ui' 2 * todayconfig.cpp
3 *
4 * ---------------------
5 *
6 * begin : Sun 10 17:20:00 CEST 2002
7 * copyright : (c) 2002 by Maximilian Reiß
8 * email : max.reiss@gmx.de
9 *
10 */
11/***************************************************************************
3** 12**
4** Created: Thu Feb 14 15:04:33 2002 13 * This program is free software; you can redistribute it and/or modify *
5** by: The User Interface Compiler (uic) 14 * it under the terms of the GNU General Public License as published by *
15 * the Free Software Foundation; either version 2 of the License, or *
16 * (at your option) any later version. *
6** 17**
7** WARNING! All changes made in this file will be lost! 18 ***************************************************************************/
8****************************************************************************/ 19
9#include "todayconfig.h" 20#include "todayconfig.h"
10 21
11#include <qcheckbox.h> 22#include <qcheckbox.h>
@@ -16,18 +27,10 @@
16#include <qwidget.h> 27#include <qwidget.h>
17#include <qlayout.h> 28#include <qlayout.h>
18#include <qvariant.h> 29#include <qvariant.h>
19#include <qwhatsthis.h> 30//#include <qwhatsthis.h>
20 31
21/*
22 * Constructs a todayconfig which is a child of 'parent', with the
23 * name 'name' and widget flags set to 'f'
24 *
25 * The dialog will by default be modeless, unless you set 'modal' to
26 * TRUE to construct a modal dialog.
27 */
28todayconfig::todayconfig( QWidget* parent, const char* name, bool modal, WFlags fl ) 32todayconfig::todayconfig( QWidget* parent, const char* name, bool modal, WFlags fl )
29 : QDialog( parent, name, modal, fl ) 33 : QDialog( parent, name, modal, fl ) {
30{
31 if ( !name ) 34 if ( !name )
32 setName( "todayconfig" ); 35 setName( "todayconfig" );
33 resize( 175, 232 ); 36 resize( 175, 232 );
@@ -120,7 +123,6 @@ todayconfig::todayconfig( QWidget* parent, const char* name, bool modal, WFlags
120 SpinBox7 = new QSpinBox( Frame14, "SpinBox7" ); 123 SpinBox7 = new QSpinBox( Frame14, "SpinBox7" );
121 SpinBox7->setGeometry( QRect( 115, 20, 58, 25 ) ); 124 SpinBox7->setGeometry( QRect( 115, 20, 58, 25 ) );
122 SpinBox7->setMaxValue( 80 ); 125 SpinBox7->setMaxValue( 80 );
123 SpinBox7->setValue( 30 );
124 126
125 TextLabel2 = new QLabel( Frame14, "AutoStart" ); 127 TextLabel2 = new QLabel( Frame14, "AutoStart" );
126 TextLabel2->setGeometry( QRect( 20, 60, 100, 45 ) ); 128 TextLabel2->setGeometry( QRect( 20, 60, 100, 45 ) );
@@ -132,15 +134,18 @@ todayconfig::todayconfig( QWidget* parent, const char* name, bool modal, WFlags
132 CheckBoxAuto = new QCheckBox (Frame14, "CheckBoxAuto" ); 134 CheckBoxAuto = new QCheckBox (Frame14, "CheckBoxAuto" );
133 CheckBoxAuto->setGeometry( QRect( 158, 60, 27, 21 ) ); 135 CheckBoxAuto->setGeometry( QRect( 158, 60, 27, 21 ) );
134 136
137 TimeLabel = new QLabel( Frame14, "TimeLabel" );
138 TimeLabel->setGeometry( QRect ( 20, 120, 120, 45 ) );
139 TimeLabel->setText( tr( "Activate the \n"
140 "autostart after how\n"
141 "many minutes?" ) );
142 SpinBoxTime = new QSpinBox( Frame14, "TimeSpinner");
143 SpinBoxTime->setGeometry( QRect( 115, 120, 58, 25 ) );
144
135 TabWidget3->insertTab( tab_3, tr( "Misc" ) ); 145 TabWidget3->insertTab( tab_3, tr( "Misc" ) );
136 146
137} 147}
138 148
139/* 149todayconfig::~todayconfig() {
140 * Destroys the object and frees any allocated resources
141 */
142todayconfig::~todayconfig()
143{
144 // no need to delete child widgets, Qt does it all for us
145} 150}
146 151
diff --git a/core/pim/today/todayconfig.h b/core/pim/today/todayconfig.h
index 4739b5a..2986c4c 100644
--- a/core/pim/today/todayconfig.h
+++ b/core/pim/today/todayconfig.h
@@ -1,11 +1,21 @@
1/**************************************************************************** 1/*
2** Form interface generated from reading ui file 'todayconfig.ui' 2 * todayconfig.h
3 *
4 * ---------------------
5 *
6 * begin : Sun 10 17:20:00 CEST 2002
7 * copyright : (c) 2002 by Maximilian Reiß
8 * email : max.reiss@gmx.de
9 *
10 */
11/***************************************************************************
3** 12**
4** Created: Thu Feb 14 15:04:33 2002 13 * This program is free software; you can redistribute it and/or modify *
5** by: The User Interface Compiler (uic) 14 * it under the terms of the GNU General Public License as published by *
15 * the Free Software Foundation; either version 2 of the License, or *
16 * (at your option) any later version. *
6** 17**
7** WARNING! All changes made in this file will be lost! 18 ***************************************************************************/
8****************************************************************************/
9#ifndef TODAYCONFIG_H 19#ifndef TODAYCONFIG_H
10#define TODAYCONFIG_H 20#define TODAYCONFIG_H
11 21
@@ -21,8 +31,7 @@ class QSpinBox;
21class QTabWidget; 31class QTabWidget;
22class QWidget; 32class QWidget;
23 33
24class todayconfig : public QDialog 34class todayconfig : public QDialog {
25{
26 Q_OBJECT 35 Q_OBJECT
27 36
28public: 37public:
@@ -49,7 +58,9 @@ public:
49 QFrame* Frame14; 58 QFrame* Frame14;
50 QLabel* TextLabel1; 59 QLabel* TextLabel1;
51 QSpinBox* SpinBox7; 60 QSpinBox* SpinBox7;
61 QLabel* TimeLabel;
62 QSpinBox* SpinBoxTime;
52 63
53}; 64};
54 65
55#endif // TODAYCONFIG_H 66#endif