summaryrefslogtreecommitdiff
authorharlekin <harlekin>2002-10-02 11:27:35 (UTC)
committer harlekin <harlekin>2002-10-02 11:27:35 (UTC)
commitff02919c1d2e83c3cb0dc1c726bf1eb636d1eb38 (patch) (unidiff)
tree6fab13be118de545153d3081dba989864ba3b57c
parent8f904d99e7b6e04b6043226a63f6c417171a7cad (diff)
downloadopie-ff02919c1d2e83c3cb0dc1c726bf1eb636d1eb38.zip
opie-ff02919c1d2e83c3cb0dc1c726bf1eb636d1eb38.tar.gz
opie-ff02919c1d2e83c3cb0dc1c726bf1eb636d1eb38.tar.bz2
fixed broken autostart handling
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/today/TODO6
-rw-r--r--core/pim/today/todayconfig.cpp14
-rw-r--r--core/pim/today/todayconfig.h2
3 files changed, 15 insertions, 7 deletions
diff --git a/core/pim/today/TODO b/core/pim/today/TODO
index 6634cad..49503bd 100644
--- a/core/pim/today/TODO
+++ b/core/pim/today/TODO
@@ -1,9 +1,15 @@
1TODO for today: 1TODO for today:
2 2
3- all icons clickable
4
5- retail rom mail plugin (z)
6
7- autostart on retail rom (Z)
8
3* show "upcoming appointents the next days 9* show "upcoming appointents the next days
4 10
5* show alarm icons on alarm events (partly done) 11* show alarm icons on alarm events (partly done)
6 12
7* qcop integration for updating events? 13* qcop integration for updating events?
8 14
9 15
diff --git a/core/pim/today/todayconfig.cpp b/core/pim/today/todayconfig.cpp
index 9ff9ba6..3fc5830 100644
--- a/core/pim/today/todayconfig.cpp
+++ b/core/pim/today/todayconfig.cpp
@@ -11,210 +11,212 @@
11 * it under the terms of the GNU General Public License as published by * 11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or * 12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. * 13 * (at your option) any later version. *
14 * * 14 * *
15 ***************************************************************************/ 15 ***************************************************************************/
16 16
17#include "todayconfig.h" 17#include "todayconfig.h"
18 18
19#include <qpe/config.h> 19#include <qpe/config.h>
20#include <qpe/resource.h> 20#include <qpe/resource.h>
21#include <qpe/qcopenvelope_qws.h> 21#include <qpe/qcopenvelope_qws.h>
22 22
23#include <qcheckbox.h> 23#include <qcheckbox.h>
24#include <qlabel.h> 24#include <qlabel.h>
25#include <qspinbox.h> 25#include <qspinbox.h>
26#include <qtabwidget.h> 26#include <qtabwidget.h>
27#include <qlayout.h> 27#include <qlayout.h>
28#include <qheader.h> 28#include <qheader.h>
29#include <qhbox.h> 29#include <qhbox.h>
30#include <qvbox.h> 30#include <qvbox.h>
31#include <qtoolbutton.h> 31#include <qtoolbutton.h>
32 32
33class ToolButton : public QToolButton { 33class ToolButton : public QToolButton {
34 34
35public: 35public:
36 ToolButton( QWidget *parent, const char *name, const QString& icon, QObject *handler, const QString& slot, bool t = FALSE ) 36 ToolButton( QWidget *parent, const char *name, const QString& icon, QObject *handler, const QString& slot, bool t = FALSE )
37 : QToolButton( parent, name ) { 37 : QToolButton( parent, name ) {
38 setPixmap( Resource::loadPixmap( icon ) ); 38 setPixmap( Resource::loadPixmap( icon ) );
39 setAutoRaise( TRUE ); 39 setAutoRaise( TRUE );
40 setFocusPolicy( QWidget::NoFocus ); 40 setFocusPolicy( QWidget::NoFocus );
41 setToggleButton( t ); 41 setToggleButton( t );
42 connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot ); 42 connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot );
43 } 43 }
44}; 44};
45 45
46 46
47/** 47/**
48 * The class has currently quite some duplicate code. 48 * The class has currently quite some duplicate code.
49 * By that way it would be real easy to have it as seperate app in settings tab 49 * By that way it would be real easy to have it as seperate app in settings tab
50 * 50 *
51 */ 51 */
52TodayConfig::TodayConfig( QWidget* parent, const char* name, bool modal, WFlags fl ) 52TodayConfig::TodayConfig( QWidget* parent, const char* name, bool modal, WFlags fl )
53 : QDialog( parent, name, modal, fl ) { 53 : QDialog( parent, name, modal, fl ) {
54 54
55 setCaption( tr( "Today config" ) ); 55 setCaption( tr( "Today config" ) );
56 56
57 QVBoxLayout *layout = new QVBoxLayout( this ); 57 QVBoxLayout *layout = new QVBoxLayout( this );
58 TabWidget3 = new OTabWidget ( this, "tabwidget", OTabWidget::Global, OTabWidget::Bottom ); 58 TabWidget3 = new OTabWidget ( this, "tabwidget", OTabWidget::Global, OTabWidget::Bottom );
59 layout->addWidget( TabWidget3 ); 59 layout->addWidget( TabWidget3 );
60 60
61 tab_2 = new QWidget( TabWidget3, "tab_2" ); 61 tab_2 = new QWidget( TabWidget3, "tab_2" );
62 QVBoxLayout *tab2Layout = new QVBoxLayout( tab_2, 4 ,4 ); 62 QVBoxLayout *tab2Layout = new QVBoxLayout( tab_2, 4 ,4 );
63 QLabel *l = new QLabel( tr( "Load which plugins in what order:" ), tab_2 ); 63 QLabel *l = new QLabel( tr( "Load which plugins in what order:" ), tab_2 );
64 tab2Layout->addWidget( l ); 64 tab2Layout->addWidget( l );
65 QHBox *hbox1 = new QHBox( tab_2 ); 65 QHBox *hbox1 = new QHBox( tab_2 );
66 m_appletListView = new QListView( hbox1 ); 66 m_appletListView = new QListView( hbox1 );
67 m_appletListView->addColumn( "PluginList" ); 67 m_appletListView->addColumn( "PluginList" );
68 m_appletListView->header()->hide(); 68 m_appletListView->header()->hide();
69 m_appletListView->setSorting( -1 ); 69 m_appletListView->setSorting( -1 );
70 QVBox *vbox1 = new QVBox( hbox1 ); 70 QVBox *vbox1 = new QVBox( hbox1 );
71 new ToolButton( vbox1, tr( "Move Up" ), "up", this , SLOT( moveSelectedUp() ) ); 71 new ToolButton( vbox1, tr( "Move Up" ), "up", this , SLOT( moveSelectedUp() ) );
72 new ToolButton( vbox1, tr( "Move Down" ), "down", this , SLOT( moveSelectedDown() ) ); 72 new ToolButton( vbox1, tr( "Move Down" ), "down", this , SLOT( moveSelectedDown() ) );
73 tab2Layout->addWidget( hbox1 ); 73 tab2Layout->addWidget( hbox1 );
74 TabWidget3->addTab( tab_2, "pass", tr( "active/order" ) ); 74 TabWidget3->addTab( tab_2, "pass", tr( "active/order" ) );
75 75
76 tab_3 = new QWidget( TabWidget3, "tab_3" ); 76 tab_3 = new QWidget( TabWidget3, "tab_3" );
77 QVBoxLayout *tab3Layout = new QVBoxLayout( tab_3 ); 77 QVBoxLayout *tab3Layout = new QVBoxLayout( tab_3 );
78 tab3Layout->setMargin( 20 ); 78 tab3Layout->setMargin( 20 );
79 QHBox *hbox_auto = new QHBox( tab_3 ); 79 QHBox *hbox_auto = new QHBox( tab_3 );
80 TextLabel2 = new QLabel( hbox_auto, "AutoStart" ); 80 TextLabel2 = new QLabel( hbox_auto, "AutoStart" );
81 TextLabel2->setText( tr( "autostart on \nresume?\n (Opie only)" ) ); 81 TextLabel2->setText( tr( "autostart on \nresume?\n (Opie only)" ) );
82 CheckBoxAuto = new QCheckBox( hbox_auto, "CheckBoxAuto" ); 82 CheckBoxAuto = new QCheckBox( hbox_auto, "CheckBoxAuto" );
83 QHBox *hbox_inactive = new QHBox( tab_3 ); 83 QHBox *hbox_inactive = new QHBox( tab_3 );
84 TimeLabel = new QLabel( hbox_inactive , "TimeLabel" ); 84 TimeLabel = new QLabel( hbox_inactive , "TimeLabel" );
85 TimeLabel->setText( tr( "minutes inactive" ) ); 85 TimeLabel->setText( tr( "minutes inactive" ) );
86 SpinBoxTime = new QSpinBox( hbox_inactive, "TimeSpinner" ); 86 SpinBoxTime = new QSpinBox( hbox_inactive, "TimeSpinner" );
87 tab3Layout->addWidget( hbox_auto ); 87 tab3Layout->addWidget( hbox_auto );
88 tab3Layout->addWidget( hbox_inactive ); 88 tab3Layout->addWidget( hbox_inactive );
89 TabWidget3->addTab( tab_3, "SettingsIcon", tr( "Misc" ) ); 89 TabWidget3->addTab( tab_3, "SettingsIcon", tr( "Misc" ) );
90 90
91 m_applets_changed = false; 91 m_applets_changed = false;
92 92
93 connect ( m_appletListView , SIGNAL( clicked ( QListViewItem * ) ), this, SLOT( appletChanged ( ) ) ); 93 connect ( m_appletListView , SIGNAL( clicked ( QListViewItem * ) ), this, SLOT( appletChanged ( ) ) );
94 94
95 readConfig(); 95 readConfig();
96 showMaximized(); 96 showMaximized();
97} 97}
98 98
99 99
100/** 100/**
101 * Autostart, uses the new (opie only) autostart method in the launcher code. 101 * Autostart, uses the new (opie only) autostart method in the launcher code.
102 * If registered against that today ist started on each resume. 102 * If registered against that today ist started on each resume.
103 */ 103 */
104void TodayConfig::setAutoStart() { 104void TodayConfig::setAutoStart() {
105 Config cfg( "today" ); 105 Config cfg( "today" );
106 cfg.setGroup( "Autostart" ); 106 cfg.setGroup( "Autostart" );
107 int autostart = cfg.readNumEntry( "autostart", 1 ); 107 if ( m_autoStart ) {
108 if ( autostart ) {
109 QCopEnvelope e( "QPE/System", "autoStart(QString,QString,QString)" ); 108 QCopEnvelope e( "QPE/System", "autoStart(QString,QString,QString)" );
110 e << QString( "add" ); 109 e << QString( "add" );
111 e << QString( "today" ); 110 e << QString( "today" );
112 e << m_autoStartTimer; 111 e << QString("%1").arg( m_autoStartTimer );
113 } else { 112 } else {
114 QCopEnvelope e( "QPE/System", "autoStart(QString,QString)" ); 113 QCopEnvelope e( "QPE/System", "autoStart(QString,QString)" );
115 e << QString( "remove" ); 114 e << QString( "remove" );
116 e << QString( "today" ); 115 e << QString( "today" );
117 } 116 }
118} 117}
119 118
120/** 119/**
121 * Read the config part 120 * Read the config part
122 */ 121 */
123void TodayConfig::readConfig() { 122void TodayConfig::readConfig() {
124 Config cfg( "today" ); 123 Config cfg( "today" );
125 cfg.setGroup( "Autostart" ); 124 cfg.setGroup( "Autostart" );
126 m_autoStart = cfg.readNumEntry( "autostart", 1 ); 125 m_autoStart = cfg.readNumEntry( "autostart", 1 );
127 CheckBoxAuto->setChecked( m_autoStart ); 126 CheckBoxAuto->setChecked( m_autoStart );
128 m_autoStartTimer = cfg.readEntry( "autostartdelay", "0" ); 127 m_autoStartTimer = cfg.readNumEntry( "autostartdelay", 0 );
129 SpinBoxTime->setValue( m_autoStartTimer.toInt() ); 128 SpinBoxTime->setValue( m_autoStartTimer );
130 129
131 cfg.setGroup( "Plugins" ); 130 cfg.setGroup( "Plugins" );
132 m_excludeApplets = cfg.readListEntry( "ExcludeApplets", ',' ); 131 m_excludeApplets = cfg.readListEntry( "ExcludeApplets", ',' );
133} 132}
134 133
135/** 134/**
136 * Write the config part 135 * Write the config part
137 */ 136 */
138void TodayConfig::writeConfig() { 137void TodayConfig::writeConfig() {
139 Config cfg( "today" ); 138 Config cfg( "today" );
140 cfg.setGroup( "Plugins" ); 139 cfg.setGroup( "Plugins" );
141 if ( m_applets_changed ) { 140 if ( m_applets_changed ) {
142 QStringList exclude; 141 QStringList exclude;
143 QStringList include; 142 QStringList include;
144 QStringList all_applets; 143 QStringList all_applets;
145 144
146 QListViewItemIterator list_it( m_appletListView ); 145 QListViewItemIterator list_it( m_appletListView );
147 146
148 // this makes sure the names get saved in the order selected 147 // this makes sure the names get saved in the order selected
149 for ( ; list_it.current(); ++list_it ) { 148 for ( ; list_it.current(); ++list_it ) {
150 QMap <QString, QCheckListItem *>::Iterator it; 149 QMap <QString, QCheckListItem *>::Iterator it;
151 for ( it = m_applets.begin(); it != m_applets. end (); ++it ) { 150 for ( it = m_applets.begin(); it != m_applets. end (); ++it ) {
152 if ( list_it.current() == (*it) && !(*it)-> isOn () ) { 151 if ( list_it.current() == (*it) && !(*it)-> isOn () ) {
153 exclude << it.key(); 152 exclude << it.key();
154 } else if ( list_it.current() == (*it) && (*it)-> isOn () ){ 153 } else if ( list_it.current() == (*it) && (*it)-> isOn () ){
155 include << it.key(); 154 include << it.key();
156 } 155 }
157 if ( list_it.current() == (*it) ) { 156 if ( list_it.current() == (*it) ) {
158 all_applets << it.key(); 157 all_applets << it.key();
159 } 158 }
160 } 159 }
161 } 160 }
162 cfg.writeEntry( "ExcludeApplets", exclude, ',' ); 161 cfg.writeEntry( "ExcludeApplets", exclude, ',' );
163 cfg.writeEntry( "IncludeApplets", include, ',' ); 162 cfg.writeEntry( "IncludeApplets", include, ',' );
164 cfg.writeEntry( "AllApplets", all_applets, ',' ); 163 cfg.writeEntry( "AllApplets", all_applets, ',' );
165 } 164 }
166 165
167 cfg.setGroup( "Autostart" ); 166 cfg.setGroup( "Autostart" );
168 m_autoStart = CheckBoxAuto->isChecked(); 167 m_autoStart = CheckBoxAuto->isChecked();
169 cfg.writeEntry( "autostart", m_autoStart ); 168 cfg.writeEntry( "autostart", m_autoStart );
170 m_autoStartTimer = SpinBoxTime->value(); 169 m_autoStartTimer = SpinBoxTime->value();
171 cfg.readEntry( "autostartdelay", m_autoStartTimer ); 170 cfg.writeEntry( "autostartdelay", m_autoStartTimer );
171
172 // set autostart settings
173 setAutoStart();
172} 174}
173 175
174 176
175void TodayConfig::moveSelectedUp() { 177void TodayConfig::moveSelectedUp() {
176 QListViewItem *item = m_appletListView->selectedItem(); 178 QListViewItem *item = m_appletListView->selectedItem();
177 if ( item && item->itemAbove() ) { 179 if ( item && item->itemAbove() ) {
178 item->itemAbove()->moveItem( item ); 180 item->itemAbove()->moveItem( item );
179 } 181 }
180} 182}
181 183
182 184
183void TodayConfig::moveSelectedDown() { 185void TodayConfig::moveSelectedDown() {
184 QListViewItem *item = m_appletListView->selectedItem(); 186 QListViewItem *item = m_appletListView->selectedItem();
185 if ( item && item->itemBelow() ) { 187 if ( item && item->itemBelow() ) {
186 item->moveItem( item->itemBelow() ); 188 item->moveItem( item->itemBelow() );
187 } 189 }
188} 190}
189 191
190 192
191/** 193/**
192 * Set up the icons in the order/active tab 194 * Set up the icons in the order/active tab
193 */ 195 */
194void TodayConfig::pluginManagement( QString libName, QString name, QPixmap icon ) { 196void TodayConfig::pluginManagement( QString libName, QString name, QPixmap icon ) {
195 197
196 QCheckListItem *item; 198 QCheckListItem *item;
197 item = new QCheckListItem( m_appletListView, name, QCheckListItem::CheckBox ); 199 item = new QCheckListItem( m_appletListView, name, QCheckListItem::CheckBox );
198 200
199 if ( !icon.isNull() ) { 201 if ( !icon.isNull() ) {
200 item->setPixmap( 0, icon ); 202 item->setPixmap( 0, icon );
201 } 203 }
202 204
203 if ( m_excludeApplets.find( libName ) == m_excludeApplets.end() ) { 205 if ( m_excludeApplets.find( libName ) == m_excludeApplets.end() ) {
204 item->setOn( TRUE ); 206 item->setOn( TRUE );
205 } 207 }
206 208
207 m_applets[libName] = item; 209 m_applets[libName] = item;
208 210
209 // kind of hack to get the first tab as default. 211 // kind of hack to get the first tab as default.
210 TabWidget3->setCurrentTab( tab_2 ); 212 TabWidget3->setCurrentTab( tab_2 );
211} 213}
212 214
213void TodayConfig::appletChanged() { 215void TodayConfig::appletChanged() {
214 m_applets_changed = true; 216 m_applets_changed = true;
215} 217}
216 218
217 219
218TodayConfig::~TodayConfig() { 220TodayConfig::~TodayConfig() {
219} 221}
220 222
diff --git a/core/pim/today/todayconfig.h b/core/pim/today/todayconfig.h
index 7c261bd..f23b850 100644
--- a/core/pim/today/todayconfig.h
+++ b/core/pim/today/todayconfig.h
@@ -1,71 +1,71 @@
1/* 1/*
2 * todayconfig.h 2 * todayconfig.h
3 * 3 *
4 * copyright : (c) 2002 by Maximilian Reiß 4 * copyright : (c) 2002 by Maximilian Reiß
5 * email : harlekin@handhelds.org 5 * email : harlekin@handhelds.org
6 * 6 *
7 */ 7 */
8/*************************************************************************** 8/***************************************************************************
9 * * 9 * *
10 * This program is free software; you can redistribute it and/or modify * 10 * This program is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by * 11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or * 12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. * 13 * (at your option) any later version. *
14 * * 14 * *
15 ***************************************************************************/ 15 ***************************************************************************/
16 16
17#ifndef TODAYCONFIG_H 17#ifndef TODAYCONFIG_H
18#define TODAYCONFIG_H 18#define TODAYCONFIG_H
19 19
20#include <qvariant.h> 20#include <qvariant.h>
21#include <qdialog.h> 21#include <qdialog.h>
22#include <qlistview.h> 22#include <qlistview.h>
23#include <opie/otabwidget.h> 23#include <opie/otabwidget.h>
24 24
25class QCheckBox; 25class QCheckBox;
26class QLabel; 26class QLabel;
27class QSpinBox; 27class QSpinBox;
28class QTabWidget; 28class QTabWidget;
29 29
30class TodayConfig : public QDialog { 30class TodayConfig : public QDialog {
31 31
32 Q_OBJECT 32 Q_OBJECT
33 33
34public: 34public:
35 TodayConfig( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); 35 TodayConfig( QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
36 ~TodayConfig(); 36 ~TodayConfig();
37 37
38 OTabWidget* TabWidget3; 38 OTabWidget* TabWidget3;
39 39
40 void writeConfig(); 40 void writeConfig();
41 void pluginManagement( QString libName, QString name, QPixmap icon ); 41 void pluginManagement( QString libName, QString name, QPixmap icon );
42 42
43 43
44protected slots: 44protected slots:
45 void appletChanged(); 45 void appletChanged();
46 void moveSelectedUp(); 46 void moveSelectedUp();
47 void moveSelectedDown(); 47 void moveSelectedDown();
48 48
49private: 49private:
50 void setAutoStart(); 50 void setAutoStart();
51 void readConfig(); 51 void readConfig();
52 52
53 QListView* m_appletListView; 53 QListView* m_appletListView;
54 QMap<QString,QCheckListItem*> m_applets; 54 QMap<QString,QCheckListItem*> m_applets;
55 55
56 int m_autoStart; 56 int m_autoStart;
57 QString m_autoStartTimer; 57 int m_autoStartTimer;
58 QStringList m_excludeApplets; 58 QStringList m_excludeApplets;
59 bool m_applets_changed; 59 bool m_applets_changed;
60 60
61 QLabel* TextLabel2; 61 QLabel* TextLabel2;
62 QCheckBox* CheckBoxAuto; 62 QCheckBox* CheckBoxAuto;
63 QWidget* tab_2; 63 QWidget* tab_2;
64 QWidget* tab_3; 64 QWidget* tab_3;
65 QLabel* TextLabel1; 65 QLabel* TextLabel1;
66 QSpinBox* SpinBox7; 66 QSpinBox* SpinBox7;
67 QLabel* TimeLabel; 67 QLabel* TimeLabel;
68 QSpinBox* SpinBoxTime; 68 QSpinBox* SpinBoxTime;
69}; 69};
70 70
71#endif 71#endif