summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/taskbar.cpp2
1 files changed, 0 insertions, 2 deletions
diff --git a/core/launcher/taskbar.cpp b/core/launcher/taskbar.cpp
index 63361fe..7cbfe13 100644
--- a/core/launcher/taskbar.cpp
+++ b/core/launcher/taskbar.cpp
@@ -1,387 +1,385 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of the Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20 20
21#include "startmenu.h" 21#include "startmenu.h"
22#include "inputmethods.h" 22#include "inputmethods.h"
23#include "runningappbar.h" 23#include "runningappbar.h"
24#include "systray.h" 24#include "systray.h"
25#include "wait.h" 25#include "wait.h"
26#include "appicons.h" 26#include "appicons.h"
27 27
28#include "taskbar.h" 28#include "taskbar.h"
29#include "server.h" 29#include "server.h"
30 30
31/* OPIE */ 31/* OPIE */
32#include <opie2/odebug.h> 32#include <opie2/odebug.h>
33#include <qtopia/config.h> 33#include <qtopia/config.h>
34#include <qtopia/qpeapplication.h> 34#include <qtopia/qpeapplication.h>
35#ifdef QWS 35#ifdef QWS
36#include <qtopia/qcopenvelope_qws.h> 36#include <qtopia/qcopenvelope_qws.h>
37#endif 37#endif
38#include <qtopia/global.h> 38#include <qtopia/global.h>
39using namespace Opie::Core; 39using namespace Opie::Core;
40 40
41/* QT */ 41/* QT */
42#include <qlabel.h> 42#include <qlabel.h>
43#include <qlayout.h> 43#include <qlayout.h>
44#include <qtimer.h> 44#include <qtimer.h>
45#ifdef QWS 45#ifdef QWS
46#include <qwindowsystem_qws.h> 46#include <qwindowsystem_qws.h>
47#endif 47#endif
48#include <qwidgetstack.h> 48#include <qwidgetstack.h>
49 49
50#if defined( Q_WS_QWS ) 50#if defined( Q_WS_QWS )
51#include <qwsdisplay_qws.h> 51#include <qwsdisplay_qws.h>
52#include <qgfx_qws.h> 52#include <qgfx_qws.h>
53#endif 53#endif
54 54
55 55
56static bool initNumLock() 56static bool initNumLock()
57{ 57{
58#ifdef QPE_INITIAL_NUMLOCK_STATE 58#ifdef QPE_INITIAL_NUMLOCK_STATE
59 QPE_INITIAL_NUMLOCK_STATE 59 QPE_INITIAL_NUMLOCK_STATE
60#endif 60#endif
61 return FALSE; 61 return FALSE;
62} 62}
63 63
64//--------------------------------------------------------------------------- 64//---------------------------------------------------------------------------
65 65
66class SafeMode : public QWidget 66class SafeMode : public QWidget
67{ 67{
68 Q_OBJECT 68 Q_OBJECT
69public: 69public:
70 SafeMode( QWidget *parent ) : QWidget( parent ), menu(0) 70 SafeMode( QWidget *parent ) : QWidget( parent ), menu(0)
71 { 71 {
72 message = tr("Safe Mode"); 72 message = tr("Safe Mode");
73 QFont f( font() ); 73 QFont f( font() );
74 f.setWeight( QFont::Bold ); 74 f.setWeight( QFont::Bold );
75 setFont( f ); 75 setFont( f );
76 } 76 }
77 77
78 void mousePressEvent( QMouseEvent *); 78 void mousePressEvent( QMouseEvent *);
79 QSize sizeHint() const; 79 QSize sizeHint() const;
80 void paintEvent( QPaintEvent* ); 80 void paintEvent( QPaintEvent* );
81 81
82private slots: 82private slots:
83 void action(int i); 83 void action(int i);
84 84
85private: 85private:
86 QString message; 86 QString message;
87 QPopupMenu *menu; 87 QPopupMenu *menu;
88}; 88};
89 89
90void SafeMode::mousePressEvent( QMouseEvent *) 90void SafeMode::mousePressEvent( QMouseEvent *)
91{ 91{
92 if ( !menu ) { 92 if ( !menu ) {
93 menu = new QPopupMenu(this); 93 menu = new QPopupMenu(this);
94 menu->insertItem( tr("Plugin Manager..."), 0 ); 94 menu->insertItem( tr("Plugin Manager..."), 0 );
95 menu->insertItem( tr("Restart Qtopia"), 1 ); 95 menu->insertItem( tr("Restart Qtopia"), 1 );
96 menu->insertItem( tr("Help..."), 2 ); 96 menu->insertItem( tr("Help..."), 2 );
97 connect(menu, SIGNAL(activated(int)), this, SLOT(action(int))); 97 connect(menu, SIGNAL(activated(int)), this, SLOT(action(int)));
98 } 98 }
99 QPoint curPos = mapToGlobal( QPoint(0,0) ); 99 QPoint curPos = mapToGlobal( QPoint(0,0) );
100 QSize sh = menu->sizeHint(); 100 QSize sh = menu->sizeHint();
101 menu->popup( curPos-QPoint((sh.width()-width())/2,sh.height()) ); 101 menu->popup( curPos-QPoint((sh.width()-width())/2,sh.height()) );
102} 102}
103 103
104void SafeMode::action(int i) 104void SafeMode::action(int i)
105{ 105{
106 switch (i) { 106 switch (i) {
107 case 0: 107 case 0:
108 Global::execute( "pluginmanager" ); 108 Global::execute( "pluginmanager" );
109 break; 109 break;
110 case 1: 110 case 1:
111 Global::restart(); 111 Global::restart();
112 break; 112 break;
113 case 2: 113 case 2:
114 Global::execute( "helpbrowser", "safemode.html" ); 114 Global::execute( "helpbrowser", "safemode.html" );
115 break; 115 break;
116 } 116 }
117} 117}
118 118
119QSize SafeMode::sizeHint() const 119QSize SafeMode::sizeHint() const
120{ 120{
121 QFontMetrics fm = fontMetrics(); 121 QFontMetrics fm = fontMetrics();
122 122
123 return QSize( fm.width(message), fm.height() ); 123 return QSize( fm.width(message), fm.height() );
124} 124}
125 125
126void SafeMode::paintEvent( QPaintEvent* ) 126void SafeMode::paintEvent( QPaintEvent* )
127{ 127{
128 QPainter p(this); 128 QPainter p(this);
129 p.drawText( rect(), AlignCenter, message ); 129 p.drawText( rect(), AlignCenter, message );
130} 130}
131 131
132//--------------------------------------------------------------------------- 132//---------------------------------------------------------------------------
133 133
134class LockKeyState : public QWidget 134class LockKeyState : public QWidget
135{ 135{
136public: 136public:
137 LockKeyState( QWidget *parent ) : 137 LockKeyState( QWidget *parent ) :
138 QWidget(parent), 138 QWidget(parent),
139 nl(initNumLock()), cl(FALSE) 139 nl(initNumLock()), cl(FALSE)
140 { 140 {
141 nl_pm = Resource::loadPixmap("numlock"); 141 nl_pm = Resource::loadPixmap("numlock");
142 cl_pm = Resource::loadPixmap("capslock"); 142 cl_pm = Resource::loadPixmap("capslock");
143 } 143 }
144 QSize sizeHint() const 144 QSize sizeHint() const
145 { 145 {
146 return QSize(nl_pm.width()+2,nl_pm.width()+nl_pm.height()+1); 146 return QSize(nl_pm.width()+2,nl_pm.width()+nl_pm.height()+1);
147 } 147 }
148 void toggleNumLockState() 148 void toggleNumLockState()
149 { 149 {
150 nl = !nl; repaint(); 150 nl = !nl; repaint();
151 } 151 }
152 void toggleCapsLockState() 152 void toggleCapsLockState()
153 { 153 {
154 cl = !cl; repaint(); 154 cl = !cl; repaint();
155 } 155 }
156 void paintEvent( QPaintEvent * ) 156 void paintEvent( QPaintEvent * )
157 { 157 {
158 int y = (height()-sizeHint().height())/2; 158 int y = (height()-sizeHint().height())/2;
159 QPainter p(this); 159 QPainter p(this);
160 if ( nl ) 160 if ( nl )
161 p.drawPixmap(1,y,nl_pm); 161 p.drawPixmap(1,y,nl_pm);
162 if ( cl ) 162 if ( cl )
163 p.drawPixmap(1,y+nl_pm.height()+1,cl_pm); 163 p.drawPixmap(1,y+nl_pm.height()+1,cl_pm);
164 } 164 }
165private: 165private:
166 QPixmap nl_pm, cl_pm; 166 QPixmap nl_pm, cl_pm;
167 bool nl, cl; 167 bool nl, cl;
168}; 168};
169 169
170//--------------------------------------------------------------------------- 170//---------------------------------------------------------------------------
171 171
172TaskBar::~TaskBar() 172TaskBar::~TaskBar()
173{ 173{
174} 174}
175 175
176 176
177TaskBar::TaskBar() : QHBox(0, 0, WStyle_Customize | WStyle_Tool | WStyle_StaysOnTop | WGroupLeader) 177TaskBar::TaskBar() : QHBox(0, 0, WStyle_Customize | WStyle_Tool | WStyle_StaysOnTop | WGroupLeader)
178{ 178{
179 /* Read InputMethod Config */ 179 /* Read InputMethod Config */
180 readConfig(); 180 readConfig();
181 181
182 sm = new StartMenu( this ); 182 sm = new StartMenu( this );
183 connect( sm, SIGNAL(tabSelected(const QString&)), this, 183 connect( sm, SIGNAL(tabSelected(const QString&)), this,
184 SIGNAL(tabSelected(const QString&)) ); 184 SIGNAL(tabSelected(const QString&)) );
185 185
186 inputMethods = new InputMethods( this ); 186 inputMethods = new InputMethods( this );
187 connect( inputMethods, SIGNAL(inputToggled(bool)), 187 connect( inputMethods, SIGNAL(inputToggled(bool)),
188 this, SLOT(calcMaxWindowRect()) ); 188 this, SLOT(calcMaxWindowRect()) );
189 189
190 stack = new QWidgetStack( this ); 190 stack = new QWidgetStack( this );
191 stack->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum ) ); 191 stack->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum ) );
192 label = new QLabel(stack); 192 label = new QLabel(stack);
193 193
194 runningAppBar = new RunningAppBar(stack); 194 runningAppBar = new RunningAppBar(stack);
195 stack->raiseWidget(runningAppBar); 195 stack->raiseWidget(runningAppBar);
196 196
197 waitIcon = new Wait( this ); 197 waitIcon = new Wait( this );
198 (void) new AppIcons( this ); 198 (void) new AppIcons( this );
199 199
200 sysTray = new SysTray( this ); 200 sysTray = new SysTray( this );
201 201
202 /* ### FIXME plugin loader and safe mode */ 202 /* ### FIXME plugin loader and safe mode */
203#if 0 203#if 0
204 if (PluginLoader::inSafeMode()) 204 if (PluginLoader::inSafeMode())
205 (void)new SafeMode( this ); 205 (void)new SafeMode( this );
206#endif 206#endif
207 207
208 // ## make customizable in some way? 208 // ## make customizable in some way?
209#ifdef OPIE_TASKBAR_LOCK_KEY_STATE 209#ifdef OPIE_TASKBAR_LOCK_KEY_STATE
210 lockState = new LockKeyState( this ); 210 lockState = new LockKeyState( this );
211#else 211#else
212 lockState = 0; 212 lockState = 0;
213#endif 213#endif
214 214
215#if defined(Q_WS_QWS) 215#if defined(Q_WS_QWS)
216#if !defined(QT_NO_COP) 216#if !defined(QT_NO_COP)
217 QCopChannel *channel = new QCopChannel( "QPE/TaskBar", this ); 217 QCopChannel *channel = new QCopChannel( "QPE/TaskBar", this );
218 connect( channel, SIGNAL(received(const QCString&,const QByteArray&)), 218 connect( channel, SIGNAL(received(const QCString&,const QByteArray&)),
219 this, SLOT(receive(const QCString&,const QByteArray&)) ); 219 this, SLOT(receive(const QCString&,const QByteArray&)) );
220#endif 220#endif
221#endif 221#endif
222 waitTimer = new QTimer( this ); 222 waitTimer = new QTimer( this );
223 connect( waitTimer, SIGNAL( timeout() ), this, SLOT( stopWait() ) ); 223 connect( waitTimer, SIGNAL( timeout() ), this, SLOT( stopWait() ) );
224 clearer = new QTimer( this ); 224 clearer = new QTimer( this );
225 QObject::connect(clearer, SIGNAL(timeout()), SLOT(clearStatusBar())); 225 QObject::connect(clearer, SIGNAL(timeout()), SLOT(clearStatusBar()));
226 226
227 connect( qApp, SIGNAL(symbol()), this, SLOT(toggleSymbolInput()) ); 227 connect( qApp, SIGNAL(symbol()), this, SLOT(toggleSymbolInput()) );
228 connect( qApp, SIGNAL(numLockStateToggle()), this, SLOT(toggleNumLockState()) ); 228 connect( qApp, SIGNAL(numLockStateToggle()), this, SLOT(toggleNumLockState()) );
229 connect( qApp, SIGNAL(capsLockStateToggle()), this, SLOT(toggleCapsLockState()) ); 229 connect( qApp, SIGNAL(capsLockStateToggle()), this, SLOT(toggleCapsLockState()) );
230} 230}
231 231
232void TaskBar::setStatusMessage( const QString &text ) 232void TaskBar::setStatusMessage( const QString &text )
233{ 233{
234 if ( !text.isEmpty() ) { 234 if ( !text.isEmpty() ) {
235 label->setText( text ); 235 label->setText( text );
236 stack->raiseWidget( label ); 236 stack->raiseWidget( label );
237 if ( sysTray && ( label->fontMetrics().width( text ) > label->width() ) ) 237 if ( sysTray && ( label->fontMetrics().width( text ) > label->width() ) )
238 sysTray->hide(); 238 sysTray->hide();
239 clearer->start( 3000, TRUE ); 239 clearer->start( 3000, TRUE );
240 } else { 240 } else {
241 clearStatusBar(); 241 clearStatusBar();
242 } 242 }
243} 243}
244 244
245void TaskBar::clearStatusBar() 245void TaskBar::clearStatusBar()
246{ 246{
247 label->clear(); 247 label->clear();
248 stack->raiseWidget(runningAppBar); 248 stack->raiseWidget(runningAppBar);
249 if ( sysTray ) 249 if ( sysTray )
250 sysTray->show(); 250 sysTray->show();
251 // stack->raiseWidget( mru ); 251 // stack->raiseWidget( mru );
252} 252}
253 253
254void TaskBar::startWait() 254void TaskBar::startWait()
255{ 255{
256 waitIcon->setWaiting( true ); 256 waitIcon->setWaiting( true );
257 // a catchall stop after 10 seconds... 257 // a catchall stop after 10 seconds...
258 waitTimer->start( 10 * 1000, true ); 258 waitTimer->start( 10 * 1000, true );
259} 259}
260 260
261void TaskBar::stopWait(const QString&) 261void TaskBar::stopWait(const QString&)
262{ 262{
263 waitTimer->stop(); 263 waitTimer->stop();
264 waitIcon->setWaiting( false ); 264 waitIcon->setWaiting( false );
265} 265}
266 266
267void TaskBar::stopWait() 267void TaskBar::stopWait()
268{ 268{
269 waitTimer->stop(); 269 waitTimer->stop();
270 waitIcon->setWaiting( false ); 270 waitIcon->setWaiting( false );
271} 271}
272 272
273/* 273/*
274 * This resizeEvent will be captured by 274 * This resizeEvent will be captured by
275 * the ServerInterface and it'll layout 275 * the ServerInterface and it'll layout
276 * and calc rect. Now if we go from bigger 276 * and calc rect. Now if we go from bigger
277 * to smaller screen the SysTray is out of 277 * to smaller screen the SysTray is out of
278 * bounds and repaint() won't trigger an Event 278 * bounds and repaint() won't trigger an Event
279 */ 279 */
280void TaskBar::resizeEvent( QResizeEvent *e ) 280void TaskBar::resizeEvent( QResizeEvent *e )
281{ 281{
282 if ( sysTray ) 282 if ( sysTray )
283 sysTray->hide(); 283 sysTray->hide();
284 284
285 QHBox::resizeEvent( e ); 285 QHBox::resizeEvent( e );
286 286
287 if ( sysTray ) 287 if ( sysTray )
288 sysTray->show(); 288 sysTray->show();
289
290 owarn << "TaskBar::resize event" << oendl;
291} 289}
292 290
293void TaskBar::styleChange( QStyle &s ) 291void TaskBar::styleChange( QStyle &s )
294{ 292{
295 QHBox::styleChange( s ); 293 QHBox::styleChange( s );
296 calcMaxWindowRect(); 294 calcMaxWindowRect();
297} 295}
298 296
299void TaskBar::calcMaxWindowRect() 297void TaskBar::calcMaxWindowRect()
300{ 298{
301 if ( resizeRunningApp ) 299 if ( resizeRunningApp )
302 { 300 {
303 #if defined(Q_WS_QWS) 301 #if defined(Q_WS_QWS)
304 QRect wr; 302 QRect wr;
305 int displayWidth = qApp->desktop()->width(); 303 int displayWidth = qApp->desktop()->width();
306 QRect ir = inputMethods->inputRect(); 304 QRect ir = inputMethods->inputRect();
307 if ( ir.isValid() ) { 305 if ( ir.isValid() ) {
308 wr.setCoords( 0, 0, displayWidth-1, ir.top()-1 ); 306 wr.setCoords( 0, 0, displayWidth-1, ir.top()-1 );
309 } else { 307 } else {
310 wr.setCoords( 0, 0, displayWidth-1, y()-1 ); 308 wr.setCoords( 0, 0, displayWidth-1, y()-1 );
311 } 309 }
312 #if QT_VERSION < 0x030000 310 #if QT_VERSION < 0x030000
313 QWSServer::setMaxWindowRect( qt_screen->mapToDevice(wr,QSize(qt_screen->width(),qt_screen->height())) ); 311 QWSServer::setMaxWindowRect( qt_screen->mapToDevice(wr,QSize(qt_screen->width(),qt_screen->height())) );
314 #else 312 #else
315 QWSServer::setMaxWindowRect( wr ); 313 QWSServer::setMaxWindowRect( wr );
316 #endif 314 #endif
317 #endif 315 #endif
318 } 316 }
319} 317}
320 318
321void TaskBar::receive( const QCString &msg, const QByteArray &data ) 319void TaskBar::receive( const QCString &msg, const QByteArray &data )
322{ 320{
323 QDataStream stream( data, IO_ReadOnly ); 321 QDataStream stream( data, IO_ReadOnly );
324 if ( msg == "message(QString)" ) { 322 if ( msg == "message(QString)" ) {
325 QString text; 323 QString text;
326 stream >> text; 324 stream >> text;
327 setStatusMessage( text ); 325 setStatusMessage( text );
328 } else if ( msg == "hideInputMethod()" ) { 326 } else if ( msg == "hideInputMethod()" ) {
329 inputMethods->hideInputMethod(); 327 inputMethods->hideInputMethod();
330 } else if ( msg == "showInputMethod()" ) { 328 } else if ( msg == "showInputMethod()" ) {
331 inputMethods->showInputMethod(); 329 inputMethods->showInputMethod();
332 } else if ( msg == "showInputMethod(QString)" ) { 330 } else if ( msg == "showInputMethod(QString)" ) {
333 QString name; 331 QString name;
334 stream >> name; 332 stream >> name;
335 inputMethods->showInputMethod(name); 333 inputMethods->showInputMethod(name);
336 } else if ( msg == "reloadInputMethods()" ) { 334 } else if ( msg == "reloadInputMethods()" ) {
337 readConfig(); 335 readConfig();
338 inputMethods->readConfig(); 336 inputMethods->readConfig();
339 inputMethods->loadInputMethods(); 337 inputMethods->loadInputMethods();
340 } else if ( msg == "reloadApplets()" ) { 338 } else if ( msg == "reloadApplets()" ) {
341 sysTray->clearApplets(); 339 sysTray->clearApplets();
342 sm->createMenu(); 340 sm->createMenu();
343 sysTray->addApplets(); 341 sysTray->addApplets();
344 }else if ( msg == "toggleMenu()" ) { 342 }else if ( msg == "toggleMenu()" ) {
345 if ( sm-> launchMenu-> isVisible() ) 343 if ( sm-> launchMenu-> isVisible() )
346 sm-> launch(); 344 sm-> launch();
347 else 345 else
348 QCopEnvelope e( "QPE/System", "toggleApplicationMenu()" ); 346 QCopEnvelope e( "QPE/System", "toggleApplicationMenu()" );
349 }else if ( msg == "toggleStartMenu()" ) 347 }else if ( msg == "toggleStartMenu()" )
350 sm->launch(); 348 sm->launch();
351} 349}
352 350
353void TaskBar::setApplicationState( const QString &name, ServerInterface::ApplicationState state ) 351void TaskBar::setApplicationState( const QString &name, ServerInterface::ApplicationState state )
354{ 352{
355 if ( state == ServerInterface::Launching ) 353 if ( state == ServerInterface::Launching )
356 runningAppBar->applicationLaunched( name ); 354 runningAppBar->applicationLaunched( name );
357 else if ( state == ServerInterface::Terminated ) 355 else if ( state == ServerInterface::Terminated )
358 runningAppBar->applicationTerminated( name ); 356 runningAppBar->applicationTerminated( name );
359} 357}
360 358
361void TaskBar::toggleNumLockState() 359void TaskBar::toggleNumLockState()
362{ 360{
363 if ( lockState ) lockState->toggleNumLockState(); 361 if ( lockState ) lockState->toggleNumLockState();
364} 362}
365 363
366void TaskBar::toggleCapsLockState() 364void TaskBar::toggleCapsLockState()
367{ 365{
368 if ( lockState ) lockState->toggleCapsLockState(); 366 if ( lockState ) lockState->toggleCapsLockState();
369} 367}
370 368
371void TaskBar::toggleSymbolInput() 369void TaskBar::toggleSymbolInput()
372{ 370{
373 QString unicodeInput = qApp->translate( "InputMethods", "Unicode" ); 371 QString unicodeInput = qApp->translate( "InputMethods", "Unicode" );
374 if ( inputMethods->currentShown() == unicodeInput ) { 372 if ( inputMethods->currentShown() == unicodeInput ) {
375 inputMethods->hideInputMethod(); 373 inputMethods->hideInputMethod();
376 } else { 374 } else {
377 inputMethods->showInputMethod( unicodeInput ); 375 inputMethods->showInputMethod( unicodeInput );
378 } 376 }
379} 377}
380 378
381void TaskBar::readConfig() { 379void TaskBar::readConfig() {
382 Config cfg( "Launcher" ); 380 Config cfg( "Launcher" );
383 cfg.setGroup( "InputMethods" ); 381 cfg.setGroup( "InputMethods" );
384 resizeRunningApp = cfg.readBoolEntry( "Resize", true ); 382 resizeRunningApp = cfg.readBoolEntry( "Resize", true );
385} 383}
386 384
387#include "taskbar.moc" 385#include "taskbar.moc"