summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/pim/today/config.in2
-rw-r--r--core/pim/today/main.cpp1
-rw-r--r--core/pim/today/today.cpp1
-rw-r--r--core/pim/today/today.h1
-rw-r--r--core/pim/today/todaybase.cpp1
-rw-r--r--core/pim/today/todaybase.h5
-rw-r--r--core/pim/today/todayconfig.cpp1
-rw-r--r--core/pim/today/todayconfig.h2
8 files changed, 8 insertions, 6 deletions
diff --git a/core/pim/today/config.in b/core/pim/today/config.in
index cdebdcb..5166d15 100644
--- a/core/pim/today/config.in
+++ b/core/pim/today/config.in
@@ -1,4 +1,4 @@
1 config TODAY 1 config TODAY
2 boolean "opie-today (today gives an overview of appointments and todos)" 2 boolean "opie-today (today gives an overview of appointments and todos)"
3 default "y" 3 default "y"
4 depends ( LIBQPE || LIBQPE-X11 ) && LIBOPIE 4 depends ( LIBQPE || LIBQPE-X11 ) && LIBOPIEUI2 && LIBOPIEPIM2
diff --git a/core/pim/today/main.cpp b/core/pim/today/main.cpp
index 974c050..d63bc30 100644
--- a/core/pim/today/main.cpp
+++ b/core/pim/today/main.cpp
@@ -1,24 +1,25 @@
1/* 1/*
2 * main.cpp 2 * main.cpp
3 * 3 *
4 * --------------------- 4 * ---------------------
5 * 5 *
6 * begin : Sun 10 17:20:00 CEST 2002 6 * begin : Sun 10 17:20:00 CEST 2002
7 * copyright : (c) 2002, 2003, 2004 by Maximilian Reiß 7 * copyright : (c) 2002, 2003, 2004 by Maximilian Reiß
8 * email : max.reiss@gmx.de 8 * email : max.reiss@gmx.de
9 * 9 *
10 */ 10 */
11/*************************************************************************** 11/***************************************************************************
12 * * 12 * *
13 * This program is free software; you can redistribute it and/or modify * 13 * This program is free software; you can redistribute it and/or modify *
14 * it under the terms of the GNU General Public License as published by * 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 * 15 * the Free Software Foundation; either version 2 of the License, or *
16 * (at your option) any later version. * 16 * (at your option) any later version. *
17 * * 17 * *
18 ***************************************************************************/ 18 ***************************************************************************/
19 19
20#include "today.h" 20#include "today.h"
21 21
22#include <opie2/oapplicationfactory.h> 22#include <opie2/oapplicationfactory.h>
23 23
24using namespace Opie::Core;
24OPIE_EXPORT_APP( OApplicationFactory<Today> ) 25OPIE_EXPORT_APP( OApplicationFactory<Today> )
diff --git a/core/pim/today/today.cpp b/core/pim/today/today.cpp
index 812f8b5..ebcd2dd 100644
--- a/core/pim/today/today.cpp
+++ b/core/pim/today/today.cpp
@@ -1,475 +1,476 @@
1/* 1/*
2 * today.cpp 2 * today.cpp
3 * 3 *
4 * copyright : (c) 2002,2003,2004 by Maximilian Reiß 4 * copyright : (c) 2002,2003,2004 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#define QTOPIA_INTERNAL_LANGLIST 17#define QTOPIA_INTERNAL_LANGLIST
18 18
19#include "today.h" 19#include "today.h"
20 20
21#include <qpe/config.h> 21#include <qpe/config.h>
22#include <qpe/qcopenvelope_qws.h> 22#include <qpe/qcopenvelope_qws.h>
23#include <qpe/resource.h> 23#include <qpe/resource.h>
24#include <qpe/qpeapplication.h> 24#include <qpe/qpeapplication.h>
25#include <qpe/contact.h> 25#include <qpe/contact.h>
26 26
27#include <qdir.h> 27#include <qdir.h>
28#include <qtimer.h> 28#include <qtimer.h>
29#include <qwhatsthis.h> 29#include <qwhatsthis.h>
30 30
31using namespace Opie::Ui;
31struct TodayPlugin { 32struct TodayPlugin {
32 TodayPlugin() : library( 0 ), iface( 0 ), guiPart( 0 ), guiBox( 0 ) {} 33 TodayPlugin() : library( 0 ), iface( 0 ), guiPart( 0 ), guiBox( 0 ) {}
33 QLibrary *library; 34 QLibrary *library;
34 QInterfacePtr<TodayPluginInterface> iface; 35 QInterfacePtr<TodayPluginInterface> iface;
35 TodayPluginObject *guiPart; 36 TodayPluginObject *guiPart;
36 QWidget *guiBox; 37 QWidget *guiBox;
37 QString name; 38 QString name;
38 bool active; 39 bool active;
39 bool excludeRefresh; 40 bool excludeRefresh;
40 int pos; 41 int pos;
41}; 42};
42 43
43static QValueList<TodayPlugin> pluginList; 44static QValueList<TodayPlugin> pluginList;
44 45
45static QMap<QString, TodayPlugin> tempList; 46static QMap<QString, TodayPlugin> tempList;
46 47
47Today::Today( QWidget* parent, const char* name, WFlags fl ) 48Today::Today( QWidget* parent, const char* name, WFlags fl )
48 : TodayBase( parent, name, fl ) { 49 : TodayBase( parent, name, fl ) {
49 50
50 QObject::connect( (QObject*)ConfigButton, SIGNAL( clicked() ), this, SLOT( startConfig() ) ); 51 QObject::connect( (QObject*)ConfigButton, SIGNAL( clicked() ), this, SLOT( startConfig() ) );
51 QObject::connect( (QObject*)OwnerField, SIGNAL( clicked() ), this, SLOT( editCard() ) ); 52 QObject::connect( (QObject*)OwnerField, SIGNAL( clicked() ), this, SLOT( editCard() ) );
52 53
53#if defined(Q_WS_QWS) 54#if defined(Q_WS_QWS)
54#if !defined(QT_NO_COP) 55#if !defined(QT_NO_COP)
55 QCopChannel *todayChannel = new QCopChannel( "QPE/Today" , this ); 56 QCopChannel *todayChannel = new QCopChannel( "QPE/Today" , this );
56 connect ( todayChannel, SIGNAL( received(const QCString&,const QByteArray&) ), 57 connect ( todayChannel, SIGNAL( received(const QCString&,const QByteArray&) ),
57 this, SLOT ( channelReceived(const QCString&,const QByteArray&) ) ); 58 this, SLOT ( channelReceived(const QCString&,const QByteArray&) ) );
58#endif 59#endif
59#endif 60#endif
60 61
61 setOwnerField(); 62 setOwnerField();
62 m_refreshTimer = new QTimer( this ); 63 m_refreshTimer = new QTimer( this );
63 connect( m_refreshTimer, SIGNAL( timeout() ), this, SLOT( refresh() ) ); 64 connect( m_refreshTimer, SIGNAL( timeout() ), this, SLOT( refresh() ) );
64 m_refreshTimer->start( 15000 ); 65 m_refreshTimer->start( 15000 );
65 m_big_box = 0L; 66 m_big_box = 0L;
66 67
67 68
68 layout = new QVBoxLayout( this ); 69 layout = new QVBoxLayout( this );
69 layout->addWidget( Frame ); 70 layout->addWidget( Frame );
70 layout->addWidget( OwnerField ); 71 layout->addWidget( OwnerField );
71 72
72 m_sv = new QScrollView( this ); 73 m_sv = new QScrollView( this );
73 m_sv->setResizePolicy( QScrollView::AutoOneFit ); 74 m_sv->setResizePolicy( QScrollView::AutoOneFit );
74 m_sv->setHScrollBarMode( QScrollView::AlwaysOff ); 75 m_sv->setHScrollBarMode( QScrollView::AlwaysOff );
75 m_sv->setFrameShape( QFrame::NoFrame ); 76 m_sv->setFrameShape( QFrame::NoFrame );
76 77
77 layout->addWidget( m_sv ); 78 layout->addWidget( m_sv );
78 layout->setStretchFactor( m_sv,4 ); 79 layout->setStretchFactor( m_sv,4 );
79 80
80 qApp->processEvents(); 81 qApp->processEvents();
81 loadPlugins(); 82 loadPlugins();
82 QPEApplication::showWidget( this ); 83 QPEApplication::showWidget( this );
83} 84}
84 85
85/** 86/**
86 * Qcop receive method. 87 * Qcop receive method.
87 */ 88 */
88void Today::channelReceived( const QCString &msg, const QByteArray & data ) { 89void Today::channelReceived( const QCString &msg, const QByteArray & data ) {
89 QDataStream stream( data, IO_ReadOnly ); 90 QDataStream stream( data, IO_ReadOnly );
90 if ( msg == "message(QString)" ) { 91 if ( msg == "message(QString)" ) {
91 QString message; 92 QString message;
92 stream >> message; 93 stream >> message;
93 setOwnerField( message ); 94 setOwnerField( message );
94 } 95 }
95} 96}
96 97
97void Today::setRefreshTimer( int interval ) { 98void Today::setRefreshTimer( int interval ) {
98 99
99 disconnect( m_refreshTimer, SIGNAL( timeout() ), this, SLOT( refresh() ) ); 100 disconnect( m_refreshTimer, SIGNAL( timeout() ), this, SLOT( refresh() ) );
100 101
101 // 0 is "never" case 102 // 0 is "never" case
102 if ( !interval == 0 ) { 103 if ( !interval == 0 ) {
103 connect( m_refreshTimer, SIGNAL( timeout() ), this, SLOT( refresh() ) ); 104 connect( m_refreshTimer, SIGNAL( timeout() ), this, SLOT( refresh() ) );
104 m_refreshTimer->changeInterval( interval ); 105 m_refreshTimer->changeInterval( interval );
105 } 106 }
106} 107}
107 108
108 109
109/** 110/**
110 * Initialises the owner field with the default value, the username 111 * Initialises the owner field with the default value, the username
111 */ 112 */
112void Today::setOwnerField() { 113void Today::setOwnerField() {
113 QString file = Global::applicationFileName( "addressbook", "businesscard.vcf" ); 114 QString file = Global::applicationFileName( "addressbook", "businesscard.vcf" );
114 if ( QFile::exists( file ) ) { 115 if ( QFile::exists( file ) ) {
115 Contact cont = Contact::readVCard( file )[0]; 116 Contact cont = Contact::readVCard( file )[0];
116 QString returnString = cont.fullName(); 117 QString returnString = cont.fullName();
117 OwnerField->setText( "<b>" + tr ( "Owned by " ) + returnString + "</b>" ); 118 OwnerField->setText( "<b>" + tr ( "Owned by " ) + returnString + "</b>" );
118 } else { 119 } else {
119 OwnerField->setText( "<b>" + tr ( "Please fill out the business card" ) + " </b>" ); 120 OwnerField->setText( "<b>" + tr ( "Please fill out the business card" ) + " </b>" );
120 } 121 }
121} 122}
122 123
123/** 124/**
124 * Set the owner field with a given QString, for example per qcop. 125 * Set the owner field with a given QString, for example per qcop.
125 */ 126 */
126void Today::setOwnerField( QString &message ) { 127void Today::setOwnerField( QString &message ) {
127 if ( !message.isEmpty() ) { 128 if ( !message.isEmpty() ) {
128 OwnerField->setText( "<b>" + message + "</b>" ); 129 OwnerField->setText( "<b>" + message + "</b>" );
129 } 130 }
130} 131}
131 132
132/** 133/**
133 * Init stuff needed for today. Reads the config file. 134 * Init stuff needed for today. Reads the config file.
134 */ 135 */
135void Today::init() { 136void Today::init() {
136 // read config 137 // read config
137 Config cfg( "today" ); 138 Config cfg( "today" );
138 139
139 cfg.setGroup( "Plugins" ); 140 cfg.setGroup( "Plugins" );
140 m_excludeApplets = cfg.readListEntry( "ExcludeApplets", ',' ); 141 m_excludeApplets = cfg.readListEntry( "ExcludeApplets", ',' );
141 m_allApplets = cfg.readListEntry( "AllApplets", ',' ); 142 m_allApplets = cfg.readListEntry( "AllApplets", ',' );
142 143
143 cfg.setGroup( "General" ); 144 cfg.setGroup( "General" );
144 m_iconSize = cfg.readNumEntry( "IconSize", 18 ); 145 m_iconSize = cfg.readNumEntry( "IconSize", 18 );
145 m_hideBanner = cfg.readNumEntry( "HideBanner", 0 ); 146 m_hideBanner = cfg.readNumEntry( "HideBanner", 0 );
146 setRefreshTimer( cfg.readNumEntry( "checkinterval", 15000 ) ); 147 setRefreshTimer( cfg.readNumEntry( "checkinterval", 15000 ) );
147 148
148 // set the date in top label 149 // set the date in top label
149 QDate date = QDate::currentDate(); 150 QDate date = QDate::currentDate();
150 DateLabel->setText( QString( "<font color=#FFFFFF>" + TimeString::longDateString( date ) + "</font>" ) ); 151 DateLabel->setText( QString( "<font color=#FFFFFF>" + TimeString::longDateString( date ) + "</font>" ) );
151 152
152 if ( m_hideBanner ) { 153 if ( m_hideBanner ) {
153 Opiezilla->hide(); 154 Opiezilla->hide();
154 TodayLabel->hide(); 155 TodayLabel->hide();
155 } else { 156 } else {
156 Opiezilla->show(); 157 Opiezilla->show();
157 TodayLabel->show(); 158 TodayLabel->show();
158 } 159 }
159 160
160 if ( m_big_box ) { 161 if ( m_big_box ) {
161 delete m_big_box; 162 delete m_big_box;
162 } 163 }
163 164
164 m_big_box = new QWidget( m_sv->viewport() ); 165 m_big_box = new QWidget( m_sv->viewport() );
165 m_sv->addChild( m_big_box ); 166 m_sv->addChild( m_big_box );
166 m_bblayout = new QVBoxLayout ( m_big_box ); 167 m_bblayout = new QVBoxLayout ( m_big_box );
167} 168}
168 169
169/** 170/**
170 * Load the plugins 171 * Load the plugins
171 */ 172 */
172void Today::loadPlugins() { 173void Today::loadPlugins() {
173 174
174 init(); 175 init();
175 176
176 QValueList<TodayPlugin>::Iterator tit; 177 QValueList<TodayPlugin>::Iterator tit;
177 if ( !pluginList.isEmpty() ) { 178 if ( !pluginList.isEmpty() ) {
178 for ( tit = pluginList.begin(); tit != pluginList.end(); ++tit ) { 179 for ( tit = pluginList.begin(); tit != pluginList.end(); ++tit ) {
179 (*tit).guiBox->hide(); 180 (*tit).guiBox->hide();
180 (*tit).guiBox->reparent( 0, QPoint( 0, 0 ) ); 181 (*tit).guiBox->reparent( 0, QPoint( 0, 0 ) );
181 delete (*tit).guiBox; 182 delete (*tit).guiBox;
182 (*tit).library->unload(); 183 (*tit).library->unload();
183 delete (*tit).library; 184 delete (*tit).library;
184 } 185 }
185 pluginList.clear(); 186 pluginList.clear();
186 } 187 }
187 188
188 QString path = QPEApplication::qpeDir() + "/plugins/today"; 189 QString path = QPEApplication::qpeDir() + "/plugins/today";
189#ifdef Q_OS_MACX 190#ifdef Q_OS_MACX
190 qWarning("Searching for Plugins in: %s", path.latin1()); 191 qWarning("Searching for Plugins in: %s", path.latin1());
191 QDir dir( path, "lib*.dylib" ); 192 QDir dir( path, "lib*.dylib" );
192#else 193#else
193 QDir dir( path, "lib*.so" ); 194 QDir dir( path, "lib*.so" );
194#endif 195#endif
195 196
196 QStringList list = dir.entryList(); 197 QStringList list = dir.entryList();
197 QStringList::Iterator it; 198 QStringList::Iterator it;
198 199
199 // QMap<QString, TodayPlugin> tempList; 200 // QMap<QString, TodayPlugin> tempList;
200 201
201 for ( it = list.begin(); it != list.end(); ++it ) { 202 for ( it = list.begin(); it != list.end(); ++it ) {
202 QInterfacePtr<TodayPluginInterface> iface; 203 QInterfacePtr<TodayPluginInterface> iface;
203 QLibrary *lib = new QLibrary( path + "/" + *it ); 204 QLibrary *lib = new QLibrary( path + "/" + *it );
204 205
205 qDebug( "querying: %s", QString( path + "/" + *it ).latin1() ); 206 qDebug( "querying: %s", QString( path + "/" + *it ).latin1() );
206 if ( lib->queryInterface( IID_TodayPluginInterface, (QUnknownInterface**)&iface ) == QS_OK ) { 207 if ( lib->queryInterface( IID_TodayPluginInterface, (QUnknownInterface**)&iface ) == QS_OK ) {
207 qDebug( "accepted: %s", QString( path + "/" + *it ).latin1() ); 208 qDebug( "accepted: %s", QString( path + "/" + *it ).latin1() );
208 qDebug( QString(*it) ); 209 qDebug( QString(*it) );
209 210
210 TodayPlugin plugin; 211 TodayPlugin plugin;
211 plugin.library = lib; 212 plugin.library = lib;
212 plugin.iface = iface; 213 plugin.iface = iface;
213 plugin.name = QString(*it); 214 plugin.name = QString(*it);
214 215
215 QString type = (*it).left( (*it).find(".") ); 216 QString type = (*it).left( (*it).find(".") );
216 217
217 QString lang; 218 QString lang;
218 Config config("locale"); 219 Config config("locale");
219 config.setGroup("Language"); 220 config.setGroup("Language");
220 lang = config.readEntry( "Language", "en" ); 221 lang = config.readEntry( "Language", "en" );
221 222
222 qDebug( "Languages: " + lang ); 223 qDebug( "Languages: " + lang );
223 QTranslator * trans = new QTranslator( qApp ); 224 QTranslator * trans = new QTranslator( qApp );
224 QString tfn = QPEApplication::qpeDir()+"/i18n/" + lang + "/" + type + ".qm"; 225 QString tfn = QPEApplication::qpeDir()+"/i18n/" + lang + "/" + type + ".qm";
225 if ( trans->load( tfn ) ) { 226 if ( trans->load( tfn ) ) {
226 qApp->installTranslator( trans ); 227 qApp->installTranslator( trans );
227 } else { 228 } else {
228 delete trans; 229 delete trans;
229 } 230 }
230 231
231 232
232 // find out if plugins should be shown 233 // find out if plugins should be shown
233 if ( m_excludeApplets.grep( *it ).isEmpty() ) { 234 if ( m_excludeApplets.grep( *it ).isEmpty() ) {
234 plugin.active = true; 235 plugin.active = true;
235 } else { 236 } else {
236 plugin.active = false; 237 plugin.active = false;
237 } 238 }
238 239
239 plugin.guiPart = plugin.iface->guiPart(); 240 plugin.guiPart = plugin.iface->guiPart();
240 plugin.excludeRefresh = plugin.guiPart->excludeFromRefresh(); 241 plugin.excludeRefresh = plugin.guiPart->excludeFromRefresh();
241 242
242 // package the whole thing into a qwidget so it can be shown and hidden 243 // package the whole thing into a qwidget so it can be shown and hidden
243 plugin.guiBox = new QWidget( m_big_box ); 244 plugin.guiBox = new QWidget( m_big_box );
244 QHBoxLayout *boxLayout = new QHBoxLayout( plugin.guiBox ); 245 QHBoxLayout *boxLayout = new QHBoxLayout( plugin.guiBox );
245 QPixmap plugPix; 246 QPixmap plugPix;
246 plugPix.convertFromImage( Resource::loadImage( plugin.guiPart->pixmapNameWidget() ).smoothScale( m_iconSize, m_iconSize ), 0 ); 247 plugPix.convertFromImage( Resource::loadImage( plugin.guiPart->pixmapNameWidget() ).smoothScale( m_iconSize, m_iconSize ), 0 );
247 OClickableLabel* plugIcon = new OClickableLabel( plugin.guiBox ); 248 OClickableLabel* plugIcon = new OClickableLabel( plugin.guiBox );
248 plugIcon->setPixmap( plugPix ); 249 plugIcon->setPixmap( plugPix );
249 QWhatsThis::add( plugIcon, tr("Click here to launch the associated app") ); 250 QWhatsThis::add( plugIcon, tr("Click here to launch the associated app") );
250 plugIcon->setName( plugin.guiPart->appName() ); 251 plugIcon->setName( plugin.guiPart->appName() );
251 connect( plugIcon, SIGNAL( clicked() ), this, SLOT( startApplication() ) ); 252 connect( plugIcon, SIGNAL( clicked() ), this, SLOT( startApplication() ) );
252 253
253 QWidget *plugWidget = plugin.guiPart->widget( plugin.guiBox ); 254 QWidget *plugWidget = plugin.guiPart->widget( plugin.guiBox );
254 boxLayout->addWidget( plugIcon, 0, AlignTop ); 255 boxLayout->addWidget( plugIcon, 0, AlignTop );
255 boxLayout->addWidget( plugWidget, 0, AlignTop ); 256 boxLayout->addWidget( plugWidget, 0, AlignTop );
256 boxLayout->setStretchFactor( plugIcon, 1 ); 257 boxLayout->setStretchFactor( plugIcon, 1 );
257 boxLayout->setStretchFactor( plugWidget, 9 ); 258 boxLayout->setStretchFactor( plugWidget, 9 );
258 259
259 // "prebuffer" it in one more list, to get the sorting done 260 // "prebuffer" it in one more list, to get the sorting done
260 tempList.insert( plugin.name, plugin ); 261 tempList.insert( plugin.name, plugin );
261 262
262 // on first start the list is off course empty 263 // on first start the list is off course empty
263 if ( m_allApplets.isEmpty() ) { 264 if ( m_allApplets.isEmpty() ) {
264 pluginList.append( plugin ); 265 pluginList.append( plugin );
265 m_bblayout->addWidget( plugin.guiBox ); 266 m_bblayout->addWidget( plugin.guiBox );
266 } 267 }
267 268
268 // if plugin is not yet in the list, add it to the layout too 269 // if plugin is not yet in the list, add it to the layout too
269 else if ( !m_allApplets.contains( plugin.name ) ) { 270 else if ( !m_allApplets.contains( plugin.name ) ) {
270 pluginList.append( plugin ); 271 pluginList.append( plugin );
271 } 272 }
272 } else { 273 } else {
273 qDebug( "could not recognize %s", QString( path + "/" + *it ).latin1() ); 274 qDebug( "could not recognize %s", QString( path + "/" + *it ).latin1() );
274 delete lib; 275 delete lib;
275 } 276 }
276 277
277 } 278 }
278 279
279 280
280 if ( !m_allApplets.isEmpty() ) { 281 if ( !m_allApplets.isEmpty() ) {
281 TodayPlugin tempPlugin; 282 TodayPlugin tempPlugin;
282 QStringList::Iterator stringit; 283 QStringList::Iterator stringit;
283 284
284 for( stringit = m_allApplets.begin(); stringit != m_allApplets.end(); ++stringit ) { 285 for( stringit = m_allApplets.begin(); stringit != m_allApplets.end(); ++stringit ) {
285 tempPlugin = ( tempList.find( *stringit ) ).data(); 286 tempPlugin = ( tempList.find( *stringit ) ).data();
286 if ( !( (tempPlugin.name).isEmpty() ) ) { 287 if ( !( (tempPlugin.name).isEmpty() ) ) {
287 pluginList.append( tempPlugin ); 288 pluginList.append( tempPlugin );
288 m_bblayout->addWidget( tempPlugin.guiBox ); 289 m_bblayout->addWidget( tempPlugin.guiBox );
289 } 290 }
290 } 291 }
291 } 292 }
292 m_bblayout->addStretch( 2 ); 293 m_bblayout->addStretch( 2 );
293 draw(); 294 draw();
294} 295}
295 296
296 297
297 298
298 299
299/** 300/**
300 * Repaint method. Reread all fields. 301 * Repaint method. Reread all fields.
301 */ 302 */
302void Today::draw() { 303void Today::draw() {
303 304
304 if ( pluginList.count() == 0 ) { 305 if ( pluginList.count() == 0 ) {
305 QLabel *noPlugins = new QLabel( this ); 306 QLabel *noPlugins = new QLabel( this );
306 noPlugins->setText( tr( "No plugins found" ) ); 307 noPlugins->setText( tr( "No plugins found" ) );
307 layout->addWidget( noPlugins ); 308 layout->addWidget( noPlugins );
308 return; 309 return;
309 } 310 }
310 311
311 uint count = 0; 312 uint count = 0;
312 TodayPlugin plugin; 313 TodayPlugin plugin;
313 for ( uint i = 0; i < pluginList.count(); i++ ) { 314 for ( uint i = 0; i < pluginList.count(); i++ ) {
314 plugin = pluginList[i]; 315 plugin = pluginList[i];
315 316
316 if ( plugin.active ) { 317 if ( plugin.active ) {
317 // qDebug( plugin.name + " is ACTIVE " ); 318 // qDebug( plugin.name + " is ACTIVE " );
318 plugin.guiBox->show(); 319 plugin.guiBox->show();
319 } else { 320 } else {
320 // qDebug( plugin.name + " is INACTIVE" ); 321 // qDebug( plugin.name + " is INACTIVE" );
321 plugin.guiBox->hide(); 322 plugin.guiBox->hide();
322 } 323 }
323 count++; 324 count++;
324 } 325 }
325 326
326 if ( count == 0 ) { 327 if ( count == 0 ) {
327 QLabel *noPluginsActive = new QLabel( this ); 328 QLabel *noPluginsActive = new QLabel( this );
328 noPluginsActive->setText( tr( "No plugins activated" ) ); 329 noPluginsActive->setText( tr( "No plugins activated" ) );
329 layout->addWidget( noPluginsActive ); 330 layout->addWidget( noPluginsActive );
330 } 331 }
331 repaint(); 332 repaint();
332} 333}
333 334
334 335
335/** 336/**
336 * The method for the configuration dialog. 337 * The method for the configuration dialog.
337 */ 338 */
338void Today::startConfig() { 339void Today::startConfig() {
339 340
340 // disconnect timer to prevent problems while being on config dialog 341 // disconnect timer to prevent problems while being on config dialog
341 disconnect( m_refreshTimer, SIGNAL( timeout() ), this, SLOT( refresh() ) ); 342 disconnect( m_refreshTimer, SIGNAL( timeout() ), this, SLOT( refresh() ) );
342 m_refreshTimer->stop( ); 343 m_refreshTimer->stop( );
343 344
344 TodayConfig conf( this, "dialog", true ); 345 TodayConfig conf( this, "dialog", true );
345 346
346 TodayPlugin plugin; 347 TodayPlugin plugin;
347 QList<TodayConfigWidget> configWidgetList; 348 QList<TodayConfigWidget> configWidgetList;
348 349
349 for ( int i = pluginList.count() - 1; i >= 0; i-- ) { 350 for ( int i = pluginList.count() - 1; i >= 0; i-- ) {
350 plugin = pluginList[i]; 351 plugin = pluginList[i];
351 352
352 // load the config widgets in the tabs 353 // load the config widgets in the tabs
353 if ( plugin.guiPart->configWidget( this ) != 0l ) { 354 if ( plugin.guiPart->configWidget( this ) != 0l ) {
354 TodayConfigWidget* widget = plugin.guiPart->configWidget( conf.TabWidget3 ); 355 TodayConfigWidget* widget = plugin.guiPart->configWidget( conf.TabWidget3 );
355 configWidgetList.append( widget ); 356 configWidgetList.append( widget );
356 conf.TabWidget3->addTab( widget, plugin.guiPart->pixmapNameConfig() 357 conf.TabWidget3->addTab( widget, plugin.guiPart->pixmapNameConfig()
357 , plugin.guiPart->appName() ); 358 , plugin.guiPart->appName() );
358 } 359 }
359 // set the order/activate tab 360 // set the order/activate tab
360 conf.pluginManagement( plugin.name, plugin.guiPart->pluginName(), 361 conf.pluginManagement( plugin.name, plugin.guiPart->pluginName(),
361 Resource::loadPixmap( plugin.guiPart->pixmapNameWidget() ) ); 362 Resource::loadPixmap( plugin.guiPart->pixmapNameWidget() ) );
362 } 363 }
363 364
364 if ( conf.exec() == QDialog::Accepted ) { 365 if ( conf.exec() == QDialog::Accepted ) {
365 conf.writeConfig(); 366 conf.writeConfig();
366 TodayConfigWidget *confWidget; 367 TodayConfigWidget *confWidget;
367 for ( confWidget = configWidgetList.first(); confWidget != 0; 368 for ( confWidget = configWidgetList.first(); confWidget != 0;
368 confWidget = configWidgetList.next() ) { 369 confWidget = configWidgetList.next() ) {
369 confWidget->writeConfig(); 370 confWidget->writeConfig();
370 } 371 }
371 372
372 // make the plugins to reinitialize ( reread its configs ) 373 // make the plugins to reinitialize ( reread its configs )
373 reinitialize(); 374 reinitialize();
374 draw(); 375 draw();
375 376
376 } else { 377 } else {
377 // since refresh is not called in that case , reconnect the signal 378 // since refresh is not called in that case , reconnect the signal
378 m_refreshTimer->start( 15000 ); // get the config value in here later 379 m_refreshTimer->start( 15000 ); // get the config value in here later
379 connect( m_refreshTimer, SIGNAL( timeout() ), this, SLOT( refresh() ) ); 380 connect( m_refreshTimer, SIGNAL( timeout() ), this, SLOT( refresh() ) );
380 } 381 }
381} 382}
382 383
383 384
384 385
385void Today::reinitialize() { 386void Today::reinitialize() {
386 387
387 Config cfg( "today" ); 388 Config cfg( "today" );
388 cfg.setGroup( "Plugins" ); 389 cfg.setGroup( "Plugins" );
389 m_excludeApplets = cfg.readListEntry( "ExcludeApplets", ',' ); 390 m_excludeApplets = cfg.readListEntry( "ExcludeApplets", ',' );
390 m_allApplets = cfg.readListEntry( "AllApplets", ',' ); 391 m_allApplets = cfg.readListEntry( "AllApplets", ',' );
391 392
392 /* reinitialize all plugins */ 393 /* reinitialize all plugins */
393 QValueList<TodayPlugin>::Iterator it; 394 QValueList<TodayPlugin>::Iterator it;
394 for ( it = pluginList.begin(); it != pluginList.end(); ++it ) { 395 for ( it = pluginList.begin(); it != pluginList.end(); ++it ) {
395 if ( !(*it).excludeRefresh ) { 396 if ( !(*it).excludeRefresh ) {
396 (*it).guiPart->reinitialize(); 397 (*it).guiPart->reinitialize();
397 qDebug( "reinit" ); 398 qDebug( "reinit" );
398 } 399 }
399 400
400 /* check if plugins is still to be shown */ 401 /* check if plugins is still to be shown */
401 if ( m_excludeApplets.grep( (*it).name ).isEmpty() ) { 402 if ( m_excludeApplets.grep( (*it).name ).isEmpty() ) {
402 (*it).active = true; 403 (*it).active = true;
403 } else { 404 } else {
404 (*it).active = false; 405 (*it).active = false;
405 } 406 }
406 407
407 } 408 }
408 409
409 cfg.setGroup( "General" ); 410 cfg.setGroup( "General" );
410 m_iconSize = cfg.readNumEntry( "IconSize", 18 ); 411 m_iconSize = cfg.readNumEntry( "IconSize", 18 );
411 m_hideBanner = cfg.readNumEntry( "HideBanner", 0 ); 412 m_hideBanner = cfg.readNumEntry( "HideBanner", 0 );
412 setRefreshTimer( cfg.readNumEntry( "checkinterval", 15000 ) ); 413 setRefreshTimer( cfg.readNumEntry( "checkinterval", 15000 ) );
413 414
414 // set the date in top label 415 // set the date in top label
415 QDate date = QDate::currentDate(); 416 QDate date = QDate::currentDate();
416 DateLabel->setText( QString( "<font color=#FFFFFF>" + TimeString::longDateString( date ) + "</font>" ) ); 417 DateLabel->setText( QString( "<font color=#FFFFFF>" + TimeString::longDateString( date ) + "</font>" ) );
417 418
418 if ( m_hideBanner ) { 419 if ( m_hideBanner ) {
419 Opiezilla->hide(); 420 Opiezilla->hide();
420 TodayLabel->hide(); 421 TodayLabel->hide();
421 } else { 422 } else {
422 Opiezilla->show(); 423 Opiezilla->show();
423 TodayLabel->show(); 424 TodayLabel->show();
424 } 425 }
425 426
426 delete m_bblayout; 427 delete m_bblayout;
427 m_bblayout = new QVBoxLayout( m_big_box ); 428 m_bblayout = new QVBoxLayout( m_big_box );
428 TodayPlugin tempPlugin; 429 TodayPlugin tempPlugin;
429 QStringList::Iterator stringit; 430 QStringList::Iterator stringit;
430 431
431 for( stringit = m_allApplets.begin(); stringit != m_allApplets.end(); ++stringit ) { 432 for( stringit = m_allApplets.begin(); stringit != m_allApplets.end(); ++stringit ) {
432 tempPlugin = ( tempList.find( *stringit ) ).data(); 433 tempPlugin = ( tempList.find( *stringit ) ).data();
433 if ( !( (tempPlugin.name).isEmpty() ) ) { 434 if ( !( (tempPlugin.name).isEmpty() ) ) {
434 m_bblayout->addWidget( tempPlugin.guiBox ); 435 m_bblayout->addWidget( tempPlugin.guiBox );
435 } 436 }
436 } 437 }
437 m_bblayout->addStretch( 2 ); 438 m_bblayout->addStretch( 2 );
438 439
439} 440}
440 441
441/** 442/**
442 * Refresh for the view. Reload all applets 443 * Refresh for the view. Reload all applets
443 * 444 *
444 */ 445 */
445void Today::refresh() { 446void Today::refresh() {
446 447
447 QValueList<TodayPlugin>::Iterator it; 448 QValueList<TodayPlugin>::Iterator it;
448 for ( it = pluginList.begin(); it != pluginList.end(); ++it ) { 449 for ( it = pluginList.begin(); it != pluginList.end(); ++it ) {
449 if ( !(*it).excludeRefresh ) { 450 if ( !(*it).excludeRefresh ) {
450 (*it).guiPart->refresh(); 451 (*it).guiPart->refresh();
451 qDebug( "refresh" ); 452 qDebug( "refresh" );
452 } 453 }
453 } 454 }
454 455
455 DateLabel->setText( QString( "<font color=#FFFFFF>" + TimeString::longDateString( QDate::currentDate() ) + "</font>" ) ); 456 DateLabel->setText( QString( "<font color=#FFFFFF>" + TimeString::longDateString( QDate::currentDate() ) + "</font>" ) );
456 457
457 updateGeometry(); 458 updateGeometry();
458 repaint(); 459 repaint();
459} 460}
460 461
461void Today::startApplication() { 462void Today::startApplication() {
462 QCopEnvelope e( "QPE/System", "execute(QString)" ); 463 QCopEnvelope e( "QPE/System", "execute(QString)" );
463 e << QString( sender()->name() ); 464 e << QString( sender()->name() );
464} 465}
465 466
466/** 467/**
467 * launch addressbook (personal card) 468 * launch addressbook (personal card)
468 */ 469 */
469void Today::editCard() { 470void Today::editCard() {
470 QCopEnvelope env( "QPE/Application/addressbook", "editPersonalAndClose()" ); 471 QCopEnvelope env( "QPE/Application/addressbook", "editPersonalAndClose()" );
471} 472}
472 473
473Today::~Today() { 474Today::~Today() {
474} 475}
475 476
diff --git a/core/pim/today/today.h b/core/pim/today/today.h
index 972731c..89170e1 100644
--- a/core/pim/today/today.h
+++ b/core/pim/today/today.h
@@ -1,83 +1,82 @@
1/* 1/*
2 * today.h 2 * today.h
3 * 3 *
4 * copyright : (c) 2002,2003,2004 by Maximilian Reiß 4 * copyright : (c) 2002,2003,2004 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#ifndef TODAY_H 16#ifndef TODAY_H
17#define TODAY_H 17#define TODAY_H
18 18
19 19
20#include "todayconfig.h" 20#include "todayconfig.h"
21#include "todaybase.h" 21#include "todaybase.h"
22 22
23#include <opie2/todayplugininterface.h> 23#include <opie2/todayplugininterface.h>
24#include <opie2/oclickablelabel.h> 24#include <opie2/oclickablelabel.h>
25 25
26#include <qpe/qlibrary.h> 26#include <qpe/qlibrary.h>
27 27
28#include <qscrollview.h> 28#include <qscrollview.h>
29#include <qvbox.h> 29#include <qvbox.h>
30 30
31using namespace Opie;
32 31
33class QVBoxLayout; 32class QVBoxLayout;
34 33
35class Today : public TodayBase { 34class Today : public TodayBase {
36 35
37 Q_OBJECT 36 Q_OBJECT
38 37
39 public: 38 public:
40 Today( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); 39 Today( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
41 ~Today(); 40 ~Today();
42 static QString appName() { return QString::fromLatin1("today"); } 41 static QString appName() { return QString::fromLatin1("today"); }
43 42
44private slots: 43private slots:
45 void startConfig(); 44 void startConfig();
46 void startApplication(); 45 void startApplication();
47 void editCard(); 46 void editCard();
48 void refresh(); 47 void refresh();
49 48
50private: 49private:
51 void init(); 50 void init();
52 void setOwnerField(); 51 void setOwnerField();
53 void setOwnerField(QString &string); 52 void setOwnerField(QString &string);
54 void loadPlugins(); 53 void loadPlugins();
55 void draw(); 54 void draw();
56 void reinitialize(); 55 void reinitialize();
57 56
58 void setRefreshTimer( int ); 57 void setRefreshTimer( int );
59 58
60private slots: 59private slots:
61 void channelReceived(const QCString &msg, const QByteArray & data); 60 void channelReceived(const QCString &msg, const QByteArray & data);
62 61
63 private: 62 private:
64 TodayConfig *conf; 63 TodayConfig *conf;
65 QStringList m_excludeApplets; 64 QStringList m_excludeApplets;
66 QStringList m_allApplets; 65 QStringList m_allApplets;
67 66
68 QScrollView *m_sv; 67 QScrollView *m_sv;
69 QWidget* m_big_box; 68 QWidget* m_big_box;
70 QVBoxLayout *m_bblayout; 69 QVBoxLayout *m_bblayout;
71 70
72 71
73 72
74 QTimer *m_refreshTimer; 73 QTimer *m_refreshTimer;
75 74
76 bool m_refreshTimerEnabled; 75 bool m_refreshTimerEnabled;
77 int m_newStart; 76 int m_newStart;
78 int m_iconSize; 77 int m_iconSize;
79 int m_maxCharClip; 78 int m_maxCharClip;
80 int m_hideBanner; 79 int m_hideBanner;
81}; 80};
82 81
83#endif 82#endif
diff --git a/core/pim/today/todaybase.cpp b/core/pim/today/todaybase.cpp
index 7f1915c..cb809d3 100644
--- a/core/pim/today/todaybase.cpp
+++ b/core/pim/today/todaybase.cpp
@@ -1,107 +1,108 @@
1/* 1/*
2 * todaybase.cpp 2 * todaybase.cpp
3 * 3 *
4 * copyright : (c) 2002, 2003, 2004 by Maximilian Reiß 4 * copyright : (c) 2002, 2003, 2004 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#include "todaybase.h" 17#include "todaybase.h"
18 18
19#include <qpe/resource.h> 19#include <qpe/resource.h>
20 20
21#include <qvbox.h> 21#include <qvbox.h>
22#include <qwhatsthis.h> 22#include <qwhatsthis.h>
23 23
24using namespace Opie::Ui;
24TodayBase::TodayBase( QWidget* parent, const char* name, WFlags ) 25TodayBase::TodayBase( QWidget* parent, const char* name, WFlags )
25 : QWidget( parent, name, WStyle_ContextHelp ) { 26 : QWidget( parent, name, WStyle_ContextHelp ) {
26 27
27 QPixmap logo = Resource::loadPixmap( "today/today_logo"); // logo 28 QPixmap logo = Resource::loadPixmap( "today/today_logo"); // logo
28 QImage opiezillaimage = QImage( Resource::loadImage("logo/opielogo" ) ); 29 QImage opiezillaimage = QImage( Resource::loadImage("logo/opielogo" ) );
29 opiezillaimage = opiezillaimage.smoothScale( 45, 45 ); 30 opiezillaimage = opiezillaimage.smoothScale( 45, 45 );
30 QPixmap opiezilla; //the opiezilla 31 QPixmap opiezilla; //the opiezilla
31 opiezilla.convertFromImage( opiezillaimage ); 32 opiezilla.convertFromImage( opiezillaimage );
32 QPixmap config = Resource::loadPixmap( "SettingsIcon" ); // config icon 33 QPixmap config = Resource::loadPixmap( "SettingsIcon" ); // config icon
33 34
34 layout = 0L; 35 layout = 0L;
35 36
36 QPalette pal = this->palette(); 37 QPalette pal = this->palette();
37 QColor col = pal.color( QPalette::Active, QColorGroup::Background ); 38 QColor col = pal.color( QPalette::Active, QColorGroup::Background );
38 pal.setColor( QPalette::Active, QColorGroup::Button, col ); 39 pal.setColor( QPalette::Active, QColorGroup::Button, col );
39 pal.setColor( QPalette::Inactive, QColorGroup::Button, col ); 40 pal.setColor( QPalette::Inactive, QColorGroup::Button, col );
40 pal.setColor( QPalette::Normal, QColorGroup::Button, col ); 41 pal.setColor( QPalette::Normal, QColorGroup::Button, col );
41 pal.setColor( QPalette::Disabled, QColorGroup::Button, col ); 42 pal.setColor( QPalette::Disabled, QColorGroup::Button, col );
42 this->setPalette( pal ); 43 this->setPalette( pal );
43 44
44 // --- logo Section --- 45 // --- logo Section ---
45 QPalette pal2; 46 QPalette pal2;
46 QColorGroup cg; 47 QColorGroup cg;
47 cg.setColor( QColorGroup::Text, white ); 48 cg.setColor( QColorGroup::Text, white );
48 cg.setBrush( QColorGroup::Background, QBrush( QColor( 238, 238, 230 ), logo ) ); 49 cg.setBrush( QColorGroup::Background, QBrush( QColor( 238, 238, 230 ), logo ) );
49 pal2.setActive( cg ); 50 pal2.setActive( cg );
50 51
51// today logo 52// today logo
52 Frame = new QLabel( this, "Frame" ); 53 Frame = new QLabel( this, "Frame" );
53 Frame->setPalette( pal2 ); 54 Frame->setPalette( pal2 );
54 Frame->setFrameShape( QFrame::StyledPanel ); 55 Frame->setFrameShape( QFrame::StyledPanel );
55 Frame->setFrameShadow( QFrame::Raised ); 56 Frame->setFrameShadow( QFrame::Raised );
56 Frame->setLineWidth( 0 ); 57 Frame->setLineWidth( 0 );
57 58
58 QHBoxLayout *frameLayout = new QHBoxLayout( Frame ); 59 QHBoxLayout *frameLayout = new QHBoxLayout( Frame );
59 QVBox *box1 = new QVBox( Frame ); 60 QVBox *box1 = new QVBox( Frame );
60 61
61 // Today text 62 // Today text
62 TodayLabel = new QLabel( box1, "TodayText" ); 63 TodayLabel = new QLabel( box1, "TodayText" );
63 QFont TodayLabel_font( TodayLabel->font() ); 64 QFont TodayLabel_font( TodayLabel->font() );
64 TodayLabel_font.setBold( TRUE ); 65 TodayLabel_font.setBold( TRUE );
65 TodayLabel_font.setPointSize( 40 ); 66 TodayLabel_font.setPointSize( 40 );
66 TodayLabel->setFont( TodayLabel_font ); 67 TodayLabel->setFont( TodayLabel_font );
67 TodayLabel->setBackgroundOrigin( QLabel::ParentOrigin ); 68 TodayLabel->setBackgroundOrigin( QLabel::ParentOrigin );
68 TodayLabel->setText( "<font color=#FFFFFF>" + tr("Today") +"</font>" ); 69 TodayLabel->setText( "<font color=#FFFFFF>" + tr("Today") +"</font>" );
69 70
70 // date 71 // date
71 DateLabel = new QLabel( box1, "TextLabel1" ); 72 DateLabel = new QLabel( box1, "TextLabel1" );
72 QFont DateLabel_font( DateLabel->font() ); 73 QFont DateLabel_font( DateLabel->font() );
73 DateLabel_font.setBold( TRUE ); 74 DateLabel_font.setBold( TRUE );
74 DateLabel->setFont( DateLabel_font ); 75 DateLabel->setFont( DateLabel_font );
75 DateLabel->setBackgroundOrigin( QLabel::ParentOrigin ); 76 DateLabel->setBackgroundOrigin( QLabel::ParentOrigin );
76 DateLabel->setTextFormat( RichText ); 77 DateLabel->setTextFormat( RichText );
77 78
78 // Opiezilla 79 // Opiezilla
79 Opiezilla = new QLabel( Frame, "OpieZilla" ); 80 Opiezilla = new QLabel( Frame, "OpieZilla" );
80 Opiezilla->setPixmap( opiezilla ); 81 Opiezilla->setPixmap( opiezilla );
81 QWhatsThis::add( Opiezilla , tr( "Today by Maximilian Reiß" ) ); 82 QWhatsThis::add( Opiezilla , tr( "Today by Maximilian Reiß" ) );
82 Opiezilla->setBackgroundOrigin( QLabel::ParentOrigin ); 83 Opiezilla->setBackgroundOrigin( QLabel::ParentOrigin );
83 84
84 85
85 // Ownerfield 86 // Ownerfield
86 OwnerField = new OClickableLabel( this , "Owner" ); 87 OwnerField = new OClickableLabel( this , "Owner" );
87 OwnerField->setAlignment( int (QLabel::AlignTop | QLabel::AlignLeft ) ); 88 OwnerField->setAlignment( int (QLabel::AlignTop | QLabel::AlignLeft ) );
88 89
89 // config 90 // config
90 ConfigButton = new OClickableLabel ( Frame, "PushButton1" ); 91 ConfigButton = new OClickableLabel ( Frame, "PushButton1" );
91 ConfigButton->setPixmap( config ); 92 ConfigButton->setPixmap( config );
92 QWhatsThis::add( ConfigButton, tr( "Click here to get to the config dialog" ) ); 93 QWhatsThis::add( ConfigButton, tr( "Click here to get to the config dialog" ) );
93 ConfigButton->setBackgroundOrigin( QLabel::ParentOrigin ); 94 ConfigButton->setBackgroundOrigin( QLabel::ParentOrigin );
94 95
95 frameLayout->addWidget( box1, 1 ); 96 frameLayout->addWidget( box1, 1 );
96 frameLayout->addStretch( 1 ); 97 frameLayout->addStretch( 1 );
97 frameLayout->addWidget( ConfigButton, 0, AlignBottom ); 98 frameLayout->addWidget( ConfigButton, 0, AlignBottom );
98 frameLayout->addWidget( Opiezilla ); 99 frameLayout->addWidget( Opiezilla );
99} 100}
100 101
101 102
102/** 103/**
103 * D' tor 104 * D' tor
104 */ 105 */
105TodayBase::~TodayBase() { 106TodayBase::~TodayBase() {
106} 107}
107 108
diff --git a/core/pim/today/todaybase.h b/core/pim/today/todaybase.h
index b737351..6ee9bb2 100644
--- a/core/pim/today/todaybase.h
+++ b/core/pim/today/todaybase.h
@@ -1,56 +1,55 @@
1/* 1/*
2 * todaybase.h 2 * todaybase.h
3 * 3 *
4 * copyright : (c) 2002, 2003, 2004 by Maximilian Reiß 4 * copyright : (c) 2002, 2003, 2004 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 TODAYBASE_H 17#ifndef TODAYBASE_H
18#define TODAYBASE_H 18#define TODAYBASE_H
19 19
20#include <opie2/oclickablelabel.h> 20#include <opie2/oclickablelabel.h>
21 21
22#include <qlayout.h> 22#include <qlayout.h>
23 23
24class QVBox; 24class QVBox;
25class QGridLayout; 25class QGridLayout;
26class QFrame; 26class QFrame;
27class QLabel; 27class QLabel;
28class QPushButton; 28class QPushButton;
29class QBoxLayout; 29class QBoxLayout;
30 30
31 31
32using namespace Opie;
33 32
34 33
35class TodayBase : public QWidget 34class TodayBase : public QWidget
36{ 35{
37 Q_OBJECT 36 Q_OBJECT
38 37
39public: 38public:
40 TodayBase( QWidget* parent = 0, const char* name = 0, WFlags = 0 ); 39 TodayBase( QWidget* parent = 0, const char* name = 0, WFlags = 0 );
41 ~TodayBase(); 40 ~TodayBase();
42 41
43 QFrame* Frame4; 42 QFrame* Frame4;
44 QPushButton* DatesButton; 43 QPushButton* DatesButton;
45 QVBoxLayout* layout; 44 QVBoxLayout* layout;
46 Opie::OClickableLabel* OwnerField; 45 Opie::Ui::OClickableLabel* OwnerField;
47 QLabel* Frame; 46 QLabel* Frame;
48 QLabel* DateLabel; 47 QLabel* DateLabel;
49 QFrame* Frame15; 48 QFrame* Frame15;
50 QLabel* Opiezilla; 49 QLabel* Opiezilla;
51 QLabel* TodayLabel; 50 QLabel* TodayLabel;
52 OClickableLabel* ConfigButton; 51 Opie::Ui::OClickableLabel* ConfigButton;
53 52
54}; 53};
55 54
56#endif 55#endif
diff --git a/core/pim/today/todayconfig.cpp b/core/pim/today/todayconfig.cpp
index a6f53e1..4f0877c 100644
--- a/core/pim/today/todayconfig.cpp
+++ b/core/pim/today/todayconfig.cpp
@@ -1,230 +1,231 @@
1/* 1/*
2 * todayconfig.cpp 2 * todayconfig.cpp
3 * 3 *
4 * copyright : (c) 2002, 2003, 2004 by Maximilian Reiß 4 * copyright : (c) 2002, 2003, 2004 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#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#include <qpe/qpeapplication.h> 22#include <qpe/qpeapplication.h>
23 23
24#include <qcheckbox.h> 24#include <qcheckbox.h>
25#include <qlabel.h> 25#include <qlabel.h>
26#include <qspinbox.h> 26#include <qspinbox.h>
27#include <qlayout.h> 27#include <qlayout.h>
28#include <qheader.h> 28#include <qheader.h>
29#include <qvbox.h> 29#include <qvbox.h>
30#include <qtoolbutton.h> 30#include <qtoolbutton.h>
31#include <qwhatsthis.h> 31#include <qwhatsthis.h>
32 32
33using namespace Opie::Ui;
33class ToolButton : public QToolButton { 34class ToolButton : public QToolButton {
34 35
35public: 36public:
36 ToolButton( QWidget *parent, const char *name, const QString& icon, QObject *handler, const QString& slot, bool t = FALSE ) 37 ToolButton( QWidget *parent, const char *name, const QString& icon, QObject *handler, const QString& slot, bool t = FALSE )
37 : QToolButton( parent, name ) { 38 : QToolButton( parent, name ) {
38 setPixmap( Resource::loadPixmap( icon ) ); 39 setPixmap( Resource::loadPixmap( icon ) );
39 setAutoRaise( TRUE ); 40 setAutoRaise( TRUE );
40 setFocusPolicy( QWidget::NoFocus ); 41 setFocusPolicy( QWidget::NoFocus );
41 setToggleButton( t ); 42 setToggleButton( t );
42 connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot ); 43 connect( this, t ? SIGNAL( toggled(bool) ) : SIGNAL( clicked() ), handler, slot );
43 } 44 }
44}; 45};
45 46
46 47
47/** 48/**
48 * The class has currently quite some duplicate code. 49 * 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 50 * By that way it would be real easy to have it as seperate app in settings tab
50 * 51 *
51 */ 52 */
52TodayConfig::TodayConfig( QWidget* parent, const char* name, bool modal ) 53TodayConfig::TodayConfig( QWidget* parent, const char* name, bool modal )
53 : QDialog( parent, name, modal, WStyle_ContextHelp ) { 54 : QDialog( parent, name, modal, WStyle_ContextHelp ) {
54 55
55 setCaption( tr( "Today Config" ) ); 56 setCaption( tr( "Today Config" ) );
56 57
57 QVBoxLayout *layout = new QVBoxLayout( this ); 58 QVBoxLayout *layout = new QVBoxLayout( this );
58 TabWidget3 = new OTabWidget ( this, "tabwidget", OTabWidget::Global, OTabWidget::Bottom ); 59 TabWidget3 = new OTabWidget ( this, "tabwidget", OTabWidget::Global, OTabWidget::Bottom );
59 layout->addWidget( TabWidget3 ); 60 layout->addWidget( TabWidget3 );
60 61
61 tab_2 = new QWidget( TabWidget3, "tab_2" ); 62 tab_2 = new QWidget( TabWidget3, "tab_2" );
62 QVBoxLayout *tab2Layout = new QVBoxLayout( tab_2, 4 ,4 ); 63 QVBoxLayout *tab2Layout = new QVBoxLayout( tab_2, 4 ,4 );
63 QLabel *l = new QLabel( tr( "Load which plugins in what order:" ), tab_2 ); 64 QLabel *l = new QLabel( tr( "Load which plugins in what order:" ), tab_2 );
64 tab2Layout->addWidget( l ); 65 tab2Layout->addWidget( l );
65 QHBox *hbox1 = new QHBox( tab_2 ); 66 QHBox *hbox1 = new QHBox( tab_2 );
66 m_appletListView = new QListView( hbox1 ); 67 m_appletListView = new QListView( hbox1 );
67 m_appletListView->addColumn( "PluginList" ); 68 m_appletListView->addColumn( "PluginList" );
68 m_appletListView->header()->hide(); 69 m_appletListView->header()->hide();
69 m_appletListView->setSorting( -1 ); 70 m_appletListView->setSorting( -1 );
70 QWhatsThis::add( m_appletListView, tr( "Check a checkbox to activate/deactivate a plugin or use the arrow buttons on the right to change the appearance order" ) ); 71 QWhatsThis::add( m_appletListView, tr( "Check a checkbox to activate/deactivate a plugin or use the arrow buttons on the right to change the appearance order" ) );
71 QVBox *vbox1 = new QVBox( hbox1 ); 72 QVBox *vbox1 = new QVBox( hbox1 );
72 new ToolButton( vbox1, tr( "Move Up" ), "up", this , SLOT( moveSelectedUp() ) ); 73 new ToolButton( vbox1, tr( "Move Up" ), "up", this , SLOT( moveSelectedUp() ) );
73 new ToolButton( vbox1, tr( "Move Down" ), "down", this , SLOT( moveSelectedDown() ) ); 74 new ToolButton( vbox1, tr( "Move Down" ), "down", this , SLOT( moveSelectedDown() ) );
74 tab2Layout->addWidget( hbox1 ); 75 tab2Layout->addWidget( hbox1 );
75 TabWidget3->addTab( tab_2, "pass", tr( "active/order" ) ); 76 TabWidget3->addTab( tab_2, "pass", tr( "active/order" ) );
76 77
77 // Misc tab 78 // Misc tab
78 tab_3 = new QWidget( TabWidget3, "tab_3" ); 79 tab_3 = new QWidget( TabWidget3, "tab_3" );
79 QVBoxLayout *tab3Layout = new QVBoxLayout( tab_3 ); 80 QVBoxLayout *tab3Layout = new QVBoxLayout( tab_3 );
80 81
81 m_guiMisc = new TodayConfigMiscBase( tab_3 ); 82 m_guiMisc = new TodayConfigMiscBase( tab_3 );
82 83
83 tab3Layout->addWidget( m_guiMisc ); 84 tab3Layout->addWidget( m_guiMisc );
84 TabWidget3->addTab( tab_3, "SettingsIcon", tr( "Misc" ) ); 85 TabWidget3->addTab( tab_3, "SettingsIcon", tr( "Misc" ) );
85 86
86 m_applets_changed = false; 87 m_applets_changed = false;
87 88
88 connect ( m_appletListView , SIGNAL( clicked(QListViewItem*) ), this, SLOT( appletChanged() ) ); 89 connect ( m_appletListView , SIGNAL( clicked(QListViewItem*) ), this, SLOT( appletChanged() ) );
89 90
90 readConfig(); 91 readConfig();
91 QPEApplication::showDialog( this ); 92 QPEApplication::showDialog( this );
92} 93}
93 94
94 95
95/** 96/**
96 * Autostart, uses the new (opie only) autostart method in the launcher code. 97 * Autostart, uses the new (opie only) autostart method in the launcher code.
97 * If registered against that today ist started on each resume. 98 * If registered against that today ist started on each resume.
98 */ 99 */
99void TodayConfig::setAutoStart() { 100void TodayConfig::setAutoStart() {
100 Config cfg( "today" ); 101 Config cfg( "today" );
101 cfg.setGroup( "Autostart" ); 102 cfg.setGroup( "Autostart" );
102 if ( m_autoStart ) { 103 if ( m_autoStart ) {
103 QCopEnvelope e( "QPE/System", "autoStart(QString,QString,QString)" ); 104 QCopEnvelope e( "QPE/System", "autoStart(QString,QString,QString)" );
104 e << QString( "add" ); 105 e << QString( "add" );
105 e << QString( "today" ); 106 e << QString( "today" );
106 e << QString( "%1" ).arg( m_autoStartTimer ); 107 e << QString( "%1" ).arg( m_autoStartTimer );
107 } else { 108 } else {
108 QCopEnvelope e( "QPE/System", "autoStart(QString,QString)" ); 109 QCopEnvelope e( "QPE/System", "autoStart(QString,QString)" );
109 e << QString( "remove" ); 110 e << QString( "remove" );
110 e << QString( "today" ); 111 e << QString( "today" );
111 } 112 }
112} 113}
113 114
114/** 115/**
115 * Read the config part 116 * Read the config part
116 */ 117 */
117void TodayConfig::readConfig() { 118void TodayConfig::readConfig() {
118 Config cfg( "today" ); 119 Config cfg( "today" );
119 cfg.setGroup( "Autostart" ); 120 cfg.setGroup( "Autostart" );
120 m_autoStart = cfg.readNumEntry( "autostart", 1 ); 121 m_autoStart = cfg.readNumEntry( "autostart", 1 );
121 m_guiMisc->CheckBoxAuto->setChecked( m_autoStart ); 122 m_guiMisc->CheckBoxAuto->setChecked( m_autoStart );
122 m_autoStartTimer = cfg.readNumEntry( "autostartdelay", 0 ); 123 m_autoStartTimer = cfg.readNumEntry( "autostartdelay", 0 );
123 m_guiMisc->SpinBoxTime->setValue( m_autoStartTimer ); 124 m_guiMisc->SpinBoxTime->setValue( m_autoStartTimer );
124 125
125 cfg.setGroup( "General" ); 126 cfg.setGroup( "General" );
126 m_iconSize = cfg.readNumEntry( "IconSize", 18 ); 127 m_iconSize = cfg.readNumEntry( "IconSize", 18 );
127 m_guiMisc->SpinBoxIconSize->setValue( m_iconSize ); 128 m_guiMisc->SpinBoxIconSize->setValue( m_iconSize );
128 m_guiMisc->SpinRefresh->setValue( cfg.readNumEntry( "checkinterval", 15000 ) / 1000 ); 129 m_guiMisc->SpinRefresh->setValue( cfg.readNumEntry( "checkinterval", 15000 ) / 1000 );
129 m_guiMisc->CheckBoxHide->setChecked( cfg.readNumEntry( "HideBanner", 0 ) ); 130 m_guiMisc->CheckBoxHide->setChecked( cfg.readNumEntry( "HideBanner", 0 ) );
130 131
131 132
132 cfg.setGroup( "Plugins" ); 133 cfg.setGroup( "Plugins" );
133 m_excludeApplets = cfg.readListEntry( "ExcludeApplets", ',' ); 134 m_excludeApplets = cfg.readListEntry( "ExcludeApplets", ',' );
134} 135}
135 136
136/** 137/**
137 * Write the config part 138 * Write the config part
138 */ 139 */
139void TodayConfig::writeConfig() { 140void TodayConfig::writeConfig() {
140 Config cfg( "today" ); 141 Config cfg( "today" );
141 cfg.setGroup( "Plugins" ); 142 cfg.setGroup( "Plugins" );
142 if ( m_applets_changed ) { 143 if ( m_applets_changed ) {
143 QStringList exclude; 144 QStringList exclude;
144 QStringList include; 145 QStringList include;
145 QStringList all_applets; 146 QStringList all_applets;
146 147
147 QListViewItemIterator list_it( m_appletListView ); 148 QListViewItemIterator list_it( m_appletListView );
148 149
149 // this makes sure the names get saved in the order selected 150 // this makes sure the names get saved in the order selected
150 for ( ; list_it.current(); ++list_it ) { 151 for ( ; list_it.current(); ++list_it ) {
151 QMap <QString, QCheckListItem *>::Iterator it; 152 QMap <QString, QCheckListItem *>::Iterator it;
152 for ( it = m_applets.begin(); it != m_applets. end (); ++it ) { 153 for ( it = m_applets.begin(); it != m_applets. end (); ++it ) {
153 if ( list_it.current() == (*it) && !(*it)-> isOn () ) { 154 if ( list_it.current() == (*it) && !(*it)-> isOn () ) {
154 exclude << it.key(); 155 exclude << it.key();
155 } else if ( list_it.current() == (*it) && (*it)-> isOn () ){ 156 } else if ( list_it.current() == (*it) && (*it)-> isOn () ){
156 include << it.key(); 157 include << it.key();
157 } 158 }
158 if ( list_it.current() == (*it) ) { 159 if ( list_it.current() == (*it) ) {
159 all_applets << it.key(); 160 all_applets << it.key();
160 } 161 }
161 } 162 }
162 } 163 }
163 cfg.writeEntry( "ExcludeApplets", exclude, ',' ); 164 cfg.writeEntry( "ExcludeApplets", exclude, ',' );
164 cfg.writeEntry( "IncludeApplets", include, ',' ); 165 cfg.writeEntry( "IncludeApplets", include, ',' );
165 cfg.writeEntry( "AllApplets", all_applets, ',' ); 166 cfg.writeEntry( "AllApplets", all_applets, ',' );
166 } 167 }
167 168
168 cfg.setGroup( "Autostart" ); 169 cfg.setGroup( "Autostart" );
169 m_autoStart = m_guiMisc->CheckBoxAuto->isChecked(); 170 m_autoStart = m_guiMisc->CheckBoxAuto->isChecked();
170 cfg.writeEntry( "autostart", m_autoStart ); 171 cfg.writeEntry( "autostart", m_autoStart );
171 m_autoStartTimer = m_guiMisc->SpinBoxTime->value(); 172 m_autoStartTimer = m_guiMisc->SpinBoxTime->value();
172 cfg.writeEntry( "autostartdelay", m_autoStartTimer ); 173 cfg.writeEntry( "autostartdelay", m_autoStartTimer );
173 m_iconSize = m_guiMisc->SpinBoxIconSize->value(); 174 m_iconSize = m_guiMisc->SpinBoxIconSize->value();
174 175
175 cfg.setGroup( "General" ); 176 cfg.setGroup( "General" );
176 cfg.writeEntry( "IconSize", m_iconSize ); 177 cfg.writeEntry( "IconSize", m_iconSize );
177 cfg.writeEntry( "HideBanner", m_guiMisc->CheckBoxHide->isChecked() ); 178 cfg.writeEntry( "HideBanner", m_guiMisc->CheckBoxHide->isChecked() );
178 cfg.writeEntry( "checkinterval", m_guiMisc->SpinRefresh->value()*1000 ); 179 cfg.writeEntry( "checkinterval", m_guiMisc->SpinRefresh->value()*1000 );
179 180
180 // set autostart settings 181 // set autostart settings
181 setAutoStart(); 182 setAutoStart();
182} 183}
183 184
184 185
185void TodayConfig::moveSelectedUp() { 186void TodayConfig::moveSelectedUp() {
186 QListViewItem *item = m_appletListView->selectedItem(); 187 QListViewItem *item = m_appletListView->selectedItem();
187 if ( item && item->itemAbove() ) { 188 if ( item && item->itemAbove() ) {
188 item->itemAbove()->moveItem( item ); 189 item->itemAbove()->moveItem( item );
189 } 190 }
190} 191}
191 192
192 193
193void TodayConfig::moveSelectedDown() { 194void TodayConfig::moveSelectedDown() {
194 QListViewItem *item = m_appletListView->selectedItem(); 195 QListViewItem *item = m_appletListView->selectedItem();
195 if ( item && item->itemBelow() ) { 196 if ( item && item->itemBelow() ) {
196 item->moveItem( item->itemBelow() ); 197 item->moveItem( item->itemBelow() );
197 } 198 }
198} 199}
199 200
200 201
201/** 202/**
202 * Set up the icons in the order/active tab 203 * Set up the icons in the order/active tab
203 */ 204 */
204void TodayConfig::pluginManagement( QString libName, QString name, QPixmap icon ) { 205void TodayConfig::pluginManagement( QString libName, QString name, QPixmap icon ) {
205 206
206 QCheckListItem *item; 207 QCheckListItem *item;
207 item = new QCheckListItem( m_appletListView, name, QCheckListItem::CheckBox ); 208 item = new QCheckListItem( m_appletListView, name, QCheckListItem::CheckBox );
208 209
209 if ( !icon.isNull() ) { 210 if ( !icon.isNull() ) {
210 item->setPixmap( 0, icon ); 211 item->setPixmap( 0, icon );
211 } 212 }
212 213
213 if ( m_excludeApplets.find( libName ) == m_excludeApplets.end() ) { 214 if ( m_excludeApplets.find( libName ) == m_excludeApplets.end() ) {
214 item->setOn( TRUE ); 215 item->setOn( TRUE );
215 } 216 }
216 217
217 m_applets[libName] = item; 218 m_applets[libName] = item;
218 219
219 // kind of hack to get the first tab as default. 220 // kind of hack to get the first tab as default.
220 TabWidget3->setCurrentTab( tab_2 ); 221 TabWidget3->setCurrentTab( tab_2 );
221} 222}
222 223
223void TodayConfig::appletChanged() { 224void TodayConfig::appletChanged() {
224 m_applets_changed = true; 225 m_applets_changed = true;
225} 226}
226 227
227 228
228TodayConfig::~TodayConfig() { 229TodayConfig::~TodayConfig() {
229} 230}
230 231
diff --git a/core/pim/today/todayconfig.h b/core/pim/today/todayconfig.h
index 3b585c9..2b6c507 100644
--- a/core/pim/today/todayconfig.h
+++ b/core/pim/today/todayconfig.h
@@ -1,73 +1,73 @@
1/* 1/*
2 * todayconfig.h 2 * todayconfig.h
3 * 3 *
4 * copyright : (c) 2002,2003, 2004 by Maximilian Reiß 4 * copyright : (c) 2002,2003, 2004 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 "todayconfigmiscbase.h" 20#include "todayconfigmiscbase.h"
21 21
22#include <opie2/otabwidget.h> 22#include <opie2/otabwidget.h>
23 23
24#include <qvariant.h> 24#include <qvariant.h>
25#include <qdialog.h> 25#include <qdialog.h>
26#include <qlistview.h> 26#include <qlistview.h>
27 27
28class QCheckBox; 28class QCheckBox;
29class QLabel; 29class QLabel;
30class QSpinBox; 30class QSpinBox;
31class QTabWidget; 31class QTabWidget;
32 32
33class TodayConfig : public QDialog { 33class TodayConfig : public QDialog {
34 34
35 Q_OBJECT 35 Q_OBJECT
36 36
37public: 37public:
38 TodayConfig( QWidget* parent = 0, const char* name = 0, bool modal = FALSE ); 38 TodayConfig( QWidget* parent = 0, const char* name = 0, bool modal = FALSE );
39 ~TodayConfig(); 39 ~TodayConfig();
40 40
41 OTabWidget* TabWidget3; 41 Opie::Ui::OTabWidget* TabWidget3;
42 42
43 void writeConfig(); 43 void writeConfig();
44 void pluginManagement( QString libName, QString name, QPixmap icon ); 44 void pluginManagement( QString libName, QString name, QPixmap icon );
45 45
46 46
47protected slots: 47protected slots:
48 void appletChanged(); 48 void appletChanged();
49 void moveSelectedUp(); 49 void moveSelectedUp();
50 void moveSelectedDown(); 50 void moveSelectedDown();
51 51
52private: 52private:
53 void setAutoStart(); 53 void setAutoStart();
54 void readConfig(); 54 void readConfig();
55 55
56 QListView* m_appletListView; 56 QListView* m_appletListView;
57 QMap<QString,QCheckListItem*> m_applets; 57 QMap<QString,QCheckListItem*> m_applets;
58 58
59 int m_autoStart; 59 int m_autoStart;
60 int m_autoStartTimer; 60 int m_autoStartTimer;
61 int m_iconSize; 61 int m_iconSize;
62 QStringList m_excludeApplets; 62 QStringList m_excludeApplets;
63 bool m_applets_changed; 63 bool m_applets_changed;
64 64
65 QWidget* tab_2; 65 QWidget* tab_2;
66 QWidget* tab_3; 66 QWidget* tab_3;
67 QLabel* TextLabel1, *TextLabel4; 67 QLabel* TextLabel1, *TextLabel4;
68 QSpinBox* SpinBox7; 68 QSpinBox* SpinBox7;
69 69
70 TodayConfigMiscBase *m_guiMisc; 70 TodayConfigMiscBase *m_guiMisc;
71}; 71};
72 72
73#endif 73#endif