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,25 +1,26 @@
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
diff --git a/Vars.make b/Vars.make
index b99da70..457f867 100644
--- a/Vars.make
+++ b/Vars.make
@@ -37,32 +37,35 @@ endif
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
diff --git a/config.in b/config.in
index e979966..93bdcb2 100644
--- a/config.in
+++ b/config.in
@@ -23,32 +23,35 @@ choice
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
@@ -89,50 +92,53 @@ config QUICKLAUNCH_PATH
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
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
@@ -24,32 +24,33 @@
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
@@ -131,32 +132,34 @@ ODevice *ODevice::inst()
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 }
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
@@ -107,49 +107,54 @@ enum OModel {
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
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