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,57 +1,58 @@
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)
diff --git a/Vars.make b/Vars.make
index b99da70..457f867 100644
--- a/Vars.make
+++ b/Vars.make
@@ -5,96 +5,99 @@ ifeq ($(OPIEDIR),)
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/;')
diff --git a/config.in b/config.in
index e979966..93bdcb2 100644
--- a/config.in
+++ b/config.in
@@ -1,170 +1,176 @@
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
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,87 +1,88 @@
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 ){
@@ -99,96 +100,98 @@ struct 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
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
@@ -75,113 +75,118 @@ enum OModel {
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,
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