summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--library/libqpe1.control2
-rw-r--r--library/qpeapplication.cpp5
-rw-r--r--library/qpeapplication.h63
3 files changed, 52 insertions, 18 deletions
diff --git a/library/libqpe1.control b/library/libqpe1.control
index 6743e28..94992b1 100644
--- a/library/libqpe1.control
+++ b/library/libqpe1.control
@@ -1,8 +1,8 @@
1Files: $OPIEDIR/lib/libqpe.so.1 $OPIEDIR/lib/libqpe.so.1.5 $OPIEDIR/lib/libqpe.so.1.5.0 1Files: $OPIEDIR/lib/libqpe.so.1 $OPIEDIR/lib/libqpe.so.1.5 $OPIEDIR/lib/libqpe.so.1.5.0
2Priority: required 2Priority: required
3Section: opie/system 3Section: opie/system
4Maintainer: Project Opie <opie@handhelds.org> 4Maintainer: Project Opie <opie@handhelds.org>
5Architecture: arm 5Architecture: arm
6Version: $QPE_VERSION-$SUB_VERSION.1 6Version: $QPE_VERSION-$SUB_VERSION.1
7Depends: libqt2-emb (>=$QTE_VERSION), libqt2-emb-fonts (>=$QTE_VERSION) 7Depends: libqt2-emb (>=2.3.4-beta4), libqt2-emb-fonts (>=$QTE_VERSION)
8Description: libqpe, base qtopia/opie library. 8Description: libqpe, base qtopia/opie library.
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index b21428a..95c4a1b 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -1021,96 +1021,101 @@ void QPEApplication::applyStyle()
1021 d->decorationName = dec; 1021 d->decorationName = dec;
1022 } 1022 }
1023 1023
1024 // Font 1024 // Font
1025 QString ff = config.readEntry( "FontFamily", font().family() ); 1025 QString ff = config.readEntry( "FontFamily", font().family() );
1026 int fs = config.readNumEntry( "FontSize", font().pointSize() ); 1026 int fs = config.readNumEntry( "FontSize", font().pointSize() );
1027 1027
1028 // don't set a custom font 1028 // don't set a custom font
1029 if ( nostyle & Opie::Force_Font ) { 1029 if ( nostyle & Opie::Force_Font ) {
1030 ff = "Helvetica"; 1030 ff = "Helvetica";
1031 fs = 10; 1031 fs = 10;
1032 } 1032 }
1033 1033
1034 setFont ( QFont ( ff, fs ), true ); 1034 setFont ( QFont ( ff, fs ), true );
1035 1035
1036 // revert to global blocking policy ... 1036 // revert to global blocking policy ...
1037 Opie::force_appearance = config. readBoolEntry ( "ForceStyle", false ) ? Opie::Force_All : Opie::Force_None; 1037 Opie::force_appearance = config. readBoolEntry ( "ForceStyle", false ) ? Opie::Force_All : Opie::Force_None;
1038 Opie::force_appearance &= ~nostyle; 1038 Opie::force_appearance &= ~nostyle;
1039} 1039}
1040 1040
1041void QPEApplication::systemMessage( const QCString& msg, const QByteArray& data ) 1041void QPEApplication::systemMessage( const QCString& msg, const QByteArray& data )
1042{ 1042{
1043#ifdef Q_WS_QWS 1043#ifdef Q_WS_QWS
1044 QDataStream stream( data, IO_ReadOnly ); 1044 QDataStream stream( data, IO_ReadOnly );
1045 if ( msg == "applyStyle()" ) { 1045 if ( msg == "applyStyle()" ) {
1046 applyStyle(); 1046 applyStyle();
1047 } 1047 }
1048 else if ( msg == "toggleApplicationMenu()" ) { 1048 else if ( msg == "toggleApplicationMenu()" ) {
1049 QWidget *active = activeWindow ( ); 1049 QWidget *active = activeWindow ( );
1050 1050
1051 if ( active ) { 1051 if ( active ) {
1052 QPEMenuToolFocusManager *man = QPEMenuToolFocusManager::manager ( ); 1052 QPEMenuToolFocusManager *man = QPEMenuToolFocusManager::manager ( );
1053 bool oldactive = man-> isActive ( ); 1053 bool oldactive = man-> isActive ( );
1054 1054
1055 man-> setActive( !man-> isActive() ); 1055 man-> setActive( !man-> isActive() );
1056 1056
1057 if ( !oldactive && !man-> isActive ( )) { // no menubar to toggle -> try O-Menu 1057 if ( !oldactive && !man-> isActive ( )) { // no menubar to toggle -> try O-Menu
1058 QCopEnvelope e ( "QPE/TaskBar", "toggleStartMenu()" ); 1058 QCopEnvelope e ( "QPE/TaskBar", "toggleStartMenu()" );
1059 } 1059 }
1060 } 1060 }
1061 } 1061 }
1062 else if ( msg == "setDefaultRotation(int)" ) { 1062 else if ( msg == "setDefaultRotation(int)" ) {
1063 if ( type() == GuiServer ) { 1063 if ( type() == GuiServer ) {
1064 int r; 1064 int r;
1065 stream >> r; 1065 stream >> r;
1066 setDefaultRotation( r ); 1066 setDefaultRotation( r );
1067 } 1067 }
1068 } 1068 }
1069 else if ( msg == "setCurrentRotation(int)" ) {
1070 int r;
1071 stream >> r;
1072 setCurrentRotation( r );
1073 }
1069 else if ( msg == "shutdown()" ) { 1074 else if ( msg == "shutdown()" ) {
1070 if ( type() == GuiServer ) 1075 if ( type() == GuiServer )
1071 shutdown(); 1076 shutdown();
1072 } 1077 }
1073 else if ( msg == "quit()" ) { 1078 else if ( msg == "quit()" ) {
1074 if ( type() != GuiServer ) 1079 if ( type() != GuiServer )
1075 tryQuit(); 1080 tryQuit();
1076 } 1081 }
1077 else if ( msg == "forceQuit()" ) { 1082 else if ( msg == "forceQuit()" ) {
1078 if ( type() != GuiServer ) 1083 if ( type() != GuiServer )
1079 quit(); 1084 quit();
1080 } 1085 }
1081 else if ( msg == "restart()" ) { 1086 else if ( msg == "restart()" ) {
1082 if ( type() == GuiServer ) 1087 if ( type() == GuiServer )
1083 restart(); 1088 restart();
1084 } 1089 }
1085 else if ( msg == "language(QString)" ) { 1090 else if ( msg == "language(QString)" ) {
1086 if ( type() == GuiServer ) { 1091 if ( type() == GuiServer ) {
1087 QString l; 1092 QString l;
1088 stream >> l; 1093 stream >> l;
1089 QString cl = getenv( "LANG" ); 1094 QString cl = getenv( "LANG" );
1090 if ( cl != l ) { 1095 if ( cl != l ) {
1091 if ( l.isNull() ) 1096 if ( l.isNull() )
1092 unsetenv( "LANG" ); 1097 unsetenv( "LANG" );
1093 else 1098 else
1094 setenv( "LANG", l.latin1(), 1 ); 1099 setenv( "LANG", l.latin1(), 1 );
1095 restart(); 1100 restart();
1096 } 1101 }
1097 } 1102 }
1098 } 1103 }
1099 else if ( msg == "timeChange(QString)" ) { 1104 else if ( msg == "timeChange(QString)" ) {
1100 QString t; 1105 QString t;
1101 stream >> t; 1106 stream >> t;
1102 if ( t.isNull() ) 1107 if ( t.isNull() )
1103 unsetenv( "TZ" ); 1108 unsetenv( "TZ" );
1104 else 1109 else
1105 setenv( "TZ", t.latin1(), 1 ); 1110 setenv( "TZ", t.latin1(), 1 );
1106 // emit the signal so everyone else knows... 1111 // emit the signal so everyone else knows...
1107 emit timeChanged(); 1112 emit timeChanged();
1108 } 1113 }
1109 else if ( msg == "execute(QString)" ) { 1114 else if ( msg == "execute(QString)" ) {
1110 if ( type() == GuiServer ) { 1115 if ( type() == GuiServer ) {
1111 QString t; 1116 QString t;
1112 stream >> t; 1117 stream >> t;
1113 Global::execute( t ); 1118 Global::execute( t );
1114 } 1119 }
1115 } 1120 }
1116 else if ( msg == "execute(QString,QString)" ) { 1121 else if ( msg == "execute(QString,QString)" ) {
diff --git a/library/qpeapplication.h b/library/qpeapplication.h
index 7d956a3..7505115 100644
--- a/library/qpeapplication.h
+++ b/library/qpeapplication.h
@@ -1,159 +1,188 @@
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 <qglobal.h>
24#include <qapplication.h> 25#include <qapplication.h>
25#include <qdialog.h> 26#include <qdialog.h>
27#include <qwsdisplay_qws.h>
26#if defined(_WS_QWS_) && !defined(Q_WS_QWS) 28#if defined(_WS_QWS_) && !defined(Q_WS_QWS)
27#define Q_WS_QWS 29#define Q_WS_QWS
28#endif 30#endif
29#include "qpedecoration_qws.h" 31#include "qpedecoration_qws.h"
30#include "timestring.h" 32#include "timestring.h"
31 33
32class QCopChannel; 34class QCopChannel;
33class QPEApplicationData; 35class QPEApplicationData;
34class QWSEvent; 36class QWSEvent;
35class QWSKeyEvent; 37class QWSKeyEvent;
36 38
37 39
38class QPEApplication : public QApplication 40class QPEApplication : public QApplication
39{ 41{
40 Q_OBJECT 42 Q_OBJECT
41public: 43public:
42 QPEApplication( int& argc, char **argv, Type=GuiClient ); 44 QPEApplication( int& argc, char **argv, Type=GuiClient );
43 ~QPEApplication(); 45 ~QPEApplication();
44 46
45 static QString qpeDir(); 47 static QString qpeDir();
46 static QString documentDir(); 48 static QString documentDir();
47 void applyStyle(); 49 void applyStyle();
48 static int defaultRotation(); 50 static int defaultRotation();
49 static void setDefaultRotation(int r); 51 static void setDefaultRotation(int r);
52 static void setCurrentRotation(int r);
50 static void grabKeyboard(); 53 static void grabKeyboard();
51 static void ungrabKeyboard(); 54 static void ungrabKeyboard();
52 55
53 enum StylusMode { 56 enum StylusMode {
54 LeftOnly, 57 LeftOnly,
55 RightOnHold 58 RightOnHold
56 // RightOnHoldLeftDelayed, etc. 59 // RightOnHoldLeftDelayed, etc.
57 }; 60 };
58 static void setStylusOperation( QWidget*, StylusMode ); 61 static void setStylusOperation( QWidget*, StylusMode );
59 static StylusMode stylusOperation( QWidget* ); 62 static StylusMode stylusOperation( QWidget* );
60 63
61 enum InputMethodHint { 64 enum InputMethodHint {
62 Normal, 65 Normal,
63 AlwaysOff, 66 AlwaysOff,
64 AlwaysOn 67 AlwaysOn
65 }; 68 };
66 69
67 enum screenSaverHint { 70 enum screenSaverHint {
68 Disable = 0, 71 Disable = 0,
69 DisableLightOff = 1, 72 DisableLightOff = 1,
70 DisableSuspend = 2, 73 DisableSuspend = 2,
71 Enable = 100 74 Enable = 100
72 }; 75 };
73 76
74 static void setInputMethodHint( QWidget *, InputMethodHint ); 77 static void setInputMethodHint( QWidget *, InputMethodHint );
75 static InputMethodHint inputMethodHint( QWidget * ); 78 static InputMethodHint inputMethodHint( QWidget * );
76 79
77 void showMainWidget( QWidget*, bool nomax=FALSE ); 80 void showMainWidget( QWidget*, bool nomax=FALSE );
78 void showMainDocumentWidget( QWidget*, bool nomax=FALSE ); 81 void showMainDocumentWidget( QWidget*, bool nomax=FALSE );
79 static void showDialog( QDialog*, bool nomax=FALSE ); 82 static void showDialog( QDialog*, bool nomax=FALSE );
80 static int execDialog( QDialog*, bool nomax=FALSE ); 83 static int execDialog( QDialog*, bool nomax=FALSE );
81 84
82 static void setKeepRunning(); 85 static void setKeepRunning();
83 bool keepRunning() const; 86 bool keepRunning() const;
84 87
85 bool keyboardGrabbed() const; 88 bool keyboardGrabbed() const;
86 89
87 int exec(); 90 int exec();
88 91
89signals: 92signals:
90 void clientMoused(); 93 void clientMoused();
91 void timeChanged(); 94 void timeChanged();
92 void clockChanged( bool pm ); 95 void clockChanged( bool pm );
93 void micChanged( bool muted ); 96 void micChanged( bool muted );
94 void volumeChanged( bool muted ); 97 void volumeChanged( bool muted );
95 void appMessage( const QCString& msg, const QByteArray& data); 98 void appMessage( const QCString& msg, const QByteArray& data);
96 void weekChanged( bool startOnMonday ); 99 void weekChanged( bool startOnMonday );
97 void dateFormatChanged( DateFormat ); 100 void dateFormatChanged( DateFormat );
98 void flush(); 101 void flush();
99 void reload(); 102 void reload();
100 103
101private slots: 104private slots:
102 void systemMessage( const QCString &msg, const QByteArray &data ); 105 void systemMessage( const QCString &msg, const QByteArray &data );
103 void pidMessage( const QCString &msg, const QByteArray &data ); 106 void pidMessage( const QCString &msg, const QByteArray &data );
104 void removeSenderFromStylusDict(); 107 void removeSenderFromStylusDict();
105 void hideOrQuit(); 108 void hideOrQuit();
106 109
107protected: 110protected:
108 bool qwsEventFilter( QWSEvent * ); 111 bool qwsEventFilter( QWSEvent * );
109 void internalSetStyle( const QString &style ); 112 void internalSetStyle( const QString &style );
110 void prepareForTermination(bool willrestart); 113 void prepareForTermination(bool willrestart);
111 virtual void restart(); 114 virtual void restart();
112 virtual void shutdown(); 115 virtual void shutdown();
113 bool eventFilter( QObject *, QEvent * ); 116 bool eventFilter( QObject *, QEvent * );
114 void timerEvent( QTimerEvent * ); 117 void timerEvent( QTimerEvent * );
115 bool raiseAppropriateWindow(); 118 bool raiseAppropriateWindow();
116 virtual void tryQuit(); 119 virtual void tryQuit();
117 120
118 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!) 121 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!)
119 122
120private: 123private:
121 void mapToDefaultAction( QWSKeyEvent *ke, int defKey ); 124 void mapToDefaultAction( QWSKeyEvent *ke, int defKey );
122 125
123#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 126#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
124 QCopChannel *sysChannel; 127 QCopChannel *sysChannel;
125 QCopChannel *pidChannel; 128 QCopChannel *pidChannel;
126#endif 129#endif
127 QPEApplicationData *d; 130 QPEApplicationData *d;
128 131
129 bool reserved_sh; 132 bool reserved_sh;
130 133
131 134
132 135
133}; 136};
134 137
135inline void QPEApplication::showDialog( QDialog* d, bool nomax ) 138inline void QPEApplication::showDialog( QDialog* d, bool nomax )
136{ 139{
137 QSize sh = d->sizeHint(); 140 QSize sh = d->sizeHint();
138 int w = QMAX(sh.width(),d->width()); 141 int w = QMAX(sh.width(),d->width());
139 int h = QMAX(sh.height(),d->height()); 142 int h = QMAX(sh.height(),d->height());
140 if ( !nomax 143 if ( !nomax
141 && ( w > qApp->desktop()->width()*3/4 144 && ( w > qApp->desktop()->width()*3/4
142 || h > qApp->desktop()->height()*3/4 ) ) 145 || h > qApp->desktop()->height()*3/4 ) )
143 { 146 {
144 d->showMaximized(); 147 d->showMaximized();
145 } else { 148 } else {
146 d->resize(w,h); 149 d->resize(w,h);
147 d->show(); 150 d->show();
148 } 151 }
149} 152}
150 153
151inline int QPEApplication::execDialog( QDialog* d, bool nomax ) 154inline int QPEApplication::execDialog( QDialog* d, bool nomax )
152{ 155{
153 showDialog(d,nomax); 156 showDialog(d,nomax);
154 return d->exec(); 157 return d->exec();
155} 158}
156 159
160enum Transformation { None, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */
157 161
158#endif 162inline void QPEApplication::setCurrentRotation( int r )
163{
164 Transformation e;
165
166 switch (r) {
167 case 0:
168 e = None;
169 break;
170 case 90:
171 e = Rot90;
172 break;
173 case 180:
174 e = Rot180;
175 break;
176 case 270:
177 e = Rot270;
178 break;
179 default:
180 return;
181 }
159 182
183 qDebug("calling qApp->desktop()->qwsDisplay()->setTransformation( %d )\n", e);
184 qApp->desktop()->qwsDisplay()->setTransformation( e );
185}
186
187
188#endif