summaryrefslogtreecommitdiff
authorsandman <sandman>2002-12-17 00:20:01 (UTC)
committer sandman <sandman>2002-12-17 00:20:01 (UTC)
commit70090722d240bed8c390281e072c9bcfc5ba7782 (patch) (unidiff)
tree453b4715acff74889655877a491c6cc3791d5de0
parent79b94019014efe998b126219827f3050395beea7 (diff)
downloadopie-70090722d240bed8c390281e072c9bcfc5ba7782.zip
opie-70090722d240bed8c390281e072c9bcfc5ba7782.tar.gz
opie-70090722d240bed8c390281e072c9bcfc5ba7782.tar.bz2
small additions to support grabbing the buttons back from a crashed
application
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/qpeapplication.cpp11
-rw-r--r--library/qpeapplication.h2
2 files changed, 13 insertions, 0 deletions
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index 852671a..b26933b 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -58,96 +58,97 @@
58#else 58#else
59#include <qplatinumstyle.h> 59#include <qplatinumstyle.h>
60#include <qwindowsstyle.h> 60#include <qwindowsstyle.h>
61#include <qmotifstyle.h> 61#include <qmotifstyle.h>
62#include <qmotifplusstyle.h> 62#include <qmotifplusstyle.h>
63#include "lightstyle.h" 63#include "lightstyle.h"
64 64
65#include <qpe/qlibrary.h> 65#include <qpe/qlibrary.h>
66#endif 66#endif
67#include "global.h" 67#include "global.h"
68#include "resource.h" 68#include "resource.h"
69#if QT_VERSION <= 230 && defined(QT_NO_CODECS) 69#if QT_VERSION <= 230 && defined(QT_NO_CODECS)
70#include "qutfcodec.h" 70#include "qutfcodec.h"
71#endif 71#endif
72#include "config.h" 72#include "config.h"
73#include "network.h" 73#include "network.h"
74#ifdef QWS 74#ifdef QWS
75#include "fontmanager.h" 75#include "fontmanager.h"
76#endif 76#endif
77 77
78#include "alarmserver.h" 78#include "alarmserver.h"
79#include "applnk.h" 79#include "applnk.h"
80#include "qpemenubar.h" 80#include "qpemenubar.h"
81#include "textcodecinterface.h" 81#include "textcodecinterface.h"
82#include "imagecodecinterface.h" 82#include "imagecodecinterface.h"
83 83
84#include <unistd.h> 84#include <unistd.h>
85#include <sys/file.h> 85#include <sys/file.h>
86#include <sys/ioctl.h> 86#include <sys/ioctl.h>
87#include <sys/soundcard.h> 87#include <sys/soundcard.h>
88 88
89#include "qt_override_p.h" 89#include "qt_override_p.h"
90 90
91 91
92class QPEApplicationData 92class QPEApplicationData
93{ 93{
94public: 94public:
95 QPEApplicationData() : presstimer( 0 ), presswidget( 0 ), kbgrabber( 0 ), 95 QPEApplicationData() : presstimer( 0 ), presswidget( 0 ), kbgrabber( 0 ),
96 rightpressed( FALSE ), kbregrab( FALSE ), notbusysent( FALSE ), preloaded( FALSE ), 96 rightpressed( FALSE ), kbregrab( FALSE ), notbusysent( FALSE ), preloaded( FALSE ),
97 forceshow( FALSE ), nomaximize( FALSE ), keep_running( TRUE ), qpe_main_widget( 0 ) 97 forceshow( FALSE ), nomaximize( FALSE ), keep_running( TRUE ), qpe_main_widget( 0 )
98 98
99 { 99 {
100 qcopq.setAutoDelete( TRUE ); 100 qcopq.setAutoDelete( TRUE );
101 } 101 }
102 102
103 int presstimer; 103 int presstimer;
104 QWidget* presswidget; 104 QWidget* presswidget;
105 int kbgrabber; 105 int kbgrabber;
106 QString kbgrabber_appname;
106 QPoint presspos; 107 QPoint presspos;
107 108
108 bool rightpressed : 1; 109 bool rightpressed : 1;
109 bool kbregrab : 1; 110 bool kbregrab : 1;
110 bool notbusysent : 1; 111 bool notbusysent : 1;
111 bool preloaded : 1; 112 bool preloaded : 1;
112 bool forceshow : 1; 113 bool forceshow : 1;
113 bool nomaximize : 1; 114 bool nomaximize : 1;
114 bool keep_running : 1; 115 bool keep_running : 1;
115 116
116 QString appName; 117 QString appName;
117 struct QCopRec 118 struct QCopRec
118 { 119 {
119 QCopRec( const QCString &ch, const QCString &msg, 120 QCopRec( const QCString &ch, const QCString &msg,
120 const QByteArray &d ) : 121 const QByteArray &d ) :
121 channel( ch ), message( msg ), data( d ) 122 channel( ch ), message( msg ), data( d )
122 { } 123 { }
123 124
124 QCString channel; 125 QCString channel;
125 QCString message; 126 QCString message;
126 QByteArray data; 127 QByteArray data;
127 }; 128 };
128 QWidget* qpe_main_widget; 129 QWidget* qpe_main_widget;
129 QList<QCopRec> qcopq; 130 QList<QCopRec> qcopq;
130 131
131 void enqueueQCop( const QCString &ch, const QCString &msg, 132 void enqueueQCop( const QCString &ch, const QCString &msg,
132 const QByteArray &data ) 133 const QByteArray &data )
133 { 134 {
134 qcopq.append( new QCopRec( ch, msg, data ) ); 135 qcopq.append( new QCopRec( ch, msg, data ) );
135 } 136 }
136 void sendQCopQ() 137 void sendQCopQ()
137 { 138 {
138 QCopRec * r; 139 QCopRec * r;
139#ifndef QT_NO_COP 140#ifndef QT_NO_COP
140 141
141 for ( QListIterator<QCopRec> it( qcopq ); ( r = it.current() ); ++it ) 142 for ( QListIterator<QCopRec> it( qcopq ); ( r = it.current() ); ++it )
142 QCopChannel::sendLocally( r->channel, r->message, r->data ); 143 QCopChannel::sendLocally( r->channel, r->message, r->data );
143#endif 144#endif
144 145
145 qcopq.clear(); 146 qcopq.clear();
146 } 147 }
147 static void show_mx(QWidget* mw, bool nomaximize) 148 static void show_mx(QWidget* mw, bool nomaximize)
148 { 149 {
149 if ( mw->layout() && mw->inherits("QDialog") ) { 150 if ( mw->layout() && mw->inherits("QDialog") ) {
150 QPEApplication::showDialog((QDialog*)mw, nomaximize); 151 QPEApplication::showDialog((QDialog*)mw, nomaximize);
151 } 152 }
152 else { 153 else {
153#ifdef Q_WS_QWS 154#ifdef Q_WS_QWS
@@ -1019,96 +1020,98 @@ void QPEApplication::applyStyle()
1019 } 1020 }
1020 1021
1021 setFont ( QFont ( ff, fs ), true ); 1022 setFont ( QFont ( ff, fs ), true );
1022 1023
1023 // revert to global blocking policy ... 1024 // revert to global blocking policy ...
1024 Opie::force_appearance = config. readBoolEntry ( "ForceStyle", false ) ? Opie::Force_All : Opie::Force_None; 1025 Opie::force_appearance = config. readBoolEntry ( "ForceStyle", false ) ? Opie::Force_All : Opie::Force_None;
1025 Opie::force_appearance &= ~nostyle; 1026 Opie::force_appearance &= ~nostyle;
1026} 1027}
1027 1028
1028void QPEApplication::systemMessage( const QCString& msg, const QByteArray& data ) 1029void QPEApplication::systemMessage( const QCString& msg, const QByteArray& data )
1029{ 1030{
1030#ifdef Q_WS_QWS 1031#ifdef Q_WS_QWS
1031 QDataStream stream( data, IO_ReadOnly ); 1032 QDataStream stream( data, IO_ReadOnly );
1032 if ( msg == "applyStyle()" ) { 1033 if ( msg == "applyStyle()" ) {
1033 applyStyle(); 1034 applyStyle();
1034 } 1035 }
1035 else if ( msg == "setDefaultRotation(int)" ) { 1036 else if ( msg == "setDefaultRotation(int)" ) {
1036 if ( type() == GuiServer ) { 1037 if ( type() == GuiServer ) {
1037 int r; 1038 int r;
1038 stream >> r; 1039 stream >> r;
1039 setDefaultRotation( r ); 1040 setDefaultRotation( r );
1040 } 1041 }
1041 } 1042 }
1042 else if ( msg == "shutdown()" ) { 1043 else if ( msg == "shutdown()" ) {
1043 if ( type() == GuiServer ) 1044 if ( type() == GuiServer )
1044 shutdown(); 1045 shutdown();
1045 } 1046 }
1046 else if ( msg == "quit()" ) { 1047 else if ( msg == "quit()" ) {
1047 if ( type() != GuiServer ) 1048 if ( type() != GuiServer )
1048 tryQuit(); 1049 tryQuit();
1049 } 1050 }
1050 else if ( msg == "forceQuit()" ) { 1051 else if ( msg == "forceQuit()" ) {
1051 if ( type() != GuiServer ) 1052 if ( type() != GuiServer )
1052 quit(); 1053 quit();
1053 } 1054 }
1054 else if ( msg == "restart()" ) { 1055 else if ( msg == "restart()" ) {
1055 if ( type() == GuiServer ) 1056 if ( type() == GuiServer )
1056 restart(); 1057 restart();
1057 } 1058 }
1058 else if ( msg == "grabKeyboard(QString)" ) { 1059 else if ( msg == "grabKeyboard(QString)" ) {
1059 QString who; 1060 QString who;
1060 stream >> who; 1061 stream >> who;
1061 if ( who.isEmpty() ) 1062 if ( who.isEmpty() )
1062 d->kbgrabber = 0; 1063 d->kbgrabber = 0;
1063 else if ( who != d->appName ) 1064 else if ( who != d->appName )
1064 d->kbgrabber = 1; 1065 d->kbgrabber = 1;
1065 else 1066 else
1066 d->kbgrabber = 2; 1067 d->kbgrabber = 2;
1068
1069 d-> kbgrabber_appname = who;
1067 } 1070 }
1068 else if ( msg == "language(QString)" ) { 1071 else if ( msg == "language(QString)" ) {
1069 if ( type() == GuiServer ) { 1072 if ( type() == GuiServer ) {
1070 QString l; 1073 QString l;
1071 stream >> l; 1074 stream >> l;
1072 QString cl = getenv( "LANG" ); 1075 QString cl = getenv( "LANG" );
1073 if ( cl != l ) { 1076 if ( cl != l ) {
1074 if ( l.isNull() ) 1077 if ( l.isNull() )
1075 unsetenv( "LANG" ); 1078 unsetenv( "LANG" );
1076 else 1079 else
1077 setenv( "LANG", l.latin1(), 1 ); 1080 setenv( "LANG", l.latin1(), 1 );
1078 restart(); 1081 restart();
1079 } 1082 }
1080 } 1083 }
1081 } 1084 }
1082 else if ( msg == "timeChange(QString)" ) { 1085 else if ( msg == "timeChange(QString)" ) {
1083 QString t; 1086 QString t;
1084 stream >> t; 1087 stream >> t;
1085 if ( t.isNull() ) 1088 if ( t.isNull() )
1086 unsetenv( "TZ" ); 1089 unsetenv( "TZ" );
1087 else 1090 else
1088 setenv( "TZ", t.latin1(), 1 ); 1091 setenv( "TZ", t.latin1(), 1 );
1089 // emit the signal so everyone else knows... 1092 // emit the signal so everyone else knows...
1090 emit timeChanged(); 1093 emit timeChanged();
1091 } 1094 }
1092 else if ( msg == "execute(QString)" ) { 1095 else if ( msg == "execute(QString)" ) {
1093 if ( type() == GuiServer ) { 1096 if ( type() == GuiServer ) {
1094 QString t; 1097 QString t;
1095 stream >> t; 1098 stream >> t;
1096 Global::execute( t ); 1099 Global::execute( t );
1097 } 1100 }
1098 } 1101 }
1099 else if ( msg == "execute(QString,QString)" ) { 1102 else if ( msg == "execute(QString,QString)" ) {
1100 if ( type() == GuiServer ) { 1103 if ( type() == GuiServer ) {
1101 QString t, d; 1104 QString t, d;
1102 stream >> t >> d; 1105 stream >> t >> d;
1103 Global::execute( t, d ); 1106 Global::execute( t, d );
1104 } 1107 }
1105 } 1108 }
1106 else if ( msg == "addAlarm(QDateTime,QCString,QCString,int)" ) { 1109 else if ( msg == "addAlarm(QDateTime,QCString,QCString,int)" ) {
1107 if ( type() == GuiServer ) { 1110 if ( type() == GuiServer ) {
1108 QDateTime when; 1111 QDateTime when;
1109 QCString channel, message; 1112 QCString channel, message;
1110 int data; 1113 int data;
1111 stream >> when >> channel >> message >> data; 1114 stream >> when >> channel >> message >> data;
1112 AlarmServer::addAlarm( when, channel, message, data ); 1115 AlarmServer::addAlarm( when, channel, message, data );
1113 } 1116 }
1114 } 1117 }
@@ -1579,96 +1582,104 @@ bool QPEApplication::eventFilter( QObject *o, QEvent *e )
1579 ; 1582 ;
1580 } 1583 }
1581 } 1584 }
1582 else if ( e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease ) { 1585 else if ( e->type() == QEvent::KeyPress || e->type() == QEvent::KeyRelease ) {
1583 QKeyEvent *ke = (QKeyEvent *)e; 1586 QKeyEvent *ke = (QKeyEvent *)e;
1584 if ( ke->key() == Key_Enter ) { 1587 if ( ke->key() == Key_Enter ) {
1585 if ( o->isA( "QRadioButton" ) || o->isA( "QCheckBox" ) ) { 1588 if ( o->isA( "QRadioButton" ) || o->isA( "QCheckBox" ) ) {
1586 postEvent( o, new QKeyEvent( e->type(), Key_Space, ' ', 1589 postEvent( o, new QKeyEvent( e->type(), Key_Space, ' ',
1587 ke->state(), " ", ke->isAutoRepeat(), ke->count() ) ); 1590 ke->state(), " ", ke->isAutoRepeat(), ke->count() ) );
1588 return TRUE; 1591 return TRUE;
1589 } 1592 }
1590 } 1593 }
1591 } 1594 }
1592 return FALSE; 1595 return FALSE;
1593} 1596}
1594 1597
1595/*! 1598/*!
1596 \reimp 1599 \reimp
1597*/ 1600*/
1598void QPEApplication::timerEvent( QTimerEvent *e ) 1601void QPEApplication::timerEvent( QTimerEvent *e )
1599{ 1602{
1600 if ( e->timerId() == d->presstimer && d->presswidget ) { 1603 if ( e->timerId() == d->presstimer && d->presswidget ) {
1601 // Right pressed 1604 // Right pressed
1602 postEvent( d->presswidget, 1605 postEvent( d->presswidget,
1603 new QMouseEvent( QEvent::MouseButtonPress, d->presspos, 1606 new QMouseEvent( QEvent::MouseButtonPress, d->presspos,
1604 RightButton, LeftButton ) ); 1607 RightButton, LeftButton ) );
1605 killTimer( d->presstimer ); 1608 killTimer( d->presstimer );
1606 d->presstimer = 0; 1609 d->presstimer = 0;
1607 d->rightpressed = TRUE; 1610 d->rightpressed = TRUE;
1608 } 1611 }
1609} 1612}
1610 1613
1611void QPEApplication::removeSenderFromStylusDict() 1614void QPEApplication::removeSenderFromStylusDict()
1612{ 1615{
1613 stylusDict->remove 1616 stylusDict->remove
1614 ( ( void* ) sender() ); 1617 ( ( void* ) sender() );
1615 if ( d->presswidget == sender() ) 1618 if ( d->presswidget == sender() )
1616 d->presswidget = 0; 1619 d->presswidget = 0;
1617} 1620}
1618 1621
1619/*! 1622/*!
1620 \internal 1623 \internal
1621*/ 1624*/
1622bool QPEApplication::keyboardGrabbed() const 1625bool QPEApplication::keyboardGrabbed() const
1623{ 1626{
1624 return d->kbgrabber; 1627 return d->kbgrabber;
1625} 1628}
1626 1629
1630/*!
1631 \internal
1632*/
1633QString QPEApplication::keyboardGrabbedBy() const
1634{
1635 return d->kbgrabber_appname;
1636}
1637
1627 1638
1628/*! 1639/*!
1629 Reverses the effect of grabKeyboard(). This is called automatically 1640 Reverses the effect of grabKeyboard(). This is called automatically
1630 on program exit. 1641 on program exit.
1631*/ 1642*/
1632void QPEApplication::ungrabKeyboard() 1643void QPEApplication::ungrabKeyboard()
1633{ 1644{
1634 QPEApplicationData * d = ( ( QPEApplication* ) qApp ) ->d; 1645 QPEApplicationData * d = ( ( QPEApplication* ) qApp ) ->d;
1635 if ( d->kbgrabber == 2 ) { 1646 if ( d->kbgrabber == 2 ) {
1636#ifndef QT_NO_COP 1647#ifndef QT_NO_COP
1637 QCopEnvelope e( "QPE/System", "grabKeyboard(QString)" ); 1648 QCopEnvelope e( "QPE/System", "grabKeyboard(QString)" );
1638 e << QString::null; 1649 e << QString::null;
1639#endif 1650#endif
1640 1651
1641 d->kbregrab = FALSE; 1652 d->kbregrab = FALSE;
1642 d->kbgrabber = 0; 1653 d->kbgrabber = 0;
1643 } 1654 }
1644} 1655}
1645 1656
1646/*! 1657/*!
1647 Grabs the physical keyboard keys, e.g. the application's launching 1658 Grabs the physical keyboard keys, e.g. the application's launching
1648 keys. Instead of launching applications when these keys are pressed 1659 keys. Instead of launching applications when these keys are pressed
1649 the signals emitted are sent to this application instead. Some games 1660 the signals emitted are sent to this application instead. Some games
1650 programs take over the launch keys in this way to make interaction 1661 programs take over the launch keys in this way to make interaction
1651 easier. 1662 easier.
1652 1663
1653 \sa ungrabKeyboard() 1664 \sa ungrabKeyboard()
1654*/ 1665*/
1655void QPEApplication::grabKeyboard() 1666void QPEApplication::grabKeyboard()
1656{ 1667{
1657 QPEApplicationData * d = ( ( QPEApplication* ) qApp ) ->d; 1668 QPEApplicationData * d = ( ( QPEApplication* ) qApp ) ->d;
1658 if ( qApp->type() == QApplication::GuiServer ) 1669 if ( qApp->type() == QApplication::GuiServer )
1659 d->kbgrabber = 0; 1670 d->kbgrabber = 0;
1660 else { 1671 else {
1661#ifndef QT_NO_COP 1672#ifndef QT_NO_COP
1662 QCopEnvelope e( "QPE/System", "grabKeyboard(QString)" ); 1673 QCopEnvelope e( "QPE/System", "grabKeyboard(QString)" );
1663 e << d->appName; 1674 e << d->appName;
1664#endif 1675#endif
1665 1676
1666 d->kbgrabber = 2; // me 1677 d->kbgrabber = 2; // me
1667 } 1678 }
1668} 1679}
1669 1680
1670/*! 1681/*!
1671 \reimp 1682 \reimp
1672*/ 1683*/
1673int QPEApplication::exec() 1684int QPEApplication::exec()
1674{ 1685{
diff --git a/library/qpeapplication.h b/library/qpeapplication.h
index 86affa6..f712077 100644
--- a/library/qpeapplication.h
+++ b/library/qpeapplication.h
@@ -1,132 +1,134 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of the Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
10** 10**
11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13** 13**
14** See http://www.trolltech.com/gpl/ for GPL licensing information. 14** See http://www.trolltech.com/gpl/ for GPL licensing information.
15** 15**
16** Contact info@trolltech.com if any conditions of this licensing are 16** Contact info@trolltech.com if any conditions of this licensing are
17** not clear to you. 17** not clear to you.
18** 18**
19**********************************************************************/ 19**********************************************************************/
20#ifndef __QPE_APPLICATION_H__ 20#ifndef __QPE_APPLICATION_H__
21#define __QPE_APPLICATION_H__ 21#define __QPE_APPLICATION_H__
22 22
23 23
24#include <qapplication.h> 24#include <qapplication.h>
25#include <qdialog.h> 25#include <qdialog.h>
26#if defined(_WS_QWS_) && !defined(Q_WS_QWS) 26#if defined(_WS_QWS_) && !defined(Q_WS_QWS)
27#define Q_WS_QWS 27#define Q_WS_QWS
28#endif 28#endif
29#include "qpedecoration_qws.h" 29#include "qpedecoration_qws.h"
30#include "timestring.h" 30#include "timestring.h"
31 31
32class QCopChannel; 32class QCopChannel;
33class QPEApplicationData; 33class QPEApplicationData;
34class QWSEvent; 34class QWSEvent;
35class QWSKeyEvent; 35class QWSKeyEvent;
36 36
37
37class QPEApplication : public QApplication 38class QPEApplication : public QApplication
38{ 39{
39 Q_OBJECT 40 Q_OBJECT
40public: 41public:
41 QPEApplication( int& argc, char **argv, Type=GuiClient ); 42 QPEApplication( int& argc, char **argv, Type=GuiClient );
42 ~QPEApplication(); 43 ~QPEApplication();
43 44
44 static QString qpeDir(); 45 static QString qpeDir();
45 static QString documentDir(); 46 static QString documentDir();
46 void applyStyle(); 47 void applyStyle();
47 static int defaultRotation(); 48 static int defaultRotation();
48 static void setDefaultRotation(int r); 49 static void setDefaultRotation(int r);
49 static void grabKeyboard(); 50 static void grabKeyboard();
50 static void ungrabKeyboard(); 51 static void ungrabKeyboard();
51 52
52 enum StylusMode { 53 enum StylusMode {
53 LeftOnly, 54 LeftOnly,
54 RightOnHold 55 RightOnHold
55 // RightOnHoldLeftDelayed, etc. 56 // RightOnHoldLeftDelayed, etc.
56 }; 57 };
57 static void setStylusOperation( QWidget*, StylusMode ); 58 static void setStylusOperation( QWidget*, StylusMode );
58 static StylusMode stylusOperation( QWidget* ); 59 static StylusMode stylusOperation( QWidget* );
59 60
60 enum InputMethodHint { 61 enum InputMethodHint {
61 Normal, 62 Normal,
62 AlwaysOff, 63 AlwaysOff,
63 AlwaysOn 64 AlwaysOn
64 }; 65 };
65 66
66 enum screenSaverHint { 67 enum screenSaverHint {
67 Disable = 0, 68 Disable = 0,
68 DisableLightOff = 1, 69 DisableLightOff = 1,
69 DisableSuspend = 2, 70 DisableSuspend = 2,
70 Enable = 100 71 Enable = 100
71 }; 72 };
72 73
73 static void setInputMethodHint( QWidget *, InputMethodHint ); 74 static void setInputMethodHint( QWidget *, InputMethodHint );
74 static InputMethodHint inputMethodHint( QWidget * ); 75 static InputMethodHint inputMethodHint( QWidget * );
75 76
76 void showMainWidget( QWidget*, bool nomax=FALSE ); 77 void showMainWidget( QWidget*, bool nomax=FALSE );
77 void showMainDocumentWidget( QWidget*, bool nomax=FALSE ); 78 void showMainDocumentWidget( QWidget*, bool nomax=FALSE );
78 static void showDialog( QDialog*, bool nomax=FALSE ); 79 static void showDialog( QDialog*, bool nomax=FALSE );
79 static int execDialog( QDialog*, bool nomax=FALSE ); 80 static int execDialog( QDialog*, bool nomax=FALSE );
80 81
81 static void setKeepRunning(); 82 static void setKeepRunning();
82 bool keepRunning() const; 83 bool keepRunning() const;
83 84
84 bool keyboardGrabbed() const; 85 bool keyboardGrabbed() const;
86 QString keyboardGrabbedBy ( ) const;
85 87
86 int exec(); 88 int exec();
87 89
88signals: 90signals:
89 void clientMoused(); 91 void clientMoused();
90 void timeChanged(); 92 void timeChanged();
91 void clockChanged( bool pm ); 93 void clockChanged( bool pm );
92 void micChanged( bool muted ); 94 void micChanged( bool muted );
93 void volumeChanged( bool muted ); 95 void volumeChanged( bool muted );
94 void appMessage( const QCString& msg, const QByteArray& data); 96 void appMessage( const QCString& msg, const QByteArray& data);
95 void weekChanged( bool startOnMonday ); 97 void weekChanged( bool startOnMonday );
96 void dateFormatChanged( DateFormat ); 98 void dateFormatChanged( DateFormat );
97 void flush(); 99 void flush();
98 void reload(); 100 void reload();
99 101
100private slots: 102private slots:
101 void systemMessage( const QCString &msg, const QByteArray &data ); 103 void systemMessage( const QCString &msg, const QByteArray &data );
102 void pidMessage( const QCString &msg, const QByteArray &data ); 104 void pidMessage( const QCString &msg, const QByteArray &data );
103 void removeSenderFromStylusDict(); 105 void removeSenderFromStylusDict();
104 void hideOrQuit(); 106 void hideOrQuit();
105 107
106protected: 108protected:
107 bool qwsEventFilter( QWSEvent * ); 109 bool qwsEventFilter( QWSEvent * );
108 void internalSetStyle( const QString &style ); 110 void internalSetStyle( const QString &style );
109 void prepareForTermination(bool willrestart); 111 void prepareForTermination(bool willrestart);
110 virtual void restart(); 112 virtual void restart();
111 virtual void shutdown(); 113 virtual void shutdown();
112 bool eventFilter( QObject *, QEvent * ); 114 bool eventFilter( QObject *, QEvent * );
113 void timerEvent( QTimerEvent * ); 115 void timerEvent( QTimerEvent * );
114 bool raiseAppropriateWindow(); 116 bool raiseAppropriateWindow();
115 virtual void tryQuit(); 117 virtual void tryQuit();
116 118
117 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!) 119 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!)
118 120
119private: 121private:
120 void mapToDefaultAction( QWSKeyEvent *ke, int defKey ); 122 void mapToDefaultAction( QWSKeyEvent *ke, int defKey );
121 123
122#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 124#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
123 QCopChannel *sysChannel; 125 QCopChannel *sysChannel;
124 QCopChannel *pidChannel; 126 QCopChannel *pidChannel;
125#endif 127#endif
126 QPEApplicationData *d; 128 QPEApplicationData *d;
127 129
128 bool reserved_sh; 130 bool reserved_sh;
129 131
130 132
131 133
132}; 134};