author | harlekin <harlekin> | 2002-03-07 11:06:58 (UTC) |
---|---|---|
committer | harlekin <harlekin> | 2002-03-07 11:06:58 (UTC) |
commit | 69d2df15c2dbd280f6ed99d5eecf487345f1de08 (patch) (side-by-side diff) | |
tree | 7a4f07836247e50c1cd2ed112010c172f4f9a371 | |
parent | a2f42b6df21b2e5d52b49376542d0f4c7443a897 (diff) | |
download | opie-69d2df15c2dbd280f6ed99d5eecf487345f1de08.zip opie-69d2df15c2dbd280f6ed99d5eecf487345f1de08.tar.gz opie-69d2df15c2dbd280f6ed99d5eecf487345f1de08.tar.bz2 |
support for the launcher autostart feature
-rw-r--r-- | core/pim/today/today.cpp | 41 | ||||
-rw-r--r-- | core/pim/today/today.h | 1 | ||||
-rw-r--r-- | core/pim/today/todayconfig.cpp | 14 | ||||
-rw-r--r-- | core/pim/today/todayconfig.h | 2 |
4 files changed, 48 insertions, 10 deletions
diff --git a/core/pim/today/today.cpp b/core/pim/today/today.cpp index 6a0e9fc..0fa7ad5 100644 --- a/core/pim/today/today.cpp +++ b/core/pim/today/today.cpp @@ -41,53 +41,71 @@ //#include <iostream.h> //#include <unistd.h> #include <stdlib.h> int MAX_LINES_TASK; int MAX_CHAR_CLIP; int MAX_LINES_MEET; int SHOW_LOCATION; int SHOW_NOTES; // show only later dates int ONLY_LATER; +int AUTOSTART; /* * Constructs a Example which is a child of 'parent', with the * name 'name' and widget flags set to 'f' */ Today::Today( QWidget* parent, const char* name, WFlags fl ) : TodayBase( parent, name, fl ) { QObject::connect( (QObject*)PushButton1, SIGNAL( clicked() ), this, SLOT(startConfig() ) ); QObject::connect( (QObject*)TodoButton, SIGNAL( clicked() ), this, SLOT(startTodo() ) ); QObject::connect( (QObject*)DatesButton, SIGNAL( clicked() ), this, SLOT(startDatebook() ) ); QObject::connect( (QObject*)MailButton, SIGNAL( clicked() ), this, SLOT(startMail() ) ); + + autoStart(); draw(); } +void Today::autoStart() { + Config cfg("today"); + cfg.setGroup("Autostart"); + AUTOSTART = cfg.readNumEntry("autostart",1); + if (AUTOSTART) { + QCopEnvelope e("QPE/System", "autoStart(QString,QString)"); + e << QString("add"); + e << QString("today"); + } else { + QCopEnvelope e("QPE/System", "autoStart(QString,QString)"); + e << QString("remove"); + e << QString("today"); + } +} + void Today::draw() { init(); getDates(); getMail(); getTodo(); // how often refresh QTimer::singleShot( 5*1000, this, SLOT(draw()) ); } void Today::init() { QDate date = QDate::currentDate(); - QString time = (date.toString()); + QString time = (tr( date.toString() ), white); - TextLabel1->setText("<qt><font color=white>" +time + "<font></qt>"); + TextLabel1->setText(time); db = new DateBookDB; // read config Config cfg("today"); cfg.setGroup("BaseConfig"); // how many lines should be showed in the task section MAX_LINES_TASK = cfg.readNumEntry("maxlinestask",5); // after how many chars should the be cut off on tasks and notes MAX_CHAR_CLIP = cfg.readNumEntry("maxcharclip",30); // how many lines should be showed in the datebook section MAX_LINES_MEET = cfg.readNumEntry("maxlinesmeet",5); @@ -114,42 +132,47 @@ void Today::startConfig() { conf->SpinBox1->setValue(MAX_LINES_MEET); // location show box conf->CheckBox1->setChecked(SHOW_LOCATION); // notes show box conf->CheckBox2->setChecked(SHOW_NOTES); // task lines conf->SpinBox2->setValue(MAX_LINES_TASK); // clip when? conf->SpinBox7->setValue(MAX_CHAR_CLIP); // only later conf->CheckBox3->setChecked(ONLY_LATER); + conf->CheckBoxAuto->setChecked(AUTOSTART); + conf->exec(); int maxlinestask = conf->SpinBox2->value(); int maxmeet = conf->SpinBox1->value(); int location = conf->CheckBox1->isChecked(); int notes = conf->CheckBox2->isChecked(); int maxcharclip = conf->SpinBox7->value(); int onlylater = conf->CheckBox3->isChecked(); - + int autostart =conf->CheckBoxAuto->isChecked(); + cfg.writeEntry("maxlinestask",maxlinestask); cfg.writeEntry("maxcharclip", maxcharclip); cfg.writeEntry("maxlinesmeet",maxmeet); cfg.writeEntry("showlocation",location); cfg.writeEntry("shownotes", notes); cfg.writeEntry("onlylater", onlylater); + cfg.setGroup("Autostart"); + cfg.writeEntry("autostart", autostart); // sync it to "disk" cfg.write(); - + autoStart(); draw(); } /* * Get all events that are in the datebook xml file for today */ void Today::getDates() { QDate date = QDate::currentDate(); QTime time = QTime::currentTime(); QValueList<EffectiveEvent> list = db->getEffectiveEvents(date, date); @@ -215,25 +238,25 @@ void Today::getDates() { // end time of event + "<b> - </b>" + TimeString::timeString(QTime((*it).event().end().time()) ); } msg += "<BR>"; // include possible note or not if (SHOW_NOTES == 1) { msg += " <i>note</i>:" +((*it).notes()).mid(0, MAX_CHAR_CLIP) + "<br>"; } } } } if (msg.isEmpty()) { - msg = "No more appointments today"; + msg = tr("No more appointments today"); } DatesField->setText(msg); } } /* * Parse in the todolist.xml */ QList<TodoItem> Today::loadTodo(const char *filename) { DOM *todo; ELE *tasks; ELE **tasklist; @@ -331,34 +354,34 @@ void Today::getTodo() { for( item = todolist.first(); item; item = todolist.next()) { if (!(item->getCompleted() == 1) ) { count++; if (count <= MAX_LINES_TASK) { tmpout += "<b>- </b>" + QString(((item)->getDescription().mid(0, MAX_CHAR_CLIP) + ("<br>"))); } } } } if (count > 0) { if( count == 1 ) { - output = QString("There is <b> 1</b> active task: <br>" ); + output = tr("There is <b> 1</b> active task: <br>" ); } else { - output = QString("There are <b> %1</b> active tasks: <br>").arg(count); + output = tr("There are <b> %1</b> active tasks: <br>").arg(count); } output += tmpout; } else { - output = ("No active tasks"); + output = tr("No active tasks"); } - TodoField->setText(output); + TodoField->setText(tr(output)); } /* * launches datebook */ void Today::startDatebook() { QCopEnvelope e("QPE/System", "execute(QString)"); e << QString("datebook"); } /* * launches todolist diff --git a/core/pim/today/today.h b/core/pim/today/today.h index 6b8c0bf..07bfd61 100644 --- a/core/pim/today/today.h +++ b/core/pim/today/today.h @@ -39,24 +39,25 @@ class Today : public TodayBase private slots: void startConfig(); void startTodo(); void startDatebook(); void startMail(); void draw(); private: void init(); void getDates(); void getTodo(); void getMail(); + void autoStart(); QList<TodoItem> loadTodo(const char *filename); private: DateBookDB *db; todayconfig *conf; //Config cfg; int MAX_LINES_TASK; int MAX_CHAR_CLIP; int MAX_LINES_MEET; int SHOW_LOCATION; int SHOW_NOTES; }; #endif // TODAY_H diff --git a/core/pim/today/todayconfig.cpp b/core/pim/today/todayconfig.cpp index 4f2633d..7c690a7 100644 --- a/core/pim/today/todayconfig.cpp +++ b/core/pim/today/todayconfig.cpp @@ -113,23 +113,35 @@ todayconfig::todayconfig( QWidget* parent, const char* name, bool modal, WFlags Frame14->setFrameShape( QFrame::StyledPanel ); Frame14->setFrameShadow( QFrame::Raised ); TextLabel1 = new QLabel( Frame14, "TextLabel1" ); TextLabel1->setGeometry( QRect( 20, 20, 100, 30 ) ); TextLabel1->setText( tr( "Clip after how\n" "many letters" ) ); SpinBox7 = new QSpinBox( Frame14, "SpinBox7" ); SpinBox7->setGeometry( QRect( 115, 20, 58, 25 ) ); SpinBox7->setMaxValue( 80 ); SpinBox7->setValue( 30 ); - TabWidget3->insertTab( tab_3, tr( "All" ) ); + + TextLabel2 = new QLabel( Frame14, "AutoStart" ); + TextLabel2->setGeometry( QRect( 20, 60, 100, 45 ) ); + TextLabel2->setText( tr( "Should today be\n" + "autostarted on\n" + "resume ?" + " (Opie only)" ) ); + + CheckBoxAuto = new QCheckBox (Frame14, "CheckBoxAuto" ); + CheckBoxAuto->setGeometry( QRect( 158, 60, 27, 21 ) ); + + TabWidget3->insertTab( tab_3, tr( "Misc" ) ); + } /* * Destroys the object and frees any allocated resources */ todayconfig::~todayconfig() { // no need to delete child widgets, Qt does it all for us } diff --git a/core/pim/today/todayconfig.h b/core/pim/today/todayconfig.h index 7facf85..020097d 100644 --- a/core/pim/today/todayconfig.h +++ b/core/pim/today/todayconfig.h @@ -25,27 +25,29 @@ class todayconfig : public QDialog { Q_OBJECT public: todayconfig( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); ~todayconfig(); QTabWidget* TabWidget3; QWidget* tab; QFrame* Frame8; QLabel* TextLabel4; QLabel* TextLabel5; + QLabel* TextLabel2; QCheckBox* CheckBox3; QCheckBox* CheckBox2; QCheckBox* CheckBox1; + QCheckBox* CheckBoxAuto; QSpinBox* SpinBox1; QLabel* TextLabel3; QWidget* tab_2; QFrame* Frame9; QLabel* TextLabel6; QSpinBox* SpinBox2; QWidget* tab_3; QFrame* Frame14; QLabel* TextLabel1; QSpinBox* SpinBox7; }; |