summaryrefslogtreecommitdiff
path: root/core
authorllornkcor <llornkcor>2002-10-20 04:30:34 (UTC)
committer llornkcor <llornkcor>2002-10-20 04:30:34 (UTC)
commite2694c5aedb3697a373e363cebe72cddb3114a8f (patch) (unidiff)
tree5ba5910a40cfc151e01a956c609f1bdd0243668e /core
parentf6a0af65b96edf63135d2b88c17b8510eebbbd51 (diff)
downloadopie-e2694c5aedb3697a373e363cebe72cddb3114a8f.zip
opie-e2694c5aedb3697a373e363cebe72cddb3114a8f.tar.gz
opie-e2694c5aedb3697a373e363cebe72cddb3114a8f.tar.bz2
fix menu button on zaurus F11 raising opie menu
Diffstat (limited to 'core') (more/less context) (show whitespace changes)
-rw-r--r--core/launcher/desktop.cpp4
-rw-r--r--core/launcher/desktop.h1
-rw-r--r--core/launcher/main.cpp1
3 files changed, 4 insertions, 2 deletions
diff --git a/core/launcher/desktop.cpp b/core/launcher/desktop.cpp
index 3546e28..9863187 100644
--- a/core/launcher/desktop.cpp
+++ b/core/launcher/desktop.cpp
@@ -430,102 +430,102 @@ bool DesktopApplication::qwsEventFilter( QWSEvent *e )
430{ 430{
431 qpedesktop->checkMemory(); 431 qpedesktop->checkMemory();
432 432
433 if ( e->type == QWSEvent::Key ) { 433 if ( e->type == QWSEvent::Key ) {
434 QWSKeyEvent * ke = ( QWSKeyEvent * ) e; 434 QWSKeyEvent * ke = ( QWSKeyEvent * ) e;
435 if ( !loggedin && ke->simpleData.keycode != Key_F34 ) 435 if ( !loggedin && ke->simpleData.keycode != Key_F34 )
436 return TRUE; 436 return TRUE;
437 bool press = ke->simpleData.is_press; 437 bool press = ke->simpleData.is_press;
438 bool autoRepeat = ke->simpleData.is_auto_repeat; 438 bool autoRepeat = ke->simpleData.is_auto_repeat;
439 439
440 /* 440 /*
441 app that registers key/message to be sent back to the app, when it doesn't have focus, 441 app that registers key/message to be sent back to the app, when it doesn't have focus,
442 when user presses key, unless keyboard has been requested from app. 442 when user presses key, unless keyboard has been requested from app.
443 will not send multiple repeats if user holds key 443 will not send multiple repeats if user holds key
444 i.e. one shot 444 i.e. one shot
445 */ 445 */
446 if ( !keyRegisterList.isEmpty() && ke->simpleData.keycode !=0 && press) { 446 if ( !keyRegisterList.isEmpty() && ke->simpleData.keycode !=0 && press) {
447// qDebug("<<<<<<<<<<<<<keycode %d", ke->simpleData.keycode); 447// qDebug("<<<<<<<<<<<<<keycode %d", ke->simpleData.keycode);
448 KeyRegisterList::Iterator it; 448 KeyRegisterList::Iterator it;
449 for ( it = keyRegisterList.begin(); it != keyRegisterList.end(); ++it ) { 449 for ( it = keyRegisterList.begin(); it != keyRegisterList.end(); ++it ) {
450 if ( ( *it ).getKeyCode() == ke->simpleData.keycode && !autoRepeat && !keyboardGrabbed() ) { 450 if ( ( *it ).getKeyCode() == ke->simpleData.keycode && !autoRepeat && !keyboardGrabbed() ) {
451 if ( press ) 451 if ( press )
452 qDebug( "press" ); 452 qDebug( "press" );
453 else 453 else
454 qDebug( "release" ); 454 qDebug( "release" );
455 QCopEnvelope( ( *it ).getChannel().utf8(), ( *it ).getMessage().utf8() ); 455 QCopEnvelope( ( *it ).getChannel().utf8(), ( *it ).getMessage().utf8() );
456 } 456 }
457 } 457 }
458 } 458 }
459 459
460 if ( !keyboardGrabbed() ) { 460 if ( !keyboardGrabbed() ) {
461 if ( ke->simpleData.keycode == Key_F9 ) { 461 if ( ke->simpleData.keycode == Key_F9 ) {
462 if ( press ) 462 if ( press )
463 emit datebook(); 463 emit datebook();
464 return TRUE; 464 return TRUE;
465 } 465 }
466 if ( ke->simpleData.keycode == Key_F10 ) { 466 if ( ke->simpleData.keycode == Key_F10 ) {
467 if ( !press && cardSendTimer ) { 467 if ( !press && cardSendTimer ) {
468 emit contacts(); 468 emit contacts();
469 delete cardSendTimer; 469 delete cardSendTimer;
470 } 470 }
471 else if ( press ) { 471 else if ( press ) {
472 cardSendTimer = new QTimer(); 472 cardSendTimer = new QTimer();
473 cardSendTimer->start( 2000, TRUE ); 473 cardSendTimer->start( 2000, TRUE );
474 connect( cardSendTimer, SIGNAL( timeout() ), this, SLOT( sendCard() ) ); 474 connect( cardSendTimer, SIGNAL( timeout() ), this, SLOT( sendCard() ) );
475 } 475 }
476 return TRUE; 476 return TRUE;
477 } 477 }
478 /* menu key now opens application menu/toolbar 478// menu key now opens application menu/toolbar
479 if ( ke->simpleData.keycode == Key_F11 ) { 479 if ( ke->simpleData.keycode == Key_F11 ) {
480 if ( press ) emit menu(); 480 if ( press ) emit menu();
481 return TRUE; 481 return TRUE;
482 } 482 }
483 */ 483
484 if ( ke->simpleData.keycode == Key_F12 ) { 484 if ( ke->simpleData.keycode == Key_F12 ) {
485 while ( activePopupWidget() ) 485 while ( activePopupWidget() )
486 activePopupWidget() ->close(); 486 activePopupWidget() ->close();
487 if ( press ) 487 if ( press )
488 emit launch(); 488 emit launch();
489 return TRUE; 489 return TRUE;
490 } 490 }
491 if ( ke->simpleData.keycode == Key_F13 ) { 491 if ( ke->simpleData.keycode == Key_F13 ) {
492 if ( press ) 492 if ( press )
493 emit email(); 493 emit email();
494 return TRUE; 494 return TRUE;
495 } 495 }
496 } 496 }
497 497
498 if ( ke->simpleData.keycode == Key_F34 ) { 498 if ( ke->simpleData.keycode == Key_F34 ) {
499 if ( press ) 499 if ( press )
500 emit power(); 500 emit power();
501 return TRUE; 501 return TRUE;
502 } 502 }
503 // This was used for the iPAQ PowerButton 503 // This was used for the iPAQ PowerButton
504 // See main.cpp for new KeyboardFilter 504 // See main.cpp for new KeyboardFilter
505 // 505 //
506 // if ( ke->simpleData.keycode == Key_SysReq ) { 506 // if ( ke->simpleData.keycode == Key_SysReq ) {
507 // if ( press ) emit power(); 507 // if ( press ) emit power();
508 // return TRUE; 508 // return TRUE;
509 // } 509 // }
510 if ( ke->simpleData.keycode == Key_F35 ) { 510 if ( ke->simpleData.keycode == Key_F35 ) {
511 if ( press ) 511 if ( press )
512 emit backlight(); 512 emit backlight();
513 return TRUE; 513 return TRUE;
514 } 514 }
515 if ( ke->simpleData.keycode == Key_F32 ) { 515 if ( ke->simpleData.keycode == Key_F32 ) {
516 if ( press ) 516 if ( press )
517 QCopEnvelope e( "QPE/Desktop", "startSync()" ); 517 QCopEnvelope e( "QPE/Desktop", "startSync()" );
518 return TRUE; 518 return TRUE;
519 } 519 }
520 if ( ke->simpleData.keycode == Key_F31 && !ke->simpleData.modifiers ) { 520 if ( ke->simpleData.keycode == Key_F31 && !ke->simpleData.modifiers ) {
521 if ( press ) 521 if ( press )
522 emit symbol(); 522 emit symbol();
523 return TRUE; 523 return TRUE;
524 } 524 }
525 if ( ke->simpleData.keycode == Key_NumLock ) { 525 if ( ke->simpleData.keycode == Key_NumLock ) {
526 if ( press ) 526 if ( press )
527 emit numLockStateToggle(); 527 emit numLockStateToggle();
528 } 528 }
529 if ( ke->simpleData.keycode == Key_CapsLock ) { 529 if ( ke->simpleData.keycode == Key_CapsLock ) {
530 if ( press ) 530 if ( press )
531 emit capsLockStateToggle(); 531 emit capsLockStateToggle();
diff --git a/core/launcher/desktop.h b/core/launcher/desktop.h
index 09ffe1c..5de85f4 100644
--- a/core/launcher/desktop.h
+++ b/core/launcher/desktop.h
@@ -4,96 +4,97 @@
4** This file is part of Qtopia Environment. 4** This file is part of 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#ifndef __DESKTOP_H__ 21#ifndef __DESKTOP_H__
22#define __DESKTOP_H__ 22#define __DESKTOP_H__
23 23
24 24
25#include "shutdownimpl.h" 25#include "shutdownimpl.h"
26 26
27#include <qpe/qpeapplication.h> 27#include <qpe/qpeapplication.h>
28 28
29#include <qwidget.h> 29#include <qwidget.h>
30#include <qdatetime.h> 30#include <qdatetime.h>
31 31
32class Background; 32class Background;
33class Launcher; 33class Launcher;
34class TaskBar; 34class TaskBar;
35class PowerStatus; 35class PowerStatus;
36class QCopBridge; 36class QCopBridge;
37class TransferServer; 37class TransferServer;
38class DesktopPowerAlerter; 38class DesktopPowerAlerter;
39class PackageSlave; 39class PackageSlave;
40class QPEScreenSaver; 40class QPEScreenSaver;
41 41
42class DesktopApplication : public QPEApplication 42class DesktopApplication : public QPEApplication
43{ 43{
44 Q_OBJECT 44 Q_OBJECT
45public: 45public:
46 DesktopApplication( int& argc, char **argv, Type t ); 46 DesktopApplication( int& argc, char **argv, Type t );
47 ~DesktopApplication(); 47 ~DesktopApplication();
48 48
49 static void switchLCD ( bool on ); // only for togglePower in Desktop 49 static void switchLCD ( bool on ); // only for togglePower in Desktop
50 50
51signals: 51signals:
52 void menu();
52 void home(); 53 void home();
53 void datebook(); 54 void datebook();
54 void contacts(); 55 void contacts();
55 void launch(); 56 void launch();
56 void email(); 57 void email();
57 void backlight(); 58 void backlight();
58 void power(); 59 void power();
59 void symbol(); 60 void symbol();
60 void numLockStateToggle(); 61 void numLockStateToggle();
61 void capsLockStateToggle(); 62 void capsLockStateToggle();
62 void prepareForRestart(); 63 void prepareForRestart();
63 64
64protected: 65protected:
65#ifdef Q_WS_QWS 66#ifdef Q_WS_QWS
66 67
67 bool qwsEventFilter( QWSEvent * ); 68 bool qwsEventFilter( QWSEvent * );
68#endif 69#endif
69 70
70 void shutdown(); 71 void shutdown();
71 void restart(); 72 void restart();
72 73
73public slots: 74public slots:
74 virtual void desktopMessage ( const QCString &msg, const QByteArray &data ); 75 virtual void desktopMessage ( const QCString &msg, const QByteArray &data );
75 virtual void systemMessage ( const QCString &msg, const QByteArray &data ); 76 virtual void systemMessage ( const QCString &msg, const QByteArray &data );
76 77
77protected slots: 78protected slots:
78 void shutdown( ShutdownImpl::Type ); 79 void shutdown( ShutdownImpl::Type );
79 void psTimeout(); 80 void psTimeout();
80 void sendCard(); 81 void sendCard();
81private: 82private:
82 DesktopPowerAlerter *pa; 83 DesktopPowerAlerter *pa;
83 PowerStatus *ps; 84 PowerStatus *ps;
84 QTimer *cardSendTimer; 85 QTimer *cardSendTimer;
85 QCopChannel *channel; 86 QCopChannel *channel;
86 QPEScreenSaver *m_screensaver; 87 QPEScreenSaver *m_screensaver;
87}; 88};
88 89
89 90
90class Desktop : public QWidget 91class Desktop : public QWidget
91{ 92{
92 Q_OBJECT 93 Q_OBJECT
93public: 94public:
94 Desktop(); 95 Desktop();
95 ~Desktop(); 96 ~Desktop();
96 97
97 static bool screenLocked(); 98 static bool screenLocked();
98 99
99 void show(); 100 void show();
diff --git a/core/launcher/main.cpp b/core/launcher/main.cpp
index 762a596..8974ced 100644
--- a/core/launcher/main.cpp
+++ b/core/launcher/main.cpp
@@ -46,96 +46,97 @@
46#include "../calibrate/calibrate.h" 46#include "../calibrate/calibrate.h"
47#endif 47#endif
48 48
49using namespace Opie; 49using namespace Opie;
50 50
51void initEnvironment() 51void initEnvironment()
52{ 52{
53 Config config("locale"); 53 Config config("locale");
54 config.setGroup( "Location" ); 54 config.setGroup( "Location" );
55 QString tz = config.readEntry( "Timezone", getenv("TZ") ); 55 QString tz = config.readEntry( "Timezone", getenv("TZ") );
56 56
57 // if not timezone set, pick New York 57 // if not timezone set, pick New York
58 if (tz.isNull()) 58 if (tz.isNull())
59 tz = "America/New_York"; 59 tz = "America/New_York";
60 60
61 setenv( "TZ", tz, 1 ); 61 setenv( "TZ", tz, 1 );
62 config.writeEntry( "Timezone", tz); 62 config.writeEntry( "Timezone", tz);
63 63
64 config.setGroup( "Language" ); 64 config.setGroup( "Language" );
65 QString lang = config.readEntry( "Language", getenv("LANG") ); 65 QString lang = config.readEntry( "Language", getenv("LANG") );
66 if ( !lang.isNull() ) 66 if ( !lang.isNull() )
67 setenv( "LANG", lang, 1 ); 67 setenv( "LANG", lang, 1 );
68} 68}
69 69
70 70
71int initApplication( int argc, char ** argv ) 71int initApplication( int argc, char ** argv )
72{ 72{
73 initEnvironment(); 73 initEnvironment();
74 74
75#if !defined(QT_QWS_CASSIOPEIA) && !defined(QT_QWS_IPAQ) && !defined(QT_QWS_EBX) 75#if !defined(QT_QWS_CASSIOPEIA) && !defined(QT_QWS_IPAQ) && !defined(QT_QWS_EBX)
76 setenv( "QWS_SIZE", "240x320", 0 ); 76 setenv( "QWS_SIZE", "240x320", 0 );
77#endif 77#endif
78 78
79 //Don't flicker at startup: 79 //Don't flicker at startup:
80 QWSServer::setDesktopBackground( QImage() ); 80 QWSServer::setDesktopBackground( QImage() );
81 DesktopApplication a( argc, argv, QApplication::GuiServer ); 81 DesktopApplication a( argc, argv, QApplication::GuiServer );
82 82
83 ODevice::inst ( )-> setSoftSuspend ( true ); 83 ODevice::inst ( )-> setSoftSuspend ( true );
84 84
85 { // init backlight 85 { // init backlight
86 QCopEnvelope e("QPE/System", "setBacklight(int)" ); 86 QCopEnvelope e("QPE/System", "setBacklight(int)" );
87 e << -3; // Forced on 87 e << -3; // Forced on
88 } 88 }
89 89
90 AlarmServer::initialize(); 90 AlarmServer::initialize();
91 91
92 Desktop *d = new Desktop(); 92 Desktop *d = new Desktop();
93 93
94 QObject::connect( &a, SIGNAL(menu()), d, SLOT(raiseMenu()) );
94 QObject::connect( &a, SIGNAL(datebook()), d, SLOT(raiseDatebook()) ); 95 QObject::connect( &a, SIGNAL(datebook()), d, SLOT(raiseDatebook()) );
95 QObject::connect( &a, SIGNAL(contacts()), d, SLOT(raiseContacts()) ); 96 QObject::connect( &a, SIGNAL(contacts()), d, SLOT(raiseContacts()) );
96 QObject::connect( &a, SIGNAL(launch()), d, SLOT(raiseLauncher()) ); 97 QObject::connect( &a, SIGNAL(launch()), d, SLOT(raiseLauncher()) );
97 QObject::connect( &a, SIGNAL(email()), d, SLOT(raiseEmail()) ); 98 QObject::connect( &a, SIGNAL(email()), d, SLOT(raiseEmail()) );
98 QObject::connect( &a, SIGNAL(power()), d, SLOT(togglePower()) ); 99 QObject::connect( &a, SIGNAL(power()), d, SLOT(togglePower()) );
99 QObject::connect( &a, SIGNAL(backlight()), d, SLOT(toggleLight()) ); 100 QObject::connect( &a, SIGNAL(backlight()), d, SLOT(toggleLight()) );
100 QObject::connect( &a, SIGNAL(symbol()), d, SLOT(toggleSymbolInput()) ); 101 QObject::connect( &a, SIGNAL(symbol()), d, SLOT(toggleSymbolInput()) );
101 QObject::connect( &a, SIGNAL(numLockStateToggle()), d, SLOT(toggleNumLockState()) ); 102 QObject::connect( &a, SIGNAL(numLockStateToggle()), d, SLOT(toggleNumLockState()) );
102 QObject::connect( &a, SIGNAL(capsLockStateToggle()), d, SLOT(toggleCapsLockState()) ); 103 QObject::connect( &a, SIGNAL(capsLockStateToggle()), d, SLOT(toggleCapsLockState()) );
103 QObject::connect( &a, SIGNAL(prepareForRestart()), d, SLOT(terminateServers()) ); 104 QObject::connect( &a, SIGNAL(prepareForRestart()), d, SLOT(terminateServers()) );
104 105
105 (void)new SysFileMonitor(d); 106 (void)new SysFileMonitor(d);
106 Network::createServer(d); 107 Network::createServer(d);
107 108
108#if defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_IPAQ) || defined(QT_QWS_EBX) 109#if defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_IPAQ) || defined(QT_QWS_EBX)
109 if ( !QFile::exists( "/etc/pointercal" ) ) { 110 if ( !QFile::exists( "/etc/pointercal" ) ) {
110 // Make sure calibration widget starts on top. 111 // Make sure calibration widget starts on top.
111 Calibrate *cal = new Calibrate; 112 Calibrate *cal = new Calibrate;
112 cal->exec(); 113 cal->exec();
113 delete cal; 114 delete cal;
114 } 115 }
115#endif 116#endif
116 117
117 d->show(); 118 d->show();
118 119
119 int rv = a.exec(); 120 int rv = a.exec();
120 121
121 delete d; 122 delete d;
122 123
123 ODevice::inst ( )-> setSoftSuspend ( false ); 124 ODevice::inst ( )-> setSoftSuspend ( false );
124 125
125 return rv; 126 return rv;
126} 127}
127 128
128static const char *pidfile_path = "/var/run/opie.pid"; 129static const char *pidfile_path = "/var/run/opie.pid";
129 130
130void create_pidfile ( ) 131void create_pidfile ( )
131{ 132{
132 FILE *f; 133 FILE *f;
133 134
134 if (( f = ::fopen ( pidfile_path, "w" ))) { 135 if (( f = ::fopen ( pidfile_path, "w" ))) {
135 ::fprintf ( f, "%d", getpid ( )); 136 ::fprintf ( f, "%d", getpid ( ));
136 ::fclose ( f ); 137 ::fclose ( f );
137 } 138 }
138} 139}
139 140
140void remove_pidfile ( ) 141void remove_pidfile ( )
141{ 142{