summaryrefslogtreecommitdiff
authormickeyl <mickeyl>2005-09-03 20:36:38 (UTC)
committer mickeyl <mickeyl>2005-09-03 20:36:38 (UTC)
commit62ae8e732a5d4e5b23d060185c0655b1666be59c (patch) (unidiff)
tree71e6d1530036731274f8ea0262423e74e86fe9f7
parentde950b18690b8981a2bddaca68cbd5d48c71f689 (diff)
downloadopie-62ae8e732a5d4e5b23d060185c0655b1666be59c.zip
opie-62ae8e732a5d4e5b23d060185c0655b1666be59c.tar.gz
opie-62ae8e732a5d4e5b23d060185c0655b1666be59c.tar.bz2
switch to 5-point calibration to make it work on some newer Zaurii
this goes hand in hand with the integration of the RMK tslib calibration algorithm into Qt/Embedded 2.3.x. Patch courtesy Richard Purdie.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ChangeLog3
-rw-r--r--core/apps/calibrate/calibrate.cpp6
2 files changed, 5 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 38b65c0..1c713ed 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,196 +1,197 @@
1 2005-??-??Opie 1.2.1 1 2005-??-??Opie 1.2.1
2 2
3 3
4 New Features 4 New Features
5 ------------ 5 ------------
6 * OpieStumbler: Scans WiFi networks using the wireless extension scanning (skyhusker) 6 * OpieStumbler: Scans WiFi networks using the wireless extension scanning (skyhusker)
7 * Opie-Reader: Support for document formats ArriereGo and Reb, add flite output (tim,pohly) 7 * Opie-Reader: Support for document formats ArriereGo and Reb, add flite output (tim,pohly)
8 * Opie-Networksettings: Add support for wlan-ng devices and improve WEP handling (Dirk Opfer) 8 * Opie-Networksettings: Add support for wlan-ng devices and improve WEP handling (Dirk Opfer)
9 * Wellenreiter: Remove Joining networks - use OpieStumbler for that (mickeyl) 9 * Wellenreiter: Remove Joining networks - use OpieStumbler for that (mickeyl)
10 * Opie-Mobilemsg has gone unsupported - it never really worked and there will be a replacement (mickeyl) 10 * Opie-Mobilemsg has gone unsupported - it never really worked and there will be a replacement (mickeyl)
11 * Opie-Tabmanager has gone unsupported - it barely works and there is not much of a use of it anyway (mickeyl) 11 * Opie-Tabmanager has gone unsupported - it barely works and there is not much of a use of it anyway (mickeyl)
12 * Checkbook: Added configuration option to use smaller font for checkbook transaction tab (hrw) 12 * Checkbook: Added configuration option to use smaller font for checkbook transaction tab (hrw)
13 * ZSafe: Made UI conform to Opie standards (drw) 13 * ZSafe: Made UI conform to Opie standards (drw)
14 * Today Addressbook plugin: Fixed configuration to show/not show birthdays, use checkboxes for selection (hrw) 14 * Today Addressbook plugin: Fixed configuration to show/not show birthdays, use checkboxes for selection (hrw)
15 * Opie-Console: Read initial fixed font configuration from qpe.conf (mickeyl) 15 * Opie-Console: Read initial fixed font configuration from qpe.conf (mickeyl)
16 * Opie-PcmciaApplet: Configure insert/resume actions and bind unsupported cards (mickeyl) 16 * Opie-PcmciaApplet: Configure insert/resume actions and bind unsupported cards (mickeyl)
17 * SysInfo: Remove CPU tab and add Devices tab instead (mickeyl) 17 * SysInfo: Remove CPU tab and add Devices tab instead (mickeyl)
18 * Opie-smb: Added Opie front end for Samba (ljp) 18 * Opie-smb: Added Opie front end for Samba (ljp)
19 * Opie-Bluetooth: Replace obex send implementation and patch libopieobex and the bluetoothapplet (Michael Haynie) 19 * Opie-Bluetooth: Replace obex send implementation and patch libopieobex and the bluetoothapplet (Michael Haynie)
20 * Opieplayer: rudimentary podcast support (ljp) 20 * Opieplayer: rudimentary podcast support (ljp)
21 21
22 Fixed Bugs 22 Fixed Bugs
23 ---------- 23 ----------
24 * #1377 - Suspend Powermanagement when switched to another VT (mickeyl) 24 * #1377 - Suspend Powermanagement when switched to another VT (mickeyl)
25 - We actually suspend the complete Opie now in that case. 25 - We actually suspend the complete Opie now in that case.
26 * #1384 - Battery status updated improperly when charging (skyhusker) 26 * #1384 - Battery status updated improperly when charging (skyhusker)
27 * #1476 - Wrong order of application entries in the O-menu (skyhusker) 27 * #1476 - Wrong order of application entries in the O-menu (skyhusker)
28 * #1514 - Remove usage of cardmon/pcmcia picture in applications. pcmcia is now an inline picture (mickeyl) 28 * #1514 - Remove usage of cardmon/pcmcia picture in applications. pcmcia is now an inline picture (mickeyl)
29 * #1535- Missing line break and unnecessary location shown with Today-Calendar plugin (deller) 29 * #1535- Missing line break and unnecessary location shown with Today-Calendar plugin (deller)
30 * #1543 - Time Settings: "predict" tab is displayed twice after reopen (hrw) 30 * #1543 - Time Settings: "predict" tab is displayed twice after reopen (hrw)
31 * #1546 - Battery applet popup is not always large enough to show jacket remaining info (skyhusker) 31 * #1546 - Battery applet popup is not always large enough to show jacket remaining info (skyhusker)
32 * #1557 - Light&Power-Settings don't store warning intervall and warning levels (skyhusker) 32 * #1557 - Light&Power-Settings don't store warning intervall and warning levels (skyhusker)
33 * #1565 - crash-fix in odevice.cpp while scanning the distribution table (deller) 33 * #1565 - crash-fix in odevice.cpp while scanning the distribution table (deller)
34 * #1614 - Make Opie-console start in $HOME instead of / (skyhusker) 34 * #1614 - Make Opie-console start in $HOME instead of / (skyhusker)
35 * #1635 - opie-today, datebook-plugin does not show notes (skyhusker) 35 * #1635 - opie-today, datebook-plugin does not show notes (skyhusker)
36 * #1665 - Opie-IRC displays the host prepended to the message when peer is using and ipv6 address (skyhusker) 36 * #1665 - Opie-IRC displays the host prepended to the message when peer is using and ipv6 address (skyhusker)
37 * #1666 - Opie-IRC does not allow to add !channels in config asautojoin ones (skyhusker) 37 * #1666 - Opie-IRC does not allow to add !channels in config asautojoin ones (skyhusker)
38 * #1667 - Opie-IRC does not show messages from !channel (skyhusker) 38 * #1667 - Opie-IRC does not show messages from !channel (skyhusker)
39 * #1679 - Security PIN plugin is QVGA sized (hrw) 39 * #1679 - Security PIN plugin is QVGA sized (hrw)
40 * #1682 - Properly resize tab control in OTabWidget (drw) 40 * #1682 - Properly resize tab control in OTabWidget (drw)
41 * n.a. - always show volume and wireless applet popups inside visible screen (deller) 41 * n.a. - always show volume and wireless applet popups inside visible screen (deller)
42 * n.a. - scale O-Menu-Applets appropriately (mickeyl) 42 * n.a. - scale O-Menu-Applets appropriately (mickeyl)
43 * n.a. - libopienet: fix bugs in wireless scanning and setting SSID (skyhusker) 43 * n.a. - libopienet: fix bugs in wireless scanning and setting SSID (skyhusker)
44 * n.a. - Wellenreiter: relax WE version matching test a bit (mickeyl) 44 * n.a. - Wellenreiter: relax WE version matching test a bit (mickeyl)
45 * n.a. - scale BluezApplet appropriately and use larger icons (mickeyl) 45 * n.a. - scale BluezApplet appropriately and use larger icons (mickeyl)
46 * n.a. - memoryapplet: fix crash in memoryapplet on kernels without swap support (seneca cunningham) 46 * n.a. - memoryapplet: fix crash in memoryapplet on kernels without swap support (seneca cunningham)
47 * n.a. - networksettings: ignore hostap control interfaces wifi* (mickeyl) 47 * n.a. - networksettings: ignore hostap control interfaces wifi* (mickeyl)
48 * n.a. - Today Addressbook plugin fix configuration to show/not show birthdays, use checkboxes for selection (hrw) 48 * n.a. - Today Addressbook plugin fix configuration to show/not show birthdays, use checkboxes for selection (hrw)
49 * n.a. - remove hardcoded font size from netsystemtime (hrw) 49 * n.a. - remove hardcoded font size from netsystemtime (hrw)
50 * n.a. - remove hardcoded font size from checkbook graphs (hrw) 50 * n.a. - remove hardcoded font size from checkbook graphs (hrw)
51 * n.a. - Dagger - fixes for Sword 1.5.8, morph tag x-refs, closing last tab crash (drw) 51 * n.a. - Dagger - fixes for Sword 1.5.8, morph tag x-refs, closing last tab crash (drw)
52 52
53 53
54 Internal 54 Internal
55 -------- 55 --------
56 * Make BluezApplet use OTaskbarApplet (mickeyl) 56 * Make BluezApplet use OTaskbarApplet (mickeyl)
57 * libopiecore: rewrite OFileNotification to use the Linux 2.6 inotify interface (mickeyl) 57 * libopiecore: rewrite OFileNotification to use the Linux 2.6 inotify interface (mickeyl)
58 * libopiecore: add ODirNotification - recursive directory notifications (mickeyl) 58 * libopiecore: add ODirNotification - recursive directory notifications (mickeyl)
59 * libopienet: Skip hostap control interfaces 'wifi' and improve robustness in ONetworkInterface (mickeyl) 59 * libopienet: Skip hostap control interfaces 'wifi' and improve robustness in ONetworkInterface (mickeyl)
60 * libopieui: Remove OVersatileView and OVersatileViewItem (mickeyl) 60 * libopieui: Remove OVersatileView and OVersatileViewItem (mickeyl)
61 * libopienet: Miscellaneous API cleanups (mickeyl) 61 * libopienet: Miscellaneous API cleanups (mickeyl)
62 * libopiecore: Add linux pcmcia system abstraction classes (mickeyl) 62 * libopiecore: Add linux pcmcia system abstraction classes (mickeyl)
63 * libopiecore: ODevice now knows the default gfx driver to use (mteira,mickeyl) 63 * libopiecore: ODevice now knows the default gfx driver to use (mteira,mickeyl)
64 * libopiecore: Add support for the Sharp SL-C3100 "Borzoi" (mickeyl) 64 * libopiecore: Add support for the Sharp SL-C3100 "Borzoi" (mickeyl)
65 * libopiecore: Add support for the new Linux Inputsystem Switches type [necessary for auto rotation in 2.6.13] (mickeyl) 65 * libopiecore: Add support for the new Linux Inputsystem Switches type [necessary for auto rotation in 2.6.13] (mickeyl)
66 * Remove assumptions about default gfx driver ("Transformed") all over the place (mteira,mickeyl) 66 * Remove assumptions about default gfx driver ("Transformed") all over the place (mteira,mickeyl)
67 * Fix / Optimize number of scanned directories (ljp) 67 * Fix / Optimize number of scanned directories (ljp)
68 68 * Use five point mouse calibration to make calibrated mouse drivers work on newer Zaurii (rp,mickeyl)
69
69 2005-03-25Opie 1.2.0 70 2005-03-25Opie 1.2.0
70 71
71 Fixed Bugs 72 Fixed Bugs
72 ---------- 73 ----------
73 * #1613 - AdvancedFM - scale toolbar icons appropriately (drw) 74 * #1613 - AdvancedFM - scale toolbar icons appropriately (drw)
74 * #1620 - OFileSelector - show the button on press and not on press on hold (alwin) 75 * #1620 - OFileSelector - show the button on press and not on press on hold (alwin)
75 * #1473 - Opie-Eye - Same as #1620 but we lack a common FileSystem Button class (zecke) 76 * #1473 - Opie-Eye - Same as #1620 but we lack a common FileSystem Button class (zecke)
76 * n.a. - PackageManager - fix bug where messages show up multiple times in install dialog (drw) 77 * n.a. - PackageManager - fix bug where messages show up multiple times in install dialog (drw)
77 * n.a.- make qpeglobal.h include qglobal.h (zecke) 78 * n.a.- make qpeglobal.h include qglobal.h (zecke)
78 79
79 2005-03-20Opie 1.2.0-rc1 80 2005-03-20Opie 1.2.0-rc1
80 81
81 82
82 New Features 83 New Features
83 ------------ 84 ------------
84 * Launcher: Support a static background pixmap (mickeyl) 85 * Launcher: Support a static background pixmap (mickeyl)
85 * LauncherSettings: Choose whether to have a static background pixmap (mickeyl) 86 * LauncherSettings: Choose whether to have a static background pixmap (mickeyl)
86 * PackageManager supports the 'lists_dir' ipkg configuration option (drw) 87 * PackageManager supports the 'lists_dir' ipkg configuration option (drw)
87 * Added hi-res inline images for large resolution devices (drw) 88 * Added hi-res inline images for large resolution devices (drw)
88 * Improved launcher icons for consistency (ar) 89 * Improved launcher icons for consistency (ar)
89 * Datebook: Added plugin system to datebook so holidays and birthdays from contacts may displayed in datebook (alwin) 90 * Datebook: Added plugin system to datebook so holidays and birthdays from contacts may displayed in datebook (alwin)
90 91
91 Fixed Bugs 92 Fixed Bugs
92 ---------- 93 ----------
93 * #1236 - VCards contained empty home and work address entries causing Palms to crash (eilers) 94 * #1236 - VCards contained empty home and work address entries causing Palms to crash (eilers)
94 * #1412 - Launcher Settings - fixed default settings for background in Edit tab dialog (drw) 95 * #1412 - Launcher Settings - fixed default settings for background in Edit tab dialog (drw)
95 * #1472 - Opie textedit now check for unsaved changes on ESC key (ljp) 96 * #1472 - Opie textedit now check for unsaved changes on ESC key (ljp)
96 * #1474 - Implement GUI for Scrollbars on the Left in Appearance (zecke) 97 * #1474 - Implement GUI for Scrollbars on the Left in Appearance (zecke)
97 * #1482 - Fix double '/' in paths (zecke) 98 * #1482 - Fix double '/' in paths (zecke)
98 * #1536 - Autosave of custom locations in opie backup (ar) 99 * #1536 - Autosave of custom locations in opie backup (ar)
99 * #1539 - Fixed displaying too long path in the delete dialog in opie-eye (zecke) 100 * #1539 - Fixed displaying too long path in the delete dialog in opie-eye (zecke)
100 * #1540 - Implemented deletion of DocLnks in opie-eye (zecke) 101 * #1540 - Implemented deletion of DocLnks in opie-eye (zecke)
101 * #1542 - Fixed Todo crash when priority < 1 or > 5 (drw) 102 * #1542 - Fixed Todo crash when priority < 1 or > 5 (drw)
102 * #1550 - Browse for alarm sound start in QPEDIR/sounds/ (zecke) 103 * #1550 - Browse for alarm sound start in QPEDIR/sounds/ (zecke)
103 * #1554 - Fixed Opie-Console name in .desktop file (mickeyl) 104 * #1554 - Fixed Opie-Console name in .desktop file (mickeyl)
104 * #1556 - Start to look for sound files in /opt/QtPalmtop/sounds (zecke) 105 * #1556 - Start to look for sound files in /opt/QtPalmtop/sounds (zecke)
105 * #1558 - Fixed opie-login breaking opie startup (mickeyl) 106 * #1558 - Fixed opie-login breaking opie startup (mickeyl)
106 * #1560 - Fixed Opie-Console picking up the wrong shell (bluelightning) 107 * #1560 - Fixed Opie-Console picking up the wrong shell (bluelightning)
107 * #1570 - Confirmation needed befor Restore a backup and overwrite local data (ar) 108 * #1570 - Confirmation needed befor Restore a backup and overwrite local data (ar)
108 * #1591 - Addressbook sortorder changed by clicking on column 0 (eilers) 109 * #1591 - Addressbook sortorder changed by clicking on column 0 (eilers)
109 * #1599 - Security - change recommendation for opie-multiauth to opie-securityplugin (gints) 110 * #1599 - Security - change recommendation for opie-multiauth to opie-securityplugin (gints)
110 * #1604 - Checkbook crashed on startup (drw) 111 * #1604 - Checkbook crashed on startup (drw)
111 * #1608 - Addressbook crashed after search, which may caused by not initialzed member variable (eilers) 112 * #1608 - Addressbook crashed after search, which may caused by not initialzed member variable (eilers)
112 * #1608 - QueryByExampe-Datediff on SQL database did not worked properly (eilers) 113 * #1608 - QueryByExampe-Datediff on SQL database did not worked properly (eilers)
113 * n.a. - Netsystemtime - fixed UI to prevent error dialog from displaying when it shouldn't, get rid of some compiler warnings (drw) 114 * n.a. - Netsystemtime - fixed UI to prevent error dialog from displaying when it shouldn't, get rid of some compiler warnings (drw)
114 * n.a. - PackageManager - fixed where last package in status file was not shown as installed when it should be (drw) 115 * n.a. - PackageManager - fixed where last package in status file was not shown as installed when it should be (drw)
115 * n.a. - PackageManager - fixed bug where lists_dir was not being honored at startup (drw) 116 * n.a. - PackageManager - fixed bug where lists_dir was not being honored at startup (drw)
116 * n.a. - PackageManager - provided default value for lists_dir when none is entered in configuration dialog (drw) 117 * n.a. - PackageManager - provided default value for lists_dir when none is entered in configuration dialog (drw)
117 * n.a. - OTabWidget - fixed scroll buttons, fix display position of tabs (drw) 118 * n.a. - OTabWidget - fixed scroll buttons, fix display position of tabs (drw)
118 * n.a. - AddressBook - fixed sorting by 'File As' name (drw) 119 * n.a. - AddressBook - fixed sorting by 'File As' name (drw)
119 * n.a. - AddressBook - fixed category handling for 'All' and 'Unfiled' (eilers) 120 * n.a. - AddressBook - fixed category handling for 'All' and 'Unfiled' (eilers)
120 * n.a. - AddressBook - fixed letter picker record selection and sort records afterwards (drw) 121 * n.a. - AddressBook - fixed letter picker record selection and sort records afterwards (drw)
121 122
122 Internal 123 Internal
123 -------- 124 --------
124 * Worked around bug in Qt/Embedded 2.3.10: qt_version() returns 231 (mickeyl) 125 * Worked around bug in Qt/Embedded 2.3.10: qt_version() returns 231 (mickeyl)
125 * Killed the need for weak symbols in QtE (zecke) 126 * Killed the need for weak symbols in QtE (zecke)
126 * Added optional building libqpe without inline images (mickeyl) 127 * Added optional building libqpe without inline images (mickeyl)
127 * OColorButton - fixed so does not emit a colorSelected signal inside of resizeEvent (drw) 128 * OColorButton - fixed so does not emit a colorSelected signal inside of resizeEvent (drw)
128 129
129 2005-02-03Opie 1.1.9 130 2005-02-03Opie 1.1.9
130 131
131 New Features 132 New Features
132 ------------ 133 ------------
133 * Number of icon columns in Launcher is customizable through Launcher.conf (hrw,zecke,mickeyl) 134 * Number of icon columns in Launcher is customizable through Launcher.conf (hrw,zecke,mickeyl)
134 * Number of icon columns in Launcher is customizable through LauncherSettings (mickeyl) 135 * Number of icon columns in Launcher is customizable through LauncherSettings (mickeyl)
135 * Usability enhancements in OpieIRC (skyhusker) 136 * Usability enhancements in OpieIRC (skyhusker)
136 137
137 Fixed Bugs 138 Fixed Bugs
138 ---------- 139 ----------
139 * #1501 - Fixed bug in todo sql backend (eilers) 140 * #1501 - Fixed bug in todo sql backend (eilers)
140 * #1505 - Added more Swap sizes in memoryapplet (mickeyl) 141 * #1505 - Added more Swap sizes in memoryapplet (mickeyl)
141 * #1525 - Hopefully fixed double alarms and not removing alarms set with the Clock application (zecke) 142 * #1525 - Hopefully fixed double alarms and not removing alarms set with the Clock application (zecke)
142 * #1533 - Security Owner Dialog (shown in case of unsuccessfull authentiacation) wasn't able to display information in non latin1 encoding (zecke) 143 * #1533 - Security Owner Dialog (shown in case of unsuccessfull authentiacation) wasn't able to display information in non latin1 encoding (zecke)
143 * n.a. - Removed hard coded font sizes in a couple of inputmethods (mickeyl) 144 * n.a. - Removed hard coded font sizes in a couple of inputmethods (mickeyl)
144 * n.a. - Removed MediumDlg appearing prior to FirstUsage wizard (i.e. calibration) (mickeyl) 145 * n.a. - Removed MediumDlg appearing prior to FirstUsage wizard (i.e. calibration) (mickeyl)
145 * n.a. - Fixed numerous buglets in OpieIRC (skyhusker) 146 * n.a. - Fixed numerous buglets in OpieIRC (skyhusker)
146 147
147 Internal 148 Internal
148 -------- 149 --------
149 * Added the Qtopia 1.7 SDK macros for quick-apps to easa compilation of 3rd party apps against our headers (mickeyl) 150 * Added the Qtopia 1.7 SDK macros for quick-apps to easa compilation of 3rd party apps against our headers (mickeyl)
150 * You can now use the Opie build system in combination with a OpenEmbedded staging area which makes a nice cross development environment (mickeyl) 151 * You can now use the Opie build system in combination with a OpenEmbedded staging area which makes a nice cross development environment (mickeyl)
151 * Made Opie compilable with Qt/Embedded 2.3.10 (ar) 152 * Made Opie compilable with Qt/Embedded 2.3.10 (ar)
152 * Changed Launcher to get default orientation from ODevice w/ QWS_DISPLAY overriding (mickeyl) 153 * Changed Launcher to get default orientation from ODevice w/ QWS_DISPLAY overriding (mickeyl)
153 * Build tree cleanups (mickeyl) 154 * Build tree cleanups (mickeyl)
154 155
155 2004-11-26Opie 1.1.8 156 2004-11-26Opie 1.1.8
156 157
157 New Features 158 New Features
158 ------------ 159 ------------
159 * PackageManager supports installation of local ipkg files (drw) 160 * PackageManager supports installation of local ipkg files (drw)
160 * PackageManager supports linking of applications to root (drw) 161 * PackageManager supports linking of applications to root (drw)
161 * PackageManager supports src/gz feeds (drw,wimpie) 162 * PackageManager supports src/gz feeds (drw,wimpie)
162 * Added a syslog information tab to sysinfo (mickeyl) 163 * Added a syslog information tab to sysinfo (mickeyl)
163 * Added new, more consistent, PIM icons + a GIMP teplate (ar) 164 * Added new, more consistent, PIM icons + a GIMP teplate (ar)
164 165
165 Fixed Bugs 166 Fixed Bugs
166 ---------- 167 ----------
167 * #1017 - Tetrix doesn't display correctly for high resolution screens (drw) 168 * #1017 - Tetrix doesn't display correctly for high resolution screens (drw)
168 * #1269 - VCards were imported into personal area if it was activated (eilers) 169 * #1269 - VCards were imported into personal area if it was activated (eilers)
169 * #1464 - Packagemanager dont set active filter after install a package (drw) 170 * #1464 - Packagemanager dont set active filter after install a package (drw)
170 * #1479 - Improved VCard-Parser to import VCards created by Evolution 2 and Apple Addressbook (eilers) 171 * #1479 - Improved VCard-Parser to import VCards created by Evolution 2 and Apple Addressbook (eilers)
171 * #1493 - Fixed one column layout bug of the launcher (hrw) 172 * #1493 - Fixed one column layout bug of the launcher (hrw)
172 * n.a. - PackageManager - (Minor UI tweak) in filter dialog, when option is enabled, set focus to widget that corresponds to that option (drw) 173 * n.a. - PackageManager - (Minor UI tweak) in filter dialog, when option is enabled, set focus to widget that corresponds to that option (drw)
173 * n.a. - PackageManager - (Minor UI tweak) fix double entry in source feed configuration when adding a new feed (drw) 174 * n.a. - PackageManager - (Minor UI tweak) fix double entry in source feed configuration when adding a new feed (drw)
174 * n.a. - Battery Applet - fix sizing of battery info popup (drw,mickeyl) 175 * n.a. - Battery Applet - fix sizing of battery info popup (drw,mickeyl)
175 176
176 Internal 177 Internal
177 -------- 178 --------
178 * Moved libopie1 to unsupported (mickeyl) 179 * Moved libopie1 to unsupported (mickeyl)
179 * Implemented generic queryByExample() with incremental searching. A lot of internal changes of the Pim2-library (eilers) 180 * Implemented generic queryByExample() with incremental searching. A lot of internal changes of the Pim2-library (eilers)
180 * Added fast and full featured and incremental sorted() for SQL addressbook backend (eilers) 181 * Added fast and full featured and incremental sorted() for SQL addressbook backend (eilers)
181 182
182 2004-11-14Opie 1.1.7 183 2004-11-14Opie 1.1.7
183 184
184 New Features 185 New Features
185 ------------ 186 ------------
186 * libOpieDB now uses SQLite V3 instead V2. Remember to upgrade your database files! (eilers) 187 * libOpieDB now uses SQLite V3 instead V2. Remember to upgrade your database files! (eilers)
187 * Backup now uses the busy indicator when backing up and restore (ar) 188 * Backup now uses the busy indicator when backing up and restore (ar)
188 * OpiePlayer2 gained adding of Directories to the playlist (zecke) 189 * OpiePlayer2 gained adding of Directories to the playlist (zecke)
189 * OpiePlayer2 better error handling (zecke) 190 * OpiePlayer2 better error handling (zecke)
190 * OpiePlayer2 progress indication while streaming (zecke) 191 * OpiePlayer2 progress indication while streaming (zecke)
191 * OpiePlayer2 ported to use libxine 1.0.0-rc6a (brad,zecke) 192 * OpiePlayer2 ported to use libxine 1.0.0-rc6a (brad,zecke)
192 * Ported brightnessapplet from Qtopia 1.7 (mickeyl) 193 * Ported brightnessapplet from Qtopia 1.7 (mickeyl)
193 * Opie-Eye got a Digital Camera File Backend (alwin,zecke) 194 * Opie-Eye got a Digital Camera File Backend (alwin,zecke)
194 * Support for Tuxpad1 of Tradesquare.NL (mickeyl,zecke) 195 * Support for Tuxpad1 of Tradesquare.NL (mickeyl,zecke)
195 * Opie-Console use Custom Font and Size in a Profile (harlekin) 196 * Opie-Console use Custom Font and Size in a Profile (harlekin)
196 * Opie-Console transparently log the Output and Input to a file (harlekin) 197 * Opie-Console transparently log the Output and Input to a file (harlekin)
diff --git a/core/apps/calibrate/calibrate.cpp b/core/apps/calibrate/calibrate.cpp
index 5f52bdc..53388f1 100644
--- a/core/apps/calibrate/calibrate.cpp
+++ b/core/apps/calibrate/calibrate.cpp
@@ -1,279 +1,279 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000 Trolltech AS. All rights reserved.
3** 3**
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#include <math.h> 21#include <math.h>
22 22
23#include "calibrate.h" 23#include "calibrate.h"
24 24
25#include <qpe/resource.h> 25#include <qpe/resource.h>
26#include <qpe/qcopenvelope_qws.h> 26#include <qpe/qcopenvelope_qws.h>
27#include <qapplication.h> 27#include <qapplication.h>
28 28
29#include <qpixmap.h> 29#include <qpixmap.h>
30#include <qimage.h> 30#include <qimage.h>
31#include <qpainter.h> 31#include <qpainter.h>
32#include <qtimer.h> 32#include <qtimer.h>
33#include <qwindowsystem_qws.h> 33#include <qwindowsystem_qws.h>
34#include <qgfx_qws.h> 34#include <qgfx_qws.h>
35 35
36 36
37Calibrate::Calibrate( QWidget* parent, const char * name, WFlags wf ) : 37Calibrate::Calibrate( QWidget* parent, const char * name, WFlags wf ) :
38 QDialog( parent, name, TRUE, wf | WStyle_Tool | WStyle_Customize | WStyle_StaysOnTop ) 38 QDialog( parent, name, TRUE, wf | WStyle_Tool | WStyle_Customize | WStyle_StaysOnTop )
39{ 39{
40#ifdef QWS 40#ifdef QWS
41 showCross = TRUE; 41 showCross = TRUE;
42 const int offset = 30; 42 const int offset = 30;
43 QRect desk = qApp->desktop() ->geometry(); 43 QRect desk = qApp->desktop() ->geometry();
44 setGeometry( 0, 0, desk.width(), desk.height() ); 44 setGeometry( 0, 0, desk.width(), desk.height() );
45 crosshair.convertFromImage( Resource::loadImage("launcher/crosshair") ); 45 crosshair.convertFromImage( Resource::loadImage("launcher/crosshair") );
46 46
47 splash.convertFromImage( Resource::loadImage("launcher/firstuse").smoothScale( width(), height() ) ); 47 splash.convertFromImage( Resource::loadImage("launcher/firstuse").smoothScale( width(), height() ) );
48 setBackgroundPixmap( splash ); 48 setBackgroundPixmap( splash );
49 49
50 cd.screenPoints[ QWSPointerCalibrationData::TopLeft ] = QPoint( offset, offset ); 50 cd.screenPoints[ QWSPointerCalibrationData::TopLeft ] = QPoint( offset, offset );
51 cd.screenPoints[ QWSPointerCalibrationData::BottomLeft ] = QPoint( offset, qt_screen->deviceHeight() - offset ); 51 cd.screenPoints[ QWSPointerCalibrationData::BottomLeft ] = QPoint( offset, qt_screen->deviceHeight() - offset );
52 cd.screenPoints[ QWSPointerCalibrationData::BottomRight ] = QPoint( qt_screen->deviceWidth() - offset, qt_screen->deviceHeight() - offset ); 52 cd.screenPoints[ QWSPointerCalibrationData::BottomRight ] = QPoint( qt_screen->deviceWidth() - offset, qt_screen->deviceHeight() - offset );
53 cd.screenPoints[ QWSPointerCalibrationData::TopRight ] = QPoint( qt_screen->deviceWidth() - offset, offset ); 53 cd.screenPoints[ QWSPointerCalibrationData::TopRight ] = QPoint( qt_screen->deviceWidth() - offset, offset );
54 cd.screenPoints[ QWSPointerCalibrationData::Center ] = QPoint( qt_screen->deviceWidth() / 2, qt_screen->deviceHeight() / 2 ); 54 cd.screenPoints[ QWSPointerCalibrationData::Center ] = QPoint( qt_screen->deviceWidth() / 2, qt_screen->deviceHeight() / 2 );
55 goodcd = cd; 55 goodcd = cd;
56 reset(); 56 reset();
57 57
58 timer = new QTimer( this ); 58 timer = new QTimer( this );
59 connect( timer, SIGNAL( timeout() ), this, SLOT( timeout() ) ); 59 connect( timer, SIGNAL( timeout() ), this, SLOT( timeout() ) );
60#endif 60#endif
61} 61}
62 62
63Calibrate::~Calibrate() 63Calibrate::~Calibrate()
64{ 64{
65 store(); 65 store();
66} 66}
67 67
68void Calibrate::show() 68void Calibrate::show()
69{ 69{
70#ifdef QWS 70#ifdef QWS
71 grabMouse(); 71 grabMouse();
72 QWSServer::mouseHandler() ->getCalibration( &goodcd ); 72 QWSServer::mouseHandler() ->getCalibration( &goodcd );
73 QWSServer::mouseHandler() ->clearCalibration(); 73 QWSServer::mouseHandler() ->clearCalibration();
74 QDialog::show(); 74 QDialog::show();
75#endif 75#endif
76} 76}
77 77
78void Calibrate::store() 78void Calibrate::store()
79{ 79{
80#ifdef QWS 80#ifdef QWS
81 QWSServer::mouseHandler() ->calibrate( &goodcd ); 81 QWSServer::mouseHandler() ->calibrate( &goodcd );
82#endif 82#endif
83} 83}
84 84
85void Calibrate::hide() 85void Calibrate::hide()
86{ 86{
87 if ( isVisible()) { 87 if ( isVisible()) {
88 store(); 88 store();
89 89
90 // hack - calibrate is a launcher dialog, but treated like a standalone app 90 // hack - calibrate is a launcher dialog, but treated like a standalone app
91 { 91 {
92 QCopEnvelope e( "QPE/System", "closing(QString)" ); 92 QCopEnvelope e( "QPE/System", "closing(QString)" );
93 e << QString ( "calibrate" ); 93 e << QString ( "calibrate" );
94 } 94 }
95 } 95 }
96 QDialog::hide(); 96 QDialog::hide();
97} 97}
98 98
99void Calibrate::reset() 99void Calibrate::reset()
100{ 100{
101#ifdef QWS 101#ifdef QWS
102 penPos = QPoint(); 102 penPos = QPoint();
103 location = QWSPointerCalibrationData::TopLeft; 103 location = QWSPointerCalibrationData::TopLeft;
104 crossPos = fromDevice( cd.screenPoints[ location ] ); 104 crossPos = fromDevice( cd.screenPoints[ location ] );
105#endif 105#endif
106} 106}
107 107
108QPoint Calibrate::fromDevice( const QPoint &p ) 108QPoint Calibrate::fromDevice( const QPoint &p )
109{ 109{
110#ifdef QWS 110#ifdef QWS
111 return qt_screen->mapFromDevice ( p, QSize( qt_screen->deviceWidth ( ), qt_screen->deviceHeight() ) ); 111 return qt_screen->mapFromDevice ( p, QSize( qt_screen->deviceWidth ( ), qt_screen->deviceHeight() ) );
112#else 112#else
113 return QPoint(); 113 return QPoint();
114#endif 114#endif
115 115
116} 116}
117 117
118bool Calibrate::sanityCheck() 118bool Calibrate::sanityCheck()
119{ 119{
120#ifdef QWS 120#ifdef QWS
121 QPoint tl = cd.devPoints[QWSPointerCalibrationData::TopLeft]; 121 QPoint tl = cd.devPoints[QWSPointerCalibrationData::TopLeft];
122 QPoint tr = cd.devPoints[QWSPointerCalibrationData::TopRight]; 122 QPoint tr = cd.devPoints[QWSPointerCalibrationData::TopRight];
123 QPoint bl = cd.devPoints[QWSPointerCalibrationData::BottomLeft]; 123 QPoint bl = cd.devPoints[QWSPointerCalibrationData::BottomLeft];
124 QPoint br = cd.devPoints[QWSPointerCalibrationData::BottomRight]; 124 QPoint br = cd.devPoints[QWSPointerCalibrationData::BottomRight];
125 125
126 // not needed anywhere .. just calculate it, so it's there 126 // not needed anywhere .. just calculate it, so it's there
127 cd.devPoints[QWSPointerCalibrationData::Center] = QRect( tl, br ).normalize().center(); 127 //cd.devPoints[QWSPointerCalibrationData::Center] = QRect( tl, br ).normalize().center();
128 128
129 int dlx = QABS( bl. x ( ) - tl. x ( )); 129 int dlx = QABS( bl. x ( ) - tl. x ( ));
130 int dly = QABS( bl. y ( ) - tl. y ( )); 130 int dly = QABS( bl. y ( ) - tl. y ( ));
131 int drx = QABS( br. x ( ) - tr. x ( )); 131 int drx = QABS( br. x ( ) - tr. x ( ));
132 int dry = QABS( br. y ( ) - tr. y ( )); 132 int dry = QABS( br. y ( ) - tr. y ( ));
133 int dtx = QABS( tr. x ( ) - tl. x ( )); 133 int dtx = QABS( tr. x ( ) - tl. x ( ));
134 int dty = QABS( tr. y ( ) - tl. y ( )); 134 int dty = QABS( tr. y ( ) - tl. y ( ));
135 int dbx = QABS( br. x ( ) - bl. x ( )); 135 int dbx = QABS( br. x ( ) - bl. x ( ));
136 int dby = QABS( br. y ( ) - bl. y ( )); 136 int dby = QABS( br. y ( ) - bl. y ( ));
137 137
138 int dl = (int) ::sqrt (( dlx * dlx ) + ( dly * dly )); // calculate vector lengths for all sides 138 int dl = (int) ::sqrt (( dlx * dlx ) + ( dly * dly )); // calculate vector lengths for all sides
139 int dr = (int) ::sqrt (( drx * drx ) + ( dry * dry )); 139 int dr = (int) ::sqrt (( drx * drx ) + ( dry * dry ));
140 int dt = (int) ::sqrt (( dtx * dtx ) + ( dty * dty )); 140 int dt = (int) ::sqrt (( dtx * dtx ) + ( dty * dty ));
141 int db = (int) ::sqrt (( dbx * dbx ) + ( dby * dby )); 141 int db = (int) ::sqrt (( dbx * dbx ) + ( dby * dby ));
142 142
143 // Calculate leeway for x/y (we do not care if diff1/diff2 is for x or y here !) 143 // Calculate leeway for x/y (we do not care if diff1/diff2 is for x or y here !)
144 int diff1 = QABS( dl - dr ); 144 int diff1 = QABS( dl - dr );
145 int avg1 = ( dl + dr ) / 2; 145 int avg1 = ( dl + dr ) / 2;
146 int diff2 = QABS( dt - db ); 146 int diff2 = QABS( dt - db );
147 int avg2 = ( dt + db ) / 2; 147 int avg2 = ( dt + db ) / 2;
148 148
149 // Calculate leeway for "real" vector length against "manhattan" vector length 149 // Calculate leeway for "real" vector length against "manhattan" vector length
150 // This is a check, if the rect is rotated (other then 0/90/180/270) 150 // This is a check, if the rect is rotated (other then 0/90/180/270)
151 // It needs to be performed only for the triange (bl, tl, tr) 151 // It needs to be performed only for the triange (bl, tl, tr)
152 int diff3 = QABS(( dlx + dly + dtx + dty ) - ( dl + dt )); 152 int diff3 = QABS(( dlx + dly + dtx + dty ) - ( dl + dt ));
153 int avg3 = (( dlx + dly + dtx + dty ) + ( dl + dt )) / 2; 153 int avg3 = (( dlx + dly + dtx + dty ) + ( dl + dt )) / 2;
154 154
155 if (( diff1 > ( avg1 / 20 )) || // 5% leeway 155 if (( diff1 > ( avg1 / 20 )) || // 5% leeway
156 ( diff2 > ( avg2 / 20 )) || 156 ( diff2 > ( avg2 / 20 )) ||
157 ( diff3 > ( avg3 / 20 ))) 157 ( diff3 > ( avg3 / 20 )))
158 return false; 158 return false;
159 else 159 else
160 return true; 160 return true;
161#else 161#else
162return true; 162return true;
163#endif 163#endif
164} 164}
165 165
166void Calibrate::moveCrosshair( QPoint pt ) 166void Calibrate::moveCrosshair( QPoint pt )
167{ 167{
168 showCross = FALSE; 168 showCross = FALSE;
169 repaint( crossPos.x() - 14, crossPos.y() - 14, 28, 28 ); 169 repaint( crossPos.x() - 14, crossPos.y() - 14, 28, 28 );
170 showCross = TRUE; 170 showCross = TRUE;
171 crossPos = pt; 171 crossPos = pt;
172 repaint( crossPos.x() - 14, crossPos.y() - 14, 28, 28 ); 172 repaint( crossPos.x() - 14, crossPos.y() - 14, 28, 28 );
173} 173}
174 174
175void Calibrate::paintEvent( QPaintEvent * ) 175void Calibrate::paintEvent( QPaintEvent * )
176{ 176{
177 QPainter p( this ); 177 QPainter p( this );
178 int y = height() / 3; 178 int y = height() / 2;
179 179
180 p.drawText( 0, y + height() / 8, width(), height() - y, AlignHCenter, 180 p.drawText( 0, y + height() / 8, width(), height() - y, AlignHCenter,
181 tr( "Touch the crosshairs firmly and\n" 181 tr( "Touch the crosshairs firmly and\n"
182 "accurately to calibrate your screen." ) ); 182 "accurately to calibrate your screen." ) );
183 183
184 if ( !showCross ) return; 184 if ( !showCross ) return;
185 185
186#if 0 186#if 0
187 if ( crosshair.isNull() ) { 187 if ( crosshair.isNull() ) {
188#endif 188#endif
189 p.setPen( QColor( 0, 0, 155 ) ); 189 p.setPen( QColor( 0, 0, 155 ) );
190 p.drawEllipse( crossPos.x()-8, crossPos.y()-8, 16, 16 ); 190 p.drawEllipse( crossPos.x()-8, crossPos.y()-8, 16, 16 );
191 p.setPen( QColor( 250, 220, 220 ) ); 191 p.setPen( QColor( 250, 220, 220 ) );
192 p.drawRoundRect( crossPos.x()-12, crossPos.y()-12, 24, 24, 75, 75 ); 192 p.drawRoundRect( crossPos.x()-12, crossPos.y()-12, 24, 24, 75, 75 );
193 p.setPen( QColor( 0, 0, 120 ) ); 193 p.setPen( QColor( 0, 0, 120 ) );
194 p.drawRect( crossPos.x() - 1, crossPos.y() - 14, 2, 13 ); 194 p.drawRect( crossPos.x() - 1, crossPos.y() - 14, 2, 13 );
195 p.drawRect( crossPos.x() - 1, crossPos.y() + 1, 2, 13 ); 195 p.drawRect( crossPos.x() - 1, crossPos.y() + 1, 2, 13 );
196 p.drawRect( crossPos.x() - 14, crossPos.y() - 1, 13, 2 ); 196 p.drawRect( crossPos.x() - 14, crossPos.y() - 1, 13, 2 );
197 p.drawRect( crossPos.x() + 1, crossPos.y() - 1, 13, 2 ); 197 p.drawRect( crossPos.x() + 1, crossPos.y() - 1, 13, 2 );
198#if 0 198#if 0
199 } 199 }
200 else p.drawPixmap( crossPos.x(), crossPos.y(), crosshair ); 200 else p.drawPixmap( crossPos.x(), crossPos.y(), crosshair );
201#endif 201#endif
202} 202}
203 203
204void Calibrate::mousePressEvent( QMouseEvent *e ) 204void Calibrate::mousePressEvent( QMouseEvent *e )
205{ 205{
206#ifdef QWS 206#ifdef QWS
207 // map to device coordinates 207 // map to device coordinates
208 QPoint devPos = qt_screen->mapToDevice( e->pos(), QSize( qt_screen->width(), qt_screen->height() ) ); 208 QPoint devPos = qt_screen->mapToDevice( e->pos(), QSize( qt_screen->width(), qt_screen->height() ) );
209 if ( penPos.isNull() ) 209 if ( penPos.isNull() )
210 penPos = devPos; 210 penPos = devPos;
211 else 211 else
212 penPos = QPoint( ( penPos.x() + devPos.x() ) / 2, 212 penPos = QPoint( ( penPos.x() + devPos.x() ) / 2,
213 ( penPos.y() + devPos.y() ) / 2 ); 213 ( penPos.y() + devPos.y() ) / 2 );
214#endif 214#endif
215} 215}
216 216
217void Calibrate::mouseReleaseEvent( QMouseEvent * ) 217void Calibrate::mouseReleaseEvent( QMouseEvent * )
218{ 218{
219#ifdef QWS 219#ifdef QWS
220 if ( timer->isActive() ) 220 if ( timer->isActive() )
221 return ; 221 return ;
222 222
223 bool doMove = TRUE; 223 bool doMove = TRUE;
224 224
225 cd.devPoints[ location ] = penPos; 225 cd.devPoints[ location ] = penPos;
226 if ( location < QWSPointerCalibrationData::TopRight ) { 226 if ( location < QWSPointerCalibrationData::Center ) {
227 location = (QWSPointerCalibrationData::Location) ( int( location ) + 1 ); 227 location = (QWSPointerCalibrationData::Location) ( int( location ) + 1 );
228 } 228 }
229 else { 229 else {
230 if ( sanityCheck() ) { 230 if ( sanityCheck() ) {
231 reset(); 231 reset();
232 goodcd = cd; 232 goodcd = cd;
233 hide(); 233 hide();
234 emit accept(); 234 emit accept();
235 doMove = FALSE; 235 doMove = FALSE;
236 } 236 }
237 else { 237 else {
238 location = QWSPointerCalibrationData::TopLeft; 238 location = QWSPointerCalibrationData::TopLeft;
239 } 239 }
240 } 240 }
241 241
242 if ( doMove ) { 242 if ( doMove ) {
243 QPoint target = fromDevice( cd.screenPoints[ location ] ); 243 QPoint target = fromDevice( cd.screenPoints[ location ] );
244 dx = ( target.x() - crossPos.x() ) / 10; 244 dx = ( target.x() - crossPos.x() ) / 10;
245 dy = ( target.y() - crossPos.y() ) / 10; 245 dy = ( target.y() - crossPos.y() ) / 10;
246 timer->start( 30 ); 246 timer->start( 30 );
247 } 247 }
248#endif 248#endif
249} 249}
250 250
251void Calibrate::timeout() 251void Calibrate::timeout()
252{ 252{
253#ifdef QWS 253#ifdef QWS
254 QPoint target = fromDevice( cd.screenPoints[ location ] ); 254 QPoint target = fromDevice( cd.screenPoints[ location ] );
255 255
256 bool doneX = FALSE; 256 bool doneX = FALSE;
257 bool doneY = FALSE; 257 bool doneY = FALSE;
258 QPoint newPos( crossPos.x() + dx, crossPos.y() + dy ); 258 QPoint newPos( crossPos.x() + dx, crossPos.y() + dy );
259 259
260 if ( QABS( crossPos.x() - target.x() ) <= QABS( dx ) ) { 260 if ( QABS( crossPos.x() - target.x() ) <= QABS( dx ) ) {
261 newPos.setX( target.x() ); 261 newPos.setX( target.x() );
262 doneX = TRUE; 262 doneX = TRUE;
263 } 263 }
264 264
265 if ( QABS( crossPos.y() - target.y() ) <= QABS( dy ) ) { 265 if ( QABS( crossPos.y() - target.y() ) <= QABS( dy ) ) {
266 newPos.setY( target.y() ); 266 newPos.setY( target.y() );
267 doneY = TRUE; 267 doneY = TRUE;
268 } 268 }
269 269
270 if ( doneX && doneY ) { 270 if ( doneX && doneY ) {
271 penPos = QPoint(); 271 penPos = QPoint();
272 timer->stop(); 272 timer->stop();
273 } 273 }
274 274
275 moveCrosshair( newPos ); 275 moveCrosshair( newPos );
276#endif 276#endif
277} 277}
278 278
279//#endif // _WS_QWS_ 279//#endif // _WS_QWS_