summaryrefslogtreecommitdiff
path: root/core/launcher
Unidiff
Diffstat (limited to 'core/launcher') (more/less context) (show whitespace changes)
-rw-r--r--core/launcher/launcher.cpp20
-rw-r--r--core/launcher/launcher.h3
-rw-r--r--core/launcher/taskbar.cpp2
3 files changed, 1 insertions, 24 deletions
diff --git a/core/launcher/launcher.cpp b/core/launcher/launcher.cpp
index 87a54bf..aa357ca 100644
--- a/core/launcher/launcher.cpp
+++ b/core/launcher/launcher.cpp
@@ -428,192 +428,172 @@ void LauncherTabWidget::launcherMessage( const QCString &msg, const QByteArray &
428 odebug << "setFont: " << fam << ", " << size << ", " << weight << ", " << italic << "" << oendl; 428 odebug << "setFont: " << fam << ", " << size << ", " << weight << ", " << italic << "" << oendl;
429 } else { 429 } else {
430 view(id)->clearViewFont(); 430 view(id)->clearViewFont();
431 } 431 }
432 } 432 }
433 }else if ( msg == "setBusyIndicatorType(QString)" ) { 433 }else if ( msg == "setBusyIndicatorType(QString)" ) {
434 QString type; 434 QString type;
435 stream >> type; 435 stream >> type;
436 setBusyIndicatorType( type ); 436 setBusyIndicatorType( type );
437 }else if ( msg == "home()" ) { 437 }else if ( msg == "home()" ) {
438 if ( isVisibleWindow( static_cast<QWidget*>(parent())->winId() ) ) { 438 if ( isVisibleWindow( static_cast<QWidget*>(parent())->winId() ) ) {
439 if (categoryBar) 439 if (categoryBar)
440 categoryBar->nextTab(); 440 categoryBar->nextTab();
441 }else 441 }else
442 static_cast<QWidget*>(parent())->raise(); 442 static_cast<QWidget*>(parent())->raise();
443 } 443 }
444} 444}
445 445
446 446
447 447
448//--------------------------------------------------------------------------- 448//---------------------------------------------------------------------------
449 449
450Launcher::Launcher() 450Launcher::Launcher()
451 : QMainWindow( 0, "PDA User Interface", QWidget::WStyle_Customize | QWidget::WGroupLeader ) 451 : QMainWindow( 0, "PDA User Interface", QWidget::WStyle_Customize | QWidget::WGroupLeader )
452{ 452{
453 tabs = 0; 453 tabs = 0;
454 tb = 0; 454 tb = 0;
455 Config cfg( "Launcher" ); 455 Config cfg( "Launcher" );
456 cfg.setGroup( "DocTab" ); 456 cfg.setGroup( "DocTab" );
457 docTabEnabled = cfg.readBoolEntry( "Enable", true ); 457 docTabEnabled = cfg.readBoolEntry( "Enable", true );
458} 458}
459 459
460void Launcher::createGUI() 460void Launcher::createGUI()
461{ 461{
462 setCaption( tr("Launcher") ); 462 setCaption( tr("Launcher") );
463 463
464 // we have a pretty good idea how big we'll be 464 // we have a pretty good idea how big we'll be
465 setGeometry( 0, 0, qApp->desktop()->width(), qApp->desktop()->height() ); 465 setGeometry( 0, 0, qApp->desktop()->width(), qApp->desktop()->height() );
466 466
467 tb = new TaskBar; 467 tb = new TaskBar;
468 tabs = new LauncherTabWidget( this ); 468 tabs = new LauncherTabWidget( this );
469 setCentralWidget( tabs ); 469 setCentralWidget( tabs );
470 470
471 ServerInterface::dockWidget( tb, ServerInterface::Bottom ); 471 ServerInterface::dockWidget( tb, ServerInterface::Bottom );
472 tb->show(); 472 tb->show();
473 473
474 qApp->installEventFilter( this ); 474 qApp->installEventFilter( this );
475 475
476
477 connect( qApp, SIGNAL(symbol()), this, SLOT(toggleSymbolInput()) );
478 connect( qApp, SIGNAL(numLockStateToggle()), this, SLOT(toggleNumLockState()) );
479 connect( qApp, SIGNAL(capsLockStateToggle()), this, SLOT(toggleCapsLockState()) );
480
481 connect( tb, SIGNAL(tabSelected(const QString&)), 476 connect( tb, SIGNAL(tabSelected(const QString&)),
482 this, SLOT(showTab(const QString&)) ); 477 this, SLOT(showTab(const QString&)) );
483 connect( tabs, SIGNAL(selected(const QString&)), 478 connect( tabs, SIGNAL(selected(const QString&)),
484 this, SLOT(viewSelected(const QString&)) ); 479 this, SLOT(viewSelected(const QString&)) );
485 connect( tabs, SIGNAL(clicked(const AppLnk*)), 480 connect( tabs, SIGNAL(clicked(const AppLnk*)),
486 this, SLOT(select(const AppLnk*))); 481 this, SLOT(select(const AppLnk*)));
487 connect( tabs, SIGNAL(rightPressed(AppLnk*)), 482 connect( tabs, SIGNAL(rightPressed(AppLnk*)),
488 this, SLOT(properties(AppLnk*))); 483 this, SLOT(properties(AppLnk*)));
489 484
490#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 485#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
491 QCopChannel* sysChannel = new QCopChannel( "QPE/System", this ); 486 QCopChannel* sysChannel = new QCopChannel( "QPE/System", this );
492 connect( sysChannel, SIGNAL(received(const QCString&,const QByteArray&)), 487 connect( sysChannel, SIGNAL(received(const QCString&,const QByteArray&)),
493 this, SLOT(systemMessage(const QCString&,const QByteArray&)) ); 488 this, SLOT(systemMessage(const QCString&,const QByteArray&)) );
494#endif 489#endif
495 490
496 // all documents 491 // all documents
497 QImage img( Resource::loadImage( "DocsIcon" ) ); 492 QImage img( Resource::loadImage( "DocsIcon" ) );
498 QPixmap pm; 493 QPixmap pm;
499 pm = img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ); 494 pm = img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() );
500 // It could add this itself if it handles docs 495 // It could add this itself if it handles docs
501 496
502 tabs->newView("Documents", pm, tr("Documents") )->setToolsEnabled( TRUE ); 497 tabs->newView("Documents", pm, tr("Documents") )->setToolsEnabled( TRUE );
503 498
504 QTimer::singleShot( 0, tabs, SLOT( initLayout() ) ); 499 QTimer::singleShot( 0, tabs, SLOT( initLayout() ) );
505 qApp->setMainWidget( this ); 500 qApp->setMainWidget( this );
506 QTimer::singleShot( 500, this, SLOT( makeVisible() ) ); 501 QTimer::singleShot( 500, this, SLOT( makeVisible() ) );
507} 502}
508 503
509Launcher::~Launcher() 504Launcher::~Launcher()
510{ 505{
511 if ( tb ) 506 if ( tb )
512 destroyGUI(); 507 destroyGUI();
513} 508}
514 509
515 bool Launcher::requiresDocuments() const 510 bool Launcher::requiresDocuments() const
516 { 511 {
517 Config cfg( "Launcher" ); 512 Config cfg( "Launcher" );
518 cfg.setGroup( "DocTab" ); 513 cfg.setGroup( "DocTab" );
519 return cfg.readBoolEntry( "Enable", true ); 514 return cfg.readBoolEntry( "Enable", true );
520} 515}
521 516
522void Launcher::makeVisible() 517void Launcher::makeVisible()
523{ 518{
524 showMaximized(); 519 showMaximized();
525} 520}
526 521
527void Launcher::destroyGUI() 522void Launcher::destroyGUI()
528{ 523{
529 delete tb; 524 delete tb;
530 tb = 0; 525 tb = 0;
531 delete tabs; 526 delete tabs;
532 tabs =0; 527 tabs =0;
533} 528}
534 529
535bool Launcher::eventFilter( QObject*, QEvent *ev ) 530bool Launcher::eventFilter( QObject*, QEvent *ev )
536{ 531{
537#ifdef QT_QWS_CUSTOM 532#ifdef QT_QWS_CUSTOM
538 if ( ev->type() == QEvent::KeyPress ) { 533 if ( ev->type() == QEvent::KeyPress ) {
539 QKeyEvent *ke = (QKeyEvent *)ev; 534 QKeyEvent *ke = (QKeyEvent *)ev;
540 if ( ke->key() == Qt::Key_F11 ) { // menu key 535 if ( ke->key() == Qt::Key_F11 ) { // menu key
541 QWidget *active = qApp->activeWindow(); 536 QWidget *active = qApp->activeWindow();
542 if ( active && active->isPopup() ) 537 if ( active && active->isPopup() )
543 active->close(); 538 active->close();
544 else { 539 else {
545 Global::terminateBuiltin("calibrate"); // No tr 540 Global::terminateBuiltin("calibrate"); // No tr
546 tb->launchStartMenu(); 541 tb->launchStartMenu();
547 } 542 }
548 return TRUE; 543 return TRUE;
549 } 544 }
550 } 545 }
551#else 546#else
552 Q_UNUSED(ev); 547 Q_UNUSED(ev);
553#endif 548#endif
554 return FALSE; 549 return FALSE;
555} 550}
556 551
557void Launcher::toggleSymbolInput()
558{
559 tb->toggleSymbolInput();
560}
561
562void Launcher::toggleNumLockState()
563{
564 tb->toggleNumLockState();
565}
566
567void Launcher::toggleCapsLockState()
568{
569 tb->toggleCapsLockState();
570}
571
572static bool isVisibleWindow(int wid) 552static bool isVisibleWindow(int wid)
573{ 553{
574#ifdef Q_WS_QWS 554#ifdef Q_WS_QWS
575 const QList<QWSWindow> &list = qwsServer->clientWindows(); 555 const QList<QWSWindow> &list = qwsServer->clientWindows();
576 QWSWindow* w; 556 QWSWindow* w;
577 for (QListIterator<QWSWindow> it(list); (w=it.current()); ++it) { 557 for (QListIterator<QWSWindow> it(list); (w=it.current()); ++it) {
578 if ( w->winId() == wid ) 558 if ( w->winId() == wid )
579 return !w->isFullyObscured(); 559 return !w->isFullyObscured();
580 } 560 }
581#endif 561#endif
582 return FALSE; 562 return FALSE;
583} 563}
584 564
585void Launcher::viewSelected(const QString& s) 565void Launcher::viewSelected(const QString& s)
586{ 566{
587 setCaption( s + tr(" - Launcher") ); 567 setCaption( s + tr(" - Launcher") );
588} 568}
589 569
590void Launcher::showTab(const QString& id) 570void Launcher::showTab(const QString& id)
591{ 571{
592 tabs->categoryBar->showTab(id); 572 tabs->categoryBar->showTab(id);
593 raise(); 573 raise();
594} 574}
595 575
596void Launcher::select( const AppLnk *appLnk ) 576void Launcher::select( const AppLnk *appLnk )
597{ 577{
598 if ( appLnk->type() == "Folder" ) { // No tr 578 if ( appLnk->type() == "Folder" ) { // No tr
599 // Not supported: flat is simpler for the user 579 // Not supported: flat is simpler for the user
600 } else { 580 } else {
601 if ( appLnk->exec().isNull() ) { 581 if ( appLnk->exec().isNull() ) {
602 int i = QMessageBox::information(this,tr("No application"), 582 int i = QMessageBox::information(this,tr("No application"),
603 tr("<p>No application is defined for this document." 583 tr("<p>No application is defined for this document."
604 "<p>Type is %1.").arg(appLnk->type()), tr("OK"), tr("View as text"), 0, 0, 1); 584 "<p>Type is %1.").arg(appLnk->type()), tr("OK"), tr("View as text"), 0, 0, 1);
605 585
606 /* ### Fixme */ 586 /* ### Fixme */
607 if ( i == 1 ) 587 if ( i == 1 )
608 Global::execute("textedit",appLnk->file()); 588 Global::execute("textedit",appLnk->file());
609 589
610 return; 590 return;
611 } 591 }
612 tabs->setBusy(TRUE); 592 tabs->setBusy(TRUE);
613 emit executing( appLnk ); 593 emit executing( appLnk );
614 appLnk->execute(); 594 appLnk->execute();
615 } 595 }
616} 596}
617 597
618void Launcher::properties( AppLnk *appLnk ) 598void Launcher::properties( AppLnk *appLnk )
619{ 599{
diff --git a/core/launcher/launcher.h b/core/launcher/launcher.h
index 29bd7db..2eaf77c 100644
--- a/core/launcher/launcher.h
+++ b/core/launcher/launcher.h
@@ -91,69 +91,66 @@ private:
91 QProgressBar *docLoadingWidgetProgress; 91 QProgressBar *docLoadingWidgetProgress;
92 bool docLoadingWidgetEnabled; 92 bool docLoadingWidgetEnabled;
93}; 93};
94 94
95class Launcher : public QMainWindow, public ServerInterface 95class Launcher : public QMainWindow, public ServerInterface
96{ 96{
97 Q_OBJECT 97 Q_OBJECT
98public: 98public:
99 Launcher(); 99 Launcher();
100 ~Launcher(); 100 ~Launcher();
101 101
102 // implementing ServerInterface 102 // implementing ServerInterface
103 void createGUI(); 103 void createGUI();
104 void destroyGUI(); 104 void destroyGUI();
105 void typeAdded( const QString& type, const QString& name, const QPixmap& pixmap, const QPixmap& bgPixmap ); 105 void typeAdded( const QString& type, const QString& name, const QPixmap& pixmap, const QPixmap& bgPixmap );
106 void typeRemoved( const QString& type ); 106 void typeRemoved( const QString& type );
107 void applicationAdded( const QString& type, const AppLnk& doc ); 107 void applicationAdded( const QString& type, const AppLnk& doc );
108 void applicationRemoved( const QString& type, const AppLnk& doc ); 108 void applicationRemoved( const QString& type, const AppLnk& doc );
109 void allApplicationsRemoved(); 109 void allApplicationsRemoved();
110 void applicationStateChanged( const QString& name, ApplicationState state ); 110 void applicationStateChanged( const QString& name, ApplicationState state );
111 void documentAdded( const DocLnk& doc ); 111 void documentAdded( const DocLnk& doc );
112 void documentRemoved( const DocLnk& doc ); 112 void documentRemoved( const DocLnk& doc );
113 void aboutToAddBegin(); 113 void aboutToAddBegin();
114 void aboutToAddEnd(); 114 void aboutToAddEnd();
115 void allDocumentsRemoved(); 115 void allDocumentsRemoved();
116 void documentChanged( const DocLnk& oldDoc, const DocLnk& newDoc ); 116 void documentChanged( const DocLnk& oldDoc, const DocLnk& newDoc );
117 void storageChanged( const QList<FileSystem> & ); 117 void storageChanged( const QList<FileSystem> & );
118 void applicationScanningProgress( int percent ); 118 void applicationScanningProgress( int percent );
119 void documentScanningProgress( int percent ); 119 void documentScanningProgress( int percent );
120 bool requiresApplications() const { return TRUE; } 120 bool requiresApplications() const { return TRUE; }
121 bool requiresDocuments() const; 121 bool requiresDocuments() const;
122 void showLoadingDocs(); 122 void showLoadingDocs();
123 void showDocTab(); 123 void showDocTab();
124 124
125 QStringList idList() const { return ids; } 125 QStringList idList() const { return ids; }
126 126
127public slots: 127public slots:
128 void viewSelected(const QString&); 128 void viewSelected(const QString&);
129 void showTab(const QString&); 129 void showTab(const QString&);
130 void select( const AppLnk * ); 130 void select( const AppLnk * );
131 void properties( AppLnk * ); 131 void properties( AppLnk * );
132 void makeVisible(); 132 void makeVisible();
133 133
134signals: 134signals:
135 void executing( const AppLnk * ); 135 void executing( const AppLnk * );
136 136
137private slots: 137private slots:
138 void systemMessage( const QCString &, const QByteArray &); 138 void systemMessage( const QCString &, const QByteArray &);
139 void toggleSymbolInput();
140 void toggleNumLockState();
141 void toggleCapsLockState();
142 139
143protected: 140protected:
144 bool eventFilter( QObject *o, QEvent *ev ); 141 bool eventFilter( QObject *o, QEvent *ev );
145 142
146private: 143private:
147 void updateApps(); 144 void updateApps();
148 void loadDocs(); 145 void loadDocs();
149 void updateDocs(); 146 void updateDocs();
150 void updateTabs(); 147 void updateTabs();
151 148
152 LauncherTabWidget *tabs; 149 LauncherTabWidget *tabs;
153 QStringList ids; 150 QStringList ids;
154 TaskBar *tb; 151 TaskBar *tb;
155 152
156 bool docTabEnabled; 153 bool docTabEnabled;
157}; 154};
158 155
159#endif // LAUNCHERVIEW_H 156#endif // LAUNCHERVIEW_H
diff --git a/core/launcher/taskbar.cpp b/core/launcher/taskbar.cpp
index 86e0d0d..abe238f 100644
--- a/core/launcher/taskbar.cpp
+++ b/core/launcher/taskbar.cpp
@@ -162,97 +162,97 @@ public:
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 Config cfg( "Launcher" ); 179 Config cfg( "Launcher" );
180 cfg.setGroup( "InputMethods" ); 180 cfg.setGroup( "InputMethods" );
181 resizeRunningApp = cfg.readBoolEntry( "Resize", true ); 181 resizeRunningApp = cfg.readBoolEntry( "Resize", true );
182 182
183 sm = new StartMenu( this ); 183 sm = new StartMenu( this );
184 connect( sm, SIGNAL(tabSelected(const QString&)), this, 184 connect( sm, SIGNAL(tabSelected(const QString&)), this,
185 SIGNAL(tabSelected(const QString&)) ); 185 SIGNAL(tabSelected(const QString&)) );
186 186
187 inputMethods = new InputMethods( this ); 187 inputMethods = new InputMethods( this );
188 connect( inputMethods, SIGNAL(inputToggled(bool)), 188 connect( inputMethods, SIGNAL(inputToggled(bool)),
189 this, SLOT(calcMaxWindowRect()) ); 189 this, SLOT(calcMaxWindowRect()) );
190 190
191 stack = new QWidgetStack( this ); 191 stack = new QWidgetStack( this );
192 stack->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum ) ); 192 stack->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum ) );
193 label = new QLabel(stack); 193 label = new QLabel(stack);
194 194
195 runningAppBar = new RunningAppBar(stack); 195 runningAppBar = new RunningAppBar(stack);
196 stack->raiseWidget(runningAppBar); 196 stack->raiseWidget(runningAppBar);
197 197
198 waitIcon = new Wait( this ); 198 waitIcon = new Wait( this );
199 (void) new AppIcons( this ); 199 (void) new AppIcons( this );
200 200
201 sysTray = new SysTray( this ); 201 sysTray = new SysTray( this );
202 202
203 /* ### FIXME plugin loader and safe mode */ 203 /* ### FIXME plugin loader and safe mode */
204#if 0 204#if 0
205 if (PluginLoader::inSafeMode()) 205 if (PluginLoader::inSafeMode())
206 (void)new SafeMode( this ); 206 (void)new SafeMode( this );
207#endif 207#endif
208 208
209 // ## make customizable in some way? 209 // ## make customizable in some way?
210#ifdef QT_QWS_CUSTOM 210#ifdef OPIE_TASKBAR_LOCK_KEY_STATE
211 lockState = new LockKeyState( this ); 211 lockState = new LockKeyState( this );
212#else 212#else
213 lockState = 0; 213 lockState = 0;
214#endif 214#endif
215 215
216#if defined(Q_WS_QWS) 216#if defined(Q_WS_QWS)
217#if !defined(QT_NO_COP) 217#if !defined(QT_NO_COP)
218 QCopChannel *channel = new QCopChannel( "QPE/TaskBar", this ); 218 QCopChannel *channel = new QCopChannel( "QPE/TaskBar", this );
219 connect( channel, SIGNAL(received(const QCString&,const QByteArray&)), 219 connect( channel, SIGNAL(received(const QCString&,const QByteArray&)),
220 this, SLOT(receive(const QCString&,const QByteArray&)) ); 220 this, SLOT(receive(const QCString&,const QByteArray&)) );
221#endif 221#endif
222#endif 222#endif
223 waitTimer = new QTimer( this ); 223 waitTimer = new QTimer( this );
224 connect( waitTimer, SIGNAL( timeout() ), this, SLOT( stopWait() ) ); 224 connect( waitTimer, SIGNAL( timeout() ), this, SLOT( stopWait() ) );
225 clearer = new QTimer( this ); 225 clearer = new QTimer( this );
226 QObject::connect(clearer, SIGNAL(timeout()), SLOT(clearStatusBar())); 226 QObject::connect(clearer, SIGNAL(timeout()), SLOT(clearStatusBar()));
227 227
228 connect( qApp, SIGNAL(symbol()), this, SLOT(toggleSymbolInput()) ); 228 connect( qApp, SIGNAL(symbol()), this, SLOT(toggleSymbolInput()) );
229 connect( qApp, SIGNAL(numLockStateToggle()), this, SLOT(toggleNumLockState()) ); 229 connect( qApp, SIGNAL(numLockStateToggle()), this, SLOT(toggleNumLockState()) );
230 connect( qApp, SIGNAL(capsLockStateToggle()), this, SLOT(toggleCapsLockState()) ); 230 connect( qApp, SIGNAL(capsLockStateToggle()), this, SLOT(toggleCapsLockState()) );
231} 231}
232 232
233void TaskBar::setStatusMessage( const QString &text ) 233void TaskBar::setStatusMessage( const QString &text )
234{ 234{
235 if ( !text.isEmpty() ) { 235 if ( !text.isEmpty() ) {
236 label->setText( text ); 236 label->setText( text );
237 stack->raiseWidget( label ); 237 stack->raiseWidget( label );
238 if ( sysTray && ( label->fontMetrics().width( text ) > label->width() ) ) 238 if ( sysTray && ( label->fontMetrics().width( text ) > label->width() ) )
239 sysTray->hide(); 239 sysTray->hide();
240 clearer->start( 3000, TRUE ); 240 clearer->start( 3000, TRUE );
241 } else { 241 } else {
242 clearStatusBar(); 242 clearStatusBar();
243 } 243 }
244} 244}
245 245
246void TaskBar::clearStatusBar() 246void TaskBar::clearStatusBar()
247{ 247{
248 label->clear(); 248 label->clear();
249 stack->raiseWidget(runningAppBar); 249 stack->raiseWidget(runningAppBar);
250 if ( sysTray ) 250 if ( sysTray )
251 sysTray->show(); 251 sysTray->show();
252 // stack->raiseWidget( mru ); 252 // stack->raiseWidget( mru );
253} 253}
254 254
255void TaskBar::startWait() 255void TaskBar::startWait()
256{ 256{
257 waitIcon->setWaiting( true ); 257 waitIcon->setWaiting( true );
258 // a catchall stop after 10 seconds... 258 // a catchall stop after 10 seconds...