-rw-r--r-- | qt/qte234-for-opie091-gfxraster.patch | 11 | ||||
-rw-r--r-- | qt/qte234-for-opie091-listview.patch | 15 | ||||
-rw-r--r-- | qt/qte234-for-opie091-override.patch | 178 | ||||
-rw-r--r-- | qt/qte234-for-opie091-qtoolbutton.patch | 29 | ||||
-rw-r--r-- | qt/qte234-for-opie091-setpalette.patch | 23 | ||||
-rw-r--r-- | qt/qte234-for-opie091-sigsegv.patch | 29 | ||||
-rw-r--r-- | qt/qte234-for-opie091-simpad.patch | 367 | ||||
-rw-r--r-- | qt/qte234-for-opie091-style.patch | 11 | ||||
-rw-r--r-- | qt/qte234-for-opie091-unpolish.patch | 23 |
9 files changed, 0 insertions, 686 deletions
diff --git a/qt/qte234-for-opie091-gfxraster.patch b/qt/qte234-for-opie091-gfxraster.patch deleted file mode 100644 index cb940ce..0000000 --- a/qt/qte234-for-opie091-gfxraster.patch +++ b/dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | --- src/kernel/qgfxraster_qws.cpp.orig2002-12-08 05:02:49.000000000 +0100 | ||
2 | +++ src/kernel/qgfxraster_qws.cpp2002-12-08 05:04:09.000000000 +0100 | ||
3 | @@ -4058,7 +4058,7 @@ | ||
4 | setAlphaType(IgnoreAlpha); | ||
5 | if ( w <= 0 || h <= 0 ) return; | ||
6 | GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1)) | ||
7 | -#ifdef QWS_EXPERIMENTAL_FASTPATH | ||
8 | +#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !! | ||
9 | // ### fix for 8bpp | ||
10 | // This seems to be reliable now, at least for 16bpp | ||
11 | |||
diff --git a/qt/qte234-for-opie091-listview.patch b/qt/qte234-for-opie091-listview.patch deleted file mode 100644 index f3c541b..0000000 --- a/qt/qte234-for-opie091-listview.patch +++ b/dev/null | |||
@@ -1,15 +0,0 @@ | |||
1 | --- src/widgets/qlistview.cpp.orig2002-11-23 23:31:19.000000000 +0100 | ||
2 | +++ src/widgets/qlistview.cpp2002-11-24 00:08:51.000000000 +0100 | ||
3 | @@ -4968,9 +4968,9 @@ | ||
4 | l = l->childItem ? l->childItem : l->siblingItem; | ||
5 | |||
6 | if ( l && l->height() ) | ||
7 | -s.setHeight( s.height() + 10 * l->height() ); | ||
8 | - else | ||
9 | -s.setHeight( s.height() + 140 ); | ||
10 | +s.setHeight( s.height() + 4 /*10*/ * l->height() ); | ||
11 | + else // ^v much too big for handhelds | ||
12 | +s.setHeight( s.height() + 30 /*140*/ ); | ||
13 | |||
14 | if ( s.width() > s.height() * 3 ) | ||
15 | s.setHeight( s.width() / 3 ); | ||
diff --git a/qt/qte234-for-opie091-override.patch b/qt/qte234-for-opie091-override.patch deleted file mode 100644 index ebec3f3..0000000 --- a/qt/qte234-for-opie091-override.patch +++ b/dev/null | |||
@@ -1,178 +0,0 @@ | |||
1 | --- ./src/kernel/qapplication.cpp.orig22002-12-07 17:38:53.000000000 +0100 | ||
2 | +++ ./src/kernel/qapplication.cpp2002-12-07 18:21:21.000000000 +0100 | ||
3 | @@ -35,6 +35,8 @@ | ||
4 | ** | ||
5 | **********************************************************************/ | ||
6 | |||
7 | +#define QT_WEAK_SYMBOL__attribute__(( weak )) | ||
8 | + | ||
9 | #include "qobjectlist.h" | ||
10 | #include "qobjectdict.h" | ||
11 | #include "qapplication.h" | ||
12 | @@ -933,6 +935,11 @@ | ||
13 | #ifndef QT_NO_STYLE | ||
14 | void QApplication::setStyle( QStyle *style ) | ||
15 | { | ||
16 | +setStyle_NonWeak ( style ); | ||
17 | +} | ||
18 | + | ||
19 | +void QApplication::setStyle_NonWeak( QStyle *style ) | ||
20 | +{ | ||
21 | QStyle* old = app_style; | ||
22 | |||
23 | if ( startingUp() ) { | ||
24 | @@ -1186,7 +1193,13 @@ | ||
25 | \sa QWidget::setPalette(), palette(), QStyle::polish() | ||
26 | */ | ||
27 | |||
28 | -void QApplication::setPalette( const QPalette &palette, bool informWidgets, | ||
29 | +void QApplication::setPalette ( const QPalette &palette, bool informWidgets, | ||
30 | + const char* className ) | ||
31 | +{ | ||
32 | +setPalette_NonWeak ( palette, informWidgets, className ); | ||
33 | +} | ||
34 | + | ||
35 | +void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets, | ||
36 | const char* className ) | ||
37 | { | ||
38 | QPalette pal = palette; | ||
39 | @@ -1288,6 +1301,12 @@ | ||
40 | void QApplication::setFont( const QFont &font, bool informWidgets, | ||
41 | const char* className ) | ||
42 | { | ||
43 | +setFont_NonWeak ( font, informWidgets, className ); | ||
44 | +} | ||
45 | + | ||
46 | +void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets, | ||
47 | + const char* className ) | ||
48 | +{ | ||
49 | bool all = FALSE; | ||
50 | if ( !className ) { | ||
51 | if ( !app_font ) { | ||
52 | --- ./src/kernel/qapplication_qws.cpp.orig22002-12-07 17:41:46.000000000 +0100 | ||
53 | +++ ./src/kernel/qapplication_qws.cpp2002-12-07 17:42:26.000000000 +0100 | ||
54 | @@ -2641,6 +2641,11 @@ | ||
55 | */ | ||
56 | void QApplication::qwsSetDecoration( QWSDecoration *d ) | ||
57 | { | ||
58 | +qwsSetDecoration_NonWeak ( d ); | ||
59 | +} | ||
60 | + | ||
61 | +void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d ) | ||
62 | +{ | ||
63 | if ( d ) { | ||
64 | delete qws_decoration; | ||
65 | qws_decoration = d; | ||
66 | --- ./src/kernel/qapplication.h.orig22002-12-07 17:42:38.000000000 +0100 | ||
67 | +++ ./src/kernel/qapplication.h2002-12-07 18:22:38.000000000 +0100 | ||
68 | @@ -61,6 +61,10 @@ | ||
69 | class QSemaphore; | ||
70 | #endif | ||
71 | |||
72 | +#if !defined( QT_WEAK_SYMBOL ) | ||
73 | +#define QT_WEAK_SYMBOL | ||
74 | +#endif | ||
75 | + | ||
76 | // REMOVE IN 3.0 (just here for moc source compatibility) | ||
77 | #define QNonBaseApplication QApplication | ||
78 | |||
79 | @@ -85,7 +89,10 @@ | ||
80 | |||
81 | #ifndef QT_NO_STYLE | ||
82 | static QStyle &style(); | ||
83 | - static void setStyle( QStyle* ); | ||
84 | + static void setStyle( QStyle* ) QT_WEAK_SYMBOL; | ||
85 | +private: | ||
86 | +static void setStyle_NonWeak( QStyle* ); | ||
87 | +public: | ||
88 | #endif | ||
89 | #if 1/* OBSOLETE */ | ||
90 | enum ColorMode { NormalColors, CustomColors }; | ||
91 | @@ -106,11 +113,19 @@ | ||
92 | #ifndef QT_NO_PALETTE | ||
93 | static QPalette palette( const QWidget* = 0 ); | ||
94 | static void setPalette( const QPalette &, bool informWidgets=FALSE, | ||
95 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
96 | +private: | ||
97 | + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE, | ||
98 | const char* className = 0 ); | ||
99 | +public: | ||
100 | #endif | ||
101 | static QFont font( const QWidget* = 0 ); | ||
102 | static void setFont( const QFont &, bool informWidgets=FALSE, | ||
103 | + const char* className = 0 ) QT_WEAK_SYMBOL; | ||
104 | +private: | ||
105 | + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE, | ||
106 | const char* className = 0 ); | ||
107 | +public: | ||
108 | static QFontMetrics fontMetrics(); | ||
109 | |||
110 | QWidget *mainWidget() const; | ||
111 | @@ -207,7 +222,10 @@ | ||
112 | void qwsSetCustomColors( QRgb *colortable, int start, int numColors ); | ||
113 | #ifndef QT_NO_QWS_MANAGER | ||
114 | static QWSDecoration &qwsDecoration(); | ||
115 | - static void qwsSetDecoration( QWSDecoration *); | ||
116 | + static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL; | ||
117 | +private: | ||
118 | + static void qwsSetDecoration_NonWeak( QWSDecoration *); | ||
119 | +public: | ||
120 | #endif | ||
121 | #endif | ||
122 | |||
123 | --- ./src/kernel/qfontdatabase.h.orig22002-12-07 17:46:20.000000000 +0100 | ||
124 | +++ ./src/kernel/qfontdatabase.h2002-12-07 18:23:22.000000000 +0100 | ||
125 | @@ -59,6 +59,10 @@ | ||
126 | class QDiskFont; | ||
127 | #endif | ||
128 | |||
129 | +#if !defined( QT_WEAK_SYMBOL ) | ||
130 | +#define QT_WEAK_SYMBOL | ||
131 | +#endif | ||
132 | + | ||
133 | class QFontDatabasePrivate; | ||
134 | |||
135 | class Q_EXPORT QFontDatabase | ||
136 | @@ -67,9 +71,16 @@ | ||
137 | QFontDatabase(); | ||
138 | |||
139 | QStringList families( bool onlyForLocale = TRUE ) const; | ||
140 | + | ||
141 | + | ||
142 | QValueList<int> pointSizes( const QString &family, | ||
143 | const QString &style = QString::null, | ||
144 | - const QString &charSet = QString::null ); | ||
145 | + const QString &charSet = QString::null ) QT_WEAK_SYMBOL; | ||
146 | +private: | ||
147 | + QValueList<int> pointSizes_NonWeak( const QString &family, | ||
148 | + const QString &style, | ||
149 | + const QString &charSet ); | ||
150 | +public: | ||
151 | QStringList styles( const QString &family, | ||
152 | const QString &charSet = QString::null ) const; | ||
153 | QStringList charSets( const QString &familyName, | ||
154 | --- ./src/kernel/qfontdatabase.cpp.orig22002-12-07 17:46:24.000000000 +0100 | ||
155 | +++ ./src/kernel/qfontdatabase.cpp2002-12-07 18:22:53.000000000 +0100 | ||
156 | @@ -35,6 +35,8 @@ | ||
157 | ** | ||
158 | **********************************************************************/ | ||
159 | |||
160 | +#define QT_WEAK_SYMBOL __attribute__(( weak )) | ||
161 | + | ||
162 | #include "qfontdatabase.h" | ||
163 | |||
164 | #ifndef QT_NO_FONTDATABASE | ||
165 | @@ -2424,6 +2426,13 @@ | ||
166 | const QString &style, | ||
167 | const QString &charSet ) | ||
168 | { | ||
169 | +return pointSizes_NonWeak ( family, style, charSet ); | ||
170 | +} | ||
171 | + | ||
172 | +QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family, | ||
173 | + const QString &style, | ||
174 | + const QString &charSet ) | ||
175 | +{ | ||
176 | QString cs( charSet ); | ||
177 | if ( charSet.isEmpty() ) { | ||
178 | QStringList lst = charSets( family ); | ||
diff --git a/qt/qte234-for-opie091-qtoolbutton.patch b/qt/qte234-for-opie091-qtoolbutton.patch deleted file mode 100644 index 2e5c13a..0000000 --- a/qt/qte234-for-opie091-qtoolbutton.patch +++ b/dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | --- src/widgets/qtoolbutton.orig2003-04-19 18:59:13.000000000 +0200 | ||
2 | +++ src/widgets/qtoolbutton.cpp2003-04-19 19:00:56.000000000 +0200 | ||
3 | @@ -230,7 +230,7 @@ | ||
4 | else | ||
5 | QToolTip::add( this, textLabel ); | ||
6 | } | ||
7 | -#endif | ||
8 | +#endif | ||
9 | } | ||
10 | |||
11 | |||
12 | @@ -324,12 +324,12 @@ | ||
13 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal); | ||
14 | w = pm.width(); | ||
15 | h = pm.height(); | ||
16 | -if ( w < 32 ) | ||
17 | - w = 32; | ||
18 | -if ( h < 32 ) | ||
19 | - h = 32; | ||
20 | +if ( w < 24 ) | ||
21 | + w = 24; | ||
22 | +if ( h < 24 ) | ||
23 | + h = 24; | ||
24 | } else { | ||
25 | -w = h = 16; | ||
26 | +w = h = 14; | ||
27 | QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal); | ||
28 | w = pm.width(); | ||
29 | h = pm.height(); | ||
diff --git a/qt/qte234-for-opie091-setpalette.patch b/qt/qte234-for-opie091-setpalette.patch deleted file mode 100644 index 2aee4e5..0000000 --- a/qt/qte234-for-opie091-setpalette.patch +++ b/dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | --- src/kernel/qapplication.cpp.origSat Sep 21 05:01:47 2002 | ||
2 | +++ src/kernel/qapplication.cppSat Sep 21 05:24:42 2002 | ||
3 | @@ -1187,8 +1187,19 @@ | ||
4 | { | ||
5 | QPalette pal = palette; | ||
6 | #ifndef QT_NO_STYLE | ||
7 | - if ( !startingUp() ) | ||
8 | + if ( !startingUp() ) { | ||
9 | qApp->style().polish( pal );// NB: non-const reference | ||
10 | +if ( className ) { | ||
11 | + // if we just polished a class specific palette (this normally | ||
12 | + // only called by qt_fix_tooltips - see below), we better re- | ||
13 | + // polish the global palette. Some styles like liquid can get | ||
14 | + // confused, because they can not detect if the polished palette | ||
15 | + // is the global one or only a class specific one. | ||
16 | + // (liquid uses this palette to calculate blending pixmaps) | ||
17 | + QPalette p = qApp-> palette ( ); | ||
18 | + qApp->style().polish ( p ); | ||
19 | +} | ||
20 | + } | ||
21 | #endif | ||
22 | bool all = FALSE; | ||
23 | if ( !className ) { | ||
diff --git a/qt/qte234-for-opie091-sigsegv.patch b/qt/qte234-for-opie091-sigsegv.patch deleted file mode 100644 index 085de91..0000000 --- a/qt/qte234-for-opie091-sigsegv.patch +++ b/dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | --- ./src/kernel/qwindowsystem_qws.cpp~sigsegv2003-03-18 18:29:00.000000000 -0600 | ||
2 | +++ ./src/kernel/qwindowsystem_qws.cpp2003-03-18 19:09:08.000000000 -0600 | ||
3 | @@ -843,6 +843,18 @@ | ||
4 | { | ||
5 | } | ||
6 | |||
7 | +static void catchSegvSignal( int ) | ||
8 | +{ | ||
9 | +#ifndef QT_NO_QWS_KEYBOARD | ||
10 | + if ( qwsServer ) | ||
11 | +qwsServer->closeKeyboard(); | ||
12 | +#endif | ||
13 | + QWSServer::closedown(); | ||
14 | + fprintf(stderr, "Segmentation fault.\n"); | ||
15 | + exit(1); | ||
16 | +} | ||
17 | + | ||
18 | + | ||
19 | /*! | ||
20 | \class QWSServer qwindowsystem_qws.h | ||
21 | \brief Server-specific functionality in Qt/Embedded | ||
22 | @@ -912,6 +924,7 @@ | ||
23 | } | ||
24 | |||
25 | signal(SIGPIPE, ignoreSignal); //we get it when we read | ||
26 | + signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash | ||
27 | #endif | ||
28 | focusw = 0; | ||
29 | mouseGrabber = 0; | ||
diff --git a/qt/qte234-for-opie091-simpad.patch b/qt/qte234-for-opie091-simpad.patch deleted file mode 100644 index 74a8d83..0000000 --- a/qt/qte234-for-opie091-simpad.patch +++ b/dev/null | |||
@@ -1,367 +0,0 @@ | |||
1 | --- qt-2.3.5/src/kernel/qkeyboard_qws.cpp~qte234-for-opie091-simpad2003-06-13 16:59:33.000000000 +0200 | ||
2 | +++ qt-2.3.5/src/kernel/qkeyboard_qws.cpp2003-06-13 16:59:33.000000000 +0200 | ||
3 | @@ -37,6 +37,7 @@ | ||
4 | #include <qapplication.h> | ||
5 | #include <qsocketnotifier.h> | ||
6 | #include <qnamespace.h> | ||
7 | +#include <qdatetime.h> | ||
8 | #include <qtimer.h> | ||
9 | |||
10 | #include <stdlib.h> | ||
11 | @@ -131,6 +132,59 @@ | ||
12 | |||
13 | #endif // QNX6 | ||
14 | |||
15 | +/* | ||
16 | + * SIMpad switches handler | ||
17 | + * (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> | ||
18 | + */ | ||
19 | + | ||
20 | +//TODO: guard this against inclusion with #ifdef QT_QWS_SIMPAD | ||
21 | + | ||
22 | +#include <linux/switches.h> | ||
23 | +#define SIMPAD_SWITCHES_DEVICE "/dev/misc/switches" | ||
24 | + | ||
25 | +// switches from left top to right down over the SIMpad surface | ||
26 | + | ||
27 | +#define SIMPAD_SWITCH_POWER 0x02 | ||
28 | +#define SIMPAD_SWITCH_UPPER 0x10 | ||
29 | +#define SIMPAD_SWITCH_UP 0x20 | ||
30 | +#define SIMPAD_SWITCH_DOWN 0x40 | ||
31 | +#define SIMPAD_SWITCH_LEFT 0x80 | ||
32 | +#define SIMPAD_SWITCH_RIGHT 0x100 | ||
33 | +#define SIMPAD_SWITCH_LOWER 0x8 | ||
34 | + | ||
35 | +class QWSsimpadButtonsHandler : public QWSKeyboardHandler | ||
36 | +{ | ||
37 | + Q_OBJECT | ||
38 | + | ||
39 | + public: | ||
40 | + QWSsimpadButtonsHandler(); | ||
41 | + virtual ~QWSsimpadButtonsHandler(); | ||
42 | + | ||
43 | + bool isOpen() { return fd > 0; } | ||
44 | + | ||
45 | + private slots: | ||
46 | + void readSwitchesData(); | ||
47 | + void autoRepeat(); | ||
48 | + | ||
49 | + private: | ||
50 | + switches_mask_t switches; | ||
51 | + | ||
52 | + int fd; | ||
53 | + int repeatdelay; | ||
54 | + int repeatperiod; | ||
55 | + | ||
56 | + int lastCode; // last native code | ||
57 | + int lastPress; // last press/release state | ||
58 | + | ||
59 | + int k; // last emitted Qt key code | ||
60 | + int shiftKeyPressed; // true if one of the SHIFT keys has been pressed and not yet released | ||
61 | + bool shiftUsed; // true if SHIFT has been used | ||
62 | + | ||
63 | + QTime eventTimer; // tracks time between raw events | ||
64 | + QTimer* repeater; | ||
65 | + QSocketNotifier *notifier; | ||
66 | +}; | ||
67 | + | ||
68 | #ifdef QT_QWS_SL5XXX | ||
69 | static const QWSServer::KeyMap keyM[] = { | ||
70 | { Qt::Key_unknown,0xffff , 0xffff , 0xffff }, // 00 | ||
71 | @@ -1444,7 +1498,11 @@ | ||
72 | } else { | ||
73 | type = spec; | ||
74 | } | ||
75 | - | ||
76 | + if ( type == "SIMpad" ) | ||
77 | + { | ||
78 | + qDebug( "QWSKeyboardHandler: using SIMpad keyboard handler..." ); | ||
79 | + handler = new QWSsimpadButtonsHandler(); | ||
80 | + } | ||
81 | if ( type == "Buttons" ) { | ||
82 | #if defined(QT_QWS_YOPY) | ||
83 | handler = new QWSyopyButtonsHandler(); | ||
84 | @@ -1473,6 +1531,217 @@ | ||
85 | return keyM; | ||
86 | } | ||
87 | |||
88 | -#endif // QT_NO_QWS_KEYBOARD | ||
89 | |||
90 | +/* | ||
91 | + * SIMpad switches handler | ||
92 | + * (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de> | ||
93 | + */ | ||
94 | |||
95 | + | ||
96 | +QWSsimpadButtonsHandler::QWSsimpadButtonsHandler() | ||
97 | + :QWSKeyboardHandler(), fd( -1 ), | ||
98 | + repeatdelay( 700 ), repeatperiod( 80 ), | ||
99 | + lastCode( 0 ), lastPress( 0 ), | ||
100 | + k( -1 ), shiftKeyPressed( 0 ), shiftUsed( false ) | ||
101 | +{ | ||
102 | + qDebug( "SimpadButtonsHandler() - V4.1" ); | ||
103 | + fd = ::open( SIMPAD_SWITCHES_DEVICE, O_RDWR | O_NDELAY, 0 ); | ||
104 | + if ( fd < 0 ) | ||
105 | + { | ||
106 | + qWarning( "SimpadButtonsHandler(): can't open %s", SIMPAD_SWITCHES_DEVICE ); | ||
107 | + return; | ||
108 | + } | ||
109 | + | ||
110 | + notifier = new QSocketNotifier( fd, QSocketNotifier::Read, this ); | ||
111 | + connect( notifier, SIGNAL( activated(int) ),this, SLOT( readSwitchesData() ) ); | ||
112 | + | ||
113 | + repeater = new QTimer(this); | ||
114 | + connect(repeater, SIGNAL(timeout()), this, SLOT(autoRepeat())); | ||
115 | + | ||
116 | +} | ||
117 | + | ||
118 | + | ||
119 | +QWSsimpadButtonsHandler::~QWSsimpadButtonsHandler() | ||
120 | +{ | ||
121 | + qDebug( "~SimpadButtonsHandler()" ); | ||
122 | + if ( fd > 0 ) | ||
123 | + { | ||
124 | + ::close( fd ); | ||
125 | + fd = -1; | ||
126 | + } | ||
127 | +} | ||
128 | + | ||
129 | + | ||
130 | +void QWSsimpadButtonsHandler::readSwitchesData() | ||
131 | +{ | ||
132 | + qDebug( "SimpadButtonsHandler() - detected switches action" ); | ||
133 | + | ||
134 | + if ( ::read( fd, &switches, sizeof switches ) < 0 ) | ||
135 | + { | ||
136 | + qWarning( "SimpadButtonsHandler() - switches read error!" ); | ||
137 | + return; | ||
138 | + } | ||
139 | + | ||
140 | + qDebug( "SimpadButtonsHandler() - Shift: %0x [used: %0x] + Event = %0x | %0x", | ||
141 | + shiftKeyPressed, shiftUsed, switches.events[0], switches.states[0] ); | ||
142 | + | ||
143 | + bool press = switches.states[0]; // == switches.event[0]; | ||
144 | + int code = switches.events[0]; | ||
145 | + | ||
146 | + //========================================================================= | ||
147 | + | ||
148 | + /** | ||
149 | + * Work around a bug in the kernel keyboard driver emitting | ||
150 | + * bogus events when pressing multiple switches at once | ||
151 | + **/ | ||
152 | + | ||
153 | + if ( lastCode == 0 ) | ||
154 | + { | ||
155 | + // first press ever | ||
156 | + eventTimer.start(); | ||
157 | + lastPress = press; | ||
158 | + lastCode = code; | ||
159 | + } | ||
160 | + else | ||
161 | + { | ||
162 | + int interval = eventTimer.restart(); | ||
163 | + qDebug( "event interval = %d", interval ); | ||
164 | + if ( code == lastCode && interval < 10 ) | ||
165 | + { | ||
166 | + qDebug( "event interval too small - ignoring bogus event" ); | ||
167 | + qDebug( "did I say i hate buggy kernel drivers? :-D" ); | ||
168 | + return; | ||
169 | + } | ||
170 | + | ||
171 | + lastPress = press; | ||
172 | + lastCode = code; | ||
173 | + } | ||
174 | + | ||
175 | + /** | ||
176 | + * Actually it may also be a hardware problem, but I really don't like | ||
177 | + * to review kernel code for further inquiry. So just being lazy and | ||
178 | + * do the workaround in user space :-D | ||
179 | + **/ | ||
180 | + | ||
181 | + //===================================================================== | ||
182 | + | ||
183 | + if ( shiftKeyPressed ) | ||
184 | + { | ||
185 | + // a shift key obviously is being held | ||
186 | + qDebug( "while shift key is being held..." ); | ||
187 | + | ||
188 | + if ( code != shiftKeyPressed ) | ||
189 | + { | ||
190 | + // another key is being touched - that means shift mode for us! | ||
191 | + qDebug( " another key is being touched -> shift use now = true" ); | ||
192 | + | ||
193 | + shiftUsed = true; | ||
194 | + | ||
195 | + if ( shiftKeyPressed == SIMPAD_SWITCH_LOWER ) // SHIFT 1 | ||
196 | + { | ||
197 | + qDebug( " shift mode 1" ); | ||
198 | + switch(code) | ||
199 | + { | ||
200 | + case SIMPAD_SWITCH_UP: k = Qt::Key_F9; break; // Shift1-Up = Calendar | ||
201 | + case SIMPAD_SWITCH_DOWN: k = Qt::Key_F10; break; // Shift1-Down = Contacts | ||
202 | + case SIMPAD_SWITCH_LEFT: k = Qt::Key_F13; break; // Shift1-Left = Mail | ||
203 | + case SIMPAD_SWITCH_RIGHT: k = Qt::Key_F11; break; // Shift1-Up = Menu | ||
204 | + case SIMPAD_SWITCH_UPPER: k = Qt::Key_F12; break; // Shift1-Upper = Home | ||
205 | + default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event for Shift 1 !" ); break; | ||
206 | + } | ||
207 | + } | ||
208 | + else if ( shiftKeyPressed == SIMPAD_SWITCH_UPPER ) // SHIFT 2 | ||
209 | + { | ||
210 | + qDebug( " shift mode 2" ); | ||
211 | + switch(code) | ||
212 | + { | ||
213 | + case SIMPAD_SWITCH_UP: k = Qt::Key_F5; break; // Shift2-Up = F5 | ||
214 | + case SIMPAD_SWITCH_DOWN: k = Qt::Key_F6; break; // Shift2-Down = F6 | ||
215 | + case SIMPAD_SWITCH_LEFT: k = Qt::Key_F7; break; // Shift2-Left = F7 | ||
216 | + case SIMPAD_SWITCH_RIGHT: k = Qt::Key_F8; break; // Shift2-Up = F8 | ||
217 | + case SIMPAD_SWITCH_LOWER: k = Qt::Key_F9; break; // Shift2-Lower = F9 | ||
218 | + default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event for Shift 2!" ); break; | ||
219 | + } | ||
220 | + } | ||
221 | + } | ||
222 | + else | ||
223 | + { | ||
224 | + qDebug( " shift key has been released. checking if being used..." ); | ||
225 | + shiftKeyPressed = 0; | ||
226 | + | ||
227 | + if ( !shiftUsed ) | ||
228 | + { | ||
229 | + qDebug( " ... has _not_ being used -> really emit the key" ); | ||
230 | + k = ( code == SIMPAD_SWITCH_UPPER ? Qt::Key_Escape : Qt::Key_Return ); | ||
231 | + qDebug( "Emitting key = %d (pressed)", k ); | ||
232 | + processKeyEvent( 0, k, 0, true, true ); | ||
233 | + qDebug( "Emitting key = %d (released)", k ); | ||
234 | + processKeyEvent( 0, k, 0, false, true ); | ||
235 | + return; | ||
236 | + } | ||
237 | + else | ||
238 | + { | ||
239 | + qDebug( " ... has being used -> doing nothing" ); | ||
240 | + return; | ||
241 | + } | ||
242 | + } | ||
243 | + } | ||
244 | + else | ||
245 | + { | ||
246 | + qDebug( "standard mode - no shift yet..." ); | ||
247 | + | ||
248 | + switch(code) | ||
249 | + { | ||
250 | + case SIMPAD_SWITCH_UP: k = Qt::Key_Up; break; | ||
251 | + case SIMPAD_SWITCH_DOWN: k = Qt::Key_Down; break; | ||
252 | + case SIMPAD_SWITCH_LEFT: k = Qt::Key_Left; break; | ||
253 | + case SIMPAD_SWITCH_RIGHT: k = Qt::Key_Right; break; | ||
254 | + | ||
255 | + case SIMPAD_SWITCH_UPPER: k=-1; shiftKeyPressed = press? code:0; shiftUsed = false; qDebug( "shiftkey pressed now = %d", shiftKeyPressed ); return; | ||
256 | + case SIMPAD_SWITCH_LOWER: k=-1; shiftKeyPressed = press? code:0; shiftUsed = false; qDebug( "shiftkey pressed now = %d", shiftKeyPressed ); return; | ||
257 | + | ||
258 | + default: k=-1; qWarning( "SimpadButtonsHandler() - unhandled event!" ); break; | ||
259 | + } | ||
260 | + } | ||
261 | + | ||
262 | + if ( k == -1 ) | ||
263 | + { | ||
264 | + qDebug( "no key to emit - returning." ); | ||
265 | + return; | ||
266 | + } | ||
267 | + | ||
268 | + bool repeatable = ( k == Qt::Key_Up || k == Qt::Key_Down || | ||
269 | + k == Qt::Key_Right || k == Qt::Key_Left ); | ||
270 | + | ||
271 | + qDebug( "key to emit = %d [%s] [repeat=%s]", k, | ||
272 | + press ? "press" : "release", | ||
273 | + repeatable ? "true":"false" ); | ||
274 | + | ||
275 | + if ( qt_screen->isTransformed() && k >= Qt::Key_Left && k <= Qt::Key_Down ) | ||
276 | + { | ||
277 | + qDebug( "SimpadButtonsHandler() - We are transformed! Correcting..." ); | ||
278 | + int oldK = k; | ||
279 | + k = xform_dirkey( k ); | ||
280 | + qDebug( "SimpadButtonsHandler() - Old Key: %d - New Key %d", oldK, k ); | ||
281 | + } | ||
282 | + | ||
283 | + if ( repeatable && press ) | ||
284 | + repeater->start( repeatdelay, true ); | ||
285 | + else | ||
286 | + repeater->stop(); | ||
287 | + | ||
288 | + qwsServer->processKeyEvent( 0, k, 0, press, false ); | ||
289 | +} | ||
290 | + | ||
291 | + | ||
292 | +void QWSsimpadButtonsHandler::autoRepeat() | ||
293 | +{ | ||
294 | + qDebug( "Emitting key = %d (released)", k ); | ||
295 | + processKeyEvent( 0, k, 0, false, true ); | ||
296 | + qDebug( "Emitting key = %d (pressed)", k ); | ||
297 | + processKeyEvent( 0, k, 0, true, true ); | ||
298 | + repeater->start(repeatperiod); | ||
299 | +} | ||
300 | + | ||
301 | + | ||
302 | +#endif // QT_NO_QWS_KEYBOARD | ||
303 | --- qt-2.3.5/src/kernel/qwsmouse_qws.cpp~qte234-for-opie091-simpad2003-04-02 03:26:52.000000000 +0200 | ||
304 | +++ qt-2.3.5/src/kernel/qwsmouse_qws.cpp2003-06-13 16:59:33.000000000 +0200 | ||
305 | @@ -47,6 +47,7 @@ | ||
306 | #include <stdlib.h> | ||
307 | #include <stdio.h> | ||
308 | #include <sys/ioctl.h> | ||
309 | +#include <sys/time.h> | ||
310 | #include <sys/types.h> | ||
311 | #include <sys/stat.h> | ||
312 | #include <fcntl.h> | ||
313 | @@ -67,6 +68,7 @@ | ||
314 | unsigned short x; | ||
315 | unsigned short y; | ||
316 | unsigned short pad; | ||
317 | + struct timeval stamp; | ||
318 | } TS_EVENT; | ||
319 | #elif defined(QT_QWS_SL5XXX) | ||
320 | #define QT_QWS_SL5XXX_RAW | ||
321 | @@ -1238,29 +1240,11 @@ | ||
322 | : samples(QT_QWS_TP_SAMPLE_SIZE), currSample(0), lastSample(0), | ||
323 | numSamples(0), skipCount(0) | ||
324 | { | ||
325 | -#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) | ||
326 | -#if defined(QT_QWS_IPAQ) | ||
327 | -# ifdef QT_QWS_IPAQ_RAW | ||
328 | - if ((mouseFD = open( "/dev/h3600_tsraw", O_RDONLY | O_NDELAY)) < 0) { | ||
329 | -# else | ||
330 | - if ((mouseFD = open( "/dev/h3600_ts", O_RDONLY | O_NDELAY)) < 0) { | ||
331 | -# endif | ||
332 | - qWarning( "Cannot open /dev/h3600_ts (%s)", strerror(errno)); | ||
333 | +#ifdef QT_QWS_SIMPAD | ||
334 | + if ((mouseFD = open( "/dev/touchscreen/ucb1x00", O_RDONLY | O_NONBLOCK )) < 0) { | ||
335 | + qWarning( "Cannot open /dev/touchscreen/ucb1x00 (%s)", strerror(errno)); | ||
336 | return; | ||
337 | } | ||
338 | -#elif defined(QT_QWS_SL5XXX) | ||
339 | -//# ifdef QT_QWS_SL5XXX_TSRAW | ||
340 | -# if 0 | ||
341 | - if ((mouseFD = open( "/dev/tsraw", O_RDONLY | O_NDELAY)) < 0) { | ||
342 | - qWarning( "Cannot open /dev/tsraw (%s)", strerror(errno)); | ||
343 | - return; | ||
344 | - } | ||
345 | -# else | ||
346 | - if ((mouseFD = open( "/dev/ts", O_RDONLY | O_NDELAY)) < 0) { | ||
347 | - qWarning( "Cannot open /dev/ts (%s)", strerror(errno)); | ||
348 | - return; | ||
349 | - } | ||
350 | -# endif | ||
351 | #endif | ||
352 | |||
353 | QSocketNotifier *mouseNotifier; | ||
354 | @@ -1269,12 +1253,11 @@ | ||
355 | connect(mouseNotifier, SIGNAL(activated(int)),this, SLOT(readMouseData())); | ||
356 | waspressed=FALSE; | ||
357 | mouseIdx = 0; | ||
358 | -#endif | ||
359 | } | ||
360 | |||
361 | QTPanelHandlerPrivate::~QTPanelHandlerPrivate() | ||
362 | { | ||
363 | -#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) | ||
364 | +#if defined(QT_QWS_IPAQ) || defined(QT_QWS_SL5XXX) || defined(QT_QWS_SIMPAD) | ||
365 | if (mouseFD >= 0) | ||
366 | close(mouseFD); | ||
367 | #endif | ||
diff --git a/qt/qte234-for-opie091-style.patch b/qt/qte234-for-opie091-style.patch deleted file mode 100644 index 1944da8..0000000 --- a/qt/qte234-for-opie091-style.patch +++ b/dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | --- src.orig/widgets/qcommonstyle.cppMon Mar 18 02:11:26 2002 | ||
2 | +++ src/widgets/qcommonstyle.cppFri Aug 30 04:28:27 2002 | ||
3 | @@ -562,7 +562,7 @@ | ||
4 | bool enabled, bool active ) | ||
5 | { | ||
6 | #ifndef QT_NO_MENUBAR | ||
7 | -#ifndef QT_NO_STYLE_SGI | ||
8 | +#if 1 // #ifndef QT_NO_STYLE_SGI | ||
9 | if (draw_menu_bar_impl != 0) { | ||
10 | QDrawMenuBarItemImpl impl = draw_menu_bar_impl; | ||
11 | (this->*impl)(p, x, y, w, h, mi, g, enabled, active); | ||
diff --git a/qt/qte234-for-opie091-unpolish.patch b/qt/qte234-for-opie091-unpolish.patch deleted file mode 100644 index ba9e9b3..0000000 --- a/qt/qte234-for-opie091-unpolish.patch +++ b/dev/null | |||
@@ -1,23 +0,0 @@ | |||
1 | --- src.orig/kernel/qapplication.cppMon Mar 18 02:11:25 2002 | ||
2 | +++ src/kernel/qapplication.cppFri Aug 30 04:28:34 2002 | ||
3 | @@ -930,10 +930,10 @@ | ||
4 | void QApplication::setStyle( QStyle *style ) | ||
5 | { | ||
6 | QStyle* old = app_style; | ||
7 | - app_style = style; | ||
8 | |||
9 | if ( startingUp() ) { | ||
10 | delete old; | ||
11 | +app_style = style; | ||
12 | return; | ||
13 | } | ||
14 | |||
15 | @@ -954,6 +954,8 @@ | ||
16 | old->unPolish( qApp ); | ||
17 | } | ||
18 | |||
19 | + app_style = style; | ||
20 | + | ||
21 | // take care of possible palette requirements of certain gui | ||
22 | // styles. Do it before polishing the application since the style | ||
23 | // might call QApplication::setStyle() itself | ||