summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Rules.make3
-rw-r--r--config.in4
-rw-r--r--library/qpeapplication.h4
-rw-r--r--library/qt_override.cpp9
4 files changed, 18 insertions, 2 deletions
diff --git a/Rules.make b/Rules.make
index 7fa0178..568f6cf 100644
--- a/Rules.make
+++ b/Rules.make
@@ -1,146 +1,149 @@
1.phony: force 1.phony: force
2force: 2force:
3 3
4$(configs) : 4$(configs) :
5 $(call makecfg,$@) 5 $(call makecfg,$@)
6 6
7$(TOPDIR)/gen.pro : $(TOPDIR)/.config 7$(TOPDIR)/gen.pro : $(TOPDIR)/.config
8 echo > $@ 8 echo > $@
9# added for threaded version 9# added for threaded version
10ifneq ($(CONFIG_THREADED),) 10ifneq ($(CONFIG_THREADED),)
11 echo CONFIG += thread >> $@ 11 echo CONFIG += thread >> $@
12else 12else
13 echo CONFIG -= thread >> $@ 13 echo CONFIG -= thread >> $@
14endif 14endif
15ifneq ($(CONFIG_DEBUG),) 15ifneq ($(CONFIG_DEBUG),)
16 echo CONFIG += debug >> $@ 16 echo CONFIG += debug >> $@
17 echo CONFIG -= release >> $@ 17 echo CONFIG -= release >> $@
18 echo DEFINES += "QT_COMPONENT_DEBUG=2" >> $@ 18 echo DEFINES += "QT_COMPONENT_DEBUG=2" >> $@
19 echo DEFINES += QT_DEBUG >> $@ 19 echo DEFINES += QT_DEBUG >> $@
20else 20else
21 echo CONFIG -= debug >> $@ 21 echo CONFIG -= debug >> $@
22 echo CONFIG += release >> $@ 22 echo CONFIG += release >> $@
23 echo DEFINES += "OPIE_NO_DEBUG" >> $@ 23 echo DEFINES += "OPIE_NO_DEBUG" >> $@
24endif 24endif
25 25
26ifeq ($(filter 3.%,$(QTE_VERSION)),) # not qt3 26ifeq ($(filter 3.%,$(QTE_VERSION)),) # not qt3
27 echo CONFIG -= qt3 >> $@ 27 echo CONFIG -= qt3 >> $@
28else 28else
29 echo CONFIG += qt3 >> $@ 29 echo CONFIG += qt3 >> $@
30endif 30endif
31ifneq ($(CONFIG_QUICK_LAUNCH),) 31ifneq ($(CONFIG_QUICK_LAUNCH),)
32 echo contains\( CONFIG, quick-app \) \{ >> $@ 32 echo contains\( CONFIG, quick-app \) \{ >> $@
33 echo CONFIG -= quick-app >> $@ 33 echo CONFIG -= quick-app >> $@
34 echo CONFIG += quick-app-lib >> $@ 34 echo CONFIG += quick-app-lib >> $@
35 echo QUICKLAUNCH_PATH = $(CONFIG_QUICKLAUNCH_PATH) >> $@ 35 echo QUICKLAUNCH_PATH = $(CONFIG_QUICKLAUNCH_PATH) >> $@
36 echo \} >> $@ 36 echo \} >> $@
37else 37else
38 echo contains\( CONFIG, quick-app \) \{ >> $@ 38 echo contains\( CONFIG, quick-app \) \{ >> $@
39 echo CONFIG -= quick-app >> $@ 39 echo CONFIG -= quick-app >> $@
40 echo CONFIG += quick-app-bin >> $@ 40 echo CONFIG += quick-app-bin >> $@
41 echo \} >> $@ 41 echo \} >> $@
42endif 42endif
43ifeq ($(CONFIG_SQL_PIM_BACKEND),y) 43ifeq ($(CONFIG_SQL_PIM_BACKEND),y)
44 echo ENABLE_SQL_PIM_BACKEND=$(CONFIG_SQL_PIM_BACKEND) >> $@ 44 echo ENABLE_SQL_PIM_BACKEND=$(CONFIG_SQL_PIM_BACKEND) >> $@
45else 45else
46 echo ENABLE_SQL_PIM_BACKEND=n >> $@ 46 echo ENABLE_SQL_PIM_BACKEND=n >> $@
47endif 47endif
48ifeq ($(CONFIG_OPIE_NO_OVERRIDE_QT),y) 48ifeq ($(CONFIG_OPIE_NO_OVERRIDE_QT),y)
49 echo CONFIG += no-override >> $@ 49 echo CONFIG += no-override >> $@
50endif 50endif
51ifeq ($(CONFIG_OPIE_NO_ERASERECT_FIX),y)
52 echo DEFINES += OPIE_NO_ERASE_RECT_HACKFIX >> $@
53endif
51ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y) 54ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y)
52 echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@ 55 echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@
53endif 56endif
54ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y) 57ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y)
55 echo DEFINES += OPIE_NO_BUILTIN_CALIBRATE >> $@ 58 echo DEFINES += OPIE_NO_BUILTIN_CALIBRATE >> $@
56endif 59endif
57ifeq ($(CONFIG_USE_REALTIME_AUDIO_THREAD),y) 60ifeq ($(CONFIG_USE_REALTIME_AUDIO_THREAD),y)
58 echo DEFINES += USE_REALTIME_AUDIO_THREAD >> $@ 61 echo DEFINES += USE_REALTIME_AUDIO_THREAD >> $@
59endif 62endif
60ifeq ($(CONFIG_USE_FILE_NOTIFICATION),y) 63ifeq ($(CONFIG_USE_FILE_NOTIFICATION),y)
61 echo DEFINES += USE_FILE_NOTIFICATION >> $@ 64 echo DEFINES += USE_FILE_NOTIFICATION >> $@
62endif 65endif
63ifeq ($(CONFIG_QT_QWS_ALLOW_CLOCK),y) 66ifeq ($(CONFIG_QT_QWS_ALLOW_CLOCK),y)
64 echo DEFINES += QT_QWS_ALLOW_OVERCLOCK >> $@ 67 echo DEFINES += QT_QWS_ALLOW_OVERCLOCK >> $@
65endif 68endif
66ifeq ($(CONFIG_OPIE_HIGH_RES_SMALL_PHY),y) 69ifeq ($(CONFIG_OPIE_HIGH_RES_SMALL_PHY),y)
67 echo DEFINES += OPIE_HIGH_RES_SMALL_PHY >> $@ 70 echo DEFINES += OPIE_HIGH_RES_SMALL_PHY >> $@
68endif 71endif
69ifeq ($(CONFIG_OPIE_NEW_ALLOC),y) 72ifeq ($(CONFIG_OPIE_NEW_ALLOC),y)
70 echo DEFINES += OPIE_NEW_MALLOC >> $@ 73 echo DEFINES += OPIE_NEW_MALLOC >> $@
71endif 74endif
72ifeq ($(CONFIG_OPIE_NO_SOUND_PCM_READ_BITS),y) 75ifeq ($(CONFIG_OPIE_NO_SOUND_PCM_READ_BITS),y)
73 echo DEFINES += OPIE_NO_SOUND_PCM_READ_BITS >> $@ 76 echo DEFINES += OPIE_NO_SOUND_PCM_READ_BITS >> $@
74endif 77endif
75 echo DEFINES += OPIE_SOUND_FRAGMENT_SHIFT=$(CONFIG_OPIE_SOUND_FRAGMENT_SHIFT) >> $@ 78 echo DEFINES += OPIE_SOUND_FRAGMENT_SHIFT=$(CONFIG_OPIE_SOUND_FRAGMENT_SHIFT) >> $@
76ifeq ($(CONFIG_OPIE_WE_VERSION_OVERRIDE),y) 79ifeq ($(CONFIG_OPIE_WE_VERSION_OVERRIDE),y)
77 echo DEFINES += OPIE_WE_VERSION=$(CONFIG_OPIE_WE_VERSION) >> $@ 80 echo DEFINES += OPIE_WE_VERSION=$(CONFIG_OPIE_WE_VERSION) >> $@
78endif 81endif
79# Write LIB dirs and INC dirs... 82# Write LIB dirs and INC dirs...
80ifeq ($(CONFIG_LIBETPAN_DEP),y) 83ifeq ($(CONFIG_LIBETPAN_DEP),y)
81 echo LIBETPAN_LIB_DIR = $(CONFIG_LIBETPAN_LIB_DIR) >> $@ 84 echo LIBETPAN_LIB_DIR = $(CONFIG_LIBETPAN_LIB_DIR) >> $@
82 echo LIBETPAN_INC_DIR = $(CONFIG_LIBETPAN_INC_DIR) >> $@ 85 echo LIBETPAN_INC_DIR = $(CONFIG_LIBETPAN_INC_DIR) >> $@
83endif 86endif
84ifeq ($(CONFIG_LIBPCAP_DEP),y) 87ifeq ($(CONFIG_LIBPCAP_DEP),y)
85 echo LIBPCAP_LIB_DIR = $(CONFIG_LIBPCAP_LIB_DIR) >> $@ 88 echo LIBPCAP_LIB_DIR = $(CONFIG_LIBPCAP_LIB_DIR) >> $@
86 echo LIBPCAP_INC_DIR = $(CONFIG_LIBPCAP_INC_DIR) >> $@ 89 echo LIBPCAP_INC_DIR = $(CONFIG_LIBPCAP_INC_DIR) >> $@
87endif 90endif
88ifeq ($(CONFIG_LIBSQLITE_DEP),y) 91ifeq ($(CONFIG_LIBSQLITE_DEP),y)
89 echo LIBSQLITE_LIB_DIR = $(CONFIG_LIBSQLITE_LIB_DIR) >> $@ 92 echo LIBSQLITE_LIB_DIR = $(CONFIG_LIBSQLITE_LIB_DIR) >> $@
90 echo LIBSQLITE_INC_DIR = $(CONFIG_LIBSQLITE_INC_DIR) >> $@ 93 echo LIBSQLITE_INC_DIR = $(CONFIG_LIBSQLITE_INC_DIR) >> $@
91endif 94endif
92ifeq ($(CONFIG_LIBXINE_DEP),y) 95ifeq ($(CONFIG_LIBXINE_DEP),y)
93 echo LIBXINE_LIB_DIR = $(CONFIG_LIBXINE_LIB_DIR) >> $@ 96 echo LIBXINE_LIB_DIR = $(CONFIG_LIBXINE_LIB_DIR) >> $@
94 echo LIBXINE_INC_DIR = $(CONFIG_LIBXINE_INC_DIR) >> $@ 97 echo LIBXINE_INC_DIR = $(CONFIG_LIBXINE_INC_DIR) >> $@
95endif 98endif
96ifeq ($(CONFIG_LIBIPK_DEP),y) 99ifeq ($(CONFIG_LIBIPK_DEP),y)
97 echo LIBIPK_LIB_DIR = $(CONFIG_LIBIPK_LIB_DIR) >> $@ 100 echo LIBIPK_LIB_DIR = $(CONFIG_LIBIPK_LIB_DIR) >> $@
98 echo LIBIPK_INC_DIR = $(CONFIG_LIBIPK_INC_DIR) >> $@ 101 echo LIBIPK_INC_DIR = $(CONFIG_LIBIPK_INC_DIR) >> $@
99endif 102endif
100ifeq ($(CONFIG_LIBSDK_DEP),y) 103ifeq ($(CONFIG_LIBSDK_DEP),y)
101 echo LIBSDL_LIB_DIR = $(CONFIG_LIBSDL_LIB_DIR) >> $@ 104 echo LIBSDL_LIB_DIR = $(CONFIG_LIBSDL_LIB_DIR) >> $@
102 echo LIBSDL_INC_DIR = $(CONFIG_LIBSDL_INC_DIR) >> $@ 105 echo LIBSDL_INC_DIR = $(CONFIG_LIBSDL_INC_DIR) >> $@
103endif 106endif
104ifeq ($(CONFIG_LIBSWORD_DEP),y) 107ifeq ($(CONFIG_LIBSWORD_DEP),y)
105 echo LIBSWORD_LIB_DIR = $(CONFIG_LIBSWORD_LIB_DIR) >> $@ 108 echo LIBSWORD_LIB_DIR = $(CONFIG_LIBSWORD_LIB_DIR) >> $@
106 echo LIBSWORD_INC_DIR = $(CONFIG_LIBSWORD_INC_DIR) >> $@ 109 echo LIBSWORD_INC_DIR = $(CONFIG_LIBSWORD_INC_DIR) >> $@
107endif 110endif
108$(TOPDIR)/.depends : $(shell if [ -e $(TOPDIR)/config.in ]\; then echo $(TOPDIR)/config.in\; fi\;) $(TOPDIR)/.config $(TOPDIR)/packages 111$(TOPDIR)/.depends : $(shell if [ -e $(TOPDIR)/config.in ]\; then echo $(TOPDIR)/config.in\; fi\;) $(TOPDIR)/.config $(TOPDIR)/packages
109 @echo Generating dependency information... 112 @echo Generating dependency information...
110# add to subdir-y, and add descend rules 113# add to subdir-y, and add descend rules
111 @cat $(TOPDIR)/packages | grep -v '^#' | \ 114 @cat $(TOPDIR)/packages | grep -v '^#' | \
112 awk '{print \ 115 awk '{print \
113 ".PHONY : " $$2 "\n" \ 116 ".PHONY : " $$2 "\n" \
114 "subdir-$$(" $$1 ") += " $$2 "\n\n"; \ 117 "subdir-$$(" $$1 ") += " $$2 "\n\n"; \
115 print $$2 " : " $$2 "/Makefile\n\t$$(call descend,$$@,$(filter-out $$@,$$(filter-out $$@,$$(MAKECMDGOALS))))\n"; }' > $(TOPDIR)/.depends 118 print $$2 " : " $$2 "/Makefile\n\t$$(call descend,$$@,$(filter-out $$@,$$(filter-out $$@,$$(MAKECMDGOALS))))\n"; }' > $(TOPDIR)/.depends
116 cat $(TOPDIR)/packages | grep -v '^#' | \ 119 cat $(TOPDIR)/packages | grep -v '^#' | \
117 perl -ne '($$cfg, $$dir, $$pro) = $$_ =~ /^(\S+)\s+(\S+)\s+(\S+)/; if ( -e "$$dir/$$pro" ) { print "$$dir/Makefile : $$dir/$$pro \$$(QMAKE) \$$(OPIEDIR)/gen.pro \$$(OPIEDIR)/.config\n\t\$$(call makefilegen,\$$@)\n\n"; }' \ 120 perl -ne '($$cfg, $$dir, $$pro) = $$_ =~ /^(\S+)\s+(\S+)\s+(\S+)/; if ( -e "$$dir/$$pro" ) { print "$$dir/Makefile : $$dir/$$pro \$$(QMAKE) \$$(OPIEDIR)/gen.pro \$$(OPIEDIR)/.config\n\t\$$(call makefilegen,\$$@)\n\n"; }' \
118 >> $(TOPDIR)/.depends 121 >> $(TOPDIR)/.depends
119# interpackage dependency generation 122# interpackage dependency generation
120 @cat $(TOPDIR)/packages | \ 123 @cat $(TOPDIR)/packages | \
121 $(TOPDIR)/scripts/deps.pl >> $(TOPDIR)/.depends 124 $(TOPDIR)/scripts/deps.pl >> $(TOPDIR)/.depends
122 125
123$(TOPDIR)/.depends.cfgs: 126$(TOPDIR)/.depends.cfgs:
124# config.in interdependencies 127# config.in interdependencies
125 @echo $(configs) | sed -e 's,/config.in,,g' | ( for i in `cat`; do echo $$i; done ) > dirs 128 @echo $(configs) | sed -e 's,/config.in,,g' | ( for i in `cat`; do echo $$i; done ) > dirs
126 @cat dirs | ( for i in `cat`; do if [ "`cat dirs|grep $$i 2>/dev/null|wc -l`" -ne "1" ]; then deps=`cat dirs|grep $$i| grep -v "^$$i$$"|for i in \`cat|sed -e's,^$(TOPDIR)/,$$(TOPDIR)/,g'\`; do echo $$i/config.in; done`; echo `echo $$i/config.in|sed -e 's,^$(TOPDIR)/,$$(TOPDIR)/,'` : $$deps; fi; done ) >> $@ 129 @cat dirs | ( for i in `cat`; do if [ "`cat dirs|grep $$i 2>/dev/null|wc -l`" -ne "1" ]; then deps=`cat dirs|grep $$i| grep -v "^$$i$$"|for i in \`cat|sed -e's,^$(TOPDIR)/,$$(TOPDIR)/,g'\`; do echo $$i/config.in; done`; echo `echo $$i/config.in|sed -e 's,^$(TOPDIR)/,$$(TOPDIR)/,'` : $$deps; fi; done ) >> $@
127 @-rm -f dirs 130 @-rm -f dirs
128 131
129$(QTDIR)/stamp-headers : 132$(QTDIR)/stamp-headers :
130 @-rm -f $(QTDIR)/stamp-headers* 133 @-rm -f $(QTDIR)/stamp-headers*
131 ( cd $(QTDIR)/include; \ 134 ( cd $(QTDIR)/include; \
132 $(patsubst %,ln -sf ../src/kernel/%;,qgfx_qws.h qwsmouse_qws.h \ 135 $(patsubst %,ln -sf ../src/kernel/%;,qgfx_qws.h qwsmouse_qws.h \
133 qcopchannel_qws.h qwindowsystem_qws.h \ 136 qcopchannel_qws.h qwindowsystem_qws.h \
134 qfontmanager_qws.h qwsdefaultdecoration_qws.h)) 137 qfontmanager_qws.h qwsdefaultdecoration_qws.h))
135 touch $@ 138 touch $@
136 139
137$(QTDIR)/stamp-headers-x11 : 140$(QTDIR)/stamp-headers-x11 :
138 @-rm -f $(QTDIR)/stamp-headers* 141 @-rm -f $(QTDIR)/stamp-headers*
139 cd $(QTDIR)/include; $(patsubst %,ln -sf $(OPIEDIR)/x11/libqpe-x11/qt/%;,qgfx_qws.h qwsmouse_qws.h qcopchannel_qws.h qwindowsystem_qws.h qfontmanager_qws.h qwsdefaultdecoration_qws.h) 142 cd $(QTDIR)/include; $(patsubst %,ln -sf $(OPIEDIR)/x11/libqpe-x11/qt/%;,qgfx_qws.h qwsmouse_qws.h qcopchannel_qws.h qwindowsystem_qws.h qfontmanager_qws.h qwsdefaultdecoration_qws.h)
140 touch $@ 143 touch $@
141 144
142$(OPIEDIR)/stamp-headers : 145$(OPIEDIR)/stamp-headers :
143 @-rm -f $(OPIEDIR)/stamp-headers* 146 @-rm -f $(OPIEDIR)/stamp-headers*
144 mkdir -p $(TOPDIR)/include/qpe \ 147 mkdir -p $(TOPDIR)/include/qpe \
145 $(TOPDIR)/include/qtopia \ 148 $(TOPDIR)/include/qtopia \
146 $(TOPDIR)/include/opie \ 149 $(TOPDIR)/include/opie \
diff --git a/config.in b/config.in
index 99341e6..124bc2a 100644
--- a/config.in
+++ b/config.in
@@ -13,192 +13,196 @@ choice
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_IPAQ 24 config TARGET_IPAQ
25 boolean "iPAQ" 25 boolean "iPAQ"
26 26
27 config TARGET_RAMSES 27 config TARGET_RAMSES
28 boolean "Ramses" 28 boolean "Ramses"
29 29
30 config TARGET_SIMPAD 30 config TARGET_SIMPAD
31 boolean "SIMpad" 31 boolean "SIMpad"
32 32
33 config TARGET_YOPY 33 config TARGET_YOPY
34 boolean "Yopy 3500/3700" 34 boolean "Yopy 3500/3700"
35 35
36endchoice 36endchoice
37 37
38config OPTIMIZE 38config OPTIMIZE
39 boolean "Use optimizations" 39 boolean "Use optimizations"
40 default "y" if ! TARGET_X86 40 default "y" if ! TARGET_X86
41 41
42# added for threaded compile 42# added for threaded compile
43config THREADED 43config THREADED
44 boolean "Enable threaded build" 44 boolean "Enable threaded build"
45 default "n" 45 default "n"
46 46
47config DEBUG 47config DEBUG
48 boolean "Enable debug builds" 48 boolean "Enable debug builds"
49 default n 49 default n
50config RELEASE 50config RELEASE
51 bool 51 bool
52 default y 52 default y
53 depends !DEBUG 53 depends !DEBUG
54 54
55config QUICK_LAUNCH 55config QUICK_LAUNCH
56 boolean "Enable Quick Launch" 56 boolean "Enable Quick Launch"
57 default n if TARGET_X86 57 default n if TARGET_X86
58 default y if ! TARGET_X86 58 default y if ! TARGET_X86
59 59
60config QUICKLAUNCH_PATH 60config QUICKLAUNCH_PATH
61 string "Path to quicklauncher" 61 string "Path to quicklauncher"
62 default "./quicklauncher" if TARGET_X86 62 default "./quicklauncher" if TARGET_X86
63 default "/opt/QtPalmtop/bin/quicklauncher" if ! TARGET_X86 63 default "/opt/QtPalmtop/bin/quicklauncher" if ! TARGET_X86
64 64
65config SPECFILE 65config SPECFILE
66 string 66 string
67 default "qws/linux-generic-g++" if TARGET_X86 && (! X11) 67 default "qws/linux-generic-g++" if TARGET_X86 && (! X11)
68 default "linux-g++" if TARGET_X86 && X11 68 default "linux-g++" if TARGET_X86 && X11
69 default "qws/linux-sharp-g++" if TARGET_SHARP && (! X11) 69 default "qws/linux-sharp-g++" if TARGET_SHARP && (! X11)
70 default "linux-g++" if TARGET_SHARP && X11 70 default "linux-g++" if TARGET_SHARP && X11
71 default "qws/linux-ipaq-g++" if TARGET_IPAQ && (! X11) 71 default "qws/linux-ipaq-g++" if TARGET_IPAQ && (! X11)
72 default "linux-g++" if TARGET_IPAQ && X11 72 default "linux-g++" if TARGET_IPAQ && X11
73 default "qws/linux-ramses-g++" if TARGET_RAMSES && (! X11) 73 default "qws/linux-ramses-g++" if TARGET_RAMSES && (! X11)
74 default "linux-g++" if TARGET_RAMSES && X11 74 default "linux-g++" if TARGET_RAMSES && X11
75 default "qws/linux-simpad-g++" if TARGET_SIMPAD && (! X11) 75 default "qws/linux-simpad-g++" if TARGET_SIMPAD && (! X11)
76 default "linux-g++" if TARGET_SIMPAD && X11 76 default "linux-g++" if TARGET_SIMPAD && X11
77 default "qws/linux-yopy-g++" if TARGET_YOPY && (! X11) 77 default "qws/linux-yopy-g++" if TARGET_YOPY && (! X11)
78 default "qws/macx-generic-g++" if TARGET_MACOSX && (! X11) 78 default "qws/macx-generic-g++" if TARGET_MACOSX && (! X11)
79 79
80config CUSTOMFILE 80config CUSTOMFILE
81 string 81 string
82 default "custom-ipaq.h" if TARGET_IPAQ 82 default "custom-ipaq.h" if TARGET_IPAQ
83 default "custom-sharp.h" if TARGET_SHARP 83 default "custom-sharp.h" if TARGET_SHARP
84 default "custom-ramses.h" if TARGET_RAMSES 84 default "custom-ramses.h" if TARGET_RAMSES
85 default "custom-ipaq.h" if TARGET_SIMPAD 85 default "custom-ipaq.h" if TARGET_SIMPAD
86 default "custom-yopy.h" if TARGET_YOPY 86 default "custom-yopy.h" if TARGET_YOPY
87 87
88config OPTIMIZATIONS 88config OPTIMIZATIONS
89 string "Optimization flags" 89 string "Optimization flags"
90 depends OPTIMIZE 90 depends OPTIMIZE
91 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_IPAQ 91 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_IPAQ
92 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_YOPY 92 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_YOPY
93 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SHARP 93 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SHARP
94 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_RAMSES 94 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_RAMSES
95 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SIMPAD 95 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SIMPAD
96 default "-march=armv5te -mtune=xscale -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_C700 96 default "-march=armv5te -mtune=xscale -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_C700
97 97
98config EXPERIMENTAL 98config EXPERIMENTAL
99 bool "Prompt for development and/or incomplete items" 99 bool "Prompt for development and/or incomplete items"
100 default y 100 default y
101 101
102endmenu 102endmenu
103 103
104menu "Configuration" 104menu "Configuration"
105config OPIE_NO_OVERRIDE_QT 105config OPIE_NO_OVERRIDE_QT
106 boolean "Build Opie against an unpatched version of Qt" 106 boolean "Build Opie against an unpatched version of Qt"
107 default n 107 default n
108 108
109config OPIE_NO_ERASERECT_FIX
110 boolean "Disable Fixup eraseRect for HancomMobileWord,neocal.. to make libopiecore work on Sharps libqpe"
111 default n
112
109config OPIE_NO_BUILTIN_SHUTDOWN 113config OPIE_NO_BUILTIN_SHUTDOWN
110 boolean "Disable the built in shutdown application" 114 boolean "Disable the built in shutdown application"
111 default y 115 default y
112 116
113config OPIE_NO_BUILTIN_CALIBRATE 117config OPIE_NO_BUILTIN_CALIBRATE
114 boolean "Disable the built in calibrate application" 118 boolean "Disable the built in calibrate application"
115 default y if TARGET_YOPY 119 default y if TARGET_YOPY
116 default n if ! TARGET_YOPY 120 default n if ! TARGET_YOPY
117 121
118config OPIE_SOUND_FRAGMENT_SHIFT 122config OPIE_SOUND_FRAGMENT_SHIFT
119 string "The sound fragment used in Opie Player I" 123 string "The sound fragment used in Opie Player I"
120 default "14" if TARGET_IPAQ 124 default "14" if TARGET_IPAQ
121 default "16" if ! TARGET_IPAQ 125 default "16" if ! TARGET_IPAQ
122 126
123config USE_REALTIME_AUDIO_THREAD 127config USE_REALTIME_AUDIO_THREAD
124 boolean "Use a realtime thread in Opie Player I" 128 boolean "Use a realtime thread in Opie Player I"
125 default y if TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP 129 default y if TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP
126 default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP) 130 default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP)
127 131
128config QT_QWS_ALLOW_OVERCLOCK 132config QT_QWS_ALLOW_OVERCLOCK
129 boolean "Allow the user to overclock the device" 133 boolean "Allow the user to overclock the device"
130 depends TARGET_RAMSES 134 depends TARGET_RAMSES
131 default n 135 default n
132 136
133config OPIE_HIGH_RES_SMALL_PHY 137config OPIE_HIGH_RES_SMALL_PHY
134 boolean "Resolution is bigger than physical screen" 138 boolean "Resolution is bigger than physical screen"
135 default y if TARGET_C700 139 default y if TARGET_C700
136 default n if ! TARGET_C700 140 default n if ! TARGET_C700
137 141
138config USE_FILE_NOTIFICATION 142config USE_FILE_NOTIFICATION
139 boolean "Substitute (some) polling interfaces with OFileNotifier" 143 boolean "Substitute (some) polling interfaces with OFileNotifier"
140 default y 144 default y
141 145
142config OPIE_NEW_ALLOC 146config OPIE_NEW_ALLOC
143 boolean "Use malloc and free for the implementation" 147 boolean "Use malloc and free for the implementation"
144 default y if TARGET_RAMSES || TARGET_IPAQ || TARGET_SIMPAD || TARGET_SHARP 148 default y if TARGET_RAMSES || TARGET_IPAQ || TARGET_SIMPAD || TARGET_SHARP
145 default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP) 149 default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP)
146 150
147config OPIE_NO_SOUND_PCM_READ_BITS 151config OPIE_NO_SOUND_PCM_READ_BITS
148 boolean "There is not a pcm_read_bits io control" 152 boolean "There is not a pcm_read_bits io control"
149 default y if TARGET_SHARP 153 default y if TARGET_SHARP
150 default n if ! TARGET_SHARP 154 default n if ! TARGET_SHARP
151endmenu 155endmenu
152 156
153menu "Dependencies" 157menu "Dependencies"
154 source dependencies.in 158 source dependencies.in
155endmenu 159endmenu
156 160
157menu "Base" 161menu "Base"
158 choice 162 choice
159 prompt "Qpe Library Selection" 163 prompt "Qpe Library Selection"
160 default LIBQPE 164 default LIBQPE
161 source library/config.in 165 source library/config.in
162 source x11/config.in 166 source x11/config.in
163 endchoice 167 endchoice
164 source libopie/config.in 168 source libopie/config.in
165 169
166 source libopie2/config.in 170 source libopie2/config.in
167 source libqtaux/config.in 171 source libqtaux/config.in
168 source rsync/config.in 172 source rsync/config.in
169 source core/opie-login/config.in 173 source core/opie-login/config.in
170 source core/opiealarm/config.in 174 source core/opiealarm/config.in
171 source core/tools/quicklauncher/config.in 175 source core/tools/quicklauncher/config.in
172 source core/launcher/config.in 176 source core/launcher/config.in
173 source core/symlinker/config.in 177 source core/symlinker/config.in
174endmenu 178endmenu
175 179
176comment "" 180comment ""
177 181
178menu "Applets" 182menu "Applets"
179 source core/applets/config.in 183 source core/applets/config.in
180 source noncore/applets/config.in 184 source noncore/applets/config.in
181endmenu 185endmenu
182 186
183menu "Apps" 187menu "Apps"
184 source core/apps/config.in 188 source core/apps/config.in
185 source noncore/apps/config.in 189 source noncore/apps/config.in
186endmenu 190endmenu
187 191
188menu "Communications and Networking" 192menu "Communications and Networking"
189 source noncore/comm/config.in 193 source noncore/comm/config.in
190 source noncore/net/config.in 194 source noncore/net/config.in
191endmenu 195endmenu
192 196
193menu "Games" 197menu "Games"
194 source noncore/games/config.in 198 source noncore/games/config.in
195endmenu 199endmenu
196 200
197menu "Graphics and Multimedia" 201menu "Graphics and Multimedia"
198 source freetype/config.in 202 source freetype/config.in
199 source noncore/graphics/config.in 203 source noncore/graphics/config.in
200 source core/multimedia/config.in 204 source core/multimedia/config.in
201 source noncore/multimedia/config.in 205 source noncore/multimedia/config.in
202endmenu 206endmenu
203 207
204menu "Input methods" 208menu "Input methods"
diff --git a/library/qpeapplication.h b/library/qpeapplication.h
index 8c85ad0..d2782e4 100644
--- a/library/qpeapplication.h
+++ b/library/qpeapplication.h
@@ -71,194 +71,196 @@ class QWSKeyEvent;
71 control whether the application takes control of the device's 71 control whether the application takes control of the device's
72 physical buttons (e.g. application launch keys). The stylus' mode of 72 physical buttons (e.g. application launch keys). The stylus' mode of
73 operation is set with setStylusOperation() and retrieved with 73 operation is set with setStylusOperation() and retrieved with
74 stylusOperation(). There are also setInputMethodHint() and 74 stylusOperation(). There are also setInputMethodHint() and
75 inputMethodHint() functions. 75 inputMethodHint() functions.
76 76
77 \ingroup qtopiaemb 77 \ingroup qtopiaemb
78*/ 78*/
79class QPEApplication : public QApplication 79class QPEApplication : public QApplication
80{ 80{
81 Q_OBJECT 81 Q_OBJECT
82public: 82public:
83 QPEApplication( int& argc, char **argv, Type=GuiClient ); 83 QPEApplication( int& argc, char **argv, Type=GuiClient );
84 ~QPEApplication(); 84 ~QPEApplication();
85 85
86 static QString qpeDir(); 86 static QString qpeDir();
87 static QString documentDir(); 87 static QString documentDir();
88 void applyStyle(); 88 void applyStyle();
89 void reset(); 89 void reset();
90 static int defaultRotation(); 90 static int defaultRotation();
91 static void setDefaultRotation(int r); 91 static void setDefaultRotation(int r);
92 static void setCurrentRotation(int r); 92 static void setCurrentRotation(int r);
93 static void setCurrentMode(int x, int y, int depth ); 93 static void setCurrentMode(int x, int y, int depth );
94 static void grabKeyboard(); 94 static void grabKeyboard();
95 static void ungrabKeyboard(); 95 static void ungrabKeyboard();
96 96
97 enum StylusMode { 97 enum StylusMode {
98 LeftOnly, 98 LeftOnly,
99 RightOnHold 99 RightOnHold
100 // RightOnHoldLeftDelayed, etc. 100 // RightOnHoldLeftDelayed, etc.
101 }; 101 };
102 static void setStylusOperation( QWidget*, StylusMode ); 102 static void setStylusOperation( QWidget*, StylusMode );
103 static StylusMode stylusOperation( QWidget* ); 103 static StylusMode stylusOperation( QWidget* );
104 104
105 enum InputMethodHint { 105 enum InputMethodHint {
106 Normal, 106 Normal,
107 AlwaysOff, 107 AlwaysOff,
108 AlwaysOn 108 AlwaysOn
109 }; 109 };
110 110
111 enum screenSaverHint { 111 enum screenSaverHint {
112 Disable = 0, 112 Disable = 0,
113 DisableLightOff = 1, 113 DisableLightOff = 1,
114 DisableSuspend = 2, 114 DisableSuspend = 2,
115 Enable = 100 115 Enable = 100
116 }; 116 };
117 117
118 static void setInputMethodHint( QWidget *, InputMethodHint ); 118 static void setInputMethodHint( QWidget *, InputMethodHint );
119 static InputMethodHint inputMethodHint( QWidget * ); 119 static InputMethodHint inputMethodHint( QWidget * );
120 120
121 void showMainWidget( QWidget*, bool nomax=FALSE ); 121 void showMainWidget( QWidget*, bool nomax=FALSE );
122 void showMainDocumentWidget( QWidget*, bool nomax=FALSE ); 122 void showMainDocumentWidget( QWidget*, bool nomax=FALSE );
123 static void showDialog( QDialog*, bool nomax=FALSE ); 123 static void showDialog( QDialog*, bool nomax=FALSE );
124 static int execDialog( QDialog*, bool nomax=FALSE ); 124 static int execDialog( QDialog*, bool nomax=FALSE );
125 static void showWidget( QWidget*, bool nomax=FALSE ); 125 static void showWidget( QWidget*, bool nomax=FALSE );
126 /* Merge setTempScreenSaverMode */ 126 /* Merge setTempScreenSaverMode */
127#ifdef QTOPIA_INTERNAL_INITAPP 127#ifdef QTOPIA_INTERNAL_INITAPP
128 void initApp( int argv, char **argv ); 128 void initApp( int argv, char **argv );
129#endif 129#endif
130 130
131 static void setKeepRunning(); 131 static void setKeepRunning();
132 bool keepRunning() const; 132 bool keepRunning() const;
133 133
134 bool keyboardGrabbed() const; 134 bool keyboardGrabbed() const;
135 135
136 int exec(); 136 int exec();
137 137
138signals: 138signals:
139 void clientMoused(); 139 void clientMoused();
140 void timeChanged(); 140 void timeChanged();
141 void clockChanged( bool pm ); 141 void clockChanged( bool pm );
142 void micChanged( bool muted ); 142 void micChanged( bool muted );
143 void volumeChanged( bool muted ); 143 void volumeChanged( bool muted );
144 void appMessage( const QCString& msg, const QByteArray& data); 144 void appMessage( const QCString& msg, const QByteArray& data);
145 void weekChanged( bool startOnMonday ); 145 void weekChanged( bool startOnMonday );
146 void dateFormatChanged( DateFormat ); 146 void dateFormatChanged( DateFormat );
147 void flush(); 147 void flush();
148 void reload(); 148 void reload();
149 /* linkChanged signal */ 149 /* linkChanged signal */
150 150
151private slots: 151private slots:
152 void systemMessage( const QCString &msg, const QByteArray &data ); 152 void systemMessage( const QCString &msg, const QByteArray &data );
153 void pidMessage( const QCString &msg, const QByteArray &data ); 153 void pidMessage( const QCString &msg, const QByteArray &data );
154 void removeSenderFromStylusDict(); 154 void removeSenderFromStylusDict();
155 void hideOrQuit(); 155 void hideOrQuit();
156 156
157protected: 157protected:
158 bool qwsEventFilter( QWSEvent * ); 158 bool qwsEventFilter( QWSEvent * );
159 void internalSetStyle( const QString &style ); 159 void internalSetStyle( const QString &style );
160 void prepareForTermination(bool willrestart); 160 void prepareForTermination(bool willrestart);
161 virtual void restart(); 161 virtual void restart();
162 virtual void shutdown(); 162 virtual void shutdown();
163 bool eventFilter( QObject *, QEvent * ); 163 bool eventFilter( QObject *, QEvent * );
164 void timerEvent( QTimerEvent * ); 164 void timerEvent( QTimerEvent * );
165 bool raiseAppropriateWindow(); 165 bool raiseAppropriateWindow();
166 virtual void tryQuit(); 166 virtual void tryQuit();
167#if QT_VERSION > 233 167#ifndef OPIE_NO_ERASE_RECT_HACKFIX
168 #if QT_VERSION > 233
168 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!) 169 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!)
170 #endif
169#endif 171#endif
170private: 172private:
171#ifndef QT_NO_TRANSLATION 173#ifndef QT_NO_TRANSLATION
172 void installTranslation( const QString& baseName ); 174 void installTranslation( const QString& baseName );
173#endif 175#endif
174 void mapToDefaultAction( QWSKeyEvent *ke, int defKey ); 176 void mapToDefaultAction( QWSKeyEvent *ke, int defKey );
175 void processQCopFile(); 177 void processQCopFile();
176 178
177#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 179#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
178 QCopChannel *sysChannel; 180 QCopChannel *sysChannel;
179 QCopChannel *pidChannel; 181 QCopChannel *pidChannel;
180#endif 182#endif
181 QPEApplicationData *d; 183 QPEApplicationData *d;
182 184
183 bool reserved_sh; 185 bool reserved_sh;
184 186
185 187
186 188
187}; 189};
188 190
189inline void QPEApplication::showDialog( QDialog* d, bool nomax ) 191inline void QPEApplication::showDialog( QDialog* d, bool nomax )
190{ 192{
191 showWidget( d, nomax ); 193 showWidget( d, nomax );
192} 194}
193 195
194inline int QPEApplication::execDialog( QDialog* d, bool nomax ) 196inline int QPEApplication::execDialog( QDialog* d, bool nomax )
195{ 197{
196 showDialog( d, nomax ); 198 showDialog( d, nomax );
197 return d->exec(); 199 return d->exec();
198} 200}
199 201
200#ifdef Q_WS_QWS 202#ifdef Q_WS_QWS
201extern Q_EXPORT QRect qt_maxWindowRect; 203extern Q_EXPORT QRect qt_maxWindowRect;
202#endif 204#endif
203 205
204inline void QPEApplication::showWidget( QWidget* wg, bool nomax ) 206inline void QPEApplication::showWidget( QWidget* wg, bool nomax )
205{ 207{
206 if ( wg->isVisible() ) 208 if ( wg->isVisible() )
207 wg->show(); 209 wg->show();
208 else 210 else
209 { 211 {
210 if ( !nomax 212 if ( !nomax
211 && ( qApp->desktop()->width() <= 320 ) ) 213 && ( qApp->desktop()->width() <= 320 ) )
212 { 214 {
213 wg->showMaximized(); 215 wg->showMaximized();
214 } else { 216 } else {
215 #ifdef Q_WS_QWS 217 #ifdef Q_WS_QWS
216 QSize desk = QSize( qApp->desktop()->width(), qApp->desktop()->height() ); 218 QSize desk = QSize( qApp->desktop()->width(), qApp->desktop()->height() );
217 #else 219 #else
218 QSize desk = QSize( qt_maxWindowRect.width(), qt_maxWindowRect.height() ); 220 QSize desk = QSize( qt_maxWindowRect.width(), qt_maxWindowRect.height() );
219 #endif 221 #endif
220 222
221 QSize sh = wg->sizeHint(); 223 QSize sh = wg->sizeHint();
222 int w = QMAX( sh.width(), wg->width() ); 224 int w = QMAX( sh.width(), wg->width() );
223 int h = QMAX( sh.height(), wg->height() ); 225 int h = QMAX( sh.height(), wg->height() );
224 // desktop widget-frame taskbar 226 // desktop widget-frame taskbar
225 w = QMIN( w, ( desk.width() - ( wg->frameGeometry().width() - wg->geometry().width() ) - 25 ) ); 227 w = QMIN( w, ( desk.width() - ( wg->frameGeometry().width() - wg->geometry().width() ) - 25 ) );
226 h = QMIN( h, ( desk.height() - ( wg->frameGeometry().height() - wg->geometry().height() ) - 25 ) ); 228 h = QMIN( h, ( desk.height() - ( wg->frameGeometry().height() - wg->geometry().height() ) - 25 ) );
227 229
228 wg->resize( w, h ); 230 wg->resize( w, h );
229 wg->show(); 231 wg->show();
230 } 232 }
231 } 233 }
232} 234}
233 235
234enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */ 236enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */
235 237
236inline int TransToDeg ( Transformation t ) 238inline int TransToDeg ( Transformation t )
237{ 239{
238 int d = static_cast<int>( t ); 240 int d = static_cast<int>( t );
239 return d * 90; 241 return d * 90;
240} 242}
241 243
242inline Transformation DegToTrans ( int d ) 244inline Transformation DegToTrans ( int d )
243{ 245{
244 Transformation t = static_cast<Transformation>( d / 90 ); 246 Transformation t = static_cast<Transformation>( d / 90 );
245 return t; 247 return t;
246} 248}
247 249
248/* 250/*
249 * Set current rotation of Opie, and rotation for newly started apps. 251 * Set current rotation of Opie, and rotation for newly started apps.
250 * Differs from setDefaultRotation in that 1) it rotates currently running apps, 252 * Differs from setDefaultRotation in that 1) it rotates currently running apps,
251 * and 2) does not set deforient or save orientation to qpe.conf. 253 * and 2) does not set deforient or save orientation to qpe.conf.
252 */ 254 */
253 255
254inline void QPEApplication::setCurrentRotation( int r ) 256inline void QPEApplication::setCurrentRotation( int r )
255{ 257{
256 // setTransformation has been introduced in Qt/Embedded 2.3.4 snapshots 258 // setTransformation has been introduced in Qt/Embedded 2.3.4 snapshots
257 // for compatibility with the SharpROM use fallback to setDefaultTransformation() 259 // for compatibility with the SharpROM use fallback to setDefaultTransformation()
258#if QT_VERSION > 233 260#if QT_VERSION > 233
259 Transformation e = DegToTrans( r ); 261 Transformation e = DegToTrans( r );
260 ::setenv( "QWS_DISPLAY", QString( "Transformed:Rot%1:0" ).arg( r ).latin1(), 1 ); 262 ::setenv( "QWS_DISPLAY", QString( "Transformed:Rot%1:0" ).arg( r ).latin1(), 1 );
261 qApp->desktop()->qwsDisplay()->setTransformation( e ); 263 qApp->desktop()->qwsDisplay()->setTransformation( e );
262#else 264#else
263 setDefaultRotation( r ); 265 setDefaultRotation( r );
264#endif 266#endif
diff --git a/library/qt_override.cpp b/library/qt_override.cpp
index 4d1f475..56f82d7 100644
--- a/library/qt_override.cpp
+++ b/library/qt_override.cpp
@@ -1,175 +1,182 @@
1 1
2#include <qpe/qpeapplication.h> 2#include <qpe/qpeapplication.h>
3#include <qfontdatabase.h> 3#include <qfontdatabase.h>
4 4
5#include <unistd.h> 5#include <unistd.h>
6#include <stdlib.h> 6#include <stdlib.h>
7#include <stdio.h> 7#include <stdio.h>
8#include <limits.h> 8#include <limits.h>
9#include <sys/param.h> // for toolchains with old libc headers 9#include <sys/param.h> // for toolchains with old libc headers
10 10
11#include "qt_override_p.h" 11#include "qt_override_p.h"
12 12
13#if QT_VERSION > 233 13#if QT_VERSION > 233
14 14
15#ifndef OPIE_NO_ERASE_RECT_HACKFIX
15struct color_fix_t { 16struct color_fix_t {
16 char *m_app; 17 char *m_app;
17 char *m_class; 18 char *m_class;
18 char *m_name; 19 char *m_name;
19 QColorGroup::ColorRole m_set; 20 QColorGroup::ColorRole m_set;
20 QColorGroup::ColorRole m_get; 21 QColorGroup::ColorRole m_get;
21}; 22};
22 23
23#ifndef OPIE_NO_OVERRIDE_QT 24
24 25
25static const color_fix_t apps_that_need_special_colors [] = { 26static const color_fix_t apps_that_need_special_colors [] = {
26 { "HancomMobileWord", "HTextEdit", 0, QColorGroup::Background, QColorGroup::Base }, 27 { "HancomMobileWord", "HTextEdit", 0, QColorGroup::Background, QColorGroup::Base },
27 { "neocal", "Display", 0, QColorGroup::Background, QColorGroup::Base }, 28 { "neocal", "Display", 0, QColorGroup::Background, QColorGroup::Base },
28 29
29 { 0, 0, 0, QColorGroup::Base, QColorGroup::Base } 30 { 0, 0, 0, QColorGroup::Base, QColorGroup::Base }
30}; 31};
31 32
33#endif
34
35#ifndef OPIE_NO_OVERRIDE_QT
36
32static const char * const apps_that_need_pointsizes_times_10 [] = { 37static const char * const apps_that_need_pointsizes_times_10 [] = {
33 "HancomMobileWord", 38 "HancomMobileWord",
34 "hancomsheet", 39 "hancomsheet",
35 "HancomPresenterViewer", 40 "HancomPresenterViewer",
36 41
37 0 42 0
38}; 43};
39 44
40 45
41 46
42 47
43int Opie::force_appearance = 0; 48int Opie::force_appearance = 0;
44 49
45 50
46// Return the *real* name of the binary - not just a quick guess 51// Return the *real* name of the binary - not just a quick guess
47// by looking at argv [0] (which could be anything) 52// by looking at argv [0] (which could be anything)
48 53
49static void binaryNameFree ( ) 54static void binaryNameFree ( )
50{ 55{
51 ::free ((void *) Opie::binaryName ( )); // we need to cast away the const here 56 ::free ((void *) Opie::binaryName ( )); // we need to cast away the const here
52} 57}
53 58
54const char *Opie::binaryName ( ) 59const char *Opie::binaryName ( )
55{ 60{
56 static const char *appname = 0; 61 static const char *appname = 0;
57 62
58 if ( !appname ) { 63 if ( !appname ) {
59 char dst [PATH_MAX + 1]; 64 char dst [PATH_MAX + 1];
60 int l = ::readlink ( "/proc/self/exe", dst, PATH_MAX ); 65 int l = ::readlink ( "/proc/self/exe", dst, PATH_MAX );
61 66
62 if ( l <= 0 ) 67 if ( l <= 0 )
63 l = 0; 68 l = 0;
64 69
65 dst [l] = 0; 70 dst [l] = 0;
66 const char *b = ::strrchr ( dst, '/' ); 71 const char *b = ::strrchr ( dst, '/' );
67 appname = ::strdup ( b ? b + 1 : dst ); 72 appname = ::strdup ( b ? b + 1 : dst );
68 73
69 ::atexit ( binaryNameFree ); 74 ::atexit ( binaryNameFree );
70 } 75 }
71 return appname; 76 return appname;
72} 77}
73 78
74#else 79#else
75int Opie::force_appearance = 0; 80int Opie::force_appearance = 0;
76#endif 81#endif
77 82
78// Fix for a toolchain incompatibility (binaries compiled with 83// Fix for a toolchain incompatibility (binaries compiled with
79// old tcs using shared libs compiled with newer tcs) 84// old tcs using shared libs compiled with newer tcs)
80 85
81extern "C" { 86extern "C" {
82 87
83extern void __gmon_start__ ( ) __attribute__(( weak )); 88extern void __gmon_start__ ( ) __attribute__(( weak ));
84 89
85extern void __gmon_start__ ( ) 90extern void __gmon_start__ ( )
86{ 91{
87} 92}
88 93
89} 94}
90 95
91 96
97#ifndef OPIE_NO_ERASE_RECT_HACKFIX
92// Fix for apps, that use QPainter::eraseRect() which doesn't work with styles 98// Fix for apps, that use QPainter::eraseRect() which doesn't work with styles
93// that set a background pixmap (it would be easier to fix eraseRect(), but 99// that set a background pixmap (it would be easier to fix eraseRect(), but
94// TT made it an inline ...) 100// TT made it an inline ...)
95 101
96void QPEApplication::polish ( QWidget *w ) 102void QPEApplication::polish ( QWidget *w )
97{ 103{
98#ifndef OPIE_NO_OVERRIDE_QT 104#ifndef OPIE_NO_OVERRIDE_QT
99 //qDebug ( "QPEApplication::polish()" ); 105 //qDebug ( "QPEApplication::polish()" );
100 106
101 for ( const color_fix_t *ptr = apps_that_need_special_colors; ptr-> m_app; ptr++ ) { 107 for ( const color_fix_t *ptr = apps_that_need_special_colors; ptr-> m_app; ptr++ ) {
102 if (( ::strcmp ( Opie::binaryName ( ), ptr-> m_app ) == 0 ) && 108 if (( ::strcmp ( Opie::binaryName ( ), ptr-> m_app ) == 0 ) &&
103 ( ptr-> m_class ? w-> inherits ( ptr-> m_class ) : true ) && 109 ( ptr-> m_class ? w-> inherits ( ptr-> m_class ) : true ) &&
104 ( ptr-> m_name ? ( ::strcmp ( w-> name ( ), ptr-> m_name ) == 0 ) : true )) { 110 ( ptr-> m_name ? ( ::strcmp ( w-> name ( ), ptr-> m_name ) == 0 ) : true )) {
105 QPalette pal = w-> palette ( ); 111 QPalette pal = w-> palette ( );
106 pal. setColor ( ptr-> m_set, pal. color ( QPalette::Active, ptr-> m_get )); 112 pal. setColor ( ptr-> m_set, pal. color ( QPalette::Active, ptr-> m_get ));
107 w-> setPalette ( pal ); 113 w-> setPalette ( pal );
108 } 114 }
109 } 115 }
110#endif 116#endif
111 QApplication::polish ( w ); 117 QApplication::polish ( w );
112} 118}
119#endif
113 120
114 121
115#ifndef OPIE_NO_OVERRIDE_QT 122#ifndef OPIE_NO_OVERRIDE_QT
116// Fix for the binary incompatibility that TT introduced in Qt/E 2.3.4 -- point sizes 123// Fix for the binary incompatibility that TT introduced in Qt/E 2.3.4 -- point sizes
117// were multiplied by 10 (which was incorrect) 124// were multiplied by 10 (which was incorrect)
118 125
119QValueList <int> QFontDatabase::pointSizes ( QString const &family, QString const &style, QString const &charset ) 126QValueList <int> QFontDatabase::pointSizes ( QString const &family, QString const &style, QString const &charset )
120{ 127{
121 //qDebug ( "QFontDatabase::pointSizes()" ); 128 //qDebug ( "QFontDatabase::pointSizes()" );
122 129
123 QValueList <int> sl = pointSizes_NonWeak ( family, style, charset ); 130 QValueList <int> sl = pointSizes_NonWeak ( family, style, charset );
124 131
125 for ( const char * const *ptr = apps_that_need_pointsizes_times_10; *ptr; ptr++ ) { 132 for ( const char * const *ptr = apps_that_need_pointsizes_times_10; *ptr; ptr++ ) {
126 if ( ::strcmp ( Opie::binaryName ( ), *ptr ) == 0 ) { 133 if ( ::strcmp ( Opie::binaryName ( ), *ptr ) == 0 ) {
127 for ( QValueList <int>::Iterator it = sl. begin ( ); it != sl. end ( ); ++it ) 134 for ( QValueList <int>::Iterator it = sl. begin ( ); it != sl. end ( ); ++it )
128 *it *= 10; 135 *it *= 10;
129 } 136 }
130 } 137 }
131 return sl; 138 return sl;
132} 139}
133 140
134 141
135// Various style/font/color related overrides for weak symbols in Qt/E, 142// Various style/font/color related overrides for weak symbols in Qt/E,
136// which allows us to force the usage of the global Opie appearance. 143// which allows us to force the usage of the global Opie appearance.
137 144
138void QApplication::setStyle ( QStyle *style ) 145void QApplication::setStyle ( QStyle *style )
139{ 146{
140 //qDebug ( "QApplication::setStyle()" ); 147 //qDebug ( "QApplication::setStyle()" );
141 148
142 if ( Opie::force_appearance & Opie::Force_Style ) 149 if ( Opie::force_appearance & Opie::Force_Style )
143 delete style; 150 delete style;
144 else 151 else
145 QApplication::setStyle_NonWeak ( style ); 152 QApplication::setStyle_NonWeak ( style );
146} 153}
147 154
148void QApplication::setPalette ( const QPalette &pal, bool informWidgets, const char *className ) 155void QApplication::setPalette ( const QPalette &pal, bool informWidgets, const char *className )
149{ 156{
150 //qDebug ( "QApplication::setPalette()" ); 157 //qDebug ( "QApplication::setPalette()" );
151 158
152 if (!( Opie::force_appearance & Opie::Force_Style )) 159 if (!( Opie::force_appearance & Opie::Force_Style ))
153 QApplication::setPalette_NonWeak ( pal, informWidgets, className ); 160 QApplication::setPalette_NonWeak ( pal, informWidgets, className );
154} 161}
155 162
156void QApplication::setFont ( const QFont &fnt, bool informWidgets, const char *className ) 163void QApplication::setFont ( const QFont &fnt, bool informWidgets, const char *className )
157{ 164{
158 //qDebug ( "QApplication::setFont()" ); 165 //qDebug ( "QApplication::setFont()" );
159 166
160 if (!( Opie::force_appearance & Opie::Force_Font )) 167 if (!( Opie::force_appearance & Opie::Force_Font ))
161 QApplication::setFont_NonWeak ( fnt, informWidgets, className ); 168 QApplication::setFont_NonWeak ( fnt, informWidgets, className );
162} 169}
163 170
164 171
165void QApplication::qwsSetDecoration ( QWSDecoration *deco ) 172void QApplication::qwsSetDecoration ( QWSDecoration *deco )
166{ 173{
167 //qDebug ( "QApplication::qwsSetDecoration()" ); 174 //qDebug ( "QApplication::qwsSetDecoration()" );
168 175
169 if ( Opie::force_appearance & Opie::Force_Decoration ) 176 if ( Opie::force_appearance & Opie::Force_Decoration )
170 delete deco; 177 delete deco;
171 else 178 else
172 QApplication::qwsSetDecoration_NonWeak ( deco ); 179 QApplication::qwsSetDecoration_NonWeak ( deco );
173} 180}
174#endif 181#endif
175#endif 182#endif