author | zecke <zecke> | 2004-05-17 21:15:42 (UTC) |
---|---|---|
committer | zecke <zecke> | 2004-05-17 21:15:42 (UTC) |
commit | 598c9bc76840120fa3efdb000461bae2c1fef639 (patch) (unidiff) | |
tree | 4cf0c66149f7bee38a2bcface9e7fbfd0d28b85a | |
parent | 1827ce23d0719a22c14613dc5859093818da1d0a (diff) | |
download | opie-598c9bc76840120fa3efdb000461bae2c1fef639.zip opie-598c9bc76840120fa3efdb000461bae2c1fef639.tar.gz opie-598c9bc76840120fa3efdb000461bae2c1fef639.tar.bz2 |
ich@opiezilla:~/programming/opie/head/opie$ nm lib/libopiecore2.so | grep polish
U _ZN14QPEApplication6polishEP7QWidget
ich@opiezilla:~/programming/opie/head/opie$ nm lib/libopiecore2.so | grep polish
U _ZN12QApplication6polishEP7QWidget
in qt_override we had to overwrite the Palette for some widgets for some styles (setting no
background liquid and such) we overwrote the polish method.
As we did not inherit from QPEApplication the 'polish' symbol was only internal to
libqpe and this way Opie apps worked on Opies and Sharps libqpe, and Sharp apps work
on our libqpe. Now with libopiecore the compiler tries to include different symbols as shown above.
So for now we could disable the legacy palette polishing which shouldn't hurt anyway.
OApplication is the source of all evil, we wouldn't 'pull' in the polish symbol... but having
a 'shadow' weak symbol as backup isn't good as well.
Chicken you may enable the option in config.in...
-rw-r--r-- | Rules.make | 3 | ||||
-rw-r--r-- | config.in | 4 | ||||
-rw-r--r-- | library/qpeapplication.h | 4 | ||||
-rw-r--r-- | library/qt_override.cpp | 9 |
4 files changed, 18 insertions, 2 deletions
@@ -1,146 +1,149 @@ | |||
1 | .phony: force | 1 | .phony: force |
2 | force: | 2 | force: |
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 |
10 | ifneq ($(CONFIG_THREADED),) | 10 | ifneq ($(CONFIG_THREADED),) |
11 | echo CONFIG += thread >> $@ | 11 | echo CONFIG += thread >> $@ |
12 | else | 12 | else |
13 | echo CONFIG -= thread >> $@ | 13 | echo CONFIG -= thread >> $@ |
14 | endif | 14 | endif |
15 | ifneq ($(CONFIG_DEBUG),) | 15 | ifneq ($(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 >> $@ |
20 | else | 20 | else |
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" >> $@ |
24 | endif | 24 | endif |
25 | 25 | ||
26 | ifeq ($(filter 3.%,$(QTE_VERSION)),) # not qt3 | 26 | ifeq ($(filter 3.%,$(QTE_VERSION)),) # not qt3 |
27 | echo CONFIG -= qt3 >> $@ | 27 | echo CONFIG -= qt3 >> $@ |
28 | else | 28 | else |
29 | echo CONFIG += qt3 >> $@ | 29 | echo CONFIG += qt3 >> $@ |
30 | endif | 30 | endif |
31 | ifneq ($(CONFIG_QUICK_LAUNCH),) | 31 | ifneq ($(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 \} >> $@ |
37 | else | 37 | else |
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 \} >> $@ |
42 | endif | 42 | endif |
43 | ifeq ($(CONFIG_SQL_PIM_BACKEND),y) | 43 | ifeq ($(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) >> $@ |
45 | else | 45 | else |
46 | echo ENABLE_SQL_PIM_BACKEND=n >> $@ | 46 | echo ENABLE_SQL_PIM_BACKEND=n >> $@ |
47 | endif | 47 | endif |
48 | ifeq ($(CONFIG_OPIE_NO_OVERRIDE_QT),y) | 48 | ifeq ($(CONFIG_OPIE_NO_OVERRIDE_QT),y) |
49 | echo CONFIG += no-override >> $@ | 49 | echo CONFIG += no-override >> $@ |
50 | endif | 50 | endif |
51 | ifeq ($(CONFIG_OPIE_NO_ERASERECT_FIX),y) | ||
52 | echo DEFINES += OPIE_NO_ERASE_RECT_HACKFIX >> $@ | ||
53 | endif | ||
51 | ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y) | 54 | ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y) |
52 | echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@ | 55 | echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@ |
53 | endif | 56 | endif |
54 | ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y) | 57 | ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y) |
55 | echo DEFINES += OPIE_NO_BUILTIN_CALIBRATE >> $@ | 58 | echo DEFINES += OPIE_NO_BUILTIN_CALIBRATE >> $@ |
56 | endif | 59 | endif |
57 | ifeq ($(CONFIG_USE_REALTIME_AUDIO_THREAD),y) | 60 | ifeq ($(CONFIG_USE_REALTIME_AUDIO_THREAD),y) |
58 | echo DEFINES += USE_REALTIME_AUDIO_THREAD >> $@ | 61 | echo DEFINES += USE_REALTIME_AUDIO_THREAD >> $@ |
59 | endif | 62 | endif |
60 | ifeq ($(CONFIG_USE_FILE_NOTIFICATION),y) | 63 | ifeq ($(CONFIG_USE_FILE_NOTIFICATION),y) |
61 | echo DEFINES += USE_FILE_NOTIFICATION >> $@ | 64 | echo DEFINES += USE_FILE_NOTIFICATION >> $@ |
62 | endif | 65 | endif |
63 | ifeq ($(CONFIG_QT_QWS_ALLOW_CLOCK),y) | 66 | ifeq ($(CONFIG_QT_QWS_ALLOW_CLOCK),y) |
64 | echo DEFINES += QT_QWS_ALLOW_OVERCLOCK >> $@ | 67 | echo DEFINES += QT_QWS_ALLOW_OVERCLOCK >> $@ |
65 | endif | 68 | endif |
66 | ifeq ($(CONFIG_OPIE_HIGH_RES_SMALL_PHY),y) | 69 | ifeq ($(CONFIG_OPIE_HIGH_RES_SMALL_PHY),y) |
67 | echo DEFINES += OPIE_HIGH_RES_SMALL_PHY >> $@ | 70 | echo DEFINES += OPIE_HIGH_RES_SMALL_PHY >> $@ |
68 | endif | 71 | endif |
69 | ifeq ($(CONFIG_OPIE_NEW_ALLOC),y) | 72 | ifeq ($(CONFIG_OPIE_NEW_ALLOC),y) |
70 | echo DEFINES += OPIE_NEW_MALLOC >> $@ | 73 | echo DEFINES += OPIE_NEW_MALLOC >> $@ |
71 | endif | 74 | endif |
72 | ifeq ($(CONFIG_OPIE_NO_SOUND_PCM_READ_BITS),y) | 75 | ifeq ($(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 >> $@ |
74 | endif | 77 | endif |
75 | echo DEFINES += OPIE_SOUND_FRAGMENT_SHIFT=$(CONFIG_OPIE_SOUND_FRAGMENT_SHIFT) >> $@ | 78 | echo DEFINES += OPIE_SOUND_FRAGMENT_SHIFT=$(CONFIG_OPIE_SOUND_FRAGMENT_SHIFT) >> $@ |
76 | ifeq ($(CONFIG_OPIE_WE_VERSION_OVERRIDE),y) | 79 | ifeq ($(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) >> $@ |
78 | endif | 81 | endif |
79 | # Write LIB dirs and INC dirs... | 82 | # Write LIB dirs and INC dirs... |
80 | ifeq ($(CONFIG_LIBETPAN_DEP),y) | 83 | ifeq ($(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) >> $@ |
83 | endif | 86 | endif |
84 | ifeq ($(CONFIG_LIBPCAP_DEP),y) | 87 | ifeq ($(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) >> $@ |
87 | endif | 90 | endif |
88 | ifeq ($(CONFIG_LIBSQLITE_DEP),y) | 91 | ifeq ($(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) >> $@ |
91 | endif | 94 | endif |
92 | ifeq ($(CONFIG_LIBXINE_DEP),y) | 95 | ifeq ($(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) >> $@ |
95 | endif | 98 | endif |
96 | ifeq ($(CONFIG_LIBIPK_DEP),y) | 99 | ifeq ($(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) >> $@ |
99 | endif | 102 | endif |
100 | ifeq ($(CONFIG_LIBSDK_DEP),y) | 103 | ifeq ($(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) >> $@ |
103 | endif | 106 | endif |
104 | ifeq ($(CONFIG_LIBSWORD_DEP),y) | 107 | ifeq ($(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) >> $@ |
107 | endif | 110 | endif |
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 \ |
@@ -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 | ||
36 | endchoice | 36 | endchoice |
37 | 37 | ||
38 | config OPTIMIZE | 38 | config 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 |
43 | config THREADED | 43 | config THREADED |
44 | boolean "Enable threaded build" | 44 | boolean "Enable threaded build" |
45 | default "n" | 45 | default "n" |
46 | 46 | ||
47 | config DEBUG | 47 | config DEBUG |
48 | boolean "Enable debug builds" | 48 | boolean "Enable debug builds" |
49 | default n | 49 | default n |
50 | config RELEASE | 50 | config RELEASE |
51 | bool | 51 | bool |
52 | default y | 52 | default y |
53 | depends !DEBUG | 53 | depends !DEBUG |
54 | 54 | ||
55 | config QUICK_LAUNCH | 55 | config 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 | ||
60 | config QUICKLAUNCH_PATH | 60 | config 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 | ||
65 | config SPECFILE | 65 | config 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 | ||
80 | config CUSTOMFILE | 80 | config 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 | ||
88 | config OPTIMIZATIONS | 88 | config 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 | ||
98 | config EXPERIMENTAL | 98 | config 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 | ||
102 | endmenu | 102 | endmenu |
103 | 103 | ||
104 | menu "Configuration" | 104 | menu "Configuration" |
105 | config OPIE_NO_OVERRIDE_QT | 105 | config 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 | ||
109 | config OPIE_NO_ERASERECT_FIX | ||
110 | boolean "Disable Fixup eraseRect for HancomMobileWord,neocal.. to make libopiecore work on Sharps libqpe" | ||
111 | default n | ||
112 | |||
109 | config OPIE_NO_BUILTIN_SHUTDOWN | 113 | config 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 | ||
113 | config OPIE_NO_BUILTIN_CALIBRATE | 117 | config 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 | ||
118 | config OPIE_SOUND_FRAGMENT_SHIFT | 122 | config 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 | ||
123 | config USE_REALTIME_AUDIO_THREAD | 127 | config 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 | ||
128 | config QT_QWS_ALLOW_OVERCLOCK | 132 | config 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 | ||
133 | config OPIE_HIGH_RES_SMALL_PHY | 137 | config 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 | ||
138 | config USE_FILE_NOTIFICATION | 142 | config 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 | ||
142 | config OPIE_NEW_ALLOC | 146 | config 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 | ||
147 | config OPIE_NO_SOUND_PCM_READ_BITS | 151 | config 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 |
151 | endmenu | 155 | endmenu |
152 | 156 | ||
153 | menu "Dependencies" | 157 | menu "Dependencies" |
154 | source dependencies.in | 158 | source dependencies.in |
155 | endmenu | 159 | endmenu |
156 | 160 | ||
157 | menu "Base" | 161 | menu "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 |
174 | endmenu | 178 | endmenu |
175 | 179 | ||
176 | comment "" | 180 | comment "" |
177 | 181 | ||
178 | menu "Applets" | 182 | menu "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 |
181 | endmenu | 185 | endmenu |
182 | 186 | ||
183 | menu "Apps" | 187 | menu "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 |
186 | endmenu | 190 | endmenu |
187 | 191 | ||
188 | menu "Communications and Networking" | 192 | menu "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 |
191 | endmenu | 195 | endmenu |
192 | 196 | ||
193 | menu "Games" | 197 | menu "Games" |
194 | source noncore/games/config.in | 198 | source noncore/games/config.in |
195 | endmenu | 199 | endmenu |
196 | 200 | ||
197 | menu "Graphics and Multimedia" | 201 | menu "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 |
202 | endmenu | 206 | endmenu |
203 | 207 | ||
204 | menu "Input methods" | 208 | menu "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 | */ |
79 | class QPEApplication : public QApplication | 79 | class QPEApplication : public QApplication |
80 | { | 80 | { |
81 | Q_OBJECT | 81 | Q_OBJECT |
82 | public: | 82 | public: |
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 | ||
138 | signals: | 138 | signals: |
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 | ||
151 | private slots: | 151 | private 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 | ||
157 | protected: | 157 | protected: |
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 |
170 | private: | 172 | private: |
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 | ||
189 | inline void QPEApplication::showDialog( QDialog* d, bool nomax ) | 191 | inline void QPEApplication::showDialog( QDialog* d, bool nomax ) |
190 | { | 192 | { |
191 | showWidget( d, nomax ); | 193 | showWidget( d, nomax ); |
192 | } | 194 | } |
193 | 195 | ||
194 | inline int QPEApplication::execDialog( QDialog* d, bool nomax ) | 196 | inline 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 |
201 | extern Q_EXPORT QRect qt_maxWindowRect; | 203 | extern Q_EXPORT QRect qt_maxWindowRect; |
202 | #endif | 204 | #endif |
203 | 205 | ||
204 | inline void QPEApplication::showWidget( QWidget* wg, bool nomax ) | 206 | inline 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 | ||
234 | enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */ | 236 | enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */ |
235 | 237 | ||
236 | inline int TransToDeg ( Transformation t ) | 238 | inline 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 | ||
242 | inline Transformation DegToTrans ( int d ) | 244 | inline 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 | ||
254 | inline void QPEApplication::setCurrentRotation( int r ) | 256 | inline 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 | ||
15 | struct color_fix_t { | 16 | struct 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 | ||
25 | static const color_fix_t apps_that_need_special_colors [] = { | 26 | static 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 | |||
32 | static const char * const apps_that_need_pointsizes_times_10 [] = { | 37 | static 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 | ||
43 | int Opie::force_appearance = 0; | 48 | int 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 | ||
49 | static void binaryNameFree ( ) | 54 | static 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 | ||
54 | const char *Opie::binaryName ( ) | 59 | const 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 |
75 | int Opie::force_appearance = 0; | 80 | int 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 | ||
81 | extern "C" { | 86 | extern "C" { |
82 | 87 | ||
83 | extern void __gmon_start__ ( ) __attribute__(( weak )); | 88 | extern void __gmon_start__ ( ) __attribute__(( weak )); |
84 | 89 | ||
85 | extern void __gmon_start__ ( ) | 90 | extern 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 | ||
96 | void QPEApplication::polish ( QWidget *w ) | 102 | void 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 | ||
119 | QValueList <int> QFontDatabase::pointSizes ( QString const &family, QString const &style, QString const &charset ) | 126 | QValueList <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 | ||
138 | void QApplication::setStyle ( QStyle *style ) | 145 | void 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 | ||
148 | void QApplication::setPalette ( const QPalette &pal, bool informWidgets, const char *className ) | 155 | void 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 | ||
156 | void QApplication::setFont ( const QFont &fnt, bool informWidgets, const char *className ) | 163 | void 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 | ||
165 | void QApplication::qwsSetDecoration ( QWSDecoration *deco ) | 172 | void 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 |