-rw-r--r-- | core/launcher/launcher.cpp | 60 |
1 files changed, 32 insertions, 28 deletions
diff --git a/core/launcher/launcher.cpp b/core/launcher/launcher.cpp index 4ec5f4c..361a159 100644 --- a/core/launcher/launcher.cpp +++ b/core/launcher/launcher.cpp | |||
@@ -1,58 +1,66 @@ | |||
1 | /********************************************************************** | 1 | /* |
2 | ** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. | 2 | This file is part of the Opie Project |
3 | ** | 3 | =. (C) 2000-2002 Trolltech AS |
4 | ** This file is part of the Qtopia Environment. | 4 | .=l. (C) 2002-2005 The Opie Team <opie-devel@handhelds.org> |
5 | ** | 5 | .>+-= |
6 | ** This file may be distributed and/or modified under the terms of the | 6 | _;:, .> :=|. This program is free software; you can |
7 | ** GNU General Public License version 2 as published by the Free Software | 7 | .> <`_, > . <= redistribute it and/or modify it under |
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | 8 | :`=1 )Y*s>-.-- : the terms of the GNU Library General Public |
9 | ** packaging of this file. | 9 | .="- .-=="i, .._ License as published by the Free Software |
10 | ** | 10 | - . .-<_> .<> Foundation; version 2 of the License. |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ._= =} : |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | .%`+i> _;_. |
13 | ** | 13 | .i_,=:_. -<s. This program is distributed in the hope that |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 14 | + . -:. = it will be useful, but WITHOUT ANY WARRANTY; |
15 | ** | 15 | : .. .:, . . . without even the implied warranty of |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | =_ + =;=|` MERCHANTABILITY or FITNESS FOR A |
17 | ** not clear to you. | 17 | _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU |
18 | ** | 18 | ..}^=.= = ; Library General Public License for more |
19 | **********************************************************************/ | 19 | ++= -. .` .: details. |
20 | 20 | : = ...= . :.=- | |
21 | -. .:....=;==+<; You should have received a copy of the GNU | ||
22 | -_. . . )=. = Library General Public License along with | ||
23 | -- :-=` this library; see the file COPYING.LIB. | ||
24 | If not, write to the Free Software Foundation, | ||
25 | Inc., 59 Temple Place - Suite 330, | ||
26 | Boston, MA 02111-1307, USA. | ||
27 | */ | ||
21 | #include "startmenu.h" | 28 | #include "startmenu.h" |
22 | #include "taskbar.h" | 29 | #include "taskbar.h" |
23 | #include "serverinterface.h" | 30 | #include "serverinterface.h" |
24 | #include "launcherview.h" | 31 | #include "launcherview.h" |
25 | #include "launcher.h" | 32 | #include "launcher.h" |
26 | #include "server.h" | 33 | #include "server.h" |
27 | |||
28 | /* OPIE */ | 34 | /* OPIE */ |
29 | #include <opie2/odebug.h> | 35 | #include <opie2/odebug.h> |
36 | #include <opie2/oresource.h> | ||
37 | using namespace Opie::Core; | ||
38 | |||
30 | #include <qtopia/global.h> | 39 | #include <qtopia/global.h> |
31 | #ifdef Q_WS_QWS | 40 | #ifdef Q_WS_QWS |
32 | #include <qtopia/qcopenvelope_qws.h> | 41 | #include <qtopia/qcopenvelope_qws.h> |
33 | #endif | 42 | #endif |
34 | #include <qtopia/resource.h> | ||
35 | #include <qtopia/applnk.h> | 43 | #include <qtopia/applnk.h> |
36 | #include <qtopia/config.h> | 44 | #include <qtopia/config.h> |
37 | #include <qtopia/qpeapplication.h> | 45 | #include <qtopia/qpeapplication.h> |
38 | #include <qtopia/mimetype.h> | 46 | #include <qtopia/mimetype.h> |
39 | #include <qtopia/private/categories.h> | 47 | #include <qtopia/private/categories.h> |
40 | #define QTOPIA_INTERNAL_FSLP | 48 | #define QTOPIA_INTERNAL_FSLP |
41 | #include <qtopia/lnkproperties.h> | 49 | #include <qtopia/lnkproperties.h> |
42 | 50 | ||
43 | /* QT */ | 51 | /* QT */ |
44 | #include <qdir.h> | 52 | #include <qdir.h> |
45 | #ifdef Q_WS_QWS | 53 | #ifdef Q_WS_QWS |
46 | #include <qkeyboard_qws.h> | 54 | #include <qkeyboard_qws.h> |
47 | #include <qwindowsystem_qws.h> | 55 | #include <qwindowsystem_qws.h> |
48 | #endif | 56 | #endif |
49 | #include <qtimer.h> | 57 | #include <qtimer.h> |
50 | #include <qcombobox.h> | 58 | #include <qcombobox.h> |
51 | #include <qvbox.h> | 59 | #include <qvbox.h> |
52 | #include <qlayout.h> | 60 | #include <qlayout.h> |
53 | #include <qstyle.h> | 61 | #include <qstyle.h> |
54 | #include <qpushbutton.h> | 62 | #include <qpushbutton.h> |
55 | #include <qtabbar.h> | 63 | #include <qtabbar.h> |
56 | #include <qwidgetstack.h> | 64 | #include <qwidgetstack.h> |
57 | #include <qregexp.h> | 65 | #include <qregexp.h> |
58 | #include <qmessagebox.h> | 66 | #include <qmessagebox.h> |
@@ -100,51 +108,50 @@ LauncherTabWidget::LauncherTabWidget( Launcher* parent ) : | |||
100 | connect( qApp, SIGNAL(appMessage(const QCString&,const QByteArray&)), | 108 | connect( qApp, SIGNAL(appMessage(const QCString&,const QByteArray&)), |
101 | this, SLOT(appMessage(const QCString&,const QByteArray&))); | 109 | this, SLOT(appMessage(const QCString&,const QByteArray&))); |
102 | #endif | 110 | #endif |
103 | 111 | ||
104 | createDocLoadingWidget(); | 112 | createDocLoadingWidget(); |
105 | } | 113 | } |
106 | 114 | ||
107 | void LauncherTabWidget::createDocLoadingWidget() | 115 | void LauncherTabWidget::createDocLoadingWidget() |
108 | { | 116 | { |
109 | // Construct the 'doc loading widget' shown when finding documents | 117 | // Construct the 'doc loading widget' shown when finding documents |
110 | 118 | ||
111 | // ### LauncherView class needs changing to be more generic so | 119 | // ### LauncherView class needs changing to be more generic so |
112 | // this widget can change its background similar to the iconviews | 120 | // this widget can change its background similar to the iconviews |
113 | // so the background for this matches | 121 | // so the background for this matches |
114 | docLoadingWidget = new LauncherView( stack ); | 122 | docLoadingWidget = new LauncherView( stack ); |
115 | docLoadingWidget->hideIcons(); | 123 | docLoadingWidget->hideIcons(); |
116 | QVBox *docLoadingVBox = new QVBox( docLoadingWidget ); | 124 | QVBox *docLoadingVBox = new QVBox( docLoadingWidget ); |
117 | 125 | ||
118 | docLoadingVBox->setSpacing( 20 ); | 126 | docLoadingVBox->setSpacing( 20 ); |
119 | docLoadingVBox->setMargin( 10 ); | 127 | docLoadingVBox->setMargin( 10 ); |
120 | 128 | ||
121 | QWidget *space1 = new QWidget( docLoadingVBox ); | 129 | QWidget *space1 = new QWidget( docLoadingVBox ); |
122 | docLoadingVBox->setStretchFactor( space1, 1 ); | 130 | docLoadingVBox->setStretchFactor( space1, 1 ); |
123 | 131 | ||
124 | QLabel *waitPixmap = new QLabel( docLoadingVBox ); | 132 | QLabel *waitPixmap = new QLabel( "Please Wait...", docLoadingVBox ); |
125 | waitPixmap->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)5, waitPixmap->sizePolicy().hasHeightForWidth() ) ); | 133 | waitPixmap->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)5, waitPixmap->sizePolicy().hasHeightForWidth() ) ); |
126 | waitPixmap->setPixmap( Resource::loadPixmap( "bigwait" ) ); | ||
127 | waitPixmap->setAlignment( int( QLabel::AlignCenter ) ); | 134 | waitPixmap->setAlignment( int( QLabel::AlignCenter ) ); |
128 | 135 | ||
129 | Config cfg( "Launcher" ); | 136 | Config cfg( "Launcher" ); |
130 | cfg.setGroup( "DocTab" ); | 137 | cfg.setGroup( "DocTab" ); |
131 | docTabEnabled = cfg.readBoolEntry( "Enable", true ); | 138 | docTabEnabled = cfg.readBoolEntry( "Enable", true ); |
132 | 139 | ||
133 | QLabel *textLabel = new QLabel( docLoadingVBox ); | 140 | QLabel *textLabel = new QLabel( docLoadingVBox ); |
134 | textLabel->setAlignment( int( QLabel::AlignCenter ) ); | 141 | textLabel->setAlignment( int( QLabel::AlignCenter ) ); |
135 | docLoadingWidgetProgress = new QProgressBar( docLoadingVBox ); | 142 | docLoadingWidgetProgress = new QProgressBar( docLoadingVBox ); |
136 | docLoadingWidgetProgress->setProgress( 0 ); | 143 | docLoadingWidgetProgress->setProgress( 0 ); |
137 | docLoadingWidgetProgress->setCenterIndicator( TRUE ); | 144 | docLoadingWidgetProgress->setCenterIndicator( TRUE ); |
138 | docLoadingWidgetProgress->setBackgroundMode( NoBackground ); // No flicker | 145 | docLoadingWidgetProgress->setBackgroundMode( NoBackground ); // No flicker |
139 | setProgressStyle(); | 146 | setProgressStyle(); |
140 | 147 | ||
141 | if ( docTabEnabled ) | 148 | if ( docTabEnabled ) |
142 | { | 149 | { |
143 | textLabel->setText( tr( "<b>Finding Documents...</b>" ) ); | 150 | textLabel->setText( tr( "<b>Finding Documents...</b>" ) ); |
144 | } | 151 | } |
145 | else | 152 | else |
146 | { | 153 | { |
147 | textLabel->setText( tr( "<b>The Documents Tab<p>has been disabled.<p>" | 154 | textLabel->setText( tr( "<b>The Documents Tab<p>has been disabled.<p>" |
148 | "Use Settings->Launcher->DocTab<p>to reenable it.</b></center>" ) ); | 155 | "Use Settings->Launcher->DocTab<p>to reenable it.</b></center>" ) ); |
149 | docLoadingWidgetProgress->hide(); | 156 | docLoadingWidgetProgress->hide(); |
150 | docLoadingWidgetEnabled = true; | 157 | docLoadingWidgetEnabled = true; |
@@ -508,53 +515,50 @@ void Launcher::createGUI() | |||
508 | tabs = new LauncherTabWidget( this ); | 515 | tabs = new LauncherTabWidget( this ); |
509 | setCentralWidget( tabs ); | 516 | setCentralWidget( tabs ); |
510 | 517 | ||
511 | ServerInterface::dockWidget( tb, ServerInterface::Bottom ); | 518 | ServerInterface::dockWidget( tb, ServerInterface::Bottom ); |
512 | tb->show(); | 519 | tb->show(); |
513 | 520 | ||
514 | qApp->installEventFilter( this ); | 521 | qApp->installEventFilter( this ); |
515 | 522 | ||
516 | connect( tb, SIGNAL(tabSelected(const QString&)), | 523 | connect( tb, SIGNAL(tabSelected(const QString&)), |
517 | this, SLOT(showTab(const QString&)) ); | 524 | this, SLOT(showTab(const QString&)) ); |
518 | connect( tabs, SIGNAL(selected(const QString&)), | 525 | connect( tabs, SIGNAL(selected(const QString&)), |
519 | this, SLOT(viewSelected(const QString&)) ); | 526 | this, SLOT(viewSelected(const QString&)) ); |
520 | connect( tabs, SIGNAL(clicked(const AppLnk*)), | 527 | connect( tabs, SIGNAL(clicked(const AppLnk*)), |
521 | this, SLOT(select(const AppLnk*))); | 528 | this, SLOT(select(const AppLnk*))); |
522 | connect( tabs, SIGNAL(rightPressed(AppLnk*)), | 529 | connect( tabs, SIGNAL(rightPressed(AppLnk*)), |
523 | this, SLOT(properties(AppLnk*))); | 530 | this, SLOT(properties(AppLnk*))); |
524 | 531 | ||
525 | #if defined(Q_WS_QWS) && !defined(QT_NO_COP) | 532 | #if defined(Q_WS_QWS) && !defined(QT_NO_COP) |
526 | QCopChannel* sysChannel = new QCopChannel( "QPE/System", this ); | 533 | QCopChannel* sysChannel = new QCopChannel( "QPE/System", this ); |
527 | connect( sysChannel, SIGNAL(received(const QCString&,const QByteArray&)), | 534 | connect( sysChannel, SIGNAL(received(const QCString&,const QByteArray&)), |
528 | this, SLOT(systemMessage(const QCString&,const QByteArray&)) ); | 535 | this, SLOT(systemMessage(const QCString&,const QByteArray&)) ); |
529 | #endif | 536 | #endif |
530 | 537 | ||
531 | // all documents | 538 | // all documents |
532 | QImage img( Resource::loadImage( "DocsIcon" ) ); | 539 | QPixmap pm = OResource::loadPixmap( "DocsIcon", OResource::SmallIcon ); |
533 | QPixmap pm; | ||
534 | pm = img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ); | ||
535 | // It could add this itself if it handles docs | 540 | // It could add this itself if it handles docs |
536 | |||
537 | tabs->newView("Documents", pm, tr("Documents") )->setToolsEnabled( TRUE ); | 541 | tabs->newView("Documents", pm, tr("Documents") )->setToolsEnabled( TRUE ); |
538 | 542 | ||
539 | QTimer::singleShot( 0, tabs, SLOT( initLayout() ) ); | 543 | QTimer::singleShot( 0, tabs, SLOT( initLayout() ) ); |
540 | qApp->setMainWidget( this ); | 544 | qApp->setMainWidget( this ); |
541 | QTimer::singleShot( 500, this, SLOT( makeVisible() ) ); | 545 | QTimer::singleShot( 500, this, SLOT( makeVisible() ) ); |
542 | } | 546 | } |
543 | 547 | ||
544 | Launcher::~Launcher() | 548 | Launcher::~Launcher() |
545 | { | 549 | { |
546 | if ( tb ) | 550 | if ( tb ) |
547 | destroyGUI(); | 551 | destroyGUI(); |
548 | } | 552 | } |
549 | 553 | ||
550 | bool Launcher::requiresDocuments() const | 554 | bool Launcher::requiresDocuments() const |
551 | { | 555 | { |
552 | Config cfg( "Launcher" ); | 556 | Config cfg( "Launcher" ); |
553 | cfg.setGroup( "DocTab" ); | 557 | cfg.setGroup( "DocTab" ); |
554 | return cfg.readBoolEntry( "Enable", true ); | 558 | return cfg.readBoolEntry( "Enable", true ); |
555 | } | 559 | } |
556 | 560 | ||
557 | void Launcher::makeVisible() | 561 | void Launcher::makeVisible() |
558 | { | 562 | { |
559 | showMaximized(); | 563 | showMaximized(); |
560 | } | 564 | } |