summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/launcher/documentlist.cpp72
-rw-r--r--core/launcher/firstuse.cpp62
-rw-r--r--core/launcher/launcher.cpp60
-rw-r--r--core/launcher/launcherview.cpp53
-rw-r--r--core/launcher/startmenu.cpp79
-rw-r--r--core/launcher/syncdialog.cpp59
-rw-r--r--core/launcher/taskbar.cpp52
-rw-r--r--core/launcher/wait.cpp54
8 files changed, 260 insertions, 231 deletions
diff --git a/core/launcher/documentlist.cpp b/core/launcher/documentlist.cpp
index b8bf4e0..fd385d6 100644
--- a/core/launcher/documentlist.cpp
+++ b/core/launcher/documentlist.cpp
@@ -1,41 +1,49 @@
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 :     =  ...= . :.=-
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*/
20#include "documentlist.h" 28#include "documentlist.h"
21#include "serverinterface.h" 29#include "serverinterface.h"
22#include "mediadlg.h" 30#include "mediadlg.h"
23 31
24/* OPIE */ 32/* OPIE */
25#include <opie2/oglobal.h> 33#include <opie2/oglobal.h>
26#include <opie2/odebug.h> 34#include <opie2/odebug.h>
35#include <opie2/oresource.h>
27#include <qtopia/config.h> 36#include <qtopia/config.h>
28#include <qtopia/mimetype.h> 37#include <qtopia/mimetype.h>
29#include <qtopia/resource.h>
30#include <qtopia/private/categories.h> 38#include <qtopia/private/categories.h>
31#include <qtopia/qpeapplication.h> 39#include <qtopia/qpeapplication.h>
32#include <qtopia/applnk.h> 40#include <qtopia/applnk.h>
33#include <qtopia/storage.h> 41#include <qtopia/storage.h>
34#ifdef Q_WS_QWS 42#ifdef Q_WS_QWS
35#include <qtopia/qcopenvelope_qws.h> 43#include <qtopia/qcopenvelope_qws.h>
36#endif 44#endif
37using namespace Opie::Core; 45using namespace Opie::Core;
38 46
39/* QT */ 47/* QT */
40#include <qtimer.h> 48#include <qtimer.h>
41#include <qfileinfo.h> 49#include <qfileinfo.h>
@@ -223,40 +231,37 @@ void DocumentList::reloadAppLnks()
223 appLnkSet = new AppLnkSet( MimeType::appsFolderName() ); 231 appLnkSet = new AppLnkSet( MimeType::appsFolderName() );
224 232
225 if ( d->sendAppLnks && d->serverGui ) { 233 if ( d->sendAppLnks && d->serverGui ) {
226 static QStringList prevTypeList; 234 static QStringList prevTypeList;
227 QStringList types = appLnkSet->types(); 235 QStringList types = appLnkSet->types();
228 for ( QStringList::Iterator ittypes=types.begin(); ittypes!=types.end(); ++ittypes) { 236 for ( QStringList::Iterator ittypes=types.begin(); ittypes!=types.end(); ++ittypes) {
229 if ( !(*ittypes).isEmpty() ) { 237 if ( !(*ittypes).isEmpty() ) {
230 if ( !prevTypeList.contains(*ittypes) ) { 238 if ( !prevTypeList.contains(*ittypes) ) {
231 QString name = appLnkSet->typeName(*ittypes); 239 QString name = appLnkSet->typeName(*ittypes);
232 QPixmap pm = appLnkSet->typePixmap(*ittypes); 240 QPixmap pm = appLnkSet->typePixmap(*ittypes);
233 QPixmap bgPm = appLnkSet->typeBigPixmap(*ittypes); 241 QPixmap bgPm = appLnkSet->typeBigPixmap(*ittypes);
234 242
235 if (pm.isNull()) { 243 if (pm.isNull())
236 QImage img( Resource::loadImage( "UnknownDocument" ) ); 244 {
237 pm = img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ); 245 pm = OResource::loadImage( "UnknownDocument", OResource::SmallIcon );
238 bgPm = img.smoothScale( AppLnk::bigIconSize(), AppLnk::bigIconSize() ); 246 bgPm = OResource::loadImage( "UnknownDocument", OResource::BigIcon );
239 } 247 }
240 248
241 //odebug << "adding type " << (*ittypes) << "" << oendl; 249 //FIXME our current launcher expects docs tab to be last
242
243 // ### our current launcher expects docs tab to be last
244 d->serverGui->typeAdded( *ittypes, name.isNull() ? (*ittypes) : name, pm, bgPm ); 250 d->serverGui->typeAdded( *ittypes, name.isNull() ? (*ittypes) : name, pm, bgPm );
245 } 251 }
246 prevTypeList.remove(*ittypes); 252 prevTypeList.remove(*ittypes);
247 } 253 }
248 } 254 }
249 for ( QStringList::Iterator ittypes=prevTypeList.begin(); ittypes!=prevTypeList.end(); ++ittypes) { 255 for ( QStringList::Iterator ittypes=prevTypeList.begin(); ittypes!=prevTypeList.end(); ++ittypes) {
250 //odebug << "removing type " << (*ittypes) << "" << oendl;
251 d->serverGui->typeRemoved(*ittypes); 256 d->serverGui->typeRemoved(*ittypes);
252 } 257 }
253 prevTypeList = types; 258 prevTypeList = types;
254 } 259 }
255 260
256 QListIterator<AppLnk> itapp( appLnkSet->children() ); 261 QListIterator<AppLnk> itapp( appLnkSet->children() );
257 AppLnk* l; 262 AppLnk* l;
258 while ( (l=itapp.current()) ) { 263 while ( (l=itapp.current()) ) {
259 ++itapp; 264 ++itapp;
260 if ( d->sendAppLnks && d->serverGui ) 265 if ( d->sendAppLnks && d->serverGui )
261 d->serverGui->applicationAdded( l->type(), *l ); 266 d->serverGui->applicationAdded( l->type(), *l );
262 } 267 }
@@ -348,40 +353,37 @@ void DocumentList::DiffAppLnks()
348 appLnkSet2 = new AppLnkSet( MimeType::appsFolderName() ); 353 appLnkSet2 = new AppLnkSet( MimeType::appsFolderName() );
349 354
350 if ( d->sendAppLnks && d->serverGui ) { 355 if ( d->sendAppLnks && d->serverGui ) {
351 static QStringList prevTypeList = appLnkSet->types(); 356 static QStringList prevTypeList = appLnkSet->types();
352 QStringList types = appLnkSet2->types(); 357 QStringList types = appLnkSet2->types();
353 for ( QStringList::Iterator ittypes=types.begin(); ittypes!=types.end(); ++ittypes) { 358 for ( QStringList::Iterator ittypes=types.begin(); ittypes!=types.end(); ++ittypes) {
354 if ( !(*ittypes).isEmpty() ) { 359 if ( !(*ittypes).isEmpty() ) {
355 if ( !prevTypeList.contains(*ittypes) ) { 360 if ( !prevTypeList.contains(*ittypes) ) {
356 QString name = appLnkSet2->typeName(*ittypes); 361 QString name = appLnkSet2->typeName(*ittypes);
357 QPixmap pm = appLnkSet2->typePixmap(*ittypes); 362 QPixmap pm = appLnkSet2->typePixmap(*ittypes);
358 QPixmap bgPm = appLnkSet2->typeBigPixmap(*ittypes); 363 QPixmap bgPm = appLnkSet2->typeBigPixmap(*ittypes);
359 364
360 if (pm.isNull()) { 365 if (pm.isNull())
361 QImage img( Resource::loadImage( "UnknownDocument" ) ); 366 {
362 pm = img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ); 367 pm = OResource::loadImage( "UnknownDocument", OResource::SmallIcon );
363 bgPm = img.smoothScale( AppLnk::bigIconSize(), AppLnk::bigIconSize() ); 368 bgPm = OResource::loadImage( "UnknownDocument", OResource::BigIcon );
364 } 369 }
365 370
366 odebug << "adding type " << (*ittypes) << "" << oendl;
367
368 // ### our current launcher expects docs tab to be last 371 // ### our current launcher expects docs tab to be last
369 d->serverGui->typeAdded( *ittypes, name.isNull() ? (*ittypes) : name, pm, bgPm ); 372 d->serverGui->typeAdded( *ittypes, name.isNull() ? (*ittypes) : name, pm, bgPm );
370 } 373 }
371 prevTypeList.remove(*ittypes); 374 prevTypeList.remove(*ittypes);
372 } 375 }
373 } 376 }
374 for ( QStringList::Iterator ittypes=prevTypeList.begin(); ittypes!=prevTypeList.end(); ++ittypes) { 377 for ( QStringList::Iterator ittypes=prevTypeList.begin(); ittypes!=prevTypeList.end(); ++ittypes) {
375 odebug << "removing type " << (*ittypes) << "" << oendl;
376 d->serverGui->typeRemoved(*ittypes); 378 d->serverGui->typeRemoved(*ittypes);
377 } 379 }
378 prevTypeList = types; 380 prevTypeList = types;
379 } 381 }
380 382
381 383
382 QListIterator<AppLnk> it1( appLnkSet->children() ); 384 QListIterator<AppLnk> it1( appLnkSet->children() );
383 QListIterator<AppLnk> it2( appLnkSet2->children() ); 385 QListIterator<AppLnk> it2( appLnkSet2->children() );
384 386
385 AppLnk *i; 387 AppLnk *i;
386 AppLnk *j; 388 AppLnk *j;
387 bool found; 389 bool found;
diff --git a/core/launcher/firstuse.cpp b/core/launcher/firstuse.cpp
index 8344787..8c02ab0 100644
--- a/core/launcher/firstuse.cpp
+++ b/core/launcher/firstuse.cpp
@@ -1,49 +1,56 @@
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 :     =  ...= . :.=-
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*/
20 28
21// I need access to some things you don't normally get access to. 29// I need access to some things you don't normally get access to.
22
23#ifndef _MSC_VER 30#ifndef _MSC_VER
24 //### revise to allow removal of translators under MSVC 31 //### revise to allow removal of translators under MSVC
25#define private public 32#define private public
26#define protected public 33#define protected public
27#endif 34#endif
28#include "firstuse.h" 35#include "firstuse.h"
29#include "inputmethods.h" 36#include "inputmethods.h"
30#include "applauncher.h" 37#include "applauncher.h"
31#include "serverapp.h" 38#include "serverapp.h"
32#include "calibrate.h" 39#include "calibrate.h"
33#include "documentlist.h" 40#include "documentlist.h"
34 41
35/* OPIE */ 42/* OPIE */
36#include <opie2/odebug.h> 43#include <opie2/odebug.h>
37#include <qtopia/resource.h> 44#include <opie2/oresource.h>
38#include <qtopia/qcopenvelope_qws.h> 45#include <qtopia/qcopenvelope_qws.h>
39#include <qtopia/config.h> 46#include <qtopia/config.h>
40#include <qtopia/fontmanager.h> 47#include <qtopia/fontmanager.h>
41using namespace Opie::Core; 48using namespace Opie::Core;
42 49
43/* QT */ 50/* QT */
44#include <qfile.h> 51#include <qfile.h>
45#include <qpainter.h> 52#include <qpainter.h>
46#include <qsimplerichtext.h> 53#include <qsimplerichtext.h>
47#include <qpushbutton.h> 54#include <qpushbutton.h>
48#include <qlabel.h> 55#include <qlabel.h>
49#include <qtimer.h> 56#include <qtimer.h>
@@ -232,30 +239,28 @@ void FirstUse::nextDialog()
232 // The last application is still running. 239 // The last application is still running.
233 // Tell it to stop, and when its done we'll come back 240 // Tell it to stop, and when its done we'll come back
234 // to nextDialog and exit. 241 // to nextDialog and exit.
235 odebug << "Waiting for " << settingsTable[prevApp].app << " to exit" << oendl; 242 odebug << "Waiting for " << settingsTable[prevApp].app << " to exit" << oendl;
236 QCopEnvelope e(QCString("QPE/Application/") + settingsTable[prevApp].app, 243 QCopEnvelope e(QCString("QPE/Application/") + settingsTable[prevApp].app,
237 settingsTable[prevApp].stop ); 244 settingsTable[prevApp].stop );
238 currApp = prevApp; 245 currApp = prevApp;
239 } else { 246 } else {
240 odebug << "Done!" << oendl; 247 odebug << "Done!" << oendl;
241 Config config( "qpe" ); 248 Config config( "qpe" );
242 config.setGroup( "Startup" ); 249 config.setGroup( "Startup" );
243 config.writeEntry( "FirstUse", FALSE ); 250 config.writeEntry( "FirstUse", FALSE );
244 QPixmap pix = Resource::loadPixmap("bigwait"); 251 QLabel *lblWait = new QLabel("Please Wait...", 0, "wait hack!", // No tr
245 QLabel *lblWait = new QLabel(0, "wait hack!", // No tr
246 QWidget::WStyle_Customize | QWidget::WDestructiveClose | 252 QWidget::WStyle_Customize | QWidget::WDestructiveClose |
247 QWidget::WStyle_NoBorder | QWidget::WStyle_Tool | 253 QWidget::WStyle_NoBorder | QWidget::WStyle_Tool |
248 QWidget::WStyle_StaysOnTop); 254 QWidget::WStyle_StaysOnTop);
249 lblWait->setPixmap( pix );
250 lblWait->setAlignment( QWidget::AlignCenter ); 255 lblWait->setAlignment( QWidget::AlignCenter );
251 lblWait->setGeometry( qApp->desktop()->geometry() ); 256 lblWait->setGeometry( qApp->desktop()->geometry() );
252 lblWait->show(); 257 lblWait->show();
253 qApp->processEvents(); 258 qApp->processEvents();
254 QTimer::singleShot( 1000, lblWait, SLOT(close()) ); 259 QTimer::singleShot( 1000, lblWait, SLOT(close()) );
255 repaint(); 260 repaint();
256 close(); 261 close();
257 ServerApplication::allowRestart = TRUE; 262 ServerApplication::allowRestart = TRUE;
258 } 263 }
259 return; 264 return;
260 } 265 }
261 } while ( !settingsTable[currApp].enabled ); 266 } while ( !settingsTable[currApp].enabled );
@@ -421,46 +426,39 @@ void FirstUse::reloadLanguages()
421 QFont fn = FontManager::unicodeFont( FontManager::Proportional ); 426 QFont fn = FontManager::unicodeFont( FontManager::Proportional );
422 qApp->setFont( fn, TRUE ); 427 qApp->setFont( fn, TRUE );
423 } else { 428 } else {
424 qApp->setFont( defaultFont, TRUE ); 429 qApp->setFont( defaultFont, TRUE );
425 } 430 }
426#endif 431#endif
427#endif 432#endif
428} 433}
429 434
430void FirstUse::paintEvent( QPaintEvent * ) 435void FirstUse::paintEvent( QPaintEvent * )
431{ 436{
432 QPainter p( this ); 437 QPainter p( this );
433
434 p.drawPixmap(0,0, splash); 438 p.drawPixmap(0,0, splash);
435 439
436 QFont f = p.font();
437 f.setPointSize(15);
438 f.setItalic(FALSE);
439 f.setBold(FALSE);
440 p.setFont(f);
441
442 if ( currApp < 0 ) { 440 if ( currApp < 0 ) {
443 drawText(p, tr( "Tap anywhere on the screen to continue." )); 441 drawText(p, tr( "Tap anywhere on the screen to continue." ));
444 } else if ( settingsTable[currApp].app ) { 442 } else if ( settingsTable[currApp].app ) {
445 if ( waitingForLaunch ) 443 if ( waitingForLaunch )
446 drawText(p, tr("Please wait, loading %1 settings.").arg(tr(settingsTable[currApp].desc)) ); 444 drawText(p, tr("Please wait, loading %1 settings.").arg(tr(settingsTable[currApp].desc)) );
447 } else { 445 } else {
448 drawText(p, tr("Please wait...")); 446 drawText(p, tr("Please wait..."));
449 } 447 }
450} 448}
451 449
452void FirstUse::loadPixmaps() 450void FirstUse::loadPixmaps()
453{ 451{
454 splash.convertFromImage( Resource::loadImage("launcher/firstuse") 452 splash.convertFromImage( OResource::loadImage("launcher/firstuse", OResource::NoScale )
455 .smoothScale( width(), height() ) ); 453 .smoothScale( width(), height() ) );
456 454
457 setBackgroundPixmap(splash); 455 setBackgroundPixmap(splash);
458} 456}
459 457
460void FirstUse::drawText(QPainter &p, const QString &text) 458void FirstUse::drawText(QPainter &p, const QString &text)
461{ 459{
462 QString altered = "<CENTER>" + text + "</CENTER>"; 460 QString altered = "<CENTER>" + text + "</CENTER>";
463 461
464 QSimpleRichText rt(altered, p.font()); 462 QSimpleRichText rt(altered, p.font());
465 rt.setWidth(width() - 20); 463 rt.setWidth(width() - 20);
466 464
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,46 +1,54 @@
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>
37using 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>
@@ -112,27 +120,26 @@ void LauncherTabWidget::createDocLoadingWidget()
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
@@ -520,29 +527,26 @@ void Launcher::createGUI()
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
544Launcher::~Launcher() 548Launcher::~Launcher()
545{ 549{
546 if ( tb ) 550 if ( tb )
547 destroyGUI(); 551 destroyGUI();
548} 552}
diff --git a/core/launcher/launcherview.cpp b/core/launcher/launcherview.cpp
index d960908..6275fcb 100644
--- a/core/launcher/launcherview.cpp
+++ b/core/launcher/launcherview.cpp
@@ -1,42 +1,49 @@
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 "launcherview.h" 28#include "launcherview.h"
22 29
23/* OPIE */ 30/* OPIE */
24#include <opie2/odebug.h> 31#include <opie2/odebug.h>
32#include <opie2/oresource.h>
25#include <qpe/config.h> 33#include <qpe/config.h>
26#include <qtopia/qpeapplication.h> 34#include <qtopia/qpeapplication.h>
27#include <qtopia/private/categories.h> 35#include <qtopia/private/categories.h>
28#include <qtopia/categoryselect.h> 36#include <qtopia/categoryselect.h>
29#include <qtopia/mimetype.h> 37#include <qtopia/mimetype.h>
30#include <qtopia/resource.h>
31using namespace Opie::Core; 38using namespace Opie::Core;
32 39
33#include <qpe/qcopenvelope_qws.h> 40#include <qpe/qcopenvelope_qws.h>
34 41
35/* QT */ 42/* QT */
36#include <qtimer.h> 43#include <qtimer.h>
37#include <qfileinfo.h> 44#include <qfileinfo.h>
38#include <qiconview.h> 45#include <qiconview.h>
39#include <qobjectlist.h> 46#include <qobjectlist.h>
40 47
41 48
42// These define how the busy icon is animated and highlighted 49// These define how the busy icon is animated and highlighted
@@ -417,25 +424,25 @@ void LauncherIconView::addCatsAndMimes(AppLnk* app)
417 if (sl>=0) { 424 if (sl>=0) {
418 QString k; 425 QString k;
419 k = maj.left(12) == "application/" ? maj : maj.left(sl); 426 k = maj.left(12) == "application/" ? maj : maj.left(sl);
420 mimes.replace(k,(void*)1); 427 mimes.replace(k,(void*)1);
421 } 428 }
422} 429}
423 430
424void LauncherIconView::setBusy(bool on) 431void LauncherIconView::setBusy(bool on)
425{ 432{
426#ifdef USE_ANIMATED_BUSY_ICON_OVERLAY 433#ifdef USE_ANIMATED_BUSY_ICON_OVERLAY
427 if ( busyPix.isNull() ) { 434 if ( busyPix.isNull() ) {
428 int size = ( bigIcns ) ? AppLnk::bigIconSize() : AppLnk::smallIconSize(); 435 int size = ( bigIcns ) ? AppLnk::bigIconSize() : AppLnk::smallIconSize();
429 busyPix.convertFromImage( Resource::loadImage( "busy" ).smoothScale( size * 16, size ) ); 436 busyPix.convertFromImage( OResource::loadImage( "busy", OResource::NoScale ).smoothScale( size * 16, size ) );
430 } 437 }
431#endif 438#endif
432 439
433 if ( on ) { 440 if ( on ) {
434 busyTimer = startTimer( 100 ); 441 busyTimer = startTimer( 100 );
435 } else { 442 } else {
436 if ( busyTimer ) { 443 if ( busyTimer ) {
437 killTimer( busyTimer ); 444 killTimer( busyTimer );
438 busyTimer = 0; 445 busyTimer = 0;
439 } 446 }
440 } 447 }
441 448
@@ -992,25 +999,25 @@ void LauncherView::setBackgroundType( BackgroundType t, const QString &val )
992 } 999 }
993 1000
994 case Image: 1001 case Image:
995 if (!val.isEmpty()) { 1002 if (!val.isEmpty()) {
996 bgName = val; 1003 bgName = val;
997 if ( bgCache->contains( bgName ) ) { 1004 if ( bgCache->contains( bgName ) ) {
998 (*bgCache)[bgName]->ref++; 1005 (*bgCache)[bgName]->ref++;
999 bg = (*bgCache)[bgName]->pm; 1006 bg = (*bgCache)[bgName]->pm;
1000 } else { 1007 } else {
1001 QString imgFile = bgName; 1008 QString imgFile = bgName;
1002 bool tile = FALSE; 1009 bool tile = FALSE;
1003 if ( imgFile[0]!='/' || !QFile::exists(imgFile) ) { 1010 if ( imgFile[0]!='/' || !QFile::exists(imgFile) ) {
1004 imgFile = Resource::findPixmap( imgFile ); 1011 imgFile = OResource::findPixmap( imgFile );
1005 tile = TRUE; 1012 tile = TRUE;
1006 } 1013 }
1007 QImage img = loadBackgroundImage(imgFile); 1014 QImage img = loadBackgroundImage(imgFile);
1008 1015
1009 1016
1010 if ( img.depth() == 1 ) 1017 if ( img.depth() == 1 )
1011 img = img.convertDepth(8); 1018 img = img.convertDepth(8);
1012 img.setAlphaBuffer(FALSE); 1019 img.setAlphaBuffer(FALSE);
1013 bg.convertFromImage(img); 1020 bg.convertFromImage(img);
1014 bgCache->insert( bgName, new BgPixmap(bg) ); 1021 bgCache->insert( bgName, new BgPixmap(bg) );
1015 } 1022 }
1016 } 1023 }
diff --git a/core/launcher/startmenu.cpp b/core/launcher/startmenu.cpp
index ce7840e..24a9d7e 100644
--- a/core/launcher/startmenu.cpp
+++ b/core/launcher/startmenu.cpp
@@ -1,76 +1,80 @@
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// TODO. During startup 28// TODO. During startup
22// Launcher::typeAdded 29// Launcher::typeAdded
23// is called for each new tab and calls then each time the refresh of startmenu 30// is called for each new tab and calls then each time the refresh of startmenu
24// suboptimal 31// suboptimal
25 32
26#define INCLUDE_MENUITEM_DEF 33#define INCLUDE_MENUITEM_DEF
27 34
28#include "startmenu.h" 35#include "startmenu.h"
29 36
37/* OPIE */
38#include <opie2/oresource.h>
39using namespace Opie::Core;
30#include <qtopia/qpeapplication.h> 40#include <qtopia/qpeapplication.h>
31#include <qtopia/config.h> 41#include <qtopia/config.h>
32#include <qtopia/resource.h>
33#include <qtopia/mimetype.h> 42#include <qtopia/mimetype.h>
34#include <qtopia/qlibrary.h> 43#include <qtopia/qlibrary.h>
35 44
36//#include <qpainter.h>
37
38//#include <stdlib.h>
39
40
41#define APPLNK_ID_OFFSET 250 45#define APPLNK_ID_OFFSET 250
42#define NO_ID -1 46#define NO_ID -1
43 47
44 48
45void StartPopupMenu::keyPressEvent( QKeyEvent *e ) 49void StartPopupMenu::keyPressEvent( QKeyEvent *e )
46{ 50{
47 if ( e->key() == Key_F33 || e->key() == Key_Space ) { 51 if ( e->key() == Key_F33 || e->key() == Key_Space ) {
48 // "OK" button, little hacky 52 // "OK" button, little hacky
49 QKeyEvent ke(QEvent::KeyPress, Key_Enter, 13, 0); 53 QKeyEvent ke(QEvent::KeyPress, Key_Enter, 13, 0);
50 QPopupMenu::keyPressEvent( &ke ); 54 QPopupMenu::keyPressEvent( &ke );
51 } else { 55 } else {
52 QPopupMenu::keyPressEvent( e ); 56 QPopupMenu::keyPressEvent( e );
53 } 57 }
54} 58}
55 59
56//--------------------------------------------------------------------------- 60//---------------------------------------------------------------------------
57 61
58StartMenu::StartMenu(QWidget *parent) : QLabel( parent ) 62StartMenu::StartMenu(QWidget *parent) : QLabel( parent )
59{ 63{
60 startButtonPixmap = "go"; // No tr 64 startButtonPixmap = "go"; // No tr
61 65
62 int sz = AppLnk::smallIconSize()+3; 66 int sz = AppLnk::smallIconSize()+3;
63 QPixmap pm; 67 QPixmap pm;
64 pm.convertFromImage(Resource::loadImage( startButtonPixmap).smoothScale( sz,sz) ); 68 pm.convertFromImage(OResource::loadImage( startButtonPixmap, OResource::NoScale ).smoothScale( sz,sz) );
65 setPixmap(pm); 69 setPixmap(pm);
66 setFocusPolicy( NoFocus ); 70 setFocusPolicy( NoFocus );
67 71
68 useWidePopupMenu = true; 72 useWidePopupMenu = true;
69 launchMenu = 0; 73 launchMenu = 0;
70 currentItem = 0; 74 currentItem = 0;
71 refreshMenu(); 75 refreshMenu();
72} 76}
73 77
74 78
75void StartMenu::mousePressEvent( QMouseEvent * ) 79void StartMenu::mousePressEvent( QMouseEvent * )
76{ 80{
@@ -136,42 +140,36 @@ void StartMenu::createAppEntry( QPopupMenu *menu, QDir dir, QString file )
136{ 140{
137 if ( file.right(8) == ".desktop" ) { 141 if ( file.right(8) == ".desktop" ) {
138 AppLnk* applnk = new AppLnk( dir.path() + "/" + file ); 142 AppLnk* applnk = new AppLnk( dir.path() + "/" + file );
139 if ( !applnk->isValid() ) { 143 if ( !applnk->isValid() ) {
140 delete applnk; 144 delete applnk;
141 return; 145 return;
142 } 146 }
143 147
144 if ( applnk->type() == "Separator" ) { // No tr 148 if ( applnk->type() == "Separator" ) { // No tr
145 menu->insertSeparator(); 149 menu->insertSeparator();
146 delete applnk; 150 delete applnk;
147 } else { 151 } else {
148 QPixmap test; 152 QPixmap pixmap = OResource::loadPixmap( applnk->icon(), OResource::SmallIcon );
149 QImage img = Resource::loadImage( applnk->icon() );
150 if(!img.isNull() )
151 test.convertFromImage(
152 img.smoothScale(
153 AppLnk::smallIconSize(), AppLnk::smallIconSize() ), 0 );
154
155 // Insert items ordered lexically 153 // Insert items ordered lexically
156 int current, left = 0, right = currentItem; 154 int current, left = 0, right = currentItem;
157 while( left != right ) { 155 while( left != right ) {
158 current = ( left + right ) / 2; 156 current = ( left + right ) / 2;
159 if ( menu->text(menu->idAt( ( current ) ) ) < applnk->name() ) 157 if ( menu->text(menu->idAt( ( current ) ) ) < applnk->name() )
160 left = ++current; 158 left = ++current;
161 else 159 else
162 right = current; 160 right = current;
163 } 161 }
164 162
165 menu->insertItem( test, applnk->name(), 163 menu->insertItem( pixmap, applnk->name(),
166 currentItem + APPLNK_ID_OFFSET, current ); 164 currentItem + APPLNK_ID_OFFSET, current );
167 appLnks.insert( currentItem + APPLNK_ID_OFFSET, applnk ); 165 appLnks.insert( currentItem + APPLNK_ID_OFFSET, applnk );
168 currentItem++; 166 currentItem++;
169 } 167 }
170 } 168 }
171 169
172} 170}
173 171
174void StartMenu::createDirEntry( QPopupMenu *menu, QDir dir, QString file, bool lot ) 172void StartMenu::createDirEntry( QPopupMenu *menu, QDir dir, QString file, bool lot )
175{ 173{
176 // do some sanity checks and collect information 174 // do some sanity checks and collect information
177 175
@@ -185,39 +183,36 @@ void StartMenu::createDirEntry( QPopupMenu *menu, QDir dir, QString file, bool l
185 if ( !name || !icon ) return; 183 if ( !name || !icon ) return;
186 184
187 QDir subdir = QDir( dir ); 185 QDir subdir = QDir( dir );
188 subdir.cd( file ); 186 subdir.cd( file );
189 subdir.setFilter( QDir::Files ); 187 subdir.setFilter( QDir::Files );
190 subdir.setNameFilter( "*.desktop" ); 188 subdir.setNameFilter( "*.desktop" );
191 // we don' t show the menu if there are no entries 189 // we don' t show the menu if there are no entries
192 // perhaps one should check if there exist subsubdirs with entries... 190 // perhaps one should check if there exist subsubdirs with entries...
193 if ( subdir.entryList().isEmpty() ) return; 191 if ( subdir.entryList().isEmpty() ) return;
194 192
195 // checks were ok 193 // checks were ok
196 194
197 QPixmap test; 195 QPixmap pixmap = OResource::loadPixmap( icon, OResource::SmallIcon );
198 test.convertFromImage( Resource::loadImage( icon ).smoothScale(
199 AppLnk::smallIconSize(), AppLnk::smallIconSize() ), 0 );
200
201 if ( useWidePopupMenu ) { 196 if ( useWidePopupMenu ) {
202 // generate submenu 197 // generate submenu
203 QPopupMenu *submenu = new QPopupMenu( menu ); 198 QPopupMenu *submenu = new QPopupMenu( menu );
204 connect( submenu, SIGNAL(activated(int)), SLOT(itemSelected(int)) ); 199 connect( submenu, SIGNAL(activated(int)), SLOT(itemSelected(int)) );
205 menu->insertItem( test, name, submenu, NO_ID ); 200 menu->insertItem( pixmap, name, submenu, NO_ID );
206 201
207 // ltabs is true cause else we wouldn't stuck around.. 202 // ltabs is true cause else we wouldn't stuck around..
208 createMenuEntries( submenu, subdir, true, lot ); 203 createMenuEntries( submenu, subdir, true, lot );
209 } else { 204 } else {
210 // no submenus - just bring corresponding tab to front 205 // no submenus - just bring corresponding tab to front
211 menu->insertItem( test, name, currentItem ); 206 menu->insertItem( pixmap, name, currentItem );
212 tabNames.insert( currentItem, new QString( file ) ); 207 tabNames.insert( currentItem, new QString( file ) );
213 currentItem++; 208 currentItem++;
214 } 209 }
215} 210}
216 211
217void StartMenu::createMenuEntries( QPopupMenu *menu, QDir dir, bool ltabs, bool lot ) 212void StartMenu::createMenuEntries( QPopupMenu *menu, QDir dir, bool ltabs, bool lot )
218{ 213{
219 if ( lot ) { 214 if ( lot ) {
220 dir.setFilter( QDir::Files ); 215 dir.setFilter( QDir::Files );
221 dir.setNameFilter( "*.desktop" ); 216 dir.setNameFilter( "*.desktop" );
222 QStringList files = dir.entryList(); 217 QStringList files = dir.entryList();
223 files.sort(); 218 files.sort();
diff --git a/core/launcher/syncdialog.cpp b/core/launcher/syncdialog.cpp
index 4a2b8ff..d90b2ea 100644
--- a/core/launcher/syncdialog.cpp
+++ b/core/launcher/syncdialog.cpp
@@ -1,60 +1,69 @@
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 "syncdialog.h" 28#include "syncdialog.h"
22 29
23#include <qtopia/resource.h> 30/* OPIE */
31#include <opie2/oresource.h>
32using namespace Opie::Core;
24 33
34/* QT */
25#include <qpainter.h> 35#include <qpainter.h>
26#include <qapplication.h> 36#include <qapplication.h>
27#include <qpushbutton.h> 37#include <qpushbutton.h>
28#include <qfile.h> 38#include <qfile.h>
29 39
30
31SyncDialog::SyncDialog( QWidget *parent, const QString &w ) 40SyncDialog::SyncDialog( QWidget *parent, const QString &w )
32 : QDialog( parent, "SyncDialog", FALSE, WStyle_Tool | WStyle_Customize | 41 : QDialog( parent, "SyncDialog", FALSE, WStyle_Tool | WStyle_Customize |
33 WStyle_StaysOnTop ), what(w), nextPt(0), rev(FALSE), hideDot(TRUE) 42 WStyle_StaysOnTop ), what(w), nextPt(0), rev(FALSE), hideDot(TRUE)
34{ 43{
35 QFont f( font() ); 44 QFont f( font() );
36 f.setPointSize( 16 ); 45 f.setPointSize( 16 );
37 setFont(f); 46 setFont(f);
38 47
39 loadPath(); 48 loadPath();
40 49
41 QSize ds = qApp->desktop()->size(); 50 QSize ds = qApp->desktop()->size();
42 setGeometry( 0, 0, ds.width(), ds.height() ); 51 setGeometry( 0, 0, ds.width(), ds.height() );
43 img = Resource::loadImage( "SyncScreen" ); 52 img = OResource::loadImage( "SyncScreen", OResource::NoScale );
44 if ( img.width() > ds.width() || img.height() > ds.height() ) { 53 if ( img.width() > ds.width() || img.height() > ds.height() ) {
45 path = scalePath( path, ds.width(), img.width(), ds.height(), img.height() ); 54 path = scalePath( path, ds.width(), img.width(), ds.height(), img.height() );
46 img = img.smoothScale( ds.width(), ds.height() ); 55 img = img.smoothScale( ds.width(), ds.height() );
47 } 56 }
48 dot = Resource::loadImage( "syncdot" ); 57 dot = OResource::loadImage( "syncdot", OResource::NoScale );
49 setBackgroundColor( white ); 58 setBackgroundColor( white );
50 59
51 QPushButton *pb = new QPushButton( tr("Abort"), this, "CancelSync" ); 60 QPushButton *pb = new QPushButton( tr("Abort"), this, "CancelSync" );
52 QSize bs = pb->sizeHint(); 61 QSize bs = pb->sizeHint();
53 bs.rwidth() += 10; 62 bs.rwidth() += 10;
54 bs.rheight() += 5; 63 bs.rheight() += 5;
55 pb->setGeometry( (ds.width()-bs.width())/2, 4*ds.height()/5, 64 pb->setGeometry( (ds.width()-bs.width())/2, 4*ds.height()/5,
56 bs.width(), bs.height() ); 65 bs.width(), bs.height() );
57 connect( pb, SIGNAL(clicked()), this, SIGNAL(cancel()) ); 66 connect( pb, SIGNAL(clicked()), this, SIGNAL(cancel()) );
58 67
59 if ( path.count() >= 2 ) { 68 if ( path.count() >= 2 ) {
60 path = generatePath( path, 8 ); 69 path = generatePath( path, 8 );
@@ -109,25 +118,25 @@ void SyncDialog::timerEvent( QTimerEvent * )
109 } 118 }
110 119
111 hideDot = FALSE; 120 hideDot = FALSE;
112 repaint( ox+path[nextPt].x()-dot.width()/2, oy+path[nextPt].y()-dot.height()/2, 121 repaint( ox+path[nextPt].x()-dot.width()/2, oy+path[nextPt].y()-dot.height()/2,
113 dot.width(), dot.height() ); 122 dot.width(), dot.height() );
114 hideDot = TRUE; 123 hideDot = TRUE;
115 repaint( ox+path[oldPt].x()-dot.width()/2, oy+path[oldPt].y()-dot.height()/2, 124 repaint( ox+path[oldPt].x()-dot.width()/2, oy+path[oldPt].y()-dot.height()/2,
116 dot.width(), dot.height() ); 125 dot.width(), dot.height() );
117} 126}
118 127
119void SyncDialog::loadPath() 128void SyncDialog::loadPath()
120{ 129{
121 QString pfile = Resource::findPixmap( "syncdot" ); 130 QString pfile = OResource::findPixmap( "syncdot" );
122 if ( pfile.isEmpty() ) 131 if ( pfile.isEmpty() )
123 return; 132 return;
124 int dp = pfile.findRev('.'); 133 int dp = pfile.findRev('.');
125 pfile.replace( dp, pfile.length()-dp, ".path" ); 134 pfile.replace( dp, pfile.length()-dp, ".path" );
126 135
127 int count = 0; 136 int count = 0;
128 QFile file( pfile ); 137 QFile file( pfile );
129 if ( file.open( IO_ReadOnly ) ) { 138 if ( file.open( IO_ReadOnly ) ) {
130 QString line; 139 QString line;
131 while ( file.readLine( line, 256 ) > 0 ) { 140 while ( file.readLine( line, 256 ) > 0 ) {
132 int x, y; 141 int x, y;
133 if ( sscanf( line.latin1(), "%d %d", &x, &y ) == 2 ) { 142 if ( sscanf( line.latin1(), "%d %d", &x, &y ) == 2 ) {
diff --git a/core/launcher/taskbar.cpp b/core/launcher/taskbar.cpp
index 7cbfe13..1356c77 100644
--- a/core/launcher/taskbar.cpp
+++ b/core/launcher/taskbar.cpp
@@ -1,44 +1,52 @@
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 "inputmethods.h" 29#include "inputmethods.h"
23#include "runningappbar.h" 30#include "runningappbar.h"
24#include "systray.h" 31#include "systray.h"
25#include "wait.h" 32#include "wait.h"
26#include "appicons.h" 33#include "appicons.h"
27 34
28#include "taskbar.h" 35#include "taskbar.h"
29#include "server.h" 36#include "server.h"
30 37
31/* OPIE */ 38/* OPIE */
32#include <opie2/odebug.h> 39#include <opie2/odebug.h>
40#include <opie2/oresource.h>
33#include <qtopia/config.h> 41#include <qtopia/config.h>
34#include <qtopia/qpeapplication.h> 42#include <qtopia/qpeapplication.h>
35#ifdef QWS 43#ifdef QWS
36#include <qtopia/qcopenvelope_qws.h> 44#include <qtopia/qcopenvelope_qws.h>
37#endif 45#endif
38#include <qtopia/global.h> 46#include <qtopia/global.h>
39using namespace Opie::Core; 47using namespace Opie::Core;
40 48
41/* QT */ 49/* QT */
42#include <qlabel.h> 50#include <qlabel.h>
43#include <qlayout.h> 51#include <qlayout.h>
44#include <qtimer.h> 52#include <qtimer.h>
@@ -129,26 +137,26 @@ void SafeMode::paintEvent( QPaintEvent* )
129 p.drawText( rect(), AlignCenter, message ); 137 p.drawText( rect(), AlignCenter, message );
130} 138}
131 139
132//--------------------------------------------------------------------------- 140//---------------------------------------------------------------------------
133 141
134class LockKeyState : public QWidget 142class LockKeyState : public QWidget
135{ 143{
136public: 144public:
137 LockKeyState( QWidget *parent ) : 145 LockKeyState( QWidget *parent ) :
138 QWidget(parent), 146 QWidget(parent),
139 nl(initNumLock()), cl(FALSE) 147 nl(initNumLock()), cl(FALSE)
140 { 148 {
141 nl_pm = Resource::loadPixmap("numlock"); 149 nl_pm = OResource::loadPixmap("numlock", OResource::NoScale);
142 cl_pm = Resource::loadPixmap("capslock"); 150 cl_pm = OResource::loadPixmap("capslock", OResource::NoScale);
143 } 151 }
144 QSize sizeHint() const 152 QSize sizeHint() const
145 { 153 {
146 return QSize(nl_pm.width()+2,nl_pm.width()+nl_pm.height()+1); 154 return QSize(nl_pm.width()+2,nl_pm.width()+nl_pm.height()+1);
147 } 155 }
148 void toggleNumLockState() 156 void toggleNumLockState()
149 { 157 {
150 nl = !nl; repaint(); 158 nl = !nl; repaint();
151 } 159 }
152 void toggleCapsLockState() 160 void toggleCapsLockState()
153 { 161 {
154 cl = !cl; repaint(); 162 cl = !cl; repaint();
diff --git a/core/launcher/wait.cpp b/core/launcher/wait.cpp
index 523819d..f872218 100644
--- a/core/launcher/wait.cpp
+++ b/core/launcher/wait.cpp
@@ -1,53 +1,59 @@
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 "wait.h" 28#include "wait.h"
22 29
23#include <opie2/owait.h> 30#include <opie2/owait.h>
31#include <opie2/oresource.h>
32using namespace Opie::Core;
24 33
25#include <qtopia/config.h> 34#include <qtopia/config.h>
26#include <qtopia/applnk.h> 35#include <qtopia/applnk.h>
27 36
28Wait *lastWaitObject = NULL; 37Wait *lastWaitObject = NULL;
29 38
30 39
31using namespace Opie::Ui; 40using namespace Opie::Ui;
32Wait::Wait( QWidget *parent ) : QWidget( parent ), 41Wait::Wait( QWidget *parent ) : QWidget( parent ),
33 waiting( FALSE ) 42 waiting( FALSE )
34{ 43{
35 44
36 QSize size( AppLnk::smallIconSize(), AppLnk::smallIconSize() ); 45 QSize size( AppLnk::smallIconSize(), AppLnk::smallIconSize() );
37 setFixedSize( size ); 46 setFixedSize( size );
38 47 pm = OResource::loadPixmap( "wait", OResource::SmallIcon );
39 QImage img = Resource::loadImage( "wait" );
40 img = img.smoothScale( size.width(), size.height() );
41 pm.convertFromImage( img );
42 48
43 lastWaitObject = this; 49 lastWaitObject = this;
44 m_centralWait = new OWait( 0l ); 50 m_centralWait = new OWait( 0l );
45 m_centralWait->hide(); 51 m_centralWait->hide();
46 hide(); 52 hide();
47} 53}
48 54
49 55
50Wait *Wait::getWaitObject() 56Wait *Wait::getWaitObject()
51{ 57{
52 return lastWaitObject; 58 return lastWaitObject;
53} 59}