-rw-r--r-- | Rules.make | 3 | ||||
-rw-r--r-- | config.in | 5 | ||||
-rw-r--r-- | core/launcher/launcher.cpp | 20 | ||||
-rw-r--r-- | core/launcher/launcher.h | 5 | ||||
-rw-r--r-- | core/launcher/taskbar.cpp | 2 |
5 files changed, 10 insertions, 25 deletions
@@ -1,209 +1,212 @@ | |||
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 | ifeq ($(CONFIG_STATIC),y) | 25 | ifeq ($(CONFIG_STATIC),y) |
26 | echo CONFIG += staticlib >> $@ | 26 | echo CONFIG += staticlib >> $@ |
27 | endif | 27 | endif |
28 | ifeq ($(filter 3.%,$(QTE_VERSION)),) # not qt3 | 28 | ifeq ($(filter 3.%,$(QTE_VERSION)),) # not qt3 |
29 | echo CONFIG -= qt3 >> $@ | 29 | echo CONFIG -= qt3 >> $@ |
30 | else | 30 | else |
31 | echo CONFIG += qt3 >> $@ | 31 | echo CONFIG += qt3 >> $@ |
32 | endif | 32 | endif |
33 | ifneq ($(CONFIG_QUICK_LAUNCH),) | 33 | ifneq ($(CONFIG_QUICK_LAUNCH),) |
34 | echo contains\( CONFIG, quick-app \) \{ >> $@ | 34 | echo contains\( CONFIG, quick-app \) \{ >> $@ |
35 | echo CONFIG -= staticlib >> $@ | 35 | echo CONFIG -= staticlib >> $@ |
36 | echo CONFIG -= quick-app >> $@ | 36 | echo CONFIG -= quick-app >> $@ |
37 | echo CONFIG += quick-app-lib >> $@ | 37 | echo CONFIG += quick-app-lib >> $@ |
38 | echo QUICKLAUNCH_PATH = $(CONFIG_QUICKLAUNCH_PATH) >> $@ | 38 | echo QUICKLAUNCH_PATH = $(CONFIG_QUICKLAUNCH_PATH) >> $@ |
39 | echo \} >> $@ | 39 | echo \} >> $@ |
40 | else | 40 | else |
41 | echo contains\( CONFIG, quick-app \) \{ >> $@ | 41 | echo contains\( CONFIG, quick-app \) \{ >> $@ |
42 | echo CONFIG -= quick-app >> $@ | 42 | echo CONFIG -= quick-app >> $@ |
43 | echo CONFIG += quick-app-bin >> $@ | 43 | echo CONFIG += quick-app-bin >> $@ |
44 | echo \} >> $@ | 44 | echo \} >> $@ |
45 | endif | 45 | endif |
46 | ifeq ($(CONFIG_SQL_PIM_BACKEND),y) | 46 | ifeq ($(CONFIG_SQL_PIM_BACKEND),y) |
47 | echo ENABLE_SQL_PIM_BACKEND=$(CONFIG_SQL_PIM_BACKEND) >> $@ | 47 | echo ENABLE_SQL_PIM_BACKEND=$(CONFIG_SQL_PIM_BACKEND) >> $@ |
48 | else | 48 | else |
49 | echo ENABLE_SQL_PIM_BACKEND=n >> $@ | 49 | echo ENABLE_SQL_PIM_BACKEND=n >> $@ |
50 | endif | 50 | endif |
51 | ifeq ($(CONFIG_OPIE_NO_OVERRIDE_QT),y) | 51 | ifeq ($(CONFIG_OPIE_NO_OVERRIDE_QT),y) |
52 | echo CONFIG += no-override >> $@ | 52 | echo CONFIG += no-override >> $@ |
53 | endif | 53 | endif |
54 | ifeq ($(CONFIG_OPIE_NO_ERASERECT_FIX),y) | 54 | ifeq ($(CONFIG_OPIE_NO_ERASERECT_FIX),y) |
55 | echo DEFINES += OPIE_NO_ERASE_RECT_HACKFIX >> $@ | 55 | echo DEFINES += OPIE_NO_ERASE_RECT_HACKFIX >> $@ |
56 | endif | 56 | endif |
57 | ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y) | 57 | ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y) |
58 | echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@ | 58 | echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@ |
59 | endif | 59 | endif |
60 | ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y) | 60 | ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y) |
61 | echo DEFINES += OPIE_NO_BUILTIN_CALIBRATE >> $@ | 61 | echo DEFINES += OPIE_NO_BUILTIN_CALIBRATE >> $@ |
62 | endif | 62 | endif |
63 | ifeq ($(CONFIG_USE_REALTIME_AUDIO_THREAD),y) | 63 | ifeq ($(CONFIG_USE_REALTIME_AUDIO_THREAD),y) |
64 | echo DEFINES += USE_REALTIME_AUDIO_THREAD >> $@ | 64 | echo DEFINES += USE_REALTIME_AUDIO_THREAD >> $@ |
65 | endif | 65 | endif |
66 | ifeq ($(CONFIG_USE_FILE_NOTIFICATION),y) | 66 | ifeq ($(CONFIG_USE_FILE_NOTIFICATION),y) |
67 | echo DEFINES += USE_FILE_NOTIFICATION >> $@ | 67 | echo DEFINES += USE_FILE_NOTIFICATION >> $@ |
68 | endif | 68 | endif |
69 | ifeq ($(CONFIG_QT_QWS_ALLOW_CLOCK),y) | 69 | ifeq ($(CONFIG_QT_QWS_ALLOW_CLOCK),y) |
70 | echo DEFINES += QT_QWS_ALLOW_OVERCLOCK >> $@ | 70 | echo DEFINES += QT_QWS_ALLOW_OVERCLOCK >> $@ |
71 | endif | 71 | endif |
72 | ifeq ($(CONFIG_OPIE_NEW_ALLOC),y) | 72 | ifeq ($(CONFIG_OPIE_NEW_ALLOC),y) |
73 | echo DEFINES += OPIE_NEW_MALLOC >> $@ | 73 | echo DEFINES += OPIE_NEW_MALLOC >> $@ |
74 | endif | 74 | endif |
75 | ifeq ($(CONFIG_OPIE_NO_SOUND_PCM_READ_BITS),y) | 75 | ifeq ($(CONFIG_OPIE_NO_SOUND_PCM_READ_BITS),y) |
76 | echo DEFINES += OPIE_NO_SOUND_PCM_READ_BITS >> $@ | 76 | echo DEFINES += OPIE_NO_SOUND_PCM_READ_BITS >> $@ |
77 | endif | 77 | endif |
78 | echo DEFINES += OPIE_SOUND_FRAGMENT_SHIFT=$(CONFIG_OPIE_SOUND_FRAGMENT_SHIFT) >> $@ | 78 | echo DEFINES += OPIE_SOUND_FRAGMENT_SHIFT=$(CONFIG_OPIE_SOUND_FRAGMENT_SHIFT) >> $@ |
79 | ifeq ($(CONFIG_OPIE_WE_VERSION_OVERRIDE),y) | 79 | ifeq ($(CONFIG_OPIE_WE_VERSION_OVERRIDE),y) |
80 | echo DEFINES += OPIE_WE_VERSION=$(CONFIG_OPIE_WE_VERSION) >> $@ | 80 | echo DEFINES += OPIE_WE_VERSION=$(CONFIG_OPIE_WE_VERSION) >> $@ |
81 | endif | 81 | endif |
82 | ifeq ($(CONFIG_OPIE_TASKBAR_LOCK_KEY_STATE),y) | ||
83 | echo DEFINES += OPIE_TASKBAR_LOCK_KEY_STATE >> $@ | ||
84 | endif | ||
82 | # Write LIB dirs and INC dirs... | 85 | # Write LIB dirs and INC dirs... |
83 | ifeq ($(CONFIG_LIBETPAN_DEP),y) | 86 | ifeq ($(CONFIG_LIBETPAN_DEP),y) |
84 | echo LIBETPAN_LIB_DIR = $(CONFIG_LIBETPAN_LIB_DIR) >> $@ | 87 | echo LIBETPAN_LIB_DIR = $(CONFIG_LIBETPAN_LIB_DIR) >> $@ |
85 | echo LIBETPAN_INC_DIR = $(CONFIG_LIBETPAN_INC_DIR) >> $@ | 88 | echo LIBETPAN_INC_DIR = $(CONFIG_LIBETPAN_INC_DIR) >> $@ |
86 | endif | 89 | endif |
87 | ifeq ($(CONFIG_LIBPCAP_DEP),y) | 90 | ifeq ($(CONFIG_LIBPCAP_DEP),y) |
88 | echo LIBPCAP_LIB_DIR = $(CONFIG_LIBPCAP_LIB_DIR) >> $@ | 91 | echo LIBPCAP_LIB_DIR = $(CONFIG_LIBPCAP_LIB_DIR) >> $@ |
89 | echo LIBPCAP_INC_DIR = $(CONFIG_LIBPCAP_INC_DIR) >> $@ | 92 | echo LIBPCAP_INC_DIR = $(CONFIG_LIBPCAP_INC_DIR) >> $@ |
90 | endif | 93 | endif |
91 | ifeq ($(CONFIG_LIBSQLITE_DEP),y) | 94 | ifeq ($(CONFIG_LIBSQLITE_DEP),y) |
92 | echo LIBSQLITE_LIB_DIR = $(CONFIG_LIBSQLITE_LIB_DIR) >> $@ | 95 | echo LIBSQLITE_LIB_DIR = $(CONFIG_LIBSQLITE_LIB_DIR) >> $@ |
93 | echo LIBSQLITE_INC_DIR = $(CONFIG_LIBSQLITE_INC_DIR) >> $@ | 96 | echo LIBSQLITE_INC_DIR = $(CONFIG_LIBSQLITE_INC_DIR) >> $@ |
94 | endif | 97 | endif |
95 | ifeq ($(CONFIG_LIBXINE_DEP),y) | 98 | ifeq ($(CONFIG_LIBXINE_DEP),y) |
96 | echo LIBXINE_LIB_DIR = $(CONFIG_LIBXINE_LIB_DIR) >> $@ | 99 | echo LIBXINE_LIB_DIR = $(CONFIG_LIBXINE_LIB_DIR) >> $@ |
97 | echo LIBXINE_INC_DIR = $(CONFIG_LIBXINE_INC_DIR) >> $@ | 100 | echo LIBXINE_INC_DIR = $(CONFIG_LIBXINE_INC_DIR) >> $@ |
98 | endif | 101 | endif |
99 | ifeq ($(CONFIG_LIBIPK_DEP),y) | 102 | ifeq ($(CONFIG_LIBIPK_DEP),y) |
100 | echo LIBIPK_LIB_DIR = $(CONFIG_LIBIPK_LIB_DIR) >> $@ | 103 | echo LIBIPK_LIB_DIR = $(CONFIG_LIBIPK_LIB_DIR) >> $@ |
101 | echo LIBIPK_INC_DIR = $(CONFIG_LIBIPK_INC_DIR) >> $@ | 104 | echo LIBIPK_INC_DIR = $(CONFIG_LIBIPK_INC_DIR) >> $@ |
102 | endif | 105 | endif |
103 | ifeq ($(CONFIG_LIBSDK_DEP),y) | 106 | ifeq ($(CONFIG_LIBSDK_DEP),y) |
104 | echo LIBSDL_LIB_DIR = $(CONFIG_LIBSDL_LIB_DIR) >> $@ | 107 | echo LIBSDL_LIB_DIR = $(CONFIG_LIBSDL_LIB_DIR) >> $@ |
105 | echo LIBSDL_INC_DIR = $(CONFIG_LIBSDL_INC_DIR) >> $@ | 108 | echo LIBSDL_INC_DIR = $(CONFIG_LIBSDL_INC_DIR) >> $@ |
106 | endif | 109 | endif |
107 | ifeq ($(CONFIG_LIBSWORD_DEP),y) | 110 | ifeq ($(CONFIG_LIBSWORD_DEP),y) |
108 | echo LIBSWORD_LIB_DIR = $(CONFIG_LIBSWORD_LIB_DIR) >> $@ | 111 | echo LIBSWORD_LIB_DIR = $(CONFIG_LIBSWORD_LIB_DIR) >> $@ |
109 | echo LIBSWORD_INC_DIR = $(CONFIG_LIBSWORD_INC_DIR) >> $@ | 112 | echo LIBSWORD_INC_DIR = $(CONFIG_LIBSWORD_INC_DIR) >> $@ |
110 | endif | 113 | endif |
111 | $(TOPDIR)/.depends : $(shell if [ -e $(TOPDIR)/config.in ]\; then echo $(TOPDIR)/config.in\; fi\;) $(TOPDIR)/.config $(TOPDIR)/packages | 114 | $(TOPDIR)/.depends : $(shell if [ -e $(TOPDIR)/config.in ]\; then echo $(TOPDIR)/config.in\; fi\;) $(TOPDIR)/.config $(TOPDIR)/packages |
112 | @echo Generating dependency information... | 115 | @echo Generating dependency information... |
113 | # add to subdir-y, and add descend rules | 116 | # add to subdir-y, and add descend rules |
114 | @cat $(TOPDIR)/packages | grep -v '^#' | \ | 117 | @cat $(TOPDIR)/packages | grep -v '^#' | \ |
115 | awk '{print \ | 118 | awk '{print \ |
116 | ".PHONY : " $$2 "\n" \ | 119 | ".PHONY : " $$2 "\n" \ |
117 | "subdir-$$(" $$1 ") += " $$2 "\n\n"; \ | 120 | "subdir-$$(" $$1 ") += " $$2 "\n\n"; \ |
118 | print $$2 " : " $$2 "/Makefile\n\t$$(call descend,$$@,$(filter-out $$@,$$(filter-out $$@,$$(MAKECMDGOALS))))\n"; }' > $(TOPDIR)/.depends | 121 | print $$2 " : " $$2 "/Makefile\n\t$$(call descend,$$@,$(filter-out $$@,$$(filter-out $$@,$$(MAKECMDGOALS))))\n"; }' > $(TOPDIR)/.depends |
119 | cat $(TOPDIR)/packages | grep -v '^#' | \ | 122 | cat $(TOPDIR)/packages | grep -v '^#' | \ |
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"; }' \ | 123 | 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"; }' \ |
121 | >> $(TOPDIR)/.depends | 124 | >> $(TOPDIR)/.depends |
122 | # interpackage dependency generation | 125 | # interpackage dependency generation |
123 | @cat $(TOPDIR)/packages | \ | 126 | @cat $(TOPDIR)/packages | \ |
124 | $(TOPDIR)/scripts/deps.pl >> $(TOPDIR)/.depends | 127 | $(TOPDIR)/scripts/deps.pl >> $(TOPDIR)/.depends |
125 | 128 | ||
126 | $(TOPDIR)/.depends.cfgs: | 129 | $(TOPDIR)/.depends.cfgs: |
127 | # config.in interdependencies | 130 | # config.in interdependencies |
128 | @echo $(configs) | sed -e 's,/config.in,,g' | ( for i in `cat`; do echo $$i; done ) > dirs | 131 | @echo $(configs) | sed -e 's,/config.in,,g' | ( for i in `cat`; do echo $$i; done ) > dirs |
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 ) >> $@ | 132 | @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 ) >> $@ |
130 | @-rm -f dirs | 133 | @-rm -f dirs |
131 | 134 | ||
132 | $(QTDIR)/stamp-headers : | 135 | $(QTDIR)/stamp-headers : |
133 | @-rm -f $(QTDIR)/stamp-headers* | 136 | @-rm -f $(QTDIR)/stamp-headers* |
134 | ( cd $(QTDIR)/include; \ | 137 | ( cd $(QTDIR)/include; \ |
135 | $(patsubst %,ln -sf ../src/kernel/%;,qgfx_qws.h qwsmouse_qws.h \ | 138 | $(patsubst %,ln -sf ../src/kernel/%;,qgfx_qws.h qwsmouse_qws.h \ |
136 | qcopchannel_qws.h qwindowsystem_qws.h \ | 139 | qcopchannel_qws.h qwindowsystem_qws.h \ |
137 | qfontmanager_qws.h qwsdefaultdecoration_qws.h)) | 140 | qfontmanager_qws.h qwsdefaultdecoration_qws.h)) |
138 | touch $@ | 141 | touch $@ |
139 | 142 | ||
140 | $(QTDIR)/stamp-headers-x11 : | 143 | $(QTDIR)/stamp-headers-x11 : |
141 | @-rm -f $(QTDIR)/stamp-headers* | 144 | @-rm -f $(QTDIR)/stamp-headers* |
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) | 145 | 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) |
143 | touch $@ | 146 | touch $@ |
144 | 147 | ||
145 | $(OPIEDIR)/stamp-headers : | 148 | $(OPIEDIR)/stamp-headers : |
146 | @-rm -f $(OPIEDIR)/stamp-headers* | 149 | @-rm -f $(OPIEDIR)/stamp-headers* |
147 | mkdir -p $(TOPDIR)/include/qpe \ | 150 | mkdir -p $(TOPDIR)/include/qpe \ |
148 | $(TOPDIR)/include/qtopia \ | 151 | $(TOPDIR)/include/qtopia \ |
149 | $(TOPDIR)/include/opie \ | 152 | $(TOPDIR)/include/opie \ |
150 | $(TOPDIR)/include/opie2 \ | 153 | $(TOPDIR)/include/opie2 \ |
151 | $(TOPDIR)/include/qtopia/private \ | 154 | $(TOPDIR)/include/qtopia/private \ |
152 | $(TOPDIR)/include/sl | 155 | $(TOPDIR)/include/sl |
153 | ( cd include/qpe && rm -f *.h; ln -sf ../../library/*.h .; ln -sf ../../library/backend/*.h .; rm -f *_p.h; ) | 156 | ( cd include/qpe && rm -f *.h; ln -sf ../../library/*.h .; ln -sf ../../library/backend/*.h .; rm -f *_p.h; ) |
154 | ( cd include/qtopia && rm -f *.h; ln -sf ../../library/*.h .; ) | 157 | ( cd include/qtopia && rm -f *.h; ln -sf ../../library/*.h .; ) |
155 | ( cd include/qtopia/private && rm -f *.h; ln -sf ../../../library/backend/*.h .; ) | 158 | ( cd include/qtopia/private && rm -f *.h; ln -sf ../../../library/backend/*.h .; ) |
156 | ifeq ($(CONFIG_LIBOPIE),y) | 159 | ifeq ($(CONFIG_LIBOPIE),y) |
157 | # libopie1 | 160 | # libopie1 |
158 | ( cd include/opie && rm -f *.h; ln -sf ../../libopie/*.h .; rm -f *_p.h; ) | 161 | ( cd include/opie && rm -f *.h; ln -sf ../../libopie/*.h .; rm -f *_p.h; ) |
159 | ( cd include/opie && ln -sf ../../libopie/pim/*.h .; ) | 162 | ( cd include/opie && ln -sf ../../libopie/pim/*.h .; ) |
160 | ( cd include/opie && ln -sf ../../libopie/big-screen/*.h .; ) | 163 | ( cd include/opie && ln -sf ../../libopie/big-screen/*.h .; ) |
161 | endif | 164 | endif |
162 | # libopie2 | 165 | # libopie2 |
163 | ( cd include/opie2 && ln -sf ../../libopie2/opiecore/*.h .; ) | 166 | ( cd include/opie2 && ln -sf ../../libopie2/opiecore/*.h .; ) |
164 | ( cd include/opie2 && ln -sf ../../libopie2/opiecore/device/*.h .; ) | 167 | ( cd include/opie2 && ln -sf ../../libopie2/opiecore/device/*.h .; ) |
165 | ( cd include/opie2 && ln -sf ../../libopie2/opiemm/*.h .; ) | 168 | ( cd include/opie2 && ln -sf ../../libopie2/opiemm/*.h .; ) |
166 | ( cd include/opie2 && ln -sf ../../libopie2/opiedb/*.h .; ) | 169 | ( cd include/opie2 && ln -sf ../../libopie2/opiedb/*.h .; ) |
167 | ( cd include/opie2 && ln -sf ../../libopie2/opienet/*.h .; ) | 170 | ( cd include/opie2 && ln -sf ../../libopie2/opienet/*.h .; ) |
168 | ( cd include/opie2 && ln -sf ../../libopie2/opiepim/*.h .; ) | 171 | ( cd include/opie2 && ln -sf ../../libopie2/opiepim/*.h .; ) |
169 | ( cd include/opie2 && ln -sf ../../libopie2/opiepim/core/*.h .; ) | 172 | ( cd include/opie2 && ln -sf ../../libopie2/opiepim/core/*.h .; ) |
170 | ( cd include/opie2 && ln -sf ../../libopie2/opiepim/core/backends/*.h .; ) | 173 | ( cd include/opie2 && ln -sf ../../libopie2/opiepim/core/backends/*.h .; ) |
171 | ( cd include/opie2 && ln -sf ../../libopie2/opiepim/ui/*.h .; ) | 174 | ( cd include/opie2 && ln -sf ../../libopie2/opiepim/ui/*.h .; ) |
172 | ( cd include/opie2 && ln -sf ../../libopie2/opieui/*.h .; ) | 175 | ( cd include/opie2 && ln -sf ../../libopie2/opieui/*.h .; ) |
173 | ( cd include/opie2 && ln -sf ../../libopie2/opieui/fileselector/*.h .; ) | 176 | ( cd include/opie2 && ln -sf ../../libopie2/opieui/fileselector/*.h .; ) |
174 | ( cd include/opie2 && ln -sf ../../libopie2/opieui/big-screen/*.h .; ) | 177 | ( cd include/opie2 && ln -sf ../../libopie2/opieui/big-screen/*.h .; ) |
175 | ( cd include/opie2 && ln -sf ../../libopie2/opiesecurity/*.h .; ) | 178 | ( cd include/opie2 && ln -sf ../../libopie2/opiesecurity/*.h .; ) |
176 | # auxilliary libraries | 179 | # auxilliary libraries |
177 | ( cd include/opie2 && ln -sf ../../libqtaux/*.h .; ) | 180 | ( cd include/opie2 && ln -sf ../../libqtaux/*.h .; ) |
178 | ( cd include/sl && ln -sf ../../libslcompat/*.h .; ) | 181 | ( cd include/sl && ln -sf ../../libslcompat/*.h .; ) |
179 | ( cd include/ && ln -sf ../noncore/net/ftplib/*.h .; ) | 182 | ( cd include/ && ln -sf ../noncore/net/ftplib/*.h .; ) |
180 | ( cd include/ && ln -sf ../inputmethods/pickboard/pickboardcfg.h .; ) | 183 | ( cd include/ && ln -sf ../inputmethods/pickboard/pickboardcfg.h .; ) |
181 | ( cd include/ && ln -sf ../inputmethods/pickboard/pickboardpicks.h .; ) | 184 | ( cd include/ && ln -sf ../inputmethods/pickboard/pickboardpicks.h .; ) |
182 | # all | 185 | # all |
183 | ifeq ($(CONFIG_LIBOPIE),y) | 186 | ifeq ($(CONFIG_LIBOPIE),y) |
184 | ( cd include/opie; for generatedHeader in `cd ../../libopie; ls *.ui | sed -e "s,\.ui,\.h,g"`; do \ | 187 | ( cd include/opie; for generatedHeader in `cd ../../libopie; ls *.ui | sed -e "s,\.ui,\.h,g"`; do \ |
185 | ln -sf ../../libopie/$$generatedHeader $$generatedHeader; done ) | 188 | ln -sf ../../libopie/$$generatedHeader $$generatedHeader; done ) |
186 | endif | 189 | endif |
187 | ( cd include/opie2; for generatedHeader in `cd ../../libopie2/opieui; ls *.ui | sed -e "s,\.ui,\.h,g"`; do \ | 190 | ( cd include/opie2; for generatedHeader in `cd ../../libopie2/opieui; ls *.ui | sed -e "s,\.ui,\.h,g"`; do \ |
188 | ln -sf ../../libopie2/opieui/$$generatedHeader $$generatedHeader; done ) | 191 | ln -sf ../../libopie2/opieui/$$generatedHeader $$generatedHeader; done ) |
189 | ( cd include/opie2; for generatedHeader in `cd ../../libopie2/opiepim/ui; ls *.ui | sed -e "s,\.ui,\.h,g"`; do \ | 192 | ( cd include/opie2; for generatedHeader in `cd ../../libopie2/opiepim/ui; ls *.ui | sed -e "s,\.ui,\.h,g"`; do \ |
190 | ln -sf ../../libopie2/opiepim/ui/$$generatedHeader $$generatedHeader; done ) | 193 | ln -sf ../../libopie2/opiepim/ui/$$generatedHeader $$generatedHeader; done ) |
191 | ln -sf ../../library/custom.h $(TOPDIR)/include/qpe/custom.h | 194 | ln -sf ../../library/custom.h $(TOPDIR)/include/qpe/custom.h |
192 | touch $@ | 195 | touch $@ |
193 | 196 | ||
194 | $(OPIEDIR)/stamp-headers-x11 : | 197 | $(OPIEDIR)/stamp-headers-x11 : |
195 | @-rm -f $(OPIEDIR)/stamp-headers* | 198 | @-rm -f $(OPIEDIR)/stamp-headers* |
196 | mkdir -p $(TOPDIR)/include/qpe $(TOPDIR)/include/qtopia \ | 199 | mkdir -p $(TOPDIR)/include/qpe $(TOPDIR)/include/qtopia \ |
197 | $(TOPDIR)/include/opie $(TOPDIR)/include/qtopia/private | 200 | $(TOPDIR)/include/opie $(TOPDIR)/include/qtopia/private |
198 | ( cd include/qpe && rm -f *.h; ln -sf ../../library/*.h .; ln -sf ../../library/backend/*.h .; rm -f *_p.h; ) | 201 | ( cd include/qpe && rm -f *.h; ln -sf ../../library/*.h .; ln -sf ../../library/backend/*.h .; rm -f *_p.h; ) |
199 | ( cd include/qtopia && rm -f *.h; ln -sf ../../library/*.h .; ) | 202 | ( cd include/qtopia && rm -f *.h; ln -sf ../../library/*.h .; ) |
200 | ( cd include/qtopia/private && rm -f *.h; ln -sf ../../../library/backend/*.h .; ) | 203 | ( cd include/qtopia/private && rm -f *.h; ln -sf ../../../library/backend/*.h .; ) |
201 | ( cd include/opie && rm -f *.h; ln -sf ../../libopie/*.h .; rm -f *_p.h; ) | 204 | ( cd include/opie && rm -f *.h; ln -sf ../../libopie/*.h .; rm -f *_p.h; ) |
202 | ( cd include/opie && ln -sf ../../libsql/*.h .; ) | 205 | ( cd include/opie && ln -sf ../../libsql/*.h .; ) |
203 | ( cd include/opie && ln -sf ../../libopie/pim/*.h .; ) | 206 | ( cd include/opie && ln -sf ../../libopie/pim/*.h .; ) |
204 | ( cd include/opie; for generatedHeader in `cd ../../libopie; ls *.ui | sed -e "s,\.ui,\.h,g"`; do \ | 207 | ( cd include/opie; for generatedHeader in `cd ../../libopie; ls *.ui | sed -e "s,\.ui,\.h,g"`; do \ |
205 | ln -sf ../../libopie/$$generatedHeader $$generatedHeader; done ) | 208 | ln -sf ../../libopie/$$generatedHeader $$generatedHeader; done ) |
206 | ln -sf ../../library/custom.h $(TOPDIR)/include/qpe/custom.h | 209 | ln -sf ../../library/custom.h $(TOPDIR)/include/qpe/custom.h |
207 | ( cd include/qpe; ln -sf ../../x11/libqpe-x11/qpe/*.h .; ) | 210 | ( cd include/qpe; ln -sf ../../x11/libqpe-x11/qpe/*.h .; ) |
208 | touch $@ | 211 | touch $@ |
209 | 212 | ||
@@ -22,238 +22,243 @@ choice | |||
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 | config THREADED | 42 | config THREADED |
43 | boolean "Enable threaded build" | 43 | boolean "Enable threaded build" |
44 | default "n" | 44 | default "n" |
45 | 45 | ||
46 | config STATIC | 46 | config STATIC |
47 | boolean "Build static libraries" | 47 | boolean "Build static libraries" |
48 | default "n" | 48 | default "n" |
49 | 49 | ||
50 | config DEBUG | 50 | config DEBUG |
51 | boolean "Enable debug builds" | 51 | boolean "Enable debug builds" |
52 | default n | 52 | default n |
53 | 53 | ||
54 | config RELEASE | 54 | config RELEASE |
55 | bool | 55 | bool |
56 | default y | 56 | default y |
57 | depends !DEBUG | 57 | depends !DEBUG |
58 | 58 | ||
59 | config QUICK_LAUNCH | 59 | config QUICK_LAUNCH |
60 | boolean "Enable Quick Launch" | 60 | boolean "Enable Quick Launch" |
61 | default n if TARGET_X86 | 61 | default n if TARGET_X86 |
62 | default y if ! TARGET_X86 | 62 | default y if ! TARGET_X86 |
63 | 63 | ||
64 | config QUICKLAUNCH_PATH | 64 | config QUICKLAUNCH_PATH |
65 | string "Path to quicklauncher" | 65 | string "Path to quicklauncher" |
66 | default "./quicklauncher" if TARGET_X86 | 66 | default "./quicklauncher" if TARGET_X86 |
67 | default "/opt/QtPalmtop/bin/quicklauncher" if ! TARGET_X86 | 67 | default "/opt/QtPalmtop/bin/quicklauncher" if ! TARGET_X86 |
68 | 68 | ||
69 | config SPECFILE | 69 | config SPECFILE |
70 | string | 70 | string |
71 | default "qws/linux-generic-g++" if TARGET_X86 && (! X11) | 71 | default "qws/linux-generic-g++" if TARGET_X86 && (! X11) |
72 | default "linux-g++" if TARGET_X86 && X11 | 72 | default "linux-g++" if TARGET_X86 && X11 |
73 | default "qws/linux-sharp-g++" if TARGET_SHARP && (! X11) | 73 | default "qws/linux-sharp-g++" if TARGET_SHARP && (! X11) |
74 | default "linux-g++" if TARGET_SHARP && X11 | 74 | default "linux-g++" if TARGET_SHARP && X11 |
75 | default "qws/linux-ipaq-g++" if TARGET_IPAQ && (! X11) | 75 | default "qws/linux-ipaq-g++" if TARGET_IPAQ && (! X11) |
76 | default "linux-g++" if TARGET_IPAQ && X11 | 76 | default "linux-g++" if TARGET_IPAQ && X11 |
77 | default "qws/linux-ramses-g++" if TARGET_RAMSES && (! X11) | 77 | default "qws/linux-ramses-g++" if TARGET_RAMSES && (! X11) |
78 | default "linux-g++" if TARGET_RAMSES && X11 | 78 | default "linux-g++" if TARGET_RAMSES && X11 |
79 | default "qws/linux-simpad-g++" if TARGET_SIMPAD && (! X11) | 79 | default "qws/linux-simpad-g++" if TARGET_SIMPAD && (! X11) |
80 | default "linux-g++" if TARGET_SIMPAD && X11 | 80 | default "linux-g++" if TARGET_SIMPAD && X11 |
81 | default "qws/linux-yopy-g++" if TARGET_YOPY && (! X11) | 81 | default "qws/linux-yopy-g++" if TARGET_YOPY && (! X11) |
82 | default "qws/macx-generic-g++" if TARGET_MACOSX && (! X11) | 82 | default "qws/macx-generic-g++" if TARGET_MACOSX && (! X11) |
83 | 83 | ||
84 | config CUSTOMFILE | 84 | config CUSTOMFILE |
85 | string | 85 | string |
86 | default "custom-ipaq.h" if TARGET_IPAQ | 86 | default "custom-ipaq.h" if TARGET_IPAQ |
87 | default "custom-sharp.h" if TARGET_SHARP | 87 | default "custom-sharp.h" if TARGET_SHARP |
88 | default "custom-ramses.h" if TARGET_RAMSES | 88 | default "custom-ramses.h" if TARGET_RAMSES |
89 | default "custom-ipaq.h" if TARGET_SIMPAD | 89 | default "custom-ipaq.h" if TARGET_SIMPAD |
90 | default "custom-yopy.h" if TARGET_YOPY | 90 | default "custom-yopy.h" if TARGET_YOPY |
91 | 91 | ||
92 | config OPTIMIZATIONS | 92 | config OPTIMIZATIONS |
93 | string "Optimization flags" | 93 | string "Optimization flags" |
94 | depends OPTIMIZE | 94 | depends OPTIMIZE |
95 | default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_IPAQ | 95 | default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_IPAQ |
96 | default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_YOPY | 96 | default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_YOPY |
97 | default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SHARP | 97 | default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SHARP |
98 | default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_RAMSES | 98 | default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_RAMSES |
99 | default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SIMPAD | 99 | default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SIMPAD |
100 | default "-march=armv5te -mtune=xscale -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_C700 | 100 | default "-march=armv5te -mtune=xscale -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_C700 |
101 | 101 | ||
102 | config EXPERIMENTAL | 102 | config EXPERIMENTAL |
103 | bool "Prompt for development and/or incomplete items" | 103 | bool "Prompt for development and/or incomplete items" |
104 | default y | 104 | default y |
105 | 105 | ||
106 | endmenu | 106 | endmenu |
107 | 107 | ||
108 | menu "Configuration" | 108 | menu "Configuration" |
109 | config OPIE_NO_OVERRIDE_QT | 109 | config OPIE_NO_OVERRIDE_QT |
110 | boolean "Build Opie against an unpatched version of Qt" | 110 | boolean "Build Opie against an unpatched version of Qt" |
111 | default n | 111 | default n |
112 | 112 | ||
113 | config OPIE_NO_ERASERECT_FIX | 113 | config OPIE_NO_ERASERECT_FIX |
114 | boolean "Disable Fixup eraseRect for HancomMobileWord,neocal.. to make libopiecore work on Sharps libqpe" | 114 | boolean "Disable Fixup eraseRect for HancomMobileWord,neocal.. to make libopiecore work on Sharps libqpe" |
115 | default n | 115 | default n |
116 | 116 | ||
117 | config OPIE_NO_BUILTIN_SHUTDOWN | 117 | config OPIE_NO_BUILTIN_SHUTDOWN |
118 | boolean "Disable the built in shutdown application" | 118 | boolean "Disable the built in shutdown application" |
119 | default y | 119 | default y |
120 | 120 | ||
121 | config OPIE_NO_BUILTIN_CALIBRATE | 121 | config OPIE_NO_BUILTIN_CALIBRATE |
122 | boolean "Disable the built in calibrate application" | 122 | boolean "Disable the built in calibrate application" |
123 | default y if TARGET_YOPY | 123 | default y if TARGET_YOPY |
124 | default n if ! TARGET_YOPY | 124 | default n if ! TARGET_YOPY |
125 | 125 | ||
126 | config OPIE_SOUND_FRAGMENT_SHIFT | 126 | config OPIE_SOUND_FRAGMENT_SHIFT |
127 | string "The sound fragment used in Opie Player I" | 127 | string "The sound fragment used in Opie Player I" |
128 | default "14" if TARGET_IPAQ | 128 | default "14" if TARGET_IPAQ |
129 | default "16" if ! TARGET_IPAQ | 129 | default "16" if ! TARGET_IPAQ |
130 | 130 | ||
131 | config USE_REALTIME_AUDIO_THREAD | 131 | config USE_REALTIME_AUDIO_THREAD |
132 | boolean "Use a realtime thread in Opie Player I" | 132 | boolean "Use a realtime thread in Opie Player I" |
133 | default y if TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP | 133 | default y if TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP |
134 | default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP) | 134 | default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP) |
135 | 135 | ||
136 | config QT_QWS_ALLOW_OVERCLOCK | 136 | config QT_QWS_ALLOW_OVERCLOCK |
137 | boolean "Allow the user to overclock the device" | 137 | boolean "Allow the user to overclock the device" |
138 | depends TARGET_RAMSES | 138 | depends TARGET_RAMSES |
139 | default n | 139 | default n |
140 | 140 | ||
141 | config USE_FILE_NOTIFICATION | 141 | config USE_FILE_NOTIFICATION |
142 | boolean "Substitute (some) polling interfaces with OFileNotifier" | 142 | boolean "Substitute (some) polling interfaces with OFileNotifier" |
143 | default y | 143 | default y |
144 | 144 | ||
145 | config OPIE_NEW_ALLOC | 145 | config OPIE_NEW_ALLOC |
146 | boolean "Use malloc and free for the implementation" | 146 | boolean "Use malloc and free for the implementation" |
147 | default y if TARGET_RAMSES || TARGET_IPAQ || TARGET_SIMPAD || TARGET_SHARP | 147 | default y if TARGET_RAMSES || TARGET_IPAQ || TARGET_SIMPAD || TARGET_SHARP |
148 | default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP) | 148 | default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP) |
149 | 149 | ||
150 | config OPIE_TASKBAR_LOCK_KEY_STATE | ||
151 | boolean "Have a KeyLock state indicator on the taskbar" | ||
152 | default y if TARGET_SHARP | ||
153 | default n if !TARGET_SHARP | ||
154 | |||
150 | config OPIE_NO_SOUND_PCM_READ_BITS | 155 | config OPIE_NO_SOUND_PCM_READ_BITS |
151 | boolean "There is not a pcm_read_bits io control" | 156 | boolean "There is not a pcm_read_bits io control" |
152 | default y if TARGET_SHARP | 157 | default y if TARGET_SHARP |
153 | default n if ! TARGET_SHARP | 158 | default n if ! TARGET_SHARP |
154 | endmenu | 159 | endmenu |
155 | 160 | ||
156 | menu "Dependencies" | 161 | menu "Dependencies" |
157 | source dependencies.in | 162 | source dependencies.in |
158 | endmenu | 163 | endmenu |
159 | 164 | ||
160 | menu "Base" | 165 | menu "Base" |
161 | choice | 166 | choice |
162 | prompt "Qpe Library Selection" | 167 | prompt "Qpe Library Selection" |
163 | default LIBQPE | 168 | default LIBQPE |
164 | source library/config.in | 169 | source library/config.in |
165 | source x11/config.in | 170 | source x11/config.in |
166 | endchoice | 171 | endchoice |
167 | source libopie/config.in | 172 | source libopie/config.in |
168 | 173 | ||
169 | source libopie2/config.in | 174 | source libopie2/config.in |
170 | source libqtaux/config.in | 175 | source libqtaux/config.in |
171 | source rsync/config.in | 176 | source rsync/config.in |
172 | source core/opie-login/config.in | 177 | source core/opie-login/config.in |
173 | source core/opiealarm/config.in | 178 | source core/opiealarm/config.in |
174 | source core/tools/quicklauncher/config.in | 179 | source core/tools/quicklauncher/config.in |
175 | source core/launcher/config.in | 180 | source core/launcher/config.in |
176 | source core/symlinker/config.in | 181 | source core/symlinker/config.in |
177 | endmenu | 182 | endmenu |
178 | 183 | ||
179 | comment "" | 184 | comment "" |
180 | 185 | ||
181 | menu "Applets" | 186 | menu "Applets" |
182 | source core/applets/config.in | 187 | source core/applets/config.in |
183 | source noncore/applets/config.in | 188 | source noncore/applets/config.in |
184 | endmenu | 189 | endmenu |
185 | 190 | ||
186 | menu "Apps" | 191 | menu "Apps" |
187 | source core/apps/config.in | 192 | source core/apps/config.in |
188 | source noncore/apps/config.in | 193 | source noncore/apps/config.in |
189 | endmenu | 194 | endmenu |
190 | 195 | ||
191 | menu "Communications and Networking" | 196 | menu "Communications and Networking" |
192 | source noncore/comm/config.in | 197 | source noncore/comm/config.in |
193 | source noncore/net/config.in | 198 | source noncore/net/config.in |
194 | endmenu | 199 | endmenu |
195 | 200 | ||
196 | menu "Games" | 201 | menu "Games" |
197 | source noncore/games/config.in | 202 | source noncore/games/config.in |
198 | endmenu | 203 | endmenu |
199 | 204 | ||
200 | menu "Graphics and Multimedia" | 205 | menu "Graphics and Multimedia" |
201 | source freetype/config.in | 206 | source freetype/config.in |
202 | source noncore/graphics/config.in | 207 | source noncore/graphics/config.in |
203 | source core/multimedia/config.in | 208 | source core/multimedia/config.in |
204 | source noncore/multimedia/config.in | 209 | source noncore/multimedia/config.in |
205 | endmenu | 210 | endmenu |
206 | 211 | ||
207 | menu "Input methods" | 212 | menu "Input methods" |
208 | source inputmethods/config.in | 213 | source inputmethods/config.in |
209 | endmenu | 214 | endmenu |
210 | 215 | ||
211 | menu "Pim" | 216 | menu "Pim" |
212 | source core/obex/config.in | 217 | source core/obex/config.in |
213 | source core/pim/config.in | 218 | source core/pim/config.in |
214 | comment "Today Plugins ---" | 219 | comment "Today Plugins ---" |
215 | source noncore/todayplugins/config.in | 220 | source noncore/todayplugins/config.in |
216 | source core/pim/today/plugins/config.in | 221 | source core/pim/today/plugins/config.in |
217 | endmenu | 222 | endmenu |
218 | 223 | ||
219 | menu "Settings" | 224 | menu "Settings" |
220 | source core/settings/config.in | 225 | source core/settings/config.in |
221 | source noncore/settings/config.in | 226 | source noncore/settings/config.in |
222 | source noncore/securityplugins/config.in | 227 | source noncore/securityplugins/config.in |
223 | endmenu | 228 | endmenu |
224 | 229 | ||
225 | menu "Theming" | 230 | menu "Theming" |
226 | comment "Decorations ---" | 231 | comment "Decorations ---" |
227 | source noncore/decorations/config.in | 232 | source noncore/decorations/config.in |
228 | comment "Styles ---" | 233 | comment "Styles ---" |
229 | source noncore/styles/config.in | 234 | source noncore/styles/config.in |
230 | endmenu | 235 | endmenu |
231 | 236 | ||
232 | menu "Tools" | 237 | menu "Tools" |
233 | source noncore/tools/config.in | 238 | source noncore/tools/config.in |
234 | endmenu | 239 | endmenu |
235 | 240 | ||
236 | menu "Development" | 241 | menu "Development" |
237 | source development/keyview/config.in | 242 | source development/keyview/config.in |
238 | #source development/debugviewer/config.in | 243 | #source development/debugviewer/config.in |
239 | endmenu | 244 | endmenu |
240 | 245 | ||
241 | menu "Examples" | 246 | menu "Examples" |
242 | config EXAMPLES | 247 | config EXAMPLES |
243 | boolean "Compile Example Application" | 248 | boolean "Compile Example Application" |
244 | source examples/config.in | 249 | source examples/config.in |
245 | endmenu | 250 | endmenu |
246 | 251 | ||
247 | comment "" | 252 | comment "" |
248 | 253 | ||
249 | menu "Unsupported / Unmaintained" | 254 | menu "Unsupported / Unmaintained" |
250 | source noncore/unsupported/config.in | 255 | source noncore/unsupported/config.in |
251 | endmenu | 256 | endmenu |
252 | 257 | ||
253 | comment "" | 258 | comment "" |
254 | depends on EXPERIMENTAL | 259 | depends on EXPERIMENTAL |
255 | menu "Experimental" | 260 | menu "Experimental" |
256 | depends on EXPERIMENTAL | 261 | depends on EXPERIMENTAL |
257 | source libslcompat/config.in | 262 | source libslcompat/config.in |
258 | source core/qws/config.in | 263 | source core/qws/config.in |
259 | endmenu | 264 | endmenu |
diff --git a/core/launcher/launcher.cpp b/core/launcher/launcher.cpp index 87a54bf..aa357ca 100644 --- a/core/launcher/launcher.cpp +++ b/core/launcher/launcher.cpp | |||
@@ -348,352 +348,332 @@ void LauncherTabWidget::setProgressStyle() | |||
348 | * This obviously has a more sinister cause, but this works around it with no | 348 | * This obviously has a more sinister cause, but this works around it with no |
349 | * obvious adverse effects. Please FIXME | 349 | * obvious adverse effects. Please FIXME |
350 | * bkc - 17/6/2004 | 350 | * bkc - 17/6/2004 |
351 | * | 351 | * |
352 | */ | 352 | */ |
353 | 353 | ||
354 | void LauncherTabWidget::setBusy(bool on) | 354 | void LauncherTabWidget::setBusy(bool on) |
355 | { | 355 | { |
356 | if ( on ) | 356 | if ( on ) |
357 | currentView()->setBusy(TRUE); | 357 | currentView()->setBusy(TRUE); |
358 | else { | 358 | else { |
359 | for ( int i = 0; i < categoryBar->count(); i++ ) { | 359 | for ( int i = 0; i < categoryBar->count(); i++ ) { |
360 | if (categoryBar->tab(i)) { | 360 | if (categoryBar->tab(i)) { |
361 | LauncherView *view = ((LauncherTab *)categoryBar->tab(i))->view; | 361 | LauncherView *view = ((LauncherTab *)categoryBar->tab(i))->view; |
362 | view->setBusy( FALSE ); | 362 | view->setBusy( FALSE ); |
363 | } else { | 363 | } else { |
364 | odebug << "Averting Disaster with tab " << i << " == NULL! " << oendl; | 364 | odebug << "Averting Disaster with tab " << i << " == NULL! " << oendl; |
365 | } | 365 | } |
366 | } | 366 | } |
367 | } | 367 | } |
368 | } | 368 | } |
369 | 369 | ||
370 | void LauncherTabWidget::setBusyIndicatorType( const QString& str ) { | 370 | void LauncherTabWidget::setBusyIndicatorType( const QString& str ) { |
371 | for (int i = 0; i < categoryBar->count(); i++ ) { | 371 | for (int i = 0; i < categoryBar->count(); i++ ) { |
372 | LauncherView* view = static_cast<LauncherTab*>( categoryBar->tab(i) )->view; | 372 | LauncherView* view = static_cast<LauncherTab*>( categoryBar->tab(i) )->view; |
373 | view->setBusyIndicatorType( str ); | 373 | view->setBusyIndicatorType( str ); |
374 | } | 374 | } |
375 | } | 375 | } |
376 | 376 | ||
377 | LauncherView *LauncherTabWidget::currentView(void) | 377 | LauncherView *LauncherTabWidget::currentView(void) |
378 | { | 378 | { |
379 | return (LauncherView*)stack->visibleWidget(); | 379 | return (LauncherView*)stack->visibleWidget(); |
380 | } | 380 | } |
381 | 381 | ||
382 | 382 | ||
383 | 383 | ||
384 | void LauncherTabWidget::launcherMessage( const QCString &msg, const QByteArray &data) | 384 | void LauncherTabWidget::launcherMessage( const QCString &msg, const QByteArray &data) |
385 | { | 385 | { |
386 | QDataStream stream( data, IO_ReadOnly ); | 386 | QDataStream stream( data, IO_ReadOnly ); |
387 | if ( msg == "setTabView(QString,int)" ) { | 387 | if ( msg == "setTabView(QString,int)" ) { |
388 | QString id; | 388 | QString id; |
389 | stream >> id; | 389 | stream >> id; |
390 | int mode; | 390 | int mode; |
391 | stream >> mode; | 391 | stream >> mode; |
392 | if ( view(id) ) | 392 | if ( view(id) ) |
393 | view(id)->setViewMode( (LauncherView::ViewMode)mode ); | 393 | view(id)->setViewMode( (LauncherView::ViewMode)mode ); |
394 | } else if ( msg == "setTabBackground(QString,int,QString)" ) { | 394 | } else if ( msg == "setTabBackground(QString,int,QString)" ) { |
395 | QString id; | 395 | QString id; |
396 | stream >> id; | 396 | stream >> id; |
397 | int mode; | 397 | int mode; |
398 | stream >> mode; | 398 | stream >> mode; |
399 | QString pixmapOrColor; | 399 | QString pixmapOrColor; |
400 | stream >> pixmapOrColor; | 400 | stream >> pixmapOrColor; |
401 | if ( view(id) ) | 401 | if ( view(id) ) |
402 | view(id)->setBackgroundType( (LauncherView::BackgroundType)mode, pixmapOrColor ); | 402 | view(id)->setBackgroundType( (LauncherView::BackgroundType)mode, pixmapOrColor ); |
403 | if ( id == "Documents" ) | 403 | if ( id == "Documents" ) |
404 | docLoadingWidget->setBackgroundType( (LauncherView::BackgroundType)mode, pixmapOrColor ); | 404 | docLoadingWidget->setBackgroundType( (LauncherView::BackgroundType)mode, pixmapOrColor ); |
405 | } else if ( msg == "setTextColor(QString,QString)" ) { | 405 | } else if ( msg == "setTextColor(QString,QString)" ) { |
406 | QString id; | 406 | QString id; |
407 | stream >> id; | 407 | stream >> id; |
408 | QString color; | 408 | QString color; |
409 | stream >> color; | 409 | stream >> color; |
410 | if ( view(id) ) | 410 | if ( view(id) ) |
411 | view(id)->setTextColor( QColor(color) ); | 411 | view(id)->setTextColor( QColor(color) ); |
412 | if ( id == "Documents" ) | 412 | if ( id == "Documents" ) |
413 | docLoadingWidget->setTextColor( QColor(color) ); | 413 | docLoadingWidget->setTextColor( QColor(color) ); |
414 | } else if ( msg == "setFont(QString,QString,int,int,int)" ) { | 414 | } else if ( msg == "setFont(QString,QString,int,int,int)" ) { |
415 | QString id; | 415 | QString id; |
416 | stream >> id; | 416 | stream >> id; |
417 | QString fam; | 417 | QString fam; |
418 | stream >> fam; | 418 | stream >> fam; |
419 | int size; | 419 | int size; |
420 | stream >> size; | 420 | stream >> size; |
421 | int weight; | 421 | int weight; |
422 | stream >> weight; | 422 | stream >> weight; |
423 | int italic; | 423 | int italic; |
424 | stream >> italic; | 424 | stream >> italic; |
425 | if ( view(id) ) { | 425 | if ( view(id) ) { |
426 | if ( !fam.isEmpty() ) { | 426 | if ( !fam.isEmpty() ) { |
427 | view(id)->setViewFont( QFont(fam, size, weight, italic!=0) ); | 427 | view(id)->setViewFont( QFont(fam, size, weight, italic!=0) ); |
428 | odebug << "setFont: " << fam << ", " << size << ", " << weight << ", " << italic << "" << oendl; | 428 | odebug << "setFont: " << fam << ", " << size << ", " << weight << ", " << italic << "" << oendl; |
429 | } else { | 429 | } else { |
430 | view(id)->clearViewFont(); | 430 | view(id)->clearViewFont(); |
431 | } | 431 | } |
432 | } | 432 | } |
433 | }else if ( msg == "setBusyIndicatorType(QString)" ) { | 433 | }else if ( msg == "setBusyIndicatorType(QString)" ) { |
434 | QString type; | 434 | QString type; |
435 | stream >> type; | 435 | stream >> type; |
436 | setBusyIndicatorType( type ); | 436 | setBusyIndicatorType( type ); |
437 | }else if ( msg == "home()" ) { | 437 | }else if ( msg == "home()" ) { |
438 | if ( isVisibleWindow( static_cast<QWidget*>(parent())->winId() ) ) { | 438 | if ( isVisibleWindow( static_cast<QWidget*>(parent())->winId() ) ) { |
439 | if (categoryBar) | 439 | if (categoryBar) |
440 | categoryBar->nextTab(); | 440 | categoryBar->nextTab(); |
441 | }else | 441 | }else |
442 | static_cast<QWidget*>(parent())->raise(); | 442 | static_cast<QWidget*>(parent())->raise(); |
443 | } | 443 | } |
444 | } | 444 | } |
445 | 445 | ||
446 | 446 | ||
447 | 447 | ||
448 | //--------------------------------------------------------------------------- | 448 | //--------------------------------------------------------------------------- |
449 | 449 | ||
450 | Launcher::Launcher() | 450 | Launcher::Launcher() |
451 | : QMainWindow( 0, "PDA User Interface", QWidget::WStyle_Customize | QWidget::WGroupLeader ) | 451 | : QMainWindow( 0, "PDA User Interface", QWidget::WStyle_Customize | QWidget::WGroupLeader ) |
452 | { | 452 | { |
453 | tabs = 0; | 453 | tabs = 0; |
454 | tb = 0; | 454 | tb = 0; |
455 | Config cfg( "Launcher" ); | 455 | Config cfg( "Launcher" ); |
456 | cfg.setGroup( "DocTab" ); | 456 | cfg.setGroup( "DocTab" ); |
457 | docTabEnabled = cfg.readBoolEntry( "Enable", true ); | 457 | docTabEnabled = cfg.readBoolEntry( "Enable", true ); |
458 | } | 458 | } |
459 | 459 | ||
460 | void Launcher::createGUI() | 460 | void Launcher::createGUI() |
461 | { | 461 | { |
462 | setCaption( tr("Launcher") ); | 462 | setCaption( tr("Launcher") ); |
463 | 463 | ||
464 | // we have a pretty good idea how big we'll be | 464 | // we have a pretty good idea how big we'll be |
465 | setGeometry( 0, 0, qApp->desktop()->width(), qApp->desktop()->height() ); | 465 | setGeometry( 0, 0, qApp->desktop()->width(), qApp->desktop()->height() ); |
466 | 466 | ||
467 | tb = new TaskBar; | 467 | tb = new TaskBar; |
468 | tabs = new LauncherTabWidget( this ); | 468 | tabs = new LauncherTabWidget( this ); |
469 | setCentralWidget( tabs ); | 469 | setCentralWidget( tabs ); |
470 | 470 | ||
471 | ServerInterface::dockWidget( tb, ServerInterface::Bottom ); | 471 | ServerInterface::dockWidget( tb, ServerInterface::Bottom ); |
472 | tb->show(); | 472 | tb->show(); |
473 | 473 | ||
474 | qApp->installEventFilter( this ); | 474 | qApp->installEventFilter( this ); |
475 | 475 | ||
476 | |||
477 | connect( qApp, SIGNAL(symbol()), this, SLOT(toggleSymbolInput()) ); | ||
478 | connect( qApp, SIGNAL(numLockStateToggle()), this, SLOT(toggleNumLockState()) ); | ||
479 | connect( qApp, SIGNAL(capsLockStateToggle()), this, SLOT(toggleCapsLockState()) ); | ||
480 | |||
481 | connect( tb, SIGNAL(tabSelected(const QString&)), | 476 | connect( tb, SIGNAL(tabSelected(const QString&)), |
482 | this, SLOT(showTab(const QString&)) ); | 477 | this, SLOT(showTab(const QString&)) ); |
483 | connect( tabs, SIGNAL(selected(const QString&)), | 478 | connect( tabs, SIGNAL(selected(const QString&)), |
484 | this, SLOT(viewSelected(const QString&)) ); | 479 | this, SLOT(viewSelected(const QString&)) ); |
485 | connect( tabs, SIGNAL(clicked(const AppLnk*)), | 480 | connect( tabs, SIGNAL(clicked(const AppLnk*)), |
486 | this, SLOT(select(const AppLnk*))); | 481 | this, SLOT(select(const AppLnk*))); |
487 | connect( tabs, SIGNAL(rightPressed(AppLnk*)), | 482 | connect( tabs, SIGNAL(rightPressed(AppLnk*)), |
488 | this, SLOT(properties(AppLnk*))); | 483 | this, SLOT(properties(AppLnk*))); |
489 | 484 | ||
490 | #if defined(Q_WS_QWS) && !defined(QT_NO_COP) | 485 | #if defined(Q_WS_QWS) && !defined(QT_NO_COP) |
491 | QCopChannel* sysChannel = new QCopChannel( "QPE/System", this ); | 486 | QCopChannel* sysChannel = new QCopChannel( "QPE/System", this ); |
492 | connect( sysChannel, SIGNAL(received(const QCString&,const QByteArray&)), | 487 | connect( sysChannel, SIGNAL(received(const QCString&,const QByteArray&)), |
493 | this, SLOT(systemMessage(const QCString&,const QByteArray&)) ); | 488 | this, SLOT(systemMessage(const QCString&,const QByteArray&)) ); |
494 | #endif | 489 | #endif |
495 | 490 | ||
496 | // all documents | 491 | // all documents |
497 | QImage img( Resource::loadImage( "DocsIcon" ) ); | 492 | QImage img( Resource::loadImage( "DocsIcon" ) ); |
498 | QPixmap pm; | 493 | QPixmap pm; |
499 | pm = img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ); | 494 | pm = img.smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ); |
500 | // It could add this itself if it handles docs | 495 | // It could add this itself if it handles docs |
501 | 496 | ||
502 | tabs->newView("Documents", pm, tr("Documents") )->setToolsEnabled( TRUE ); | 497 | tabs->newView("Documents", pm, tr("Documents") )->setToolsEnabled( TRUE ); |
503 | 498 | ||
504 | QTimer::singleShot( 0, tabs, SLOT( initLayout() ) ); | 499 | QTimer::singleShot( 0, tabs, SLOT( initLayout() ) ); |
505 | qApp->setMainWidget( this ); | 500 | qApp->setMainWidget( this ); |
506 | QTimer::singleShot( 500, this, SLOT( makeVisible() ) ); | 501 | QTimer::singleShot( 500, this, SLOT( makeVisible() ) ); |
507 | } | 502 | } |
508 | 503 | ||
509 | Launcher::~Launcher() | 504 | Launcher::~Launcher() |
510 | { | 505 | { |
511 | if ( tb ) | 506 | if ( tb ) |
512 | destroyGUI(); | 507 | destroyGUI(); |
513 | } | 508 | } |
514 | 509 | ||
515 | bool Launcher::requiresDocuments() const | 510 | bool Launcher::requiresDocuments() const |
516 | { | 511 | { |
517 | Config cfg( "Launcher" ); | 512 | Config cfg( "Launcher" ); |
518 | cfg.setGroup( "DocTab" ); | 513 | cfg.setGroup( "DocTab" ); |
519 | return cfg.readBoolEntry( "Enable", true ); | 514 | return cfg.readBoolEntry( "Enable", true ); |
520 | } | 515 | } |
521 | 516 | ||
522 | void Launcher::makeVisible() | 517 | void Launcher::makeVisible() |
523 | { | 518 | { |
524 | showMaximized(); | 519 | showMaximized(); |
525 | } | 520 | } |
526 | 521 | ||
527 | void Launcher::destroyGUI() | 522 | void Launcher::destroyGUI() |
528 | { | 523 | { |
529 | delete tb; | 524 | delete tb; |
530 | tb = 0; | 525 | tb = 0; |
531 | delete tabs; | 526 | delete tabs; |
532 | tabs =0; | 527 | tabs =0; |
533 | } | 528 | } |
534 | 529 | ||
535 | bool Launcher::eventFilter( QObject*, QEvent *ev ) | 530 | bool Launcher::eventFilter( QObject*, QEvent *ev ) |
536 | { | 531 | { |
537 | #ifdef QT_QWS_CUSTOM | 532 | #ifdef QT_QWS_CUSTOM |
538 | if ( ev->type() == QEvent::KeyPress ) { | 533 | if ( ev->type() == QEvent::KeyPress ) { |
539 | QKeyEvent *ke = (QKeyEvent *)ev; | 534 | QKeyEvent *ke = (QKeyEvent *)ev; |
540 | if ( ke->key() == Qt::Key_F11 ) { // menu key | 535 | if ( ke->key() == Qt::Key_F11 ) { // menu key |
541 | QWidget *active = qApp->activeWindow(); | 536 | QWidget *active = qApp->activeWindow(); |
542 | if ( active && active->isPopup() ) | 537 | if ( active && active->isPopup() ) |
543 | active->close(); | 538 | active->close(); |
544 | else { | 539 | else { |
545 | Global::terminateBuiltin("calibrate"); // No tr | 540 | Global::terminateBuiltin("calibrate"); // No tr |
546 | tb->launchStartMenu(); | 541 | tb->launchStartMenu(); |
547 | } | 542 | } |
548 | return TRUE; | 543 | return TRUE; |
549 | } | 544 | } |
550 | } | 545 | } |
551 | #else | 546 | #else |
552 | Q_UNUSED(ev); | 547 | Q_UNUSED(ev); |
553 | #endif | 548 | #endif |
554 | return FALSE; | 549 | return FALSE; |
555 | } | 550 | } |
556 | 551 | ||
557 | void Launcher::toggleSymbolInput() | ||
558 | { | ||
559 | tb->toggleSymbolInput(); | ||
560 | } | ||
561 | |||
562 | void Launcher::toggleNumLockState() | ||
563 | { | ||
564 | tb->toggleNumLockState(); | ||
565 | } | ||
566 | |||
567 | void Launcher::toggleCapsLockState() | ||
568 | { | ||
569 | tb->toggleCapsLockState(); | ||
570 | } | ||
571 | |||
572 | static bool isVisibleWindow(int wid) | 552 | static bool isVisibleWindow(int wid) |
573 | { | 553 | { |
574 | #ifdef Q_WS_QWS | 554 | #ifdef Q_WS_QWS |
575 | const QList<QWSWindow> &list = qwsServer->clientWindows(); | 555 | const QList<QWSWindow> &list = qwsServer->clientWindows(); |
576 | QWSWindow* w; | 556 | QWSWindow* w; |
577 | for (QListIterator<QWSWindow> it(list); (w=it.current()); ++it) { | 557 | for (QListIterator<QWSWindow> it(list); (w=it.current()); ++it) { |
578 | if ( w->winId() == wid ) | 558 | if ( w->winId() == wid ) |
579 | return !w->isFullyObscured(); | 559 | return !w->isFullyObscured(); |
580 | } | 560 | } |
581 | #endif | 561 | #endif |
582 | return FALSE; | 562 | return FALSE; |
583 | } | 563 | } |
584 | 564 | ||
585 | void Launcher::viewSelected(const QString& s) | 565 | void Launcher::viewSelected(const QString& s) |
586 | { | 566 | { |
587 | setCaption( s + tr(" - Launcher") ); | 567 | setCaption( s + tr(" - Launcher") ); |
588 | } | 568 | } |
589 | 569 | ||
590 | void Launcher::showTab(const QString& id) | 570 | void Launcher::showTab(const QString& id) |
591 | { | 571 | { |
592 | tabs->categoryBar->showTab(id); | 572 | tabs->categoryBar->showTab(id); |
593 | raise(); | 573 | raise(); |
594 | } | 574 | } |
595 | 575 | ||
596 | void Launcher::select( const AppLnk *appLnk ) | 576 | void Launcher::select( const AppLnk *appLnk ) |
597 | { | 577 | { |
598 | if ( appLnk->type() == "Folder" ) { // No tr | 578 | if ( appLnk->type() == "Folder" ) { // No tr |
599 | // Not supported: flat is simpler for the user | 579 | // Not supported: flat is simpler for the user |
600 | } else { | 580 | } else { |
601 | if ( appLnk->exec().isNull() ) { | 581 | if ( appLnk->exec().isNull() ) { |
602 | int i = QMessageBox::information(this,tr("No application"), | 582 | int i = QMessageBox::information(this,tr("No application"), |
603 | tr("<p>No application is defined for this document." | 583 | tr("<p>No application is defined for this document." |
604 | "<p>Type is %1.").arg(appLnk->type()), tr("OK"), tr("View as text"), 0, 0, 1); | 584 | "<p>Type is %1.").arg(appLnk->type()), tr("OK"), tr("View as text"), 0, 0, 1); |
605 | 585 | ||
606 | /* ### Fixme */ | 586 | /* ### Fixme */ |
607 | if ( i == 1 ) | 587 | if ( i == 1 ) |
608 | Global::execute("textedit",appLnk->file()); | 588 | Global::execute("textedit",appLnk->file()); |
609 | 589 | ||
610 | return; | 590 | return; |
611 | } | 591 | } |
612 | tabs->setBusy(TRUE); | 592 | tabs->setBusy(TRUE); |
613 | emit executing( appLnk ); | 593 | emit executing( appLnk ); |
614 | appLnk->execute(); | 594 | appLnk->execute(); |
615 | } | 595 | } |
616 | } | 596 | } |
617 | 597 | ||
618 | void Launcher::properties( AppLnk *appLnk ) | 598 | void Launcher::properties( AppLnk *appLnk ) |
619 | { | 599 | { |
620 | if ( appLnk->type() == "Folder" ) { // No tr | 600 | if ( appLnk->type() == "Folder" ) { // No tr |
621 | // Not supported: flat is simpler for the user | 601 | // Not supported: flat is simpler for the user |
622 | } else { | 602 | } else { |
623 | /* ### libqtopia FIXME also moving docLnks... */ | 603 | /* ### libqtopia FIXME also moving docLnks... */ |
624 | LnkProperties prop(appLnk,0 ); | 604 | LnkProperties prop(appLnk,0 ); |
625 | 605 | ||
626 | QPEApplication::execDialog( &prop ); | 606 | QPEApplication::execDialog( &prop ); |
627 | } | 607 | } |
628 | } | 608 | } |
629 | 609 | ||
630 | void Launcher::storageChanged( const QList<FileSystem> &fs ) | 610 | void Launcher::storageChanged( const QList<FileSystem> &fs ) |
631 | { | 611 | { |
632 | // ### update combo boxes if we had a combo box for the storage type | 612 | // ### update combo boxes if we had a combo box for the storage type |
633 | } | 613 | } |
634 | 614 | ||
635 | void Launcher::systemMessage( const QCString &msg, const QByteArray &data) | 615 | void Launcher::systemMessage( const QCString &msg, const QByteArray &data) |
636 | { | 616 | { |
637 | QDataStream stream( data, IO_ReadOnly ); | 617 | QDataStream stream( data, IO_ReadOnly ); |
638 | if ( msg == "busy()" ) { | 618 | if ( msg == "busy()" ) { |
639 | tb->startWait(); | 619 | tb->startWait(); |
640 | } else if ( msg == "notBusy(QString)" ) { | 620 | } else if ( msg == "notBusy(QString)" ) { |
641 | QString app; | 621 | QString app; |
642 | stream >> app; | 622 | stream >> app; |
643 | tabs->setBusy(FALSE); | 623 | tabs->setBusy(FALSE); |
644 | tb->stopWait(app); | 624 | tb->stopWait(app); |
645 | } else if (msg == "applyStyle()") { | 625 | } else if (msg == "applyStyle()") { |
646 | tabs->currentView()->relayout(); | 626 | tabs->currentView()->relayout(); |
647 | } | 627 | } |
648 | } | 628 | } |
649 | 629 | ||
650 | // These are the update functions from the server | 630 | // These are the update functions from the server |
651 | void Launcher::typeAdded( const QString& type, const QString& name, | 631 | void Launcher::typeAdded( const QString& type, const QString& name, |
652 | const QPixmap& pixmap, const QPixmap& ) | 632 | const QPixmap& pixmap, const QPixmap& ) |
653 | { | 633 | { |
654 | tabs->newView( type, pixmap, name ); | 634 | tabs->newView( type, pixmap, name ); |
655 | ids.append( type ); | 635 | ids.append( type ); |
656 | /* this will be called in applicationScanningProgress with value 100! */ | 636 | /* this will be called in applicationScanningProgress with value 100! */ |
657 | // tb->refreshStartMenu(); | 637 | // tb->refreshStartMenu(); |
658 | 638 | ||
659 | static bool first = TRUE; | 639 | static bool first = TRUE; |
660 | if ( first ) { | 640 | if ( first ) { |
661 | first = FALSE; | 641 | first = FALSE; |
662 | tabs->categoryBar->showTab(type); | 642 | tabs->categoryBar->showTab(type); |
663 | } | 643 | } |
664 | 644 | ||
665 | tabs->view( type )->setUpdatesEnabled( FALSE ); | 645 | tabs->view( type )->setUpdatesEnabled( FALSE ); |
666 | tabs->view( type )->setSortEnabled( FALSE ); | 646 | tabs->view( type )->setSortEnabled( FALSE ); |
667 | } | 647 | } |
668 | 648 | ||
669 | void Launcher::typeRemoved( const QString& type ) | 649 | void Launcher::typeRemoved( const QString& type ) |
670 | { | 650 | { |
671 | tabs->view( type )->removeAllItems(); | 651 | tabs->view( type )->removeAllItems(); |
672 | tabs->deleteView( type ); | 652 | tabs->deleteView( type ); |
673 | ids.remove( type ); | 653 | ids.remove( type ); |
674 | /* this will be called in applicationScanningProgress with value 100! */ | 654 | /* this will be called in applicationScanningProgress with value 100! */ |
675 | // tb->refreshStartMenu(); | 655 | // tb->refreshStartMenu(); |
676 | } | 656 | } |
677 | 657 | ||
678 | void Launcher::applicationAdded( const QString& type, const AppLnk& app ) | 658 | void Launcher::applicationAdded( const QString& type, const AppLnk& app ) |
679 | { | 659 | { |
680 | if ( app.type() == "Separator" ) // No tr | 660 | if ( app.type() == "Separator" ) // No tr |
681 | return; | 661 | return; |
682 | 662 | ||
683 | LauncherView *view = tabs->view( type ); | 663 | LauncherView *view = tabs->view( type ); |
684 | if ( view ) | 664 | if ( view ) |
685 | view->addItem( new AppLnk( app ), FALSE ); | 665 | view->addItem( new AppLnk( app ), FALSE ); |
686 | else | 666 | else |
687 | owarn << "addAppLnk: No view for type " << type.latin1() << ". Can't add app " | 667 | owarn << "addAppLnk: No view for type " << type.latin1() << ". Can't add app " |
688 | << app.name().latin1() << "!", | 668 | << app.name().latin1() << "!", |
689 | 669 | ||
690 | MimeType::registerApp( app ); | 670 | MimeType::registerApp( app ); |
691 | } | 671 | } |
692 | 672 | ||
693 | void Launcher::applicationRemoved( const QString& type, const AppLnk& app ) | 673 | void Launcher::applicationRemoved( const QString& type, const AppLnk& app ) |
694 | { | 674 | { |
695 | LauncherView *view = tabs->view( type ); | 675 | LauncherView *view = tabs->view( type ); |
696 | if ( view ) | 676 | if ( view ) |
697 | view->removeLink( app.linkFile() ); | 677 | view->removeLink( app.linkFile() ); |
698 | else | 678 | else |
699 | owarn << "removeAppLnk: No view for " << type << "!" << oendl; | 679 | owarn << "removeAppLnk: No view for " << type << "!" << oendl; |
diff --git a/core/launcher/launcher.h b/core/launcher/launcher.h index 29bd7db..2eaf77c 100644 --- a/core/launcher/launcher.h +++ b/core/launcher/launcher.h | |||
@@ -10,150 +10,147 @@ | |||
10 | ** | 10 | ** |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 13 | ** |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
15 | ** | 15 | ** |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | #ifndef LAUNCHER_H | 20 | #ifndef LAUNCHER_H |
21 | #define LAUNCHER_H | 21 | #define LAUNCHER_H |
22 | 22 | ||
23 | #include <qtopia/config.h> | 23 | #include <qtopia/config.h> |
24 | #include <qtopia/storage.h> | 24 | #include <qtopia/storage.h> |
25 | #include <qtopia/applnk.h> | 25 | #include <qtopia/applnk.h> |
26 | #include <qmainwindow.h> | 26 | #include <qmainwindow.h> |
27 | #include <qstringlist.h> | 27 | #include <qstringlist.h> |
28 | #include <qprogressbar.h> | 28 | #include <qprogressbar.h> |
29 | #include <qvbox.h> | 29 | #include <qvbox.h> |
30 | #include <qlist.h> | 30 | #include <qlist.h> |
31 | #include <qdict.h> | 31 | #include <qdict.h> |
32 | #include "launcherview.h" | 32 | #include "launcherview.h" |
33 | #include "launchertab.h" | 33 | #include "launchertab.h" |
34 | #include "serverinterface.h" | 34 | #include "serverinterface.h" |
35 | 35 | ||
36 | class QWidgetStack; | 36 | class QWidgetStack; |
37 | class TaskBar; | 37 | class TaskBar; |
38 | class Launcher; | 38 | class Launcher; |
39 | 39 | ||
40 | class LauncherTabWidget : public QVBox { | 40 | class LauncherTabWidget : public QVBox { |
41 | // can't use a QTabWidget, since it won't let us set the frame style. | 41 | // can't use a QTabWidget, since it won't let us set the frame style. |
42 | Q_OBJECT | 42 | Q_OBJECT |
43 | public: | 43 | public: |
44 | LauncherTabWidget( Launcher* parent ); | 44 | LauncherTabWidget( Launcher* parent ); |
45 | 45 | ||
46 | void updateDocs(AppLnkSet* docFolder); | 46 | void updateDocs(AppLnkSet* docFolder); |
47 | void setBusy(bool on); | 47 | void setBusy(bool on); |
48 | LauncherView *currentView(void); | 48 | LauncherView *currentView(void); |
49 | 49 | ||
50 | LauncherView* newView( const QString&, const QPixmap& pm, const QString& label ); | 50 | LauncherView* newView( const QString&, const QPixmap& pm, const QString& label ); |
51 | void deleteView( const QString& ); | 51 | void deleteView( const QString& ); |
52 | void setTabViewAppearance( LauncherView *v, Config &cfg ); | 52 | void setTabViewAppearance( LauncherView *v, Config &cfg ); |
53 | void setTabAppearance( LauncherTab *, Config &cfg ); | 53 | void setTabAppearance( LauncherTab *, Config &cfg ); |
54 | 54 | ||
55 | LauncherView *view( const QString & ); | 55 | LauncherView *view( const QString & ); |
56 | LauncherView *docView(); | 56 | LauncherView *docView(); |
57 | 57 | ||
58 | void createDocLoadingWidget(); | 58 | void createDocLoadingWidget(); |
59 | void setLoadingWidgetEnabled( bool v ); | 59 | void setLoadingWidgetEnabled( bool v ); |
60 | void setLoadingProgress( int percent ); | 60 | void setLoadingProgress( int percent ); |
61 | 61 | ||
62 | LauncherTabBar* categoryBar; | 62 | LauncherTabBar* categoryBar; |
63 | 63 | ||
64 | void setBusyIndicatorType( const QString& type ); | 64 | void setBusyIndicatorType( const QString& type ); |
65 | 65 | ||
66 | signals: | 66 | signals: |
67 | void selected(const QString&); | 67 | void selected(const QString&); |
68 | void clicked(const AppLnk*); | 68 | void clicked(const AppLnk*); |
69 | void rightPressed(AppLnk*); | 69 | void rightPressed(AppLnk*); |
70 | 70 | ||
71 | protected slots: | 71 | protected slots: |
72 | void raiseTabWidget(); | 72 | void raiseTabWidget(); |
73 | void tabProperties(); | 73 | void tabProperties(); |
74 | void initLayout(); | 74 | void initLayout(); |
75 | 75 | ||
76 | private slots: | 76 | private slots: |
77 | void launcherMessage( const QCString &, const QByteArray &); | 77 | void launcherMessage( const QCString &, const QByteArray &); |
78 | void appMessage( const QCString &, const QByteArray &); | 78 | void appMessage( const QCString &, const QByteArray &); |
79 | void setProgressStyle(); | 79 | void setProgressStyle(); |
80 | 80 | ||
81 | protected: | 81 | protected: |
82 | void paletteChange( const QPalette &p ); | 82 | void paletteChange( const QPalette &p ); |
83 | void styleChange( QStyle & ); | 83 | void styleChange( QStyle & ); |
84 | 84 | ||
85 | private: | 85 | private: |
86 | Launcher *launcher; | 86 | Launcher *launcher; |
87 | LauncherView *docview; | 87 | LauncherView *docview; |
88 | 88 | ||
89 | QWidgetStack *stack; | 89 | QWidgetStack *stack; |
90 | LauncherView *docLoadingWidget; | 90 | LauncherView *docLoadingWidget; |
91 | QProgressBar *docLoadingWidgetProgress; | 91 | QProgressBar *docLoadingWidgetProgress; |
92 | bool docLoadingWidgetEnabled; | 92 | bool docLoadingWidgetEnabled; |
93 | }; | 93 | }; |
94 | 94 | ||
95 | class Launcher : public QMainWindow, public ServerInterface | 95 | class Launcher : public QMainWindow, public ServerInterface |
96 | { | 96 | { |
97 | Q_OBJECT | 97 | Q_OBJECT |
98 | public: | 98 | public: |
99 | Launcher(); | 99 | Launcher(); |
100 | ~Launcher(); | 100 | ~Launcher(); |
101 | 101 | ||
102 | // implementing ServerInterface | 102 | // implementing ServerInterface |
103 | void createGUI(); | 103 | void createGUI(); |
104 | void destroyGUI(); | 104 | void destroyGUI(); |
105 | void typeAdded( const QString& type, const QString& name, const QPixmap& pixmap, const QPixmap& bgPixmap ); | 105 | void typeAdded( const QString& type, const QString& name, const QPixmap& pixmap, const QPixmap& bgPixmap ); |
106 | void typeRemoved( const QString& type ); | 106 | void typeRemoved( const QString& type ); |
107 | void applicationAdded( const QString& type, const AppLnk& doc ); | 107 | void applicationAdded( const QString& type, const AppLnk& doc ); |
108 | void applicationRemoved( const QString& type, const AppLnk& doc ); | 108 | void applicationRemoved( const QString& type, const AppLnk& doc ); |
109 | void allApplicationsRemoved(); | 109 | void allApplicationsRemoved(); |
110 | void applicationStateChanged( const QString& name, ApplicationState state ); | 110 | void applicationStateChanged( const QString& name, ApplicationState state ); |
111 | void documentAdded( const DocLnk& doc ); | 111 | void documentAdded( const DocLnk& doc ); |
112 | void documentRemoved( const DocLnk& doc ); | 112 | void documentRemoved( const DocLnk& doc ); |
113 | void aboutToAddBegin(); | 113 | void aboutToAddBegin(); |
114 | void aboutToAddEnd(); | 114 | void aboutToAddEnd(); |
115 | void allDocumentsRemoved(); | 115 | void allDocumentsRemoved(); |
116 | void documentChanged( const DocLnk& oldDoc, const DocLnk& newDoc ); | 116 | void documentChanged( const DocLnk& oldDoc, const DocLnk& newDoc ); |
117 | void storageChanged( const QList<FileSystem> & ); | 117 | void storageChanged( const QList<FileSystem> & ); |
118 | void applicationScanningProgress( int percent ); | 118 | void applicationScanningProgress( int percent ); |
119 | void documentScanningProgress( int percent ); | 119 | void documentScanningProgress( int percent ); |
120 | bool requiresApplications() const { return TRUE; } | 120 | bool requiresApplications() const { return TRUE; } |
121 | bool requiresDocuments() const; | 121 | bool requiresDocuments() const; |
122 | void showLoadingDocs(); | 122 | void showLoadingDocs(); |
123 | void showDocTab(); | 123 | void showDocTab(); |
124 | 124 | ||
125 | QStringList idList() const { return ids; } | 125 | QStringList idList() const { return ids; } |
126 | 126 | ||
127 | public slots: | 127 | public slots: |
128 | void viewSelected(const QString&); | 128 | void viewSelected(const QString&); |
129 | void showTab(const QString&); | 129 | void showTab(const QString&); |
130 | void select( const AppLnk * ); | 130 | void select( const AppLnk * ); |
131 | void properties( AppLnk * ); | 131 | void properties( AppLnk * ); |
132 | void makeVisible(); | 132 | void makeVisible(); |
133 | 133 | ||
134 | signals: | 134 | signals: |
135 | void executing( const AppLnk * ); | 135 | void executing( const AppLnk * ); |
136 | 136 | ||
137 | private slots: | 137 | private slots: |
138 | void systemMessage( const QCString &, const QByteArray &); | 138 | void systemMessage( const QCString &, const QByteArray &); |
139 | void toggleSymbolInput(); | ||
140 | void toggleNumLockState(); | ||
141 | void toggleCapsLockState(); | ||
142 | 139 | ||
143 | protected: | 140 | protected: |
144 | bool eventFilter( QObject *o, QEvent *ev ); | 141 | bool eventFilter( QObject *o, QEvent *ev ); |
145 | 142 | ||
146 | private: | 143 | private: |
147 | void updateApps(); | 144 | void updateApps(); |
148 | void loadDocs(); | 145 | void loadDocs(); |
149 | void updateDocs(); | 146 | void updateDocs(); |
150 | void updateTabs(); | 147 | void updateTabs(); |
151 | 148 | ||
152 | LauncherTabWidget *tabs; | 149 | LauncherTabWidget *tabs; |
153 | QStringList ids; | 150 | QStringList ids; |
154 | TaskBar *tb; | 151 | TaskBar *tb; |
155 | 152 | ||
156 | bool docTabEnabled; | 153 | bool docTabEnabled; |
157 | }; | 154 | }; |
158 | 155 | ||
159 | #endif // LAUNCHERVIEW_H | 156 | #endif // LAUNCHERVIEW_H |
diff --git a/core/launcher/taskbar.cpp b/core/launcher/taskbar.cpp index 86e0d0d..abe238f 100644 --- a/core/launcher/taskbar.cpp +++ b/core/launcher/taskbar.cpp | |||
@@ -82,257 +82,257 @@ public: | |||
82 | private slots: | 82 | private slots: |
83 | void action(int i); | 83 | void action(int i); |
84 | 84 | ||
85 | private: | 85 | private: |
86 | QString message; | 86 | QString message; |
87 | QPopupMenu *menu; | 87 | QPopupMenu *menu; |
88 | }; | 88 | }; |
89 | 89 | ||
90 | void SafeMode::mousePressEvent( QMouseEvent *) | 90 | void SafeMode::mousePressEvent( QMouseEvent *) |
91 | { | 91 | { |
92 | if ( !menu ) { | 92 | if ( !menu ) { |
93 | menu = new QPopupMenu(this); | 93 | menu = new QPopupMenu(this); |
94 | menu->insertItem( tr("Plugin Manager..."), 0 ); | 94 | menu->insertItem( tr("Plugin Manager..."), 0 ); |
95 | menu->insertItem( tr("Restart Qtopia"), 1 ); | 95 | menu->insertItem( tr("Restart Qtopia"), 1 ); |
96 | menu->insertItem( tr("Help..."), 2 ); | 96 | menu->insertItem( tr("Help..."), 2 ); |
97 | connect(menu, SIGNAL(activated(int)), this, SLOT(action(int))); | 97 | connect(menu, SIGNAL(activated(int)), this, SLOT(action(int))); |
98 | } | 98 | } |
99 | QPoint curPos = mapToGlobal( QPoint(0,0) ); | 99 | QPoint curPos = mapToGlobal( QPoint(0,0) ); |
100 | QSize sh = menu->sizeHint(); | 100 | QSize sh = menu->sizeHint(); |
101 | menu->popup( curPos-QPoint((sh.width()-width())/2,sh.height()) ); | 101 | menu->popup( curPos-QPoint((sh.width()-width())/2,sh.height()) ); |
102 | } | 102 | } |
103 | 103 | ||
104 | void SafeMode::action(int i) | 104 | void SafeMode::action(int i) |
105 | { | 105 | { |
106 | switch (i) { | 106 | switch (i) { |
107 | case 0: | 107 | case 0: |
108 | Global::execute( "pluginmanager" ); | 108 | Global::execute( "pluginmanager" ); |
109 | break; | 109 | break; |
110 | case 1: | 110 | case 1: |
111 | Global::restart(); | 111 | Global::restart(); |
112 | break; | 112 | break; |
113 | case 2: | 113 | case 2: |
114 | Global::execute( "helpbrowser", "safemode.html" ); | 114 | Global::execute( "helpbrowser", "safemode.html" ); |
115 | break; | 115 | break; |
116 | } | 116 | } |
117 | } | 117 | } |
118 | 118 | ||
119 | QSize SafeMode::sizeHint() const | 119 | QSize SafeMode::sizeHint() const |
120 | { | 120 | { |
121 | QFontMetrics fm = fontMetrics(); | 121 | QFontMetrics fm = fontMetrics(); |
122 | 122 | ||
123 | return QSize( fm.width(message), fm.height() ); | 123 | return QSize( fm.width(message), fm.height() ); |
124 | } | 124 | } |
125 | 125 | ||
126 | void SafeMode::paintEvent( QPaintEvent* ) | 126 | void SafeMode::paintEvent( QPaintEvent* ) |
127 | { | 127 | { |
128 | QPainter p(this); | 128 | QPainter p(this); |
129 | p.drawText( rect(), AlignCenter, message ); | 129 | p.drawText( rect(), AlignCenter, message ); |
130 | } | 130 | } |
131 | 131 | ||
132 | //--------------------------------------------------------------------------- | 132 | //--------------------------------------------------------------------------- |
133 | 133 | ||
134 | class LockKeyState : public QWidget | 134 | class LockKeyState : public QWidget |
135 | { | 135 | { |
136 | public: | 136 | public: |
137 | LockKeyState( QWidget *parent ) : | 137 | LockKeyState( QWidget *parent ) : |
138 | QWidget(parent), | 138 | QWidget(parent), |
139 | nl(initNumLock()), cl(FALSE) | 139 | nl(initNumLock()), cl(FALSE) |
140 | { | 140 | { |
141 | nl_pm = Resource::loadPixmap("numlock"); | 141 | nl_pm = Resource::loadPixmap("numlock"); |
142 | cl_pm = Resource::loadPixmap("capslock"); | 142 | cl_pm = Resource::loadPixmap("capslock"); |
143 | } | 143 | } |
144 | QSize sizeHint() const | 144 | QSize sizeHint() const |
145 | { | 145 | { |
146 | return QSize(nl_pm.width()+2,nl_pm.width()+nl_pm.height()+1); | 146 | return QSize(nl_pm.width()+2,nl_pm.width()+nl_pm.height()+1); |
147 | } | 147 | } |
148 | void toggleNumLockState() | 148 | void toggleNumLockState() |
149 | { | 149 | { |
150 | nl = !nl; repaint(); | 150 | nl = !nl; repaint(); |
151 | } | 151 | } |
152 | void toggleCapsLockState() | 152 | void toggleCapsLockState() |
153 | { | 153 | { |
154 | cl = !cl; repaint(); | 154 | cl = !cl; repaint(); |
155 | } | 155 | } |
156 | void paintEvent( QPaintEvent * ) | 156 | void paintEvent( QPaintEvent * ) |
157 | { | 157 | { |
158 | int y = (height()-sizeHint().height())/2; | 158 | int y = (height()-sizeHint().height())/2; |
159 | QPainter p(this); | 159 | QPainter p(this); |
160 | if ( nl ) | 160 | if ( nl ) |
161 | p.drawPixmap(1,y,nl_pm); | 161 | p.drawPixmap(1,y,nl_pm); |
162 | if ( cl ) | 162 | if ( cl ) |
163 | p.drawPixmap(1,y+nl_pm.height()+1,cl_pm); | 163 | p.drawPixmap(1,y+nl_pm.height()+1,cl_pm); |
164 | } | 164 | } |
165 | private: | 165 | private: |
166 | QPixmap nl_pm, cl_pm; | 166 | QPixmap nl_pm, cl_pm; |
167 | bool nl, cl; | 167 | bool nl, cl; |
168 | }; | 168 | }; |
169 | 169 | ||
170 | //--------------------------------------------------------------------------- | 170 | //--------------------------------------------------------------------------- |
171 | 171 | ||
172 | TaskBar::~TaskBar() | 172 | TaskBar::~TaskBar() |
173 | { | 173 | { |
174 | } | 174 | } |
175 | 175 | ||
176 | 176 | ||
177 | TaskBar::TaskBar() : QHBox(0, 0, WStyle_Customize | WStyle_Tool | WStyle_StaysOnTop | WGroupLeader) | 177 | TaskBar::TaskBar() : QHBox(0, 0, WStyle_Customize | WStyle_Tool | WStyle_StaysOnTop | WGroupLeader) |
178 | { | 178 | { |
179 | Config cfg( "Launcher" ); | 179 | Config cfg( "Launcher" ); |
180 | cfg.setGroup( "InputMethods" ); | 180 | cfg.setGroup( "InputMethods" ); |
181 | resizeRunningApp = cfg.readBoolEntry( "Resize", true ); | 181 | resizeRunningApp = cfg.readBoolEntry( "Resize", true ); |
182 | 182 | ||
183 | sm = new StartMenu( this ); | 183 | sm = new StartMenu( this ); |
184 | connect( sm, SIGNAL(tabSelected(const QString&)), this, | 184 | connect( sm, SIGNAL(tabSelected(const QString&)), this, |
185 | SIGNAL(tabSelected(const QString&)) ); | 185 | SIGNAL(tabSelected(const QString&)) ); |
186 | 186 | ||
187 | inputMethods = new InputMethods( this ); | 187 | inputMethods = new InputMethods( this ); |
188 | connect( inputMethods, SIGNAL(inputToggled(bool)), | 188 | connect( inputMethods, SIGNAL(inputToggled(bool)), |
189 | this, SLOT(calcMaxWindowRect()) ); | 189 | this, SLOT(calcMaxWindowRect()) ); |
190 | 190 | ||
191 | stack = new QWidgetStack( this ); | 191 | stack = new QWidgetStack( this ); |
192 | stack->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum ) ); | 192 | stack->setSizePolicy( QSizePolicy( QSizePolicy::Expanding, QSizePolicy::Minimum ) ); |
193 | label = new QLabel(stack); | 193 | label = new QLabel(stack); |
194 | 194 | ||
195 | runningAppBar = new RunningAppBar(stack); | 195 | runningAppBar = new RunningAppBar(stack); |
196 | stack->raiseWidget(runningAppBar); | 196 | stack->raiseWidget(runningAppBar); |
197 | 197 | ||
198 | waitIcon = new Wait( this ); | 198 | waitIcon = new Wait( this ); |
199 | (void) new AppIcons( this ); | 199 | (void) new AppIcons( this ); |
200 | 200 | ||
201 | sysTray = new SysTray( this ); | 201 | sysTray = new SysTray( this ); |
202 | 202 | ||
203 | /* ### FIXME plugin loader and safe mode */ | 203 | /* ### FIXME plugin loader and safe mode */ |
204 | #if 0 | 204 | #if 0 |
205 | if (PluginLoader::inSafeMode()) | 205 | if (PluginLoader::inSafeMode()) |
206 | (void)new SafeMode( this ); | 206 | (void)new SafeMode( this ); |
207 | #endif | 207 | #endif |
208 | 208 | ||
209 | // ## make customizable in some way? | 209 | // ## make customizable in some way? |
210 | #ifdef QT_QWS_CUSTOM | 210 | #ifdef OPIE_TASKBAR_LOCK_KEY_STATE |
211 | lockState = new LockKeyState( this ); | 211 | lockState = new LockKeyState( this ); |
212 | #else | 212 | #else |
213 | lockState = 0; | 213 | lockState = 0; |
214 | #endif | 214 | #endif |
215 | 215 | ||
216 | #if defined(Q_WS_QWS) | 216 | #if defined(Q_WS_QWS) |
217 | #if !defined(QT_NO_COP) | 217 | #if !defined(QT_NO_COP) |
218 | QCopChannel *channel = new QCopChannel( "QPE/TaskBar", this ); | 218 | QCopChannel *channel = new QCopChannel( "QPE/TaskBar", this ); |
219 | connect( channel, SIGNAL(received(const QCString&,const QByteArray&)), | 219 | connect( channel, SIGNAL(received(const QCString&,const QByteArray&)), |
220 | this, SLOT(receive(const QCString&,const QByteArray&)) ); | 220 | this, SLOT(receive(const QCString&,const QByteArray&)) ); |
221 | #endif | 221 | #endif |
222 | #endif | 222 | #endif |
223 | waitTimer = new QTimer( this ); | 223 | waitTimer = new QTimer( this ); |
224 | connect( waitTimer, SIGNAL( timeout() ), this, SLOT( stopWait() ) ); | 224 | connect( waitTimer, SIGNAL( timeout() ), this, SLOT( stopWait() ) ); |
225 | clearer = new QTimer( this ); | 225 | clearer = new QTimer( this ); |
226 | QObject::connect(clearer, SIGNAL(timeout()), SLOT(clearStatusBar())); | 226 | QObject::connect(clearer, SIGNAL(timeout()), SLOT(clearStatusBar())); |
227 | 227 | ||
228 | connect( qApp, SIGNAL(symbol()), this, SLOT(toggleSymbolInput()) ); | 228 | connect( qApp, SIGNAL(symbol()), this, SLOT(toggleSymbolInput()) ); |
229 | connect( qApp, SIGNAL(numLockStateToggle()), this, SLOT(toggleNumLockState()) ); | 229 | connect( qApp, SIGNAL(numLockStateToggle()), this, SLOT(toggleNumLockState()) ); |
230 | connect( qApp, SIGNAL(capsLockStateToggle()), this, SLOT(toggleCapsLockState()) ); | 230 | connect( qApp, SIGNAL(capsLockStateToggle()), this, SLOT(toggleCapsLockState()) ); |
231 | } | 231 | } |
232 | 232 | ||
233 | void TaskBar::setStatusMessage( const QString &text ) | 233 | void TaskBar::setStatusMessage( const QString &text ) |
234 | { | 234 | { |
235 | if ( !text.isEmpty() ) { | 235 | if ( !text.isEmpty() ) { |
236 | label->setText( text ); | 236 | label->setText( text ); |
237 | stack->raiseWidget( label ); | 237 | stack->raiseWidget( label ); |
238 | if ( sysTray && ( label->fontMetrics().width( text ) > label->width() ) ) | 238 | if ( sysTray && ( label->fontMetrics().width( text ) > label->width() ) ) |
239 | sysTray->hide(); | 239 | sysTray->hide(); |
240 | clearer->start( 3000, TRUE ); | 240 | clearer->start( 3000, TRUE ); |
241 | } else { | 241 | } else { |
242 | clearStatusBar(); | 242 | clearStatusBar(); |
243 | } | 243 | } |
244 | } | 244 | } |
245 | 245 | ||
246 | void TaskBar::clearStatusBar() | 246 | void TaskBar::clearStatusBar() |
247 | { | 247 | { |
248 | label->clear(); | 248 | label->clear(); |
249 | stack->raiseWidget(runningAppBar); | 249 | stack->raiseWidget(runningAppBar); |
250 | if ( sysTray ) | 250 | if ( sysTray ) |
251 | sysTray->show(); | 251 | sysTray->show(); |
252 | // stack->raiseWidget( mru ); | 252 | // stack->raiseWidget( mru ); |
253 | } | 253 | } |
254 | 254 | ||
255 | void TaskBar::startWait() | 255 | void TaskBar::startWait() |
256 | { | 256 | { |
257 | waitIcon->setWaiting( true ); | 257 | waitIcon->setWaiting( true ); |
258 | // a catchall stop after 10 seconds... | 258 | // a catchall stop after 10 seconds... |
259 | waitTimer->start( 10 * 1000, true ); | 259 | waitTimer->start( 10 * 1000, true ); |
260 | } | 260 | } |
261 | 261 | ||
262 | void TaskBar::stopWait(const QString&) | 262 | void TaskBar::stopWait(const QString&) |
263 | { | 263 | { |
264 | waitTimer->stop(); | 264 | waitTimer->stop(); |
265 | waitIcon->setWaiting( false ); | 265 | waitIcon->setWaiting( false ); |
266 | } | 266 | } |
267 | 267 | ||
268 | void TaskBar::stopWait() | 268 | void TaskBar::stopWait() |
269 | { | 269 | { |
270 | waitTimer->stop(); | 270 | waitTimer->stop(); |
271 | waitIcon->setWaiting( false ); | 271 | waitIcon->setWaiting( false ); |
272 | } | 272 | } |
273 | 273 | ||
274 | /* | 274 | /* |
275 | * This resizeEvent will be captured by | 275 | * This resizeEvent will be captured by |
276 | * the ServerInterface and it'll layout | 276 | * the ServerInterface and it'll layout |
277 | * and calc rect. Now if we go from bigger | 277 | * and calc rect. Now if we go from bigger |
278 | * to smaller screen the SysTray is out of | 278 | * to smaller screen the SysTray is out of |
279 | * bounds and repaint() won't trigger an Event | 279 | * bounds and repaint() won't trigger an Event |
280 | */ | 280 | */ |
281 | void TaskBar::resizeEvent( QResizeEvent *e ) | 281 | void TaskBar::resizeEvent( QResizeEvent *e ) |
282 | { | 282 | { |
283 | if ( sysTray ) | 283 | if ( sysTray ) |
284 | sysTray->hide(); | 284 | sysTray->hide(); |
285 | 285 | ||
286 | QHBox::resizeEvent( e ); | 286 | QHBox::resizeEvent( e ); |
287 | 287 | ||
288 | if ( sysTray ) | 288 | if ( sysTray ) |
289 | sysTray->show(); | 289 | sysTray->show(); |
290 | 290 | ||
291 | owarn << "TaskBar::resize event" << oendl; | 291 | owarn << "TaskBar::resize event" << oendl; |
292 | } | 292 | } |
293 | 293 | ||
294 | void TaskBar::styleChange( QStyle &s ) | 294 | void TaskBar::styleChange( QStyle &s ) |
295 | { | 295 | { |
296 | QHBox::styleChange( s ); | 296 | QHBox::styleChange( s ); |
297 | calcMaxWindowRect(); | 297 | calcMaxWindowRect(); |
298 | } | 298 | } |
299 | 299 | ||
300 | void TaskBar::calcMaxWindowRect() | 300 | void TaskBar::calcMaxWindowRect() |
301 | { | 301 | { |
302 | if ( resizeRunningApp ) | 302 | if ( resizeRunningApp ) |
303 | { | 303 | { |
304 | #if defined(Q_WS_QWS) | 304 | #if defined(Q_WS_QWS) |
305 | QRect wr; | 305 | QRect wr; |
306 | int displayWidth = qApp->desktop()->width(); | 306 | int displayWidth = qApp->desktop()->width(); |
307 | QRect ir = inputMethods->inputRect(); | 307 | QRect ir = inputMethods->inputRect(); |
308 | if ( ir.isValid() ) { | 308 | if ( ir.isValid() ) { |
309 | wr.setCoords( 0, 0, displayWidth-1, ir.top()-1 ); | 309 | wr.setCoords( 0, 0, displayWidth-1, ir.top()-1 ); |
310 | } else { | 310 | } else { |
311 | wr.setCoords( 0, 0, displayWidth-1, y()-1 ); | 311 | wr.setCoords( 0, 0, displayWidth-1, y()-1 ); |
312 | } | 312 | } |
313 | #if QT_VERSION < 0x030000 | 313 | #if QT_VERSION < 0x030000 |
314 | QWSServer::setMaxWindowRect( qt_screen->mapToDevice(wr,QSize(qt_screen->width(),qt_screen->height())) ); | 314 | QWSServer::setMaxWindowRect( qt_screen->mapToDevice(wr,QSize(qt_screen->width(),qt_screen->height())) ); |
315 | #else | 315 | #else |
316 | QWSServer::setMaxWindowRect( wr ); | 316 | QWSServer::setMaxWindowRect( wr ); |
317 | #endif | 317 | #endif |
318 | #endif | 318 | #endif |
319 | } | 319 | } |
320 | } | 320 | } |
321 | 321 | ||
322 | void TaskBar::receive( const QCString &msg, const QByteArray &data ) | 322 | void TaskBar::receive( const QCString &msg, const QByteArray &data ) |
323 | { | 323 | { |
324 | QDataStream stream( data, IO_ReadOnly ); | 324 | QDataStream stream( data, IO_ReadOnly ); |
325 | if ( msg == "message(QString)" ) { | 325 | if ( msg == "message(QString)" ) { |
326 | QString text; | 326 | QString text; |
327 | stream >> text; | 327 | stream >> text; |
328 | setStatusMessage( text ); | 328 | setStatusMessage( text ); |
329 | } else if ( msg == "hideInputMethod()" ) { | 329 | } else if ( msg == "hideInputMethod()" ) { |
330 | inputMethods->hideInputMethod(); | 330 | inputMethods->hideInputMethod(); |
331 | } else if ( msg == "showInputMethod()" ) { | 331 | } else if ( msg == "showInputMethod()" ) { |
332 | inputMethods->showInputMethod(); | 332 | inputMethods->showInputMethod(); |
333 | } else if ( msg == "showInputMethod(QString)" ) { | 333 | } else if ( msg == "showInputMethod(QString)" ) { |
334 | QString name; | 334 | QString name; |
335 | stream >> name; | 335 | stream >> name; |
336 | inputMethods->showInputMethod(name); | 336 | inputMethods->showInputMethod(name); |
337 | } else if ( msg == "reloadInputMethods()" ) { | 337 | } else if ( msg == "reloadInputMethods()" ) { |
338 | inputMethods->loadInputMethods(); | 338 | inputMethods->loadInputMethods(); |