summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2006-04-23 20:19:27 (UTC)
committer llornkcor <llornkcor>2006-04-23 20:19:27 (UTC)
commit226ccbb7d87a54411d640432f0ac19cbd942aa01 (patch) (unidiff)
tree6d343d37cc3e9c2c4b9a8148a8f7cb32d110c322
parentfce7a143353e2bdd41d878c6f0a1224e0f2a158e (diff)
downloadopie-226ccbb7d87a54411d640432f0ac19cbd942aa01.zip
opie-226ccbb7d87a54411d640432f0ac19cbd942aa01.tar.gz
opie-226ccbb7d87a54411d640432f0ac19cbd942aa01.tar.bz2
add support for HTC Universal device
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--ChangeLog3
-rw-r--r--Vars.make3
-rw-r--r--config.in6
-rw-r--r--libopie2/opiecore/device/device.pro6
-rw-r--r--libopie2/opiecore/device/odevice.cpp3
-rw-r--r--libopie2/opiecore/device/odevice.h9
-rw-r--r--libopie2/opiecore/device/odevice_htc.h154
-rw-r--r--mkspecs/qws/linux-htc-g++/qmake.conf81
8 files changed, 260 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 185fd13..8806d99 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,137 +1,138 @@
1 2005-??-??Opie 1.2.2 1 2005-??-??Opie 1.2.2
2 2
3 3
4 New Features 4 New Features
5 ------------ 5 ------------
6 * Appearance: Added configuration options to set smallIconSize, bigIconSize, useBigPixmaps (hrw, drw) 6 * Appearance: Added configuration options to set smallIconSize, bigIconSize, useBigPixmaps (hrw, drw)
7 * Opie-Notes: Notes application based on NoteZ (hrw) 7 * Opie-Notes: Notes application based on NoteZ (hrw)
8 * OPIE-PackageManager: Added two configuration options: "Force recursive", "Verbose fetch" (hrw) 8 * OPIE-PackageManager: Added two configuration options: "Force recursive", "Verbose fetch" (hrw)
9 9 * Added hardware support for HTC Universal (ljp)
10
10 Fixed Bugs 11 Fixed Bugs
11 ---------- 12 ----------
12 * #1695 - Date selector use too small fontsize on VGA screen (hrw) 13 * #1695 - Date selector use too small fontsize on VGA screen (hrw)
13 * #1686 - opie-console lack UI setting for switching scrollbar (hrw) 14 * #1686 - opie-console lack UI setting for switching scrollbar (hrw)
14 * #1647 - Opie-console doesn't respect scroll-bar on left side (hrw) 15 * #1647 - Opie-console doesn't respect scroll-bar on left side (hrw)
15 * #1624 - Button settngs changes are applied only after restart (hrw) 16 * #1624 - Button settngs changes are applied only after restart (hrw)
16 * #1492 - Backup and Restore does not show list of backups to restore on start (hrw) 17 * #1492 - Backup and Restore does not show list of backups to restore on start (hrw)
17 * n.a. - remove hardcoded font size from wellenreiter (hrw) 18 * n.a. - remove hardcoded font size from wellenreiter (hrw)
18 * n.a. - added patch to build QT/E 2.3.10 with gcc 4.x.x (hrw) 19 * n.a. - added patch to build QT/E 2.3.10 with gcc 4.x.x (hrw)
19 * n.a. - make blue-pin UI resizable to looks good in any resolution (hrw) 20 * n.a. - make blue-pin UI resizable to looks good in any resolution (hrw)
20 * n.a. - fix a problem with vCard send to Sony Ericsson k600i (ar) 21 * n.a. - fix a problem with vCard send to Sony Ericsson k600i (ar)
21 * n.a. - add a patch to build Qt/E 2.3.10 on amd64 with gcc 4.x.x (ar) 22 * n.a. - add a patch to build Qt/E 2.3.10 on amd64 with gcc 4.x.x (ar)
22 * n.a. - Opie-console fallback to FixedFont settings from qpe.conf in config (hrw) 23 * n.a. - Opie-console fallback to FixedFont settings from qpe.conf in config (hrw)
23 * n.a. - Set version to 1.2.1 in About applet (hrw) 24 * n.a. - Set version to 1.2.1 in About applet (hrw)
24 * n.a. - add firstusage and background pictures for 480x640 devices (mickeyl) 25 * n.a. - add firstusage and background pictures for 480x640 devices (mickeyl)
25 26
26 Internal 27 Internal
27 -------- 28 --------
28 * libopiecore: /etc/oz_version renamed to /etc/openzaurus-version (hrw) 29 * libopiecore: /etc/oz_version renamed to /etc/openzaurus-version (hrw)
29 * libopiecore: SL6000 (tosa) now uses corgi-bl (Dirk Opfer) 30 * libopiecore: SL6000 (tosa) now uses corgi-bl (Dirk Opfer)
30 31
31 2005-09-11Opie 1.2.1 32 2005-09-11Opie 1.2.1
32 33
33 34
34 New Features 35 New Features
35 ------------ 36 ------------
36 * OpieStumbler: Scans WiFi networks using the wireless extension scanning (skyhusker) 37 * OpieStumbler: Scans WiFi networks using the wireless extension scanning (skyhusker)
37 * Opie-Reader: Support for document formats ArriereGo and Reb, add flite output (tim,pohly) 38 * Opie-Reader: Support for document formats ArriereGo and Reb, add flite output (tim,pohly)
38 * Opie-Networksettings: Add support for wlan-ng devices and improve WEP handling (Dirk Opfer) 39 * Opie-Networksettings: Add support for wlan-ng devices and improve WEP handling (Dirk Opfer)
39 * Wellenreiter: Remove Joining networks - use OpieStumbler for that (mickeyl) 40 * Wellenreiter: Remove Joining networks - use OpieStumbler for that (mickeyl)
40 * Opie-Mobilemsg has gone unsupported - it never really worked and there will be a replacement (mickeyl) 41 * Opie-Mobilemsg has gone unsupported - it never really worked and there will be a replacement (mickeyl)
41 * Opie-Tabmanager has gone unsupported - it barely works and there is not much of a use of it anyway (mickeyl) 42 * Opie-Tabmanager has gone unsupported - it barely works and there is not much of a use of it anyway (mickeyl)
42 * Checkbook: Added configuration option to use smaller font for checkbook transaction tab (hrw) 43 * Checkbook: Added configuration option to use smaller font for checkbook transaction tab (hrw)
43 * ZSafe: Made UI conform to Opie standards (drw) 44 * ZSafe: Made UI conform to Opie standards (drw)
44 * Today Addressbook plugin: Fixed configuration to show/not show birthdays, use checkboxes for selection (hrw) 45 * Today Addressbook plugin: Fixed configuration to show/not show birthdays, use checkboxes for selection (hrw)
45 * Opie-Console: Read initial fixed font configuration from qpe.conf (mickeyl) 46 * Opie-Console: Read initial fixed font configuration from qpe.conf (mickeyl)
46 * Opie-PcmciaApplet: Configure insert/resume actions and bind unsupported cards (mickeyl) 47 * Opie-PcmciaApplet: Configure insert/resume actions and bind unsupported cards (mickeyl)
47 * SysInfo: Remove CPU tab and add Devices tab instead (mickeyl) 48 * SysInfo: Remove CPU tab and add Devices tab instead (mickeyl)
48 * Opie-smb: Added Opie front end for Samba (ljp) 49 * Opie-smb: Added Opie front end for Samba (ljp)
49 * Opie-Bluetooth: Replace obex send implementation and patch libopieobex and the bluetoothapplet (Michael Haynie) 50 * Opie-Bluetooth: Replace obex send implementation and patch libopieobex and the bluetoothapplet (Michael Haynie)
50 * Opieplayer: rudimentary podcast support (ljp) 51 * Opieplayer: rudimentary podcast support (ljp)
51 52
52 Fixed Bugs 53 Fixed Bugs
53 ---------- 54 ----------
54 * #1377 - Suspend Powermanagement when switched to another VT (mickeyl) 55 * #1377 - Suspend Powermanagement when switched to another VT (mickeyl)
55 - We actually suspend the complete Opie now in that case. 56 - We actually suspend the complete Opie now in that case.
56 * #1384 - Battery status updated improperly when charging (skyhusker) 57 * #1384 - Battery status updated improperly when charging (skyhusker)
57 * #1476 - Wrong order of application entries in the O-menu (skyhusker) 58 * #1476 - Wrong order of application entries in the O-menu (skyhusker)
58 * #1514 - Remove usage of cardmon/pcmcia picture in applications. pcmcia is now an inline picture (mickeyl) 59 * #1514 - Remove usage of cardmon/pcmcia picture in applications. pcmcia is now an inline picture (mickeyl)
59 * #1535- Missing line break and unnecessary location shown with Today-Calendar plugin (deller) 60 * #1535- Missing line break and unnecessary location shown with Today-Calendar plugin (deller)
60 * #1543 - Time Settings: "predict" tab is displayed twice after reopen (hrw) 61 * #1543 - Time Settings: "predict" tab is displayed twice after reopen (hrw)
61 * #1546 - Battery applet popup is not always large enough to show jacket remaining info (skyhusker) 62 * #1546 - Battery applet popup is not always large enough to show jacket remaining info (skyhusker)
62 * #1557 - Light&Power-Settings don't store warning intervall and warning levels (skyhusker) 63 * #1557 - Light&Power-Settings don't store warning intervall and warning levels (skyhusker)
63 * #1565 - crash-fix in odevice.cpp while scanning the distribution table (deller) 64 * #1565 - crash-fix in odevice.cpp while scanning the distribution table (deller)
64 * #1614 - Make Opie-console start in $HOME instead of / (skyhusker) 65 * #1614 - Make Opie-console start in $HOME instead of / (skyhusker)
65 * #1635 - opie-today, datebook-plugin does not show notes (skyhusker) 66 * #1635 - opie-today, datebook-plugin does not show notes (skyhusker)
66 * #1665 - Opie-IRC displays the host prepended to the message when peer is using and ipv6 address (skyhusker) 67 * #1665 - Opie-IRC displays the host prepended to the message when peer is using and ipv6 address (skyhusker)
67 * #1666 - Opie-IRC does not allow to add !channels in config asautojoin ones (skyhusker) 68 * #1666 - Opie-IRC does not allow to add !channels in config asautojoin ones (skyhusker)
68 * #1667 - Opie-IRC does not show messages from !channel (skyhusker) 69 * #1667 - Opie-IRC does not show messages from !channel (skyhusker)
69 * #1679 - Security PIN plugin is QVGA sized (hrw) 70 * #1679 - Security PIN plugin is QVGA sized (hrw)
70 * #1682 - Properly resize tab control in OTabWidget (drw) 71 * #1682 - Properly resize tab control in OTabWidget (drw)
71 * n.a. - always show volume and wireless applet popups inside visible screen (deller) 72 * n.a. - always show volume and wireless applet popups inside visible screen (deller)
72 * n.a. - scale O-Menu-Applets appropriately (mickeyl) 73 * n.a. - scale O-Menu-Applets appropriately (mickeyl)
73 * n.a. - libopienet: fix bugs in wireless scanning and setting SSID (skyhusker) 74 * n.a. - libopienet: fix bugs in wireless scanning and setting SSID (skyhusker)
74 * n.a. - Wellenreiter: relax WE version matching test a bit (mickeyl) 75 * n.a. - Wellenreiter: relax WE version matching test a bit (mickeyl)
75 * n.a. - scale BluezApplet appropriately and use larger icons (mickeyl) 76 * n.a. - scale BluezApplet appropriately and use larger icons (mickeyl)
76 * n.a. - memoryapplet: fix crash in memoryapplet on kernels without swap support (seneca cunningham) 77 * n.a. - memoryapplet: fix crash in memoryapplet on kernels without swap support (seneca cunningham)
77 * n.a. - networksettings: ignore hostap control interfaces wifi* (mickeyl) 78 * n.a. - networksettings: ignore hostap control interfaces wifi* (mickeyl)
78 * n.a. - Today Addressbook plugin fix configuration to show/not show birthdays, use checkboxes for selection (hrw) 79 * n.a. - Today Addressbook plugin fix configuration to show/not show birthdays, use checkboxes for selection (hrw)
79 * n.a. - remove hardcoded font size from netsystemtime (hrw) 80 * n.a. - remove hardcoded font size from netsystemtime (hrw)
80 * n.a. - remove hardcoded font size from checkbook graphs (hrw) 81 * n.a. - remove hardcoded font size from checkbook graphs (hrw)
81 * n.a. - Dagger - fixes for Sword 1.5.8, morph tag x-refs, closing last tab crash (drw) 82 * n.a. - Dagger - fixes for Sword 1.5.8, morph tag x-refs, closing last tab crash (drw)
82 83
83 84
84 Internal 85 Internal
85 -------- 86 --------
86 * Make BluezApplet use OTaskbarApplet (mickeyl) 87 * Make BluezApplet use OTaskbarApplet (mickeyl)
87 * libopiecore: rewrite OFileNotification to use the Linux 2.6 inotify interface (mickeyl) 88 * libopiecore: rewrite OFileNotification to use the Linux 2.6 inotify interface (mickeyl)
88 * libopiecore: add ODirNotification - recursive directory notifications (mickeyl) 89 * libopiecore: add ODirNotification - recursive directory notifications (mickeyl)
89 * libopienet: Skip hostap control interfaces 'wifi' and improve robustness in ONetworkInterface (mickeyl) 90 * libopienet: Skip hostap control interfaces 'wifi' and improve robustness in ONetworkInterface (mickeyl)
90 * libopieui: Remove OVersatileView and OVersatileViewItem (mickeyl) 91 * libopieui: Remove OVersatileView and OVersatileViewItem (mickeyl)
91 * libopienet: Miscellaneous API cleanups (mickeyl) 92 * libopienet: Miscellaneous API cleanups (mickeyl)
92 * libopiecore: Add linux pcmcia system abstraction classes (mickeyl) 93 * libopiecore: Add linux pcmcia system abstraction classes (mickeyl)
93 * libopiecore: ODevice now knows the default gfx driver to use (mteira,mickeyl) 94 * libopiecore: ODevice now knows the default gfx driver to use (mteira,mickeyl)
94 * libopiecore: Add support for the Sharp SL-C3100 "Borzoi" (mickeyl) 95 * libopiecore: Add support for the Sharp SL-C3100 "Borzoi" (mickeyl)
95 * libopiecore: Add support for the new Linux Inputsystem Switches type [necessary for auto rotation in 2.6.13] (mickeyl) 96 * libopiecore: Add support for the new Linux Inputsystem Switches type [necessary for auto rotation in 2.6.13] (mickeyl)
96 * Remove assumptions about default gfx driver ("Transformed") all over the place (mteira,mickeyl) 97 * Remove assumptions about default gfx driver ("Transformed") all over the place (mteira,mickeyl)
97 * Fix / Optimize number of scanned directories (ljp) 98 * Fix / Optimize number of scanned directories (ljp)
98 * Use five point mouse calibration to make calibrated mouse drivers work on newer Zaurii (rp,mickeyl) 99 * Use five point mouse calibration to make calibrated mouse drivers work on newer Zaurii (rp,mickeyl)
99 100
100 2005-03-25Opie 1.2.0 101 2005-03-25Opie 1.2.0
101 102
102 Fixed Bugs 103 Fixed Bugs
103 ---------- 104 ----------
104 * #1613 - AdvancedFM - scale toolbar icons appropriately (drw) 105 * #1613 - AdvancedFM - scale toolbar icons appropriately (drw)
105 * #1620 - OFileSelector - show the button on press and not on press on hold (alwin) 106 * #1620 - OFileSelector - show the button on press and not on press on hold (alwin)
106 * #1473 - Opie-Eye - Same as #1620 but we lack a common FileSystem Button class (zecke) 107 * #1473 - Opie-Eye - Same as #1620 but we lack a common FileSystem Button class (zecke)
107 * n.a. - PackageManager - fix bug where messages show up multiple times in install dialog (drw) 108 * n.a. - PackageManager - fix bug where messages show up multiple times in install dialog (drw)
108 * n.a.- make qpeglobal.h include qglobal.h (zecke) 109 * n.a.- make qpeglobal.h include qglobal.h (zecke)
109 110
110 2005-03-20Opie 1.2.0-rc1 111 2005-03-20Opie 1.2.0-rc1
111 112
112 113
113 New Features 114 New Features
114 ------------ 115 ------------
115 * Launcher: Support a static background pixmap (mickeyl) 116 * Launcher: Support a static background pixmap (mickeyl)
116 * LauncherSettings: Choose whether to have a static background pixmap (mickeyl) 117 * LauncherSettings: Choose whether to have a static background pixmap (mickeyl)
117 * PackageManager supports the 'lists_dir' ipkg configuration option (drw) 118 * PackageManager supports the 'lists_dir' ipkg configuration option (drw)
118 * Added hi-res inline images for large resolution devices (drw) 119 * Added hi-res inline images for large resolution devices (drw)
119 * Improved launcher icons for consistency (ar) 120 * Improved launcher icons for consistency (ar)
120 * Datebook: Added plugin system to datebook so holidays and birthdays from contacts may displayed in datebook (alwin) 121 * Datebook: Added plugin system to datebook so holidays and birthdays from contacts may displayed in datebook (alwin)
121 122
122 Fixed Bugs 123 Fixed Bugs
123 ---------- 124 ----------
124 * #1236 - VCards contained empty home and work address entries causing Palms to crash (eilers) 125 * #1236 - VCards contained empty home and work address entries causing Palms to crash (eilers)
125 * #1412 - Launcher Settings - fixed default settings for background in Edit tab dialog (drw) 126 * #1412 - Launcher Settings - fixed default settings for background in Edit tab dialog (drw)
126 * #1472 - Opie textedit now check for unsaved changes on ESC key (ljp) 127 * #1472 - Opie textedit now check for unsaved changes on ESC key (ljp)
127 * #1474 - Implement GUI for Scrollbars on the Left in Appearance (zecke) 128 * #1474 - Implement GUI for Scrollbars on the Left in Appearance (zecke)
128 * #1482 - Fix double '/' in paths (zecke) 129 * #1482 - Fix double '/' in paths (zecke)
129 * #1536 - Autosave of custom locations in opie backup (ar) 130 * #1536 - Autosave of custom locations in opie backup (ar)
130 * #1539 - Fixed displaying too long path in the delete dialog in opie-eye (zecke) 131 * #1539 - Fixed displaying too long path in the delete dialog in opie-eye (zecke)
131 * #1540 - Implemented deletion of DocLnks in opie-eye (zecke) 132 * #1540 - Implemented deletion of DocLnks in opie-eye (zecke)
132 * #1542 - Fixed Todo crash when priority < 1 or > 5 (drw) 133 * #1542 - Fixed Todo crash when priority < 1 or > 5 (drw)
133 * #1550 - Browse for alarm sound start in QPEDIR/sounds/ (zecke) 134 * #1550 - Browse for alarm sound start in QPEDIR/sounds/ (zecke)
134 * #1554 - Fixed Opie-Console name in .desktop file (mickeyl) 135 * #1554 - Fixed Opie-Console name in .desktop file (mickeyl)
135 * #1556 - Start to look for sound files in /opt/QtPalmtop/sounds (zecke) 136 * #1556 - Start to look for sound files in /opt/QtPalmtop/sounds (zecke)
136 * #1558 - Fixed opie-login breaking opie startup (mickeyl) 137 * #1558 - Fixed opie-login breaking opie startup (mickeyl)
137 * #1560 - Fixed Opie-Console picking up the wrong shell (bluelightning) 138 * #1560 - Fixed Opie-Console picking up the wrong shell (bluelightning)
diff --git a/Vars.make b/Vars.make
index b99da70..457f867 100644
--- a/Vars.make
+++ b/Vars.make
@@ -1,138 +1,141 @@
1prefix=/opt/QtPalmtop 1prefix=/opt/QtPalmtop
2 2
3ifeq ($(OPIEDIR),) 3ifeq ($(OPIEDIR),)
4 export OPIEDIR:=$(TOPDIR) 4 export OPIEDIR:=$(TOPDIR)
5endif 5endif
6ifeq ($(IPK_DIR),) 6ifeq ($(IPK_DIR),)
7 export IPK_DIR:=$(OPIEDIR) 7 export IPK_DIR:=$(OPIEDIR)
8endif 8endif
9 9
10ifneq ($(wildcard $(TOPDIR)/.config),) 10ifneq ($(wildcard $(TOPDIR)/.config),)
11 include $(TOPDIR)/.config 11 include $(TOPDIR)/.config
12endif 12endif
13 13
14ifndef CONFIG_TARGET_OE 14ifndef CONFIG_TARGET_OE
15 ifndef QTDIR 15 ifndef QTDIR
16 $(error QTDIR not set) 16 $(error QTDIR not set)
17 endif 17 endif
18else 18else
19 OEDIR:=$(shell echo $(CONFIG_OE_BUILD_DIR) | sed -e's/"//g') 19 OEDIR:=$(shell echo $(CONFIG_OE_BUILD_DIR) | sed -e's/"//g')
20 OEHOSTSYS:=$(shell echo $(CONFIG_OE_HOST_SYS) | sed -e's/"//g') 20 OEHOSTSYS:=$(shell echo $(CONFIG_OE_HOST_SYS) | sed -e's/"//g')
21 OETARGETSYS:=$(shell echo $(CONFIG_OE_TARGET_SYS) | sed -e's/"//g') 21 OETARGETSYS:=$(shell echo $(CONFIG_OE_TARGET_SYS) | sed -e's/"//g')
22 QTDIR:=$(shell echo $(OEDIR) | sed -e's/"//g')/tmp/staging/$(OETARGETSYS)/qt2 22 QTDIR:=$(shell echo $(OEDIR) | sed -e's/"//g')/tmp/staging/$(OETARGETSYS)/qt2
23 $(shell mkdir -p $(QTDIR)/src/moc) 23 $(shell mkdir -p $(QTDIR)/src/moc)
24 $(shell echo -e "all: \n\t" >>$(QTDIR)/src/moc/Makefile) 24 $(shell echo -e "all: \n\t" >>$(QTDIR)/src/moc/Makefile)
25 PLATFORM=sharp-linux 25 PLATFORM=sharp-linux
26endif 26endif
27 27
28ifdef CONFIG_TARGET_X86 28ifdef CONFIG_TARGET_X86
29 PLATFORM=x86-linux 29 PLATFORM=x86-linux
30endif 30endif
31ifdef CONFIG_TARGET_64BIT 31ifdef CONFIG_TARGET_64BIT
32 PLATFORM=64bit-linux 32 PLATFORM=64bit-linux
33endif 33endif
34ifdef CONFIG_TARGET_SHARP 34ifdef CONFIG_TARGET_SHARP
35 PLATFORM=sharp-linux 35 PLATFORM=sharp-linux
36endif 36endif
37ifdef CONFIG_TARGET_IPAQ 37ifdef CONFIG_TARGET_IPAQ
38 PLATFORM=ipaq-linux 38 PLATFORM=ipaq-linux
39endif 39endif
40ifdef CONFIG_TARGET_RAMSES 40ifdef CONFIG_TARGET_RAMSES
41 PLATFORM=ramses-linux 41 PLATFORM=ramses-linux
42endif 42endif
43ifdef CONFIG_TARGET_SIMPAD 43ifdef CONFIG_TARGET_SIMPAD
44 PLATFORM=simpad-linux 44 PLATFORM=simpad-linux
45endif 45endif
46 46
47ifdef CONFIG_TARGET_YOPY 47ifdef CONFIG_TARGET_YOPY
48 PLATFORM=yopy-linux 48 PLATFORM=yopy-linux
49endif 49endif
50ifdef CONFIG_TARGET_MACOSX 50ifdef CONFIG_TARGET_MACOSX
51 PLATFORM=macx-darwin 51 PLATFORM=macx-darwin
52endif 52endif
53ifdef CONFIG_TARGET_HTC
54 PLATFORM=htc-linux
55endif
53 56
54export QMAKE:=$(OPIEDIR)/qmake/qmake 57export QMAKE:=$(OPIEDIR)/qmake/qmake
55export QMAKESPECSDIR=$(OPIEDIR)/mkspecs 58export QMAKESPECSDIR=$(OPIEDIR)/mkspecs
56 59
57ifeq ($(QPE_VERSION),) 60ifeq ($(QPE_VERSION),)
58 VERSION_MAJ:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION "\([0-9]*\)\..*\..*".*/\1/p' <$(OPIEDIR)/library/version.h)) 61 VERSION_MAJ:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION "\([0-9]*\)\..*\..*".*/\1/p' <$(OPIEDIR)/library/version.h))
59 VERSION_MIN:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION ".*\.\([0-9]*\)\..*".*/\1/p' <$(OPIEDIR)/library/version.h)) 62 VERSION_MIN:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION ".*\.\([0-9]*\)\..*".*/\1/p' <$(OPIEDIR)/library/version.h))
60 VERSION_PAT:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION ".*\..*\.\([0-9]*\).*/\1/p' <$(OPIEDIR)/library/version.h)) 63 VERSION_PAT:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION ".*\..*\.\([0-9]*\).*/\1/p' <$(OPIEDIR)/library/version.h))
61 QPE_VERSION:=$(VERSION_MAJ).$(VERSION_MIN).$(VERSION_PAT) 64 QPE_VERSION:=$(VERSION_MAJ).$(VERSION_MIN).$(VERSION_PAT)
62 65
63 ifeq ($(QPE_VERSION),..) 66 ifeq ($(QPE_VERSION),..)
64 QPE_VERSION=1.1.2 67 QPE_VERSION=1.1.2
65 endif 68 endif
66endif 69endif
67export QPE_VERSION 70export QPE_VERSION
68 71
69SUB_VERSION=$(shell echo $$(sed -n -e 's,.*SUB_VERSION \"\(.*\)\".*,\1,p' <$(OPIEDIR)/library/version.h)) 72SUB_VERSION=$(shell echo $$(sed -n -e 's,.*SUB_VERSION \"\(.*\)\".*,\1,p' <$(OPIEDIR)/library/version.h))
70ifeq ($(VERSION_CVS),) 73ifeq ($(VERSION_CVS),)
71 VERSION_CVS:=$(shell date +%s) 74 VERSION_CVS:=$(shell date +%s)
72endif 75endif
73ifneq ($(filter %snapshot",$(shell cat $(OPIEDIR)/library/version.h|grep QPE_VERSION)),) 76ifneq ($(filter %snapshot",$(shell cat $(OPIEDIR)/library/version.h|grep QPE_VERSION)),)
74 SUB_VERSION:=$(VERSION_CVS) 77 SUB_VERSION:=$(VERSION_CVS)
75endif 78endif
76export SUB_VERSION 79export SUB_VERSION
77 80
78ifneq ($(strip $(SUB_VERSION)),) 81ifneq ($(strip $(SUB_VERSION)),)
79EXTRAVERSION=-$(SUB_VERSION) 82EXTRAVERSION=-$(SUB_VERSION)
80endif 83endif
81 84
82ifeq ($(QTE_REVISION),) 85ifeq ($(QTE_REVISION),)
83 QTE_REVISION=6 86 QTE_REVISION=6
84endif 87endif
85export QTE_REVISION 88export QTE_REVISION
86 89
87export DEB_VERSION=2.0 90export DEB_VERSION=2.0
88 91
89ifeq ($(QTE_BASEVERSION),) 92ifeq ($(QTE_BASEVERSION),)
90 ifneq ($(shell ls $(QTDIR)/include/qglobal.h 2>/dev/null),) 93 ifneq ($(shell ls $(QTDIR)/include/qglobal.h 2>/dev/null),)
91 QTE_BASEVERSION:=$(shell cat $(QTDIR)/include/qglobal.h|grep '^\#define QT_VERSION'|grep -v STR|sed -e 's/\#define QT_VERSION\t*//; s/.*\([0-9]\)\([0-9]\)\([0-9]\).*/\1.\2.\3/;') 94 QTE_BASEVERSION:=$(shell cat $(QTDIR)/include/qglobal.h|grep '^\#define QT_VERSION'|grep -v STR|sed -e 's/\#define QT_VERSION\t*//; s/.*\([0-9]\)\([0-9]\)\([0-9]\).*/\1.\2.\3/;')
92 else 95 else
93 QTE_BASEVERSION=2.3.7 96 QTE_BASEVERSION=2.3.7
94 endif 97 endif
95endif 98endif
96export QTE_BASEVERSION 99export QTE_BASEVERSION
97 100
98ifeq ($(QTE_VERSION),) 101ifeq ($(QTE_VERSION),)
99 ifneq ($(shell ls $(QTDIR)/include/qglobal.h 2>/dev/null),) 102 ifneq ($(shell ls $(QTDIR)/include/qglobal.h 2>/dev/null),)
100 QTE_VERSION:=$(shell cat $(QTDIR)/include/qglobal.h|grep '^\#define QT_VERSION_STR'|sed -e 's/\#define QT_VERSION_STR\t*//;' -e 's/.*"\([^"]*\)".*/\1/;') 103 QTE_VERSION:=$(shell cat $(QTDIR)/include/qglobal.h|grep '^\#define QT_VERSION_STR'|sed -e 's/\#define QT_VERSION_STR\t*//;' -e 's/.*"\([^"]*\)".*/\1/;')
101 else 104 else
102 QTE_VERSION=2.3.7 105 QTE_VERSION=2.3.7
103 endif 106 endif
104endif 107endif
105export QTE_VERSION 108export QTE_VERSION
106 109
107export PATH:=$(OPIEDIR)/scripts:$(PATH) 110export PATH:=$(OPIEDIR)/scripts:$(PATH)
108export QMAKESPEC=$(QMAKESPECSDIR)/$(patsubst "%",%,$(CONFIG_SPECFILE)) 111export QMAKESPEC=$(QMAKESPECSDIR)/$(patsubst "%",%,$(CONFIG_SPECFILE))
109 112
110ifdef CONFIG_OPTIMIZATIONS 113ifdef CONFIG_OPTIMIZATIONS
111export CFLAGS_RELEASE=$(patsubst "%,%,$(CONFIG_OPTIMIZATIONS)) 114export CFLAGS_RELEASE=$(patsubst "%,%,$(CONFIG_OPTIMIZATIONS))
112export CFLAGS_RELEASE:=$(patsubst %",%,$(CFLAGS_RELEASE)) 115export CFLAGS_RELEASE:=$(patsubst %",%,$(CFLAGS_RELEASE))
113endif 116endif
114 117
115ifeq ($(STRIP),) 118ifeq ($(STRIP),)
116 ifneq ($(CONFIG_TARGET_X86),) 119 ifneq ($(CONFIG_TARGET_X86),)
117 STRIP=strip 120 STRIP=strip
118 endif 121 endif
119 ifneq ($(CONFIG_TARGET_64BIT),) 122 ifneq ($(CONFIG_TARGET_64BIT),)
120 STRIP=strip 123 STRIP=strip
121 endif 124 endif
122 ifneq ($(CONFIG_TARGET_IPAQ),) 125 ifneq ($(CONFIG_TARGET_IPAQ),)
123 STRIP=arm-linux-strip 126 STRIP=arm-linux-strip
124 endif 127 endif
125 ifneq ($(CONFIG_TARGET_SHARP),) 128 ifneq ($(CONFIG_TARGET_SHARP),)
126 STRIP=arm-linux-strip 129 STRIP=arm-linux-strip
127 endif 130 endif
128 ifneq ($(CONFIG_TARGET_RAMSES),) 131 ifneq ($(CONFIG_TARGET_RAMSES),)
129 STRIP=arm-linux-strip 132 STRIP=arm-linux-strip
130 endif 133 endif
131 ifneq ($(CONFIG_TARGET_SIMPAD),) 134 ifneq ($(CONFIG_TARGET_SIMPAD),)
132 STRIP=arm-linux-strip 135 STRIP=arm-linux-strip
133 endif 136 endif
134 ifneq ($(CONFIG_TARGET_YOPY),) 137 ifneq ($(CONFIG_TARGET_YOPY),)
135 STRIP=arm-linux-strip 138 STRIP=arm-linux-strip
136 endif 139 endif
137endif 140endif
138 141
diff --git a/config.in b/config.in
index e979966..93bdcb2 100644
--- a/config.in
+++ b/config.in
@@ -1,250 +1,256 @@
1mainmenu "Opie Configuration" 1mainmenu "Opie Configuration"
2 2
3menu "Build Parameters" 3menu "Build Parameters"
4 4
5choice 5choice
6 prompt "Target Machine" 6 prompt "Target Machine"
7 default TARGET_X86 7 default TARGET_X86
8 help 8 help
9 Please select the architecture of the machine you will be 9 Please select the architecture of the machine you will be
10 building the OpenZaurus buildroot for. 10 building the OpenZaurus buildroot for.
11 11
12 config TARGET_X86 12 config TARGET_X86
13 boolean "Intel X86" 13 boolean "Intel X86"
14 14
15 config TARGET_MACOSX 15 config TARGET_MACOSX
16 boolean "Mac OS X (DARWIN)" 16 boolean "Mac OS X (DARWIN)"
17 17
18 config TARGET_SHARP 18 config TARGET_SHARP
19 boolean "Sharp Zaurus w/ SA1100 (5000 and 5500)" 19 boolean "Sharp Zaurus w/ SA1100 (5000 and 5500)"
20 20
21 config TARGET_C700 21 config TARGET_C700
22 boolean "Sharp Zaurus w/ PXA25x (5600, C7x0, C8x0)" 22 boolean "Sharp Zaurus w/ PXA25x (5600, C7x0, C8x0)"
23 23
24 config TARGET_OE 24 config TARGET_OE
25 boolean "OpenEmbedded w/ OE build dir set below" 25 boolean "OpenEmbedded w/ OE build dir set below"
26 26
27 config TARGET_IPAQ 27 config TARGET_IPAQ
28 boolean "iPAQ" 28 boolean "iPAQ"
29 29
30 config TARGET_RAMSES 30 config TARGET_RAMSES
31 boolean "Ramses" 31 boolean "Ramses"
32 32
33 config TARGET_SIMPAD 33 config TARGET_SIMPAD
34 boolean "SIMpad" 34 boolean "SIMpad"
35 35
36 config TARGET_YOPY 36 config TARGET_YOPY
37 boolean "Yopy 3500/3700" 37 boolean "Yopy 3500/3700"
38 38
39 config TARGET_HTC
40 boolean "HTC"
41
39 config TARGET_64BIT 42 config TARGET_64BIT
40 boolean "64 BIT" 43 boolean "64 BIT"
41 44
42endchoice 45endchoice
43 46
44config OE_BUILD_DIR 47config OE_BUILD_DIR
45 depends TARGET_OE 48 depends TARGET_OE
46 string "OE build directory" 49 string "OE build directory"
47 default ">>>set OpenEmbedded build directory here<<<" 50 default ">>>set OpenEmbedded build directory here<<<"
48 51
49config OE_HOST_SYS 52config OE_HOST_SYS
50 depends TARGET_OE 53 depends TARGET_OE
51 string "OE host system" 54 string "OE host system"
52 default "i686-linux" 55 default "i686-linux"
53 56
54config OE_TARGET_SYS 57config OE_TARGET_SYS
55 depends TARGET_OE 58 depends TARGET_OE
56 string "OE target system" 59 string "OE target system"
57 default "arm-linux" 60 default "arm-linux"
58 61
59config OPTIMIZE 62config OPTIMIZE
60 boolean "Use optimizations" 63 boolean "Use optimizations"
61 default "y" if ! TARGET_X86 64 default "y" if ! TARGET_X86
62 65
63config THREADED 66config THREADED
64 boolean "Enable threaded build" 67 boolean "Enable threaded build"
65 default "n" 68 default "n"
66 69
67config STATIC 70config STATIC
68 boolean "Build static libraries" 71 boolean "Build static libraries"
69 default "n" 72 default "n"
70 73
71config DEBUG 74config DEBUG
72 boolean "Enable debug builds" 75 boolean "Enable debug builds"
73 default n 76 default n
74 77
75config RELEASE 78config RELEASE
76 bool 79 bool
77 default y 80 default y
78 depends !DEBUG 81 depends !DEBUG
79 82
80config QUICK_LAUNCH 83config QUICK_LAUNCH
81 boolean "Enable Quick Launch" 84 boolean "Enable Quick Launch"
82 default n if TARGET_X86 85 default n if TARGET_X86
83 default y if ! TARGET_X86 86 default y if ! TARGET_X86
84 87
85config QUICKLAUNCH_PATH 88config QUICKLAUNCH_PATH
86 string "Path to quicklauncher" 89 string "Path to quicklauncher"
87 default "./quicklauncher" if TARGET_X86 90 default "./quicklauncher" if TARGET_X86
88 default "/opt/QtPalmtop/bin/quicklauncher" if ! TARGET_X86 91 default "/opt/QtPalmtop/bin/quicklauncher" if ! TARGET_X86
89 92
90config SPECFILE 93config SPECFILE
91 string 94 string
92 default "qws/linux-generic-g++" if TARGET_X86 && (! X11) 95 default "qws/linux-generic-g++" if TARGET_X86 && (! X11)
93 default "linux-g++" if TARGET_X86 && X11 96 default "linux-g++" if TARGET_X86 && X11
94 default "qws/linux-sharp-g++" if TARGET_SHARP && (! X11) 97 default "qws/linux-sharp-g++" if TARGET_SHARP && (! X11)
95 default "linux-g++" if TARGET_SHARP && X11 98 default "linux-g++" if TARGET_SHARP && X11
96 default "qws/linux-ipaq-g++" if TARGET_IPAQ && (! X11) 99 default "qws/linux-ipaq-g++" if TARGET_IPAQ && (! X11)
97 default "linux-g++" if TARGET_IPAQ && X11 100 default "linux-g++" if TARGET_IPAQ && X11
98 default "qws/linux-ramses-g++" if TARGET_RAMSES && (! X11) 101 default "qws/linux-ramses-g++" if TARGET_RAMSES && (! X11)
99 default "linux-g++" if TARGET_RAMSES && X11 102 default "linux-g++" if TARGET_RAMSES && X11
100 default "qws/linux-simpad-g++" if TARGET_SIMPAD && (! X11) 103 default "qws/linux-simpad-g++" if TARGET_SIMPAD && (! X11)
101 default "linux-g++" if TARGET_SIMPAD && X11 104 default "linux-g++" if TARGET_SIMPAD && X11
102 default "qws/linux-yopy-g++" if TARGET_YOPY && (! X11) 105 default "qws/linux-yopy-g++" if TARGET_YOPY && (! X11)
103 default "qws/macx-generic-g++" if TARGET_MACOSX && (! X11) 106 default "qws/macx-generic-g++" if TARGET_MACOSX && (! X11)
104 default "qws/linux-oe-g++" if TARGET_OE && (!X11) 107 default "qws/linux-oe-g++" if TARGET_OE && (!X11)
108 default "qws/linux-htc-g++" if TARGET_HTC && (! X11)
109 default "linux-g++" if TARGET_HTC && X11
105 110
106config CUSTOMFILE 111config CUSTOMFILE
107 string 112 string
108 default "custom-ipaq.h" if TARGET_IPAQ 113 default "custom-ipaq.h" if TARGET_IPAQ
109 default "custom-sharp.h" if TARGET_SHARP 114 default "custom-sharp.h" if TARGET_SHARP
110 default "custom-ramses.h" if TARGET_RAMSES 115 default "custom-ramses.h" if TARGET_RAMSES
111 default "custom-ipaq.h" if TARGET_SIMPAD 116 default "custom-ipaq.h" if TARGET_SIMPAD
112 default "custom-yopy.h" if TARGET_YOPY 117 default "custom-yopy.h" if TARGET_YOPY
113 118
114config OPTIMIZATIONS 119config OPTIMIZATIONS
115 string "Optimization flags" 120 string "Optimization flags"
116 depends OPTIMIZE 121 depends OPTIMIZE
117 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_IPAQ 122 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_IPAQ
118 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_YOPY 123 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_YOPY
119 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SHARP 124 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SHARP
120 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_RAMSES 125 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_RAMSES
121 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SIMPAD 126 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SIMPAD
122 default "-march=armv5te -mtune=xscale -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_C700 127 default "-march=armv5te -mtune=xscale -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_C700
128 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_HTC
123 129
124config EXPERIMENTAL 130config EXPERIMENTAL
125 bool "Prompt for development and/or incomplete items" 131 bool "Prompt for development and/or incomplete items"
126 default y 132 default y
127 133
128config USE_CCACHE 134config USE_CCACHE
129 bool "Use ccache, if available?" 135 bool "Use ccache, if available?"
130 default y 136 default y
131 137
132endmenu 138endmenu
133 139
134menu "Configuration" 140menu "Configuration"
135config OPIE_NO_BUILTIN_SHUTDOWN 141config OPIE_NO_BUILTIN_SHUTDOWN
136 boolean "Disable the built in shutdown application" 142 boolean "Disable the built in shutdown application"
137 default y 143 default y
138 144
139config OPIE_NO_BUILTIN_CALIBRATE 145config OPIE_NO_BUILTIN_CALIBRATE
140 boolean "Disable the built in calibrate application" 146 boolean "Disable the built in calibrate application"
141 default y if TARGET_YOPY 147 default y if TARGET_YOPY
142 default n if ! TARGET_YOPY 148 default n if ! TARGET_YOPY
143 149
144config OPIE_SOUND_FRAGMENT_SHIFT 150config OPIE_SOUND_FRAGMENT_SHIFT
145 string "The sound fragment used in Opie Player I" 151 string "The sound fragment used in Opie Player I"
146 default "14" if TARGET_IPAQ 152 default "14" if TARGET_IPAQ
147 default "16" if ! TARGET_IPAQ 153 default "16" if ! TARGET_IPAQ
148 154
149config USE_REALTIME_AUDIO_THREAD 155config USE_REALTIME_AUDIO_THREAD
150 boolean "Use a realtime thread in Opie Player I" 156 boolean "Use a realtime thread in Opie Player I"
151 default y if TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP 157 default y if TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP
152 default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP) 158 default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP)
153 159
154config QT_QWS_ALLOW_OVERCLOCK 160config QT_QWS_ALLOW_OVERCLOCK
155 boolean "Allow the user to overclock the device" 161 boolean "Allow the user to overclock the device"
156 depends TARGET_RAMSES 162 depends TARGET_RAMSES
157 default n 163 default n
158 164
159config USE_FILE_NOTIFICATION 165config USE_FILE_NOTIFICATION
160 boolean "Substitute (some) polling interfaces with OFileNotifier" 166 boolean "Substitute (some) polling interfaces with OFileNotifier"
161 default y 167 default y
162 168
163config OPIE_NEW_ALLOC 169config OPIE_NEW_ALLOC
164 boolean "Use malloc and free for the implementation" 170 boolean "Use malloc and free for the implementation"
165 default y if TARGET_RAMSES || TARGET_IPAQ || TARGET_SIMPAD || TARGET_SHARP 171 default y if TARGET_RAMSES || TARGET_IPAQ || TARGET_SIMPAD || TARGET_SHARP
166 default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP) 172 default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP)
167 173
168config OPIE_TASKBAR_LOCK_KEY_STATE 174config OPIE_TASKBAR_LOCK_KEY_STATE
169 boolean "Have a KeyLock state indicator on the taskbar" 175 boolean "Have a KeyLock state indicator on the taskbar"
170 default y if TARGET_SHARP 176 default y if TARGET_SHARP
171 default n if !TARGET_SHARP 177 default n if !TARGET_SHARP
172 178
173config LIBQPE_WITHROHFEEDBACK 179config LIBQPE_WITHROHFEEDBACK
174 boolean "Build libqpe with Right-On-Hold feedback" 180 boolean "Build libqpe with Right-On-Hold feedback"
175 default y 181 default y
176 182
177config LIBQPE_NO_INLINE_IMAGES 183config LIBQPE_NO_INLINE_IMAGES
178 boolean "Build libqpe without inline images" 184 boolean "Build libqpe without inline images"
179 default n 185 default n
180 186
181config OPIE_NO_SOUND_PCM_READ_BITS 187config OPIE_NO_SOUND_PCM_READ_BITS
182 boolean "There is not a pcm_read_bits io control" 188 boolean "There is not a pcm_read_bits io control"
183 default y if TARGET_SHARP 189 default y if TARGET_SHARP
184 default n if ! TARGET_SHARP 190 default n if ! TARGET_SHARP
185endmenu 191endmenu
186 192
187menu "Dependencies" 193menu "Dependencies"
188 source dependencies.in 194 source dependencies.in
189endmenu 195endmenu
190 196
191menu "Base" 197menu "Base"
192 choice 198 choice
193 prompt "Qpe Library Selection" 199 prompt "Qpe Library Selection"
194 default LIBQPE 200 default LIBQPE
195 source library/config.in 201 source library/config.in
196 source x11/config.in 202 source x11/config.in
197 endchoice 203 endchoice
198 source libopie2/config.in 204 source libopie2/config.in
199 source libqtaux/config.in 205 source libqtaux/config.in
200 source rsync/config.in 206 source rsync/config.in
201 source core/opie-login/config.in 207 source core/opie-login/config.in
202 source core/opiealarm/config.in 208 source core/opiealarm/config.in
203 source core/tools/quicklauncher/config.in 209 source core/tools/quicklauncher/config.in
204 source core/tools/hotplug-qcop/config.in 210 source core/tools/hotplug-qcop/config.in
205 source core/launcher/config.in 211 source core/launcher/config.in
206 source core/symlinker/config.in 212 source core/symlinker/config.in
207endmenu 213endmenu
208 214
209comment "" 215comment ""
210 216
211menu "Applets" 217menu "Applets"
212 source core/applets/config.in 218 source core/applets/config.in
213 source noncore/applets/config.in 219 source noncore/applets/config.in
214endmenu 220endmenu
215 221
216menu "Apps" 222menu "Apps"
217 source core/apps/config.in 223 source core/apps/config.in
218 source noncore/apps/config.in 224 source noncore/apps/config.in
219endmenu 225endmenu
220 226
221menu "Communications and Networking" 227menu "Communications and Networking"
222 source noncore/comm/config.in 228 source noncore/comm/config.in
223 source noncore/net/config.in 229 source noncore/net/config.in
224endmenu 230endmenu
225 231
226menu "Games" 232menu "Games"
227 source noncore/games/config.in 233 source noncore/games/config.in
228endmenu 234endmenu
229 235
230menu "Graphics and Multimedia" 236menu "Graphics and Multimedia"
231 source freetype/config.in 237 source freetype/config.in
232 source noncore/graphics/config.in 238 source noncore/graphics/config.in
233 source core/multimedia/config.in 239 source core/multimedia/config.in
234 source noncore/multimedia/config.in 240 source noncore/multimedia/config.in
235endmenu 241endmenu
236 242
237menu "Input methods" 243menu "Input methods"
238 source inputmethods/config.in 244 source inputmethods/config.in
239endmenu 245endmenu
240 246
241menu "Pim" 247menu "Pim"
242 source core/obex/config.in 248 source core/obex/config.in
243 source core/pim/config.in 249 source core/pim/config.in
244 comment "Today Plugins ---" 250 comment "Today Plugins ---"
245 source noncore/todayplugins/config.in 251 source noncore/todayplugins/config.in
246 source core/pim/today/plugins/config.in 252 source core/pim/today/plugins/config.in
247 comment "Holiday Plugins ---" 253 comment "Holiday Plugins ---"
248 source core/pim/datebook/holiday/config.in 254 source core/pim/datebook/holiday/config.in
249endmenu 255endmenu
250 256
diff --git a/libopie2/opiecore/device/device.pro b/libopie2/opiecore/device/device.pro
index 8469398..0954733 100644
--- a/libopie2/opiecore/device/device.pro
+++ b/libopie2/opiecore/device/device.pro
@@ -1,26 +1,28 @@
1HEADERS += device/odevice.h \ 1HEADERS += device/odevice.h \
2 device/odevicebutton.h \ 2 device/odevicebutton.h \
3 device/odevice_abstractmobiledevice.h \ 3 device/odevice_abstractmobiledevice.h \
4 device/odevice_beagle.h \ 4 device/odevice_beagle.h \
5 device/odevice_ipaq.h \ 5 device/odevice_ipaq.h \
6 device/odevice_jornada.h \ 6 device/odevice_jornada.h \
7 device/odevice_ramses.h \ 7 device/odevice_ramses.h \
8 device/odevice_simpad.h \ 8 device/odevice_simpad.h \
9 device/odevice_zaurus.h \ 9 device/odevice_zaurus.h \
10 device/odevice_genuineintel.h \ 10 device/odevice_genuineintel.h \
11 device/odevice_yopy.h \ 11 device/odevice_yopy.h \
12 device/odevice_mypal.h 12 device/odevice_mypal.h \
13 device/odevice_htc.h
13 14
14SOURCES += device/odevice.cpp \ 15SOURCES += device/odevice.cpp \
15 device/odevicebutton.cpp \ 16 device/odevicebutton.cpp \
16 device/odevice_abstractmobiledevice.cpp \ 17 device/odevice_abstractmobiledevice.cpp \
17 device/odevice_beagle.cpp \ 18 device/odevice_beagle.cpp \
18 device/odevice_ipaq.cpp \ 19 device/odevice_ipaq.cpp \
19 device/odevice_jornada.cpp\ 20 device/odevice_jornada.cpp\
20 device/odevice_ramses.cpp \ 21 device/odevice_ramses.cpp \
21 device/odevice_simpad.cpp \ 22 device/odevice_simpad.cpp \
22 device/odevice_zaurus.cpp \ 23 device/odevice_zaurus.cpp \
23 device/odevice_genuineintel.cpp \ 24 device/odevice_genuineintel.cpp \
24 device/odevice_yopy.cpp \ 25 device/odevice_yopy.cpp \
25 device/odevice_mypal.cpp 26 device/odevice_mypal.cpp \
27 device/odevice_htc.cpp
26 28
diff --git a/libopie2/opiecore/device/odevice.cpp b/libopie2/opiecore/device/odevice.cpp
index 7b99eb4..c6e031f 100644
--- a/libopie2/opiecore/device/odevice.cpp
+++ b/libopie2/opiecore/device/odevice.cpp
@@ -1,274 +1,277 @@
1/* 1/*
2                 This file is part of the Opie Project 2                 This file is part of the Opie Project
3 =. (C) 2002-2005 The Opie Team <opie-devel@handhelds.org> 3 =. (C) 2002-2005 The Opie Team <opie-devel@handhelds.org>
4 .=l. 4 .=l.
5           .>+-= 5           .>+-=
6 _;:,     .>    :=|. This program is free software; you can 6 _;:,     .>    :=|. This program is free software; you can
7.> <`_,   >  .   <= redistribute it and/or modify it under 7.> <`_,   >  .   <= redistribute it and/or modify it under
8:`=1 )Y*s>-.--   : the terms of the GNU Library General Public 8:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
9.="- .-=="i,     .._ License as published by the Free Software 9.="- .-=="i,     .._ License as published by the Free Software
10 - .   .-<_>     .<> Foundation; version 2 of the License. 10 - .   .-<_>     .<> Foundation; version 2 of the License.
11     ._= =}       : 11     ._= =}       :
12    .%`+i>       _;_. 12    .%`+i>       _;_.
13    .i_,=:_.      -<s. This program is distributed in the hope that 13    .i_,=:_.      -<s. This program is distributed in the hope that
14     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 14     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
15    : ..    .:,     . . . without even the implied warranty of 15    : ..    .:,     . . . without even the implied warranty of
16    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 16    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
17  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 17  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
18..}^=.=       =       ; Library General Public License for more 18..}^=.=       =       ; Library General Public License for more
19++=   -.     .`     .: details. 19++=   -.     .`     .: details.
20 :     =  ...= . :.=- 20 :     =  ...= . :.=-
21 -.   .:....=;==+<; You should have received a copy of the GNU 21 -.   .:....=;==+<; You should have received a copy of the GNU
22  -_. . .   )=.  = Library General Public License along with 22  -_. . .   )=.  = Library General Public License along with
23    --        :-=` this library; see the file COPYING.LIB. 23    --        :-=` this library; see the file COPYING.LIB.
24 If not, write to the Free Software Foundation, 24 If not, write to the Free Software Foundation,
25 Inc., 59 Temple Place - Suite 330, 25 Inc., 59 Temple Place - Suite 330,
26 Boston, MA 02111-1307, USA. 26 Boston, MA 02111-1307, USA.
27 27
28*/ 28*/
29 29
30 30
31#include "odevice_beagle.h" 31#include "odevice_beagle.h"
32#include "odevice_ipaq.h" 32#include "odevice_ipaq.h"
33#include "odevice_mypal.h" 33#include "odevice_mypal.h"
34#include "odevice_jornada.h" 34#include "odevice_jornada.h"
35#include "odevice_ramses.h" 35#include "odevice_ramses.h"
36#include "odevice_simpad.h" 36#include "odevice_simpad.h"
37#include "odevice_yopy.h" 37#include "odevice_yopy.h"
38#include "odevice_zaurus.h" 38#include "odevice_zaurus.h"
39#include "odevice_genuineintel.h" 39#include "odevice_genuineintel.h"
40#include "odevice_htc.h"
40 41
41/* QT */ 42/* QT */
42#include <qapplication.h> 43#include <qapplication.h>
43#include <qfile.h> 44#include <qfile.h>
44#include <qtextstream.h> 45#include <qtextstream.h>
45#include <qwindowsystem_qws.h> 46#include <qwindowsystem_qws.h>
46 47
47/* OPIE */ 48/* OPIE */
48#include <qpe/config.h> 49#include <qpe/config.h>
49#include <qpe/sound.h> 50#include <qpe/sound.h>
50#include <qpe/qcopenvelope_qws.h> 51#include <qpe/qcopenvelope_qws.h>
51#include <qpe/sound.h> 52#include <qpe/sound.h>
52 53
53#include <opie2/okeyfilter.h> 54#include <opie2/okeyfilter.h>
54#include <opie2/oresource.h> 55#include <opie2/oresource.h>
55 56
56/* STD */ 57/* STD */
57#include <fcntl.h> 58#include <fcntl.h>
58#include <math.h> 59#include <math.h>
59#include <stdlib.h> 60#include <stdlib.h>
60#include <signal.h> 61#include <signal.h>
61#include <sys/ioctl.h> 62#include <sys/ioctl.h>
62#include <sys/time.h> 63#include <sys/time.h>
63#include <unistd.h> 64#include <unistd.h>
64#ifndef QT_NO_SOUND 65#ifndef QT_NO_SOUND
65#include <linux/soundcard.h> 66#include <linux/soundcard.h>
66#endif 67#endif
67 68
68namespace Opie { 69namespace Opie {
69namespace Core { 70namespace Core {
70 71
71static const char* PATH_PROC_CPUINFO = "/proc/cpuinfo"; 72static const char* PATH_PROC_CPUINFO = "/proc/cpuinfo";
72 73
73 74
74/* STATIC and common implementation */ 75/* STATIC and common implementation */
75/* EXPORT */ ODistribution distributions[] = { 76/* EXPORT */ ODistribution distributions[] = {
76 { System_Familiar, "FamiliarLinux", "/etc/familiar-version" }, 77 { System_Familiar, "FamiliarLinux", "/etc/familiar-version" },
77 { System_OpenZaurus, "OpenZaurus", "/etc/openzaurus-version" }, 78 { System_OpenZaurus, "OpenZaurus", "/etc/openzaurus-version" },
78 { System_OpenEmbedded, "OpenEmbedded", "/etc/oe-version" }, 79 { System_OpenEmbedded, "OpenEmbedded", "/etc/oe-version" },
79 { System_Unknown, "Linux", "/etc/issue" }, 80 { System_Unknown, "Linux", "/etc/issue" },
80}; 81};
81 82
82 83
83/* EXPORT */ bool isQWS(){ 84/* EXPORT */ bool isQWS(){
84 return qApp ? ( qApp->type() == QApplication::GuiServer ) : false; 85 return qApp ? ( qApp->type() == QApplication::GuiServer ) : false;
85} 86}
86 87
87/* EXPORT */ QCString makeChannel ( const char *str ){ 88/* EXPORT */ QCString makeChannel ( const char *str ){
88 if ( str && !::strchr ( str, '/' )) 89 if ( str && !::strchr ( str, '/' ))
89 return QCString ( "QPE/Application/" ) + str; 90 return QCString ( "QPE/Application/" ) + str;
90 else 91 else
91 return str; 92 return str;
92} 93}
93 94
94 95
95 96
96/* Now the default implementation of ODevice */ 97/* Now the default implementation of ODevice */
97 98
98struct default_button default_buttons [] = { 99struct default_button default_buttons [] = {
99 { Qt::Key_F9, QT_TRANSLATE_NOOP("Button", "Calendar Button"), 100 { Qt::Key_F9, QT_TRANSLATE_NOOP("Button", "Calendar Button"),
100 "devicebuttons/z_calendar", 101 "devicebuttons/z_calendar",
101 "datebook", "nextView()", 102 "datebook", "nextView()",
102 "today", "raise()" }, 103 "today", "raise()" },
103 { Qt::Key_F10, QT_TRANSLATE_NOOP("Button", "Contacts Button"), 104 { Qt::Key_F10, QT_TRANSLATE_NOOP("Button", "Contacts Button"),
104 "devicebuttons/z_contact", 105 "devicebuttons/z_contact",
105 "addressbook", "raise()", 106 "addressbook", "raise()",
106 "addressbook", "beamBusinessCard()" }, 107 "addressbook", "beamBusinessCard()" },
107 { Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Home Button"), 108 { Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Home Button"),
108 "devicebuttons/z_home", 109 "devicebuttons/z_home",
109 "QPE/Launcher", "home()", 110 "QPE/Launcher", "home()",
110 "buttonsettings", "raise()" }, 111 "buttonsettings", "raise()" },
111 { Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Menu Button"), 112 { Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Menu Button"),
112 "devicebuttons/z_menu", 113 "devicebuttons/z_menu",
113 "QPE/TaskBar", "toggleMenu()", 114 "QPE/TaskBar", "toggleMenu()",
114 "QPE/TaskBar", "toggleStartMenu()" }, 115 "QPE/TaskBar", "toggleStartMenu()" },
115 { Qt::Key_F13, QT_TRANSLATE_NOOP("Button", "Mail Button"), 116 { Qt::Key_F13, QT_TRANSLATE_NOOP("Button", "Mail Button"),
116 "devicebuttons/z_mail", 117 "devicebuttons/z_mail",
117 "opiemail", "raise()", 118 "opiemail", "raise()",
118 "opiemail", "newMail()" }, 119 "opiemail", "newMail()" },
119}; 120};
120 121
121ODevice *ODevice::inst() 122ODevice *ODevice::inst()
122{ 123{
123 static ODevice *dev = 0; 124 static ODevice *dev = 0;
124 QString cpu_info; 125 QString cpu_info;
125 126
126 if ( !dev ) 127 if ( !dev )
127 { 128 {
128 QFile f( PATH_PROC_CPUINFO ); 129 QFile f( PATH_PROC_CPUINFO );
129 if ( f.open( IO_ReadOnly ) ) 130 if ( f.open( IO_ReadOnly ) )
130 { 131 {
131 QTextStream s( &f ); 132 QTextStream s( &f );
132 while ( !s.atEnd() ) 133 while ( !s.atEnd() )
133 { 134 {
134 QString line; 135 QString line;
135 line = s.readLine(); 136 line = s.readLine();
136 if ( line.startsWith( "Hardware" ) ) 137 if ( line.startsWith( "Hardware" ) )
137 { 138 {
138 qDebug( "ODevice() - found '%s'", (const char*) line ); 139 qDebug( "ODevice() - found '%s'", (const char*) line );
139 cpu_info = line; 140 cpu_info = line;
140 if ( line.contains( "sharp", false ) ) dev = new Internal::Zaurus(); 141 if ( line.contains( "sharp", false ) ) dev = new Internal::Zaurus();
141 else if ( line.contains( "ipaq", false ) ) dev = new Internal::iPAQ(); 142 else if ( line.contains( "ipaq", false ) ) dev = new Internal::iPAQ();
142 else if ( line.contains( "mypal", false ) ) dev = new Internal::MyPal(); 143 else if ( line.contains( "mypal", false ) ) dev = new Internal::MyPal();
143 else if ( line.contains( "simpad", false ) ) dev = new Internal::SIMpad(); 144 else if ( line.contains( "simpad", false ) ) dev = new Internal::SIMpad();
144 else if ( line.contains( "jornada", false ) ) dev = new Internal::Jornada(); 145 else if ( line.contains( "jornada", false ) ) dev = new Internal::Jornada();
145 else if ( line.contains( "ramses", false ) ) dev = new Internal::Ramses(); 146 else if ( line.contains( "ramses", false ) ) dev = new Internal::Ramses();
146 else if ( line.contains( "Tradesquare.NL", false ) ) dev = new Internal::Beagle(); 147 else if ( line.contains( "Tradesquare.NL", false ) ) dev = new Internal::Beagle();
148 else if ( line.contains( "HTC", false ) ) dev = new Internal::HTC();
149
147 else qWarning( "ODevice() - unknown hardware - using default." ); 150 else qWarning( "ODevice() - unknown hardware - using default." );
148 break; 151 break;
149 } else if ( line.startsWith( "vendor_id" ) ) { 152 } else if ( line.startsWith( "vendor_id" ) ) {
150 qDebug( "ODevice() - found '%s'", (const char*) line ); 153 qDebug( "ODevice() - found '%s'", (const char*) line );
151 cpu_info = line; 154 cpu_info = line;
152 if( line.contains( "genuineintel", false ) ) { 155 if( line.contains( "genuineintel", false ) ) {
153 dev = new Internal::GenuineIntel(); 156 dev = new Internal::GenuineIntel();
154 break; 157 break;
155 } 158 }
156 } 159 }
157 } 160 }
158 } 161 }
159 else 162 else
160 { 163 {
161 qWarning( "ODevice() - can't open '%s' - unknown hardware - using default.", PATH_PROC_CPUINFO ); 164 qWarning( "ODevice() - can't open '%s' - unknown hardware - using default.", PATH_PROC_CPUINFO );
162 } 165 }
163 if ( !dev ) dev = new ODevice(); 166 if ( !dev ) dev = new ODevice();
164 dev->init(cpu_info); 167 dev->init(cpu_info);
165 } 168 }
166 return dev; 169 return dev;
167} 170}
168 171
169ODevice::ODevice() 172ODevice::ODevice()
170{ 173{
171 d = new ODeviceData; 174 d = new ODeviceData;
172 175
173 d->m_modelstr = "Unknown"; 176 d->m_modelstr = "Unknown";
174 d->m_model = Model_Unknown; 177 d->m_model = Model_Unknown;
175 d->m_vendorstr = "Unknown"; 178 d->m_vendorstr = "Unknown";
176 d->m_vendor = Vendor_Unknown; 179 d->m_vendor = Vendor_Unknown;
177 d->m_systemstr = "Unknown"; 180 d->m_systemstr = "Unknown";
178 d->m_system = System_Unknown; 181 d->m_system = System_Unknown;
179 d->m_sysverstr = "0.0"; 182 d->m_sysverstr = "0.0";
180 d->m_rotation = Rot0; 183 d->m_rotation = Rot0;
181 d->m_direction = CW; 184 d->m_direction = CW;
182 d->m_qteDriver = "Transformed"; 185 d->m_qteDriver = "Transformed";
183 186
184 d->m_holdtime = 1000; // 1000ms 187 d->m_holdtime = 1000; // 1000ms
185 d->m_buttons = 0; 188 d->m_buttons = 0;
186 d->m_cpu_frequencies = new QStrList; 189 d->m_cpu_frequencies = new QStrList;
187 190
188 191
189 /* mixer */ 192 /* mixer */
190 d->m_sound = d->m_vol = d->m_mixer = -1; 193 d->m_sound = d->m_vol = d->m_mixer = -1;
191 194
192 /* System QCopChannel created */ 195 /* System QCopChannel created */
193 d->m_initializedButtonQcop = false; 196 d->m_initializedButtonQcop = false;
194 197
195 // New distribution detection code first checks for legacy distributions, 198 // New distribution detection code first checks for legacy distributions,
196 // identified by /etc/familiar-version or /etc/oz_version. 199 // identified by /etc/familiar-version or /etc/oz_version.
197 // Then check for OpenEmbedded and lastly, read /etc/issue 200 // Then check for OpenEmbedded and lastly, read /etc/issue
198 201
199 for ( unsigned int i = 0; i < sizeof(distributions)/sizeof(ODistribution); ++i ) 202 for ( unsigned int i = 0; i < sizeof(distributions)/sizeof(ODistribution); ++i )
200 { 203 {
201 if ( QFile::exists( distributions[i].sysvfile ) ) 204 if ( QFile::exists( distributions[i].sysvfile ) )
202 { 205 {
203 d->m_systemstr = distributions[i].sysstr; 206 d->m_systemstr = distributions[i].sysstr;
204 d->m_system = distributions[i].system; 207 d->m_system = distributions[i].system;
205 d->m_sysverstr = "<Unknown>"; 208 d->m_sysverstr = "<Unknown>";
206 QFile f( distributions[i].sysvfile ); 209 QFile f( distributions[i].sysvfile );
207 if ( f.open( IO_ReadOnly ) ) 210 if ( f.open( IO_ReadOnly ) )
208 { 211 {
209 QTextStream ts( &f ); 212 QTextStream ts( &f );
210 d->m_sysverstr = ts.readLine().replace( QRegExp( "\\\\." ), "" ); 213 d->m_sysverstr = ts.readLine().replace( QRegExp( "\\\\." ), "" );
211 } 214 }
212 break; 215 break;
213 } 216 }
214 } 217 }
215} 218}
216 219
217void ODevice::systemMessage( const QCString &msg, const QByteArray & ) 220void ODevice::systemMessage( const QCString &msg, const QByteArray & )
218{ 221{
219 if ( msg == "deviceButtonMappingChanged()" ) { 222 if ( msg == "deviceButtonMappingChanged()" ) {
220 reloadButtonMapping(); 223 reloadButtonMapping();
221 } 224 }
222} 225}
223 226
224void ODevice::init(const QString&) 227void ODevice::init(const QString&)
225{ 228{
226} 229}
227 230
228/** 231/**
229* This method initialises the button mapping 232* This method initialises the button mapping
230*/ 233*/
231void ODevice::initButtons() 234void ODevice::initButtons()
232{ 235{
233 if ( d->m_buttons ) 236 if ( d->m_buttons )
234 return; 237 return;
235 238
236 qDebug ( "init Buttons" ); 239 qDebug ( "init Buttons" );
237 d->m_buttons = new QValueList <ODeviceButton>; 240 d->m_buttons = new QValueList <ODeviceButton>;
238 for ( uint i = 0; i < ( sizeof( default_buttons ) / sizeof( default_button )); i++ ) { 241 for ( uint i = 0; i < ( sizeof( default_buttons ) / sizeof( default_button )); i++ ) {
239 default_button *db = default_buttons + i; 242 default_button *db = default_buttons + i;
240 ODeviceButton b; 243 ODeviceButton b;
241 b. setKeycode ( db->code ); 244 b. setKeycode ( db->code );
242 b. setUserText ( QObject::tr ( "Button", db->utext )); 245 b. setUserText ( QObject::tr ( "Button", db->utext ));
243 b. setPixmap ( OResource::loadPixmap ( db->pix )); 246 b. setPixmap ( OResource::loadPixmap ( db->pix ));
244 b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( db->fpressedservice ), db->fpressedaction )); 247 b. setFactoryPresetPressedAction ( OQCopMessage ( makeChannel ( db->fpressedservice ), db->fpressedaction ));
245 b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( db->fheldservice ), db->fheldaction )); 248 b. setFactoryPresetHeldAction ( OQCopMessage ( makeChannel ( db->fheldservice ), db->fheldaction ));
246 d->m_buttons->append ( b ); 249 d->m_buttons->append ( b );
247 } 250 }
248 251
249 reloadButtonMapping(); 252 reloadButtonMapping();
250} 253}
251 254
252ODevice::~ODevice() 255ODevice::~ODevice()
253{ 256{
254// we leak m_devicebuttons and m_cpu_frequency 257// we leak m_devicebuttons and m_cpu_frequency
255// but it's a singleton and it is not so importantant 258// but it's a singleton and it is not so importantant
256// -zecke 259// -zecke
257 delete d; 260 delete d;
258} 261}
259 262
260/** 263/**
261* This method will try to suspend the device 264* This method will try to suspend the device
262* It only works if the user is the QWS Server and the apm application 265* It only works if the user is the QWS Server and the apm application
263* is installed. 266* is installed.
264* It tries to suspend and then waits some time cause some distributions 267* It tries to suspend and then waits some time cause some distributions
265* do have asynchronus apm implementations. 268* do have asynchronus apm implementations.
266* This method will either fail and return false or it'll suspend the 269* This method will either fail and return false or it'll suspend the
267* device and return once the device got woken up 270* device and return once the device got woken up
268* 271*
269* @return if the device got suspended 272* @return if the device got suspended
270*/ 273*/
271bool ODevice::suspend() 274bool ODevice::suspend()
272{ 275{
273 return false; // default implementation == unknown device or qvfb 276 return false; // default implementation == unknown device or qvfb
274} 277}
diff --git a/libopie2/opiecore/device/odevice.h b/libopie2/opiecore/device/odevice.h
index c70d2af..0c78277 100644
--- a/libopie2/opiecore/device/odevice.h
+++ b/libopie2/opiecore/device/odevice.h
@@ -1,267 +1,272 @@
1/* 1/*
2                 This file is part of the Opie Project 2                 This file is part of the Opie Project
3              Copyright (C) The Opie Team <opie-devel@handhelds.org> 3              Copyright (C) The Opie Team <opie-devel@handhelds.org>
4 =. 4 =.
5 .=l. 5 .=l.
6           .>+-= 6           .>+-=
7 _;:,     .>    :=|. This program is free software; you can 7 _;:,     .>    :=|. This program is free software; you can
8.> <`_,   >  .   <= redistribute it and/or modify it under 8.> <`_,   >  .   <= redistribute it and/or modify it under
9:`=1 )Y*s>-.--   : the terms of the GNU Library General Public 9:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
10.="- .-=="i,     .._ License as published by the Free Software 10.="- .-=="i,     .._ License as published by the Free Software
11 - .   .-<_>     .<> Foundation; either version 2 of the License, 11 - .   .-<_>     .<> Foundation; either version 2 of the License,
12     ._= =}       : or (at your option) any later version. 12     ._= =}       : or (at your option) any later version.
13    .%`+i>       _;_. 13    .%`+i>       _;_.
14    .i_,=:_.      -<s. This program is distributed in the hope that 14    .i_,=:_.      -<s. This program is distributed in the hope that
15     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 15     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
16    : ..    .:,     . . . without even the implied warranty of 16    : ..    .:,     . . . without even the implied warranty of
17    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 17    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
18  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU 18  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
19..}^=.=       =       ; Library General Public License for more 19..}^=.=       =       ; Library General Public License for more
20++=   -.     .`     .: details. 20++=   -.     .`     .: details.
21 :     =  ...= . :.=- 21 :     =  ...= . :.=-
22 -.   .:....=;==+<; You should have received a copy of the GNU 22 -.   .:....=;==+<; You should have received a copy of the GNU
23  -_. . .   )=.  = Library General Public License along with 23  -_. . .   )=.  = Library General Public License along with
24    --        :-=` this library; see the file COPYING.LIB. 24    --        :-=` this library; see the file COPYING.LIB.
25 If not, write to the Free Software Foundation, 25 If not, write to the Free Software Foundation,
26 Inc., 59 Temple Place - Suite 330, 26 Inc., 59 Temple Place - Suite 330,
27 Boston, MA 02111-1307, USA. 27 Boston, MA 02111-1307, USA.
28*/ 28*/
29 29
30#ifndef ODEVICE_H_ 30#ifndef ODEVICE_H_
31#define ODEVICE_H_ 31#define ODEVICE_H_
32 32
33/* OPIE */ 33/* OPIE */
34#include <opie2/odevicebutton.h> 34#include <opie2/odevicebutton.h>
35#include <qpe/qpeapplication.h> /* for Transformation enum.. */ 35#include <qpe/qpeapplication.h> /* for Transformation enum.. */
36 36
37/* QT */ 37/* QT */
38#include <qnamespace.h> 38#include <qnamespace.h>
39#include <qobject.h> 39#include <qobject.h>
40#include <qstring.h> 40#include <qstring.h>
41 41
42 42
43#include <qstrlist.h> 43#include <qstrlist.h>
44#include <qwindowsystem_qws.h> 44#include <qwindowsystem_qws.h>
45 45
46 46
47class Sound; 47class Sound;
48 48
49namespace Opie{ 49namespace Opie{
50namespace Core{ 50namespace Core{
51 51
52class ODeviceData; 52class ODeviceData;
53/** 53/**
54 * The available devices 54 * The available devices
55 */ 55 */
56enum OModel { 56enum OModel {
57 Model_Unknown, // = 0 57 Model_Unknown, // = 0
58 58
59 Model_Series_Mask = 0xffff0000, 59 Model_Series_Mask = 0xffff0000,
60 60
61 Model_iPAQ = ( 1 << 16 ), 61 Model_iPAQ = ( 1 << 16 ),
62 62
63 Model_iPAQ_All = ( Model_iPAQ | 0xffff ), 63 Model_iPAQ_All = ( Model_iPAQ | 0xffff ),
64 Model_iPAQ_H31xx = ( Model_iPAQ | 0x0001 ), 64 Model_iPAQ_H31xx = ( Model_iPAQ | 0x0001 ),
65 Model_iPAQ_H36xx = ( Model_iPAQ | 0x0002 ), 65 Model_iPAQ_H36xx = ( Model_iPAQ | 0x0002 ),
66 Model_iPAQ_H37xx = ( Model_iPAQ | 0x0003 ), 66 Model_iPAQ_H37xx = ( Model_iPAQ | 0x0003 ),
67 Model_iPAQ_H38xx = ( Model_iPAQ | 0x0004 ), 67 Model_iPAQ_H38xx = ( Model_iPAQ | 0x0004 ),
68 Model_iPAQ_H39xx = ( Model_iPAQ | 0x0005 ), 68 Model_iPAQ_H39xx = ( Model_iPAQ | 0x0005 ),
69 Model_iPAQ_H5xxx = ( Model_iPAQ | 0x0006 ), 69 Model_iPAQ_H5xxx = ( Model_iPAQ | 0x0006 ),
70 Model_iPAQ_H22xx = ( Model_iPAQ | 0x0007 ), 70 Model_iPAQ_H22xx = ( Model_iPAQ | 0x0007 ),
71 Model_iPAQ_H191x = ( Model_iPAQ | 0x0008 ), 71 Model_iPAQ_H191x = ( Model_iPAQ | 0x0008 ),
72 Model_iPAQ_H1940 = ( Model_iPAQ | 0x0009 ), 72 Model_iPAQ_H1940 = ( Model_iPAQ | 0x0009 ),
73 73
74 Model_Jornada = ( 6 << 16 ), 74 Model_Jornada = ( 6 << 16 ),
75 Model_Jornada_56x = ( Model_Jornada | 0x0001 ), 75 Model_Jornada_56x = ( Model_Jornada | 0x0001 ),
76 Model_Jornada_720 = ( Model_Jornada | 0x0002 ), 76 Model_Jornada_720 = ( Model_Jornada | 0x0002 ),
77 77
78 Model_Zaurus = ( 2 << 16 ), 78 Model_Zaurus = ( 2 << 16 ),
79 79
80 Model_Zaurus_SL5000 = ( Model_Zaurus | 0x0001 ), 80 Model_Zaurus_SL5000 = ( Model_Zaurus | 0x0001 ),
81 Model_Zaurus_SL5500 = ( Model_Zaurus | 0x0002 ), 81 Model_Zaurus_SL5500 = ( Model_Zaurus | 0x0002 ),
82 Model_Zaurus_SLA300 = ( Model_Zaurus | 0x0003 ), 82 Model_Zaurus_SLA300 = ( Model_Zaurus | 0x0003 ),
83 Model_Zaurus_SLB600 = ( Model_Zaurus | 0x0004 ), 83 Model_Zaurus_SLB600 = ( Model_Zaurus | 0x0004 ),
84 Model_Zaurus_SLC7x0 = ( Model_Zaurus | 0x0005 ), 84 Model_Zaurus_SLC7x0 = ( Model_Zaurus | 0x0005 ),
85 Model_Zaurus_SL6000 = ( Model_Zaurus | 0x0006 ), 85 Model_Zaurus_SL6000 = ( Model_Zaurus | 0x0006 ),
86 Model_Zaurus_SLC3000 = ( Model_Zaurus | 0x0007 ), 86 Model_Zaurus_SLC3000 = ( Model_Zaurus | 0x0007 ),
87 Model_Zaurus_SLC1000 = ( Model_Zaurus | 0x0008 ), 87 Model_Zaurus_SLC1000 = ( Model_Zaurus | 0x0008 ),
88 Model_Zaurus_SLC3100 = ( Model_Zaurus | 0x0009 ), 88 Model_Zaurus_SLC3100 = ( Model_Zaurus | 0x0009 ),
89 89
90 Model_SIMpad = ( 3 << 16 ), 90 Model_SIMpad = ( 3 << 16 ),
91 91
92 Model_SIMpad_All = ( Model_SIMpad | 0xffff ), 92 Model_SIMpad_All = ( Model_SIMpad | 0xffff ),
93 Model_SIMpad_CL4 = ( Model_SIMpad | 0x0001 ), 93 Model_SIMpad_CL4 = ( Model_SIMpad | 0x0001 ),
94 Model_SIMpad_SL4 = ( Model_SIMpad | 0x0002 ), 94 Model_SIMpad_SL4 = ( Model_SIMpad | 0x0002 ),
95 Model_SIMpad_SLC = ( Model_SIMpad | 0x0003 ), 95 Model_SIMpad_SLC = ( Model_SIMpad | 0x0003 ),
96 Model_SIMpad_TSinus = ( Model_SIMpad | 0x0004 ), 96 Model_SIMpad_TSinus = ( Model_SIMpad | 0x0004 ),
97 97
98 Model_Ramses = ( 4 << 16 ), 98 Model_Ramses = ( 4 << 16 ),
99 99
100 Model_Ramses_All = ( Model_Ramses | 0xffff ), 100 Model_Ramses_All = ( Model_Ramses | 0xffff ),
101 Model_Ramses_MNCI = ( Model_Ramses | 0x0001 ), 101 Model_Ramses_MNCI = ( Model_Ramses | 0x0001 ),
102 Model_Ramses_MNCIRX = ( Model_Ramses | 0x0002 ), 102 Model_Ramses_MNCIRX = ( Model_Ramses | 0x0002 ),
103 103
104 Model_Yopy = ( 5 << 16 ), 104 Model_Yopy = ( 5 << 16 ),
105 105
106 Model_Yopy_All = ( Model_Yopy | 0xffff ), 106 Model_Yopy_All = ( Model_Yopy | 0xffff ),
107 Model_Yopy_3000 = ( Model_Yopy | 0x0001 ), 107 Model_Yopy_3000 = ( Model_Yopy | 0x0001 ),
108 Model_Yopy_3500 = ( Model_Yopy | 0x0002 ), 108 Model_Yopy_3500 = ( Model_Yopy | 0x0002 ),
109 Model_Yopy_3700 = ( Model_Yopy | 0x0003 ), 109 Model_Yopy_3700 = ( Model_Yopy | 0x0003 ),
110 110
111 Model_Beagle = ( 6 << 16 ), 111 Model_Beagle = ( 6 << 16 ),
112 112
113 Model_Beagle_All = ( Model_Beagle | 0xffff ), 113 Model_Beagle_All = ( Model_Beagle | 0xffff ),
114 Model_Beagle_PA100 = ( Model_Beagle | 0x0001 ), 114 Model_Beagle_PA100 = ( Model_Beagle | 0x0001 ),
115 115
116 Model_GenuineIntel = ( 7 << 16 ), 116 Model_GenuineIntel = ( 7 << 16 ),
117 117
118 Model_MyPal = ( 8 << 16 ), 118 Model_MyPal = ( 8 << 16 ),
119 119
120 Model_MyPal_All = ( Model_MyPal | 0xffff ), 120 Model_MyPal_All = ( Model_MyPal | 0xffff ),
121 Model_MyPal_620 = ( Model_MyPal | 0x0001 ), 121 Model_MyPal_620 = ( Model_MyPal | 0x0001 ),
122 Model_MyPal_716 = ( Model_MyPal | 0x0002 ), 122 Model_MyPal_716 = ( Model_MyPal | 0x0002 ),
123 Model_MyPal_730 = ( Model_MyPal | 0x0003 ) 123 Model_MyPal_730 = ( Model_MyPal | 0x0003 ),
124
125 Model_HTC = ( 9 << 16 ),
126 Model_HTC_All = ( Model_HTC | 0xffff ),
127 Model_HTC_Universal = ( Model_HTC | 0x0001 )
124}; 128};
125 129
126/** 130/**
127 * The vendor of the device 131 * The vendor of the device
128 */ 132 */
129enum OVendor { 133enum OVendor {
130 Vendor_Unknown, 134 Vendor_Unknown,
131 135
132 Vendor_HP, 136 Vendor_HP,
133 Vendor_Sharp, 137 Vendor_Sharp,
134 Vendor_SIEMENS, 138 Vendor_SIEMENS,
135 Vendor_MundN, 139 Vendor_MundN,
136 Vendor_GMate, 140 Vendor_GMate,
137 Vendor_MasterIA, 141 Vendor_MasterIA,
138 Vendor_GenuineIntel, 142 Vendor_GenuineIntel,
139 Vendor_Asus 143 Vendor_Asus,
144 Vendor_HTC
140}; 145};
141 146
142/** 147/**
143 * The System used 148 * The System used
144 */ 149 */
145enum OSystem { 150enum OSystem {
146 System_Unknown, 151 System_Unknown,
147 152
148 System_Familiar, 153 System_Familiar,
149 System_Zaurus, 154 System_Zaurus,
150 System_OpenZaurus, 155 System_OpenZaurus,
151 System_Linupy, 156 System_Linupy,
152 System_OpenEmbedded, 157 System_OpenEmbedded,
153 System_PC 158 System_PC
154}; 159};
155 160
156typedef struct { 161typedef struct {
157 OSystem system; 162 OSystem system;
158 char* sysstr; 163 char* sysstr;
159 char* sysvfile; 164 char* sysvfile;
160} ODistribution; 165} ODistribution;
161 166
162extern ODistribution distributions[]; 167extern ODistribution distributions[];
163 168
164 169
165enum OLedState { 170enum OLedState {
166 Led_Off, 171 Led_Off,
167 Led_On, 172 Led_On,
168 Led_BlinkSlow, 173 Led_BlinkSlow,
169 Led_BlinkFast 174 Led_BlinkFast
170}; 175};
171 176
172enum OLed { 177enum OLed {
173 Led_Mail, 178 Led_Mail,
174 Led_Power, 179 Led_Power,
175 Led_BlueTooth 180 Led_BlueTooth
176}; 181};
177 182
178enum OHardKey { 183enum OHardKey {
179 HardKey_Datebook = Qt::Key_F9, 184 HardKey_Datebook = Qt::Key_F9,
180 HardKey_Contacts = Qt::Key_F10, 185 HardKey_Contacts = Qt::Key_F10,
181 HardKey_Menu = Qt::Key_F11, 186 HardKey_Menu = Qt::Key_F11,
182 HardKey_Home = Qt::Key_F12, 187 HardKey_Home = Qt::Key_F12,
183 HardKey_Mail = Qt::Key_F13, 188 HardKey_Mail = Qt::Key_F13,
184 HardKey_Record = Qt::Key_F24, 189 HardKey_Record = Qt::Key_F24,
185 HardKey_Suspend = Qt::Key_F34, 190 HardKey_Suspend = Qt::Key_F34,
186 HardKey_Backlight = Qt::Key_F35, 191 HardKey_Backlight = Qt::Key_F35,
187 HardKey_Action = Qt::Key_F10, 192 HardKey_Action = Qt::Key_F10,
188 HardKey_OK = Qt::Key_F11, 193 HardKey_OK = Qt::Key_F11,
189 HardKey_End = Qt::Key_F12, 194 HardKey_End = Qt::Key_F12,
190}; 195};
191 196
192enum ODirection { 197enum ODirection {
193 CW = 0, 198 CW = 0,
194 CCW = 1, 199 CCW = 1,
195 Flip = 2, 200 Flip = 2,
196}; 201};
197 202
198enum OHingeStatus { 203enum OHingeStatus {
199 CASE_CLOSED = 3, 204 CASE_CLOSED = 3,
200 CASE_PORTRAIT = 2, 205 CASE_PORTRAIT = 2,
201 CASE_LANDSCAPE = 0, 206 CASE_LANDSCAPE = 0,
202 CASE_UNKNOWN = 1, 207 CASE_UNKNOWN = 1,
203}; 208};
204 209
205/* default button for qvfb or such 210/* default button for qvfb or such
206 * see odevice.cpp for details. 211 * see odevice.cpp for details.
207 * hint: manage a user defined button for qvfb? 212 * hint: manage a user defined button for qvfb?
208 * alwin 213 * alwin
209 */ 214 */
210struct default_button { 215struct default_button {
211 Qt::Key code; 216 Qt::Key code;
212 char *utext; 217 char *utext;
213 char *pix; 218 char *pix;
214 char *fpressedservice; 219 char *fpressedservice;
215 char *fpressedaction; 220 char *fpressedaction;
216 char *fheldservice; 221 char *fheldservice;
217 char *fheldaction; 222 char *fheldaction;
218}; 223};
219 224
220/** 225/**
221 * A singleton which gives informations about device specefic option 226 * A singleton which gives informations about device specefic option
222 * like the Hardware used, LEDs, the Base Distribution and 227 * like the Hardware used, LEDs, the Base Distribution and
223 * hardware key mappings. 228 * hardware key mappings.
224 * 229 *
225 * @short A small class for device specific options 230 * @short A small class for device specific options
226 * @see QObject 231 * @see QObject
227 * @author Robert Griebl 232 * @author Robert Griebl
228 * @version 1.0 233 * @version 1.0
229 */ 234 */
230class ODevice : public QObject 235class ODevice : public QObject
231{ 236{
232 Q_OBJECT 237 Q_OBJECT
233 238
234private: 239private:
235 /* disable copy */ 240 /* disable copy */
236 ODevice ( const ODevice & ); 241 ODevice ( const ODevice & );
237 242
238protected: 243protected:
239 ODevice(); 244 ODevice();
240 virtual void init(const QString&); 245 virtual void init(const QString&);
241 virtual void initButtons(); 246 virtual void initButtons();
242 static void sendSuspendmsg(); 247 static void sendSuspendmsg();
243 248
244 ODeviceData *d; 249 ODeviceData *d;
245 250
246public: 251public:
247 // sandman do we want to allow destructions? -zecke? 252 // sandman do we want to allow destructions? -zecke?
248 virtual ~ODevice(); 253 virtual ~ODevice();
249 static ODevice *inst(); 254 static ODevice *inst();
250 255
251 // information 256 // information
252 QString modelString() const; 257 QString modelString() const;
253 OModel model() const; 258 OModel model() const;
254 inline OModel series() const { return (OModel) ( model() & Model_Series_Mask ); } 259 inline OModel series() const { return (OModel) ( model() & Model_Series_Mask ); }
255 260
256 QString vendorString() const; 261 QString vendorString() const;
257 OVendor vendor() const; 262 OVendor vendor() const;
258 263
259 QString systemString() const; 264 QString systemString() const;
260 OSystem system() const; 265 OSystem system() const;
261 266
262 QString systemVersionString() const; 267 QString systemVersionString() const;
263 268
264 virtual Transformation rotation() const; 269 virtual Transformation rotation() const;
265 virtual ODirection direction() const; 270 virtual ODirection direction() const;
266 271
267 QString qteDriver() const; 272 QString qteDriver() const;
diff --git a/libopie2/opiecore/device/odevice_htc.h b/libopie2/opiecore/device/odevice_htc.h
new file mode 100644
index 0000000..5b707c8
--- a/dev/null
+++ b/libopie2/opiecore/device/odevice_htc.h
@@ -0,0 +1,154 @@
1/*
2                 This file is part of the Opie Project
3              Copyright (C) 2002-2005 The Opie Team <opie-devel@handhelds.org>
4 =. Copyright (C) 2002-2005 Michael 'Mickey' Lauer <mickey@Vanille.de>
5 .=l.
6           .>+-=
7 _;:,     .>    :=|. This program is free software; you can
8.> <`_,   >  .   <= redistribute it and/or modify it under
9:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
10.="- .-=="i,     .._ License as published by the Free Software
11 - .   .-<_>     .<> Foundation; version 2 of the License.
12     ._= =}       :
13    .%`+i>       _;_.
14    .i_,=:_.      -<s. This program is distributed in the hope that
15     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
16    : ..    .:,     . . . without even the implied warranty of
17    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
18  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
19..}^=.=       =       ; Library General Public License for more
20++=   -.     .`     .: details.
21 :     =  ...= . :.=-
22 -.   .:....=;==+<; You should have received a copy of the GNU
23  -_. . .   )=.  = Library General Public License along with
24    --        :-=` this library; see the file COPYING.LIB.
25 If not, write to the Free Software Foundation,
26 Inc., 59 Temple Place - Suite 330,
27 Boston, MA 02111-1307, USA.
28*/
29
30#ifndef ODEVICE_HTC
31#define ODEVICE_HTC
32
33#include "odevice_abstractmobiledevice.h"
34
35/* QT */
36#include <qfile.h>
37#include <qwindowsystem_qws.h>
38
39#ifndef ARRAY_SIZE
40#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
41#endif
42
43// _IO and friends are only defined in kernel headers ...
44#define OD_IOC(dir,type,number,size) (( dir << 30 ) | ( type << 8 ) | ( number ) | ( size << 16 ))
45#define OD_IO(type,number) OD_IOC(0,type,number,0)
46#define OD_IOW(type,number,size) OD_IOC(1,type,number,sizeof(size))
47#define OD_IOR(type,number,size) OD_IOC(2,type,number,sizeof(size))
48#define OD_IORW(type,number,size) OD_IOC(3,type,number,sizeof(size))
49
50// Audio
51#define SHARP_DEV_IOCTL_COMMAND_START 0x5680
52
53#define SHARP_BUZZER_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START)
54#define SHARP_BUZZER_MAKESOUND (SHARP_BUZZER_IOCTL_START)
55
56#define SHARP_BUZ_TOUCHSOUND 1 /* touch panel sound */
57#define SHARP_BUZ_KEYSOUND 2 /* key sound */
58#define SHARP_BUZ_SCHEDULE_ALARM 11 /* schedule alarm */
59
60#define SHARP_BUZZER_SETVOLUME (SHARP_BUZZER_IOCTL_START+1)
61#define SHARP_BUZZER_GETVOLUME (SHARP_BUZZER_IOCTL_START+2)
62#define SHARP_BUZZER_ISSUPPORTED (SHARP_BUZZER_IOCTL_START+3)
63#define SHARP_BUZZER_SETMUTE (SHARP_BUZZER_IOCTL_START+4)
64#define SHARP_BUZZER_STOPSOUND (SHARP_BUZZER_IOCTL_START+5)
65
66// LED
67#define SHARP_LED_IOCTL_START (SHARP_DEV_IOCTL_COMMAND_START)
68#define SHARP_LED_SETSTATUS (SHARP_LED_IOCTL_START+1)
69#define SHARP_LED_MAIL_EXISTS 9 /* mail status (exists or not) */
70
71#define LED_MAIL_NO_UNREAD_MAIL 0 /* for SHARP_LED_MAIL_EXISTS */
72#define LED_MAIL_NEWMAIL_EXISTS 1 /* for SHARP_LED_MAIL_EXISTS */
73#define LED_MAIL_UNREAD_MAIL_EX 2 /* for SHARP_LED_MAIL_EXISTS */
74
75// Rotation and Power Management
76#define SHARP_IOCTL_GET_ROTATION 0x413c
77
78#define APM_IOCGEVTSRC OD_IOR( 'A', 203, int )
79#define APM_IOCSEVTSRC OD_IORW( 'A', 204, int )
80#define APM_EVT_POWER_BUTTON (1 << 0)
81
82// Brightness Embedix
83#define SHARP_FL_IOCTL_DEVICE "/dev/sharp_fl"
84#define SHARP_FL_IOCTL_ON 1
85#define SHARP_FL_IOCTL_OFF 2
86#define SHARP_FL_IOCTL_STEP_CONTRAST 100
87#define SHARP_FL_IOCTL_GET_STEP_CONTRAST 101
88#define SHARP_FL_IOCTL_GET_STEP 102
89
90// Vesa Standard
91#define FB_BLANK_UNBLANK 0
92#define FB_BLANK_POWERDOWN 4
93
94namespace Opie {
95namespace Core {
96namespace Internal {
97
98class HTC : public OAbstractMobileDevice, public QWSServer::KeyboardFilter
99{
100 Q_OBJECT
101
102 protected:
103 virtual void init(const QString&);
104 virtual void initButtons();
105 void initHingeSensor();
106
107 protected slots:
108 void hingeSensorTriggered();
109 void systemMessage( const QCString &msg, const QByteArray & );
110
111 public:
112 virtual bool setDisplayBrightness( int b );
113 virtual bool setDisplayStatus( bool on );
114 virtual int displayBrightnessResolution() const;
115
116 virtual void playAlarmSound();
117 virtual void playKeySound();
118 virtual void playTouchSound();
119
120 virtual QValueList <OLed> ledList() const;
121 virtual QValueList <OLedState> ledStateList ( OLed led ) const;
122 virtual OLedState ledState( OLed led ) const;
123 virtual bool setLedState( OLed led, OLedState st );
124
125 virtual bool hasHingeSensor() const;
126 virtual OHingeStatus readHingeSensor() const;
127
128 virtual Transformation rotation() const;
129 virtual ODirection direction() const;
130 virtual bool suspend();
131
132 protected:
133 virtual void buzzer( int snd );
134 virtual bool filter( int unicode, int keycode, int modifiers, bool isPress, bool autoRepeat );
135
136 QString m_backlightdev;
137 OLedState m_leds[1];
138 bool m_embedix;
139 QFile m_hinge;
140};
141
142struct htc_button {
143 Qt::Key code;
144 char *utext;
145 char *pix;
146 char *fpressedservice;
147 char *fpressedaction;
148 char *fheldservice;
149 char *fheldaction;
150};
151}
152}
153}
154#endif
diff --git a/mkspecs/qws/linux-htc-g++/qmake.conf b/mkspecs/qws/linux-htc-g++/qmake.conf
new file mode 100644
index 0000000..76a0ad5
--- a/dev/null
+++ b/mkspecs/qws/linux-htc-g++/qmake.conf
@@ -0,0 +1,81 @@
1#
2# $Id$
3#
4# qmake configuration for linux-g++ using the arm-linux-g++ crosscompiler
5#
6
7 MAKEFILE_GENERATOR= UNIX
8 TEMPLATE = app
9 CONFIG += qt link_prl
10
11 QMAKE_CC = $(CCACHE) $(DISTCC) $(shell which arm-linux-gcc)
12 QMAKE_LEX = flex
13 QMAKE_LEXFLAGS =
14 QMAKE_YACC = yacc
15 QMAKE_YACCFLAGS = -d
16 QMAKE_CFLAGS = -pipe $(CFLAGS_EXTRA)
17 QMAKE_CFLAGS_WARN_ON= -Wall -W
18 QMAKE_CFLAGS_WARN_OFF=
19 QMAKE_CFLAGS_RELEASE= $(if $(CFLAGS_RELEASE),$(CFLAGS_RELEASE), -O2)
20 QMAKE_CFLAGS_DEBUG= -g
21 QMAKE_CFLAGS_SHLIB= -fPIC
22 QMAKE_CFLAGS_YACC= -Wno-unused -Wno-parentheses
23 QMAKE_CFLAGS_THREAD= -D_REENTRANT
24
25 QMAKE_CXX = $(CCACHE) $(DISTCC) $(shell which arm-linux-g++) -DQT_QWS_IPAQ
26 QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -DQWS -fno-exceptions -fno-rtti $(CXXFLAGS_EXTRA)
27 QMAKE_CXXFLAGS_WARN_ON= $$QMAKE_CFLAGS_WARN_ON
28 QMAKE_CXXFLAGS_WARN_OFF= $$QMAKE_CFLAGS_WARN_OFF
29 QMAKE_CXXFLAGS_RELEASE= $$QMAKE_CFLAGS_RELEASE
30 QMAKE_CXXFLAGS_DEBUG= $$QMAKE_CFLAGS_DEBUG
31 QMAKE_CXXFLAGS_SHLIB= $$QMAKE_CFLAGS_SHLIB
32 QMAKE_CXXFLAGS_YACC= $$QMAKE_CFLAGS_YACC
33 QMAKE_CXXFLAGS_THREAD= $$QMAKE_CFLAGS_THREAD
34
35 QMAKE_INCDIR =
36 QMAKE_LIBDIR =
37 QMAKE_INCDIR_X11=
38 QMAKE_LIBDIR_X11=
39 QMAKE_INCDIR_QT = $(QTDIR)/include
40 QMAKE_LIBDIR_QT = $(QTDIR)/lib
41 QMAKE_INCDIR_OPENGL= /usr/X11R6/include
42 QMAKE_LIBDIR_OPENGL= /usr/X11R6/lib
43 QMAKE_INCDIR_QTOPIA= $(QPEDIR)/include
44 QMAKE_LIBDIR_QTOPIA= $(QPEDIR)/lib
45
46 QMAKE_LINK = arm-linux-g++
47 QMAKE_LINK_SHLIB= arm-linux-g++
48 QMAKE_LFLAGS = $(LFLAGS_EXTRA)
49 QMAKE_LFLAGS_RELEASE=
50 QMAKE_LFLAGS_DEBUG=
51QMAKE_LFLAGS_SHLIB = -shared
52QMAKE_LFLAGS_PLUGIN = $$QMAKE_LFLAGS_SHLIB
53QMAKE_LFLAGS_SONAME = -Wl,-soname,
54QMAKE_LFLAGS_THREAD =
55QMAKE_RPATH = -Wl,-rpath-link,
56
57 QMAKE_LIBS = $(LIBS_EXTRA)
58QMAKE_LIBS_DYNLOAD = -ldl
59 QMAKE_LIBS_X11 =
60 QMAKE_LIBS_X11SM=
61 QMAKE_LIBS_QT = -lqte
62QMAKE_LIBS_QT_THREAD = -lqte-mt
63 QMAKE_LIBS_QT_OPENGL= -lqgl
64 QMAKE_LIBS_QTOPIA= -lqtopia -lqpe
65QMAKE_LIBS_THREAD = -lpthread
66
67 QMAKE_MOC = $(QTDIR)/bin/moc
68 QMAKE_UIC = $(QTDIR)/bin/uic
69
70 QMAKE_AR = ar cqs
71 QMAKE_RANLIB =
72
73 QMAKE_TAR = tar -cf
74 QMAKE_GZIP = gzip -9f
75
76 QMAKE_COPY = cp -f
77 QMAKE_MOVE = mv -f
78 QMAKE_DEL_FILE = rm -f
79 QMAKE_DEL_DIR = rmdir
80 QMAKE_CHK_DIR_EXISTS= test -d
81 QMAKE_MKDIR = mkdir -p