summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--Rules.make3
-rw-r--r--config.in5
-rw-r--r--core/launcher/launcher.cpp20
-rw-r--r--core/launcher/launcher.h3
-rw-r--r--core/launcher/taskbar.cpp2
5 files changed, 9 insertions, 24 deletions
diff --git a/Rules.make b/Rules.make
index 8511422..e08e5c1 100644
--- a/Rules.make
+++ b/Rules.make
@@ -1,177 +1,180 @@
1.phony: force 1.phony: force
2force: 2force:
3 3
4$(configs) : 4$(configs) :
5 $(call makecfg,$@) 5 $(call makecfg,$@)
6 6
7$(TOPDIR)/gen.pro : $(TOPDIR)/.config 7$(TOPDIR)/gen.pro : $(TOPDIR)/.config
8 echo > $@ 8 echo > $@
9# added for threaded version 9# added for threaded version
10ifneq ($(CONFIG_THREADED),) 10ifneq ($(CONFIG_THREADED),)
11 echo CONFIG += thread >> $@ 11 echo CONFIG += thread >> $@
12else 12else
13 echo CONFIG -= thread >> $@ 13 echo CONFIG -= thread >> $@
14endif 14endif
15ifneq ($(CONFIG_DEBUG),) 15ifneq ($(CONFIG_DEBUG),)
16 echo CONFIG += debug >> $@ 16 echo CONFIG += debug >> $@
17 echo CONFIG -= release >> $@ 17 echo CONFIG -= release >> $@
18 echo DEFINES += "QT_COMPONENT_DEBUG=2" >> $@ 18 echo DEFINES += "QT_COMPONENT_DEBUG=2" >> $@
19 echo DEFINES += QT_DEBUG >> $@ 19 echo DEFINES += QT_DEBUG >> $@
20else 20else
21 echo CONFIG -= debug >> $@ 21 echo CONFIG -= debug >> $@
22 echo CONFIG += release >> $@ 22 echo CONFIG += release >> $@
23 echo DEFINES += "OPIE_NO_DEBUG" >> $@ 23 echo DEFINES += "OPIE_NO_DEBUG" >> $@
24endif 24endif
25ifeq ($(CONFIG_STATIC),y) 25ifeq ($(CONFIG_STATIC),y)
26 echo CONFIG += staticlib >> $@ 26 echo CONFIG += staticlib >> $@
27endif 27endif
28ifeq ($(filter 3.%,$(QTE_VERSION)),) # not qt3 28ifeq ($(filter 3.%,$(QTE_VERSION)),) # not qt3
29 echo CONFIG -= qt3 >> $@ 29 echo CONFIG -= qt3 >> $@
30else 30else
31 echo CONFIG += qt3 >> $@ 31 echo CONFIG += qt3 >> $@
32endif 32endif
33ifneq ($(CONFIG_QUICK_LAUNCH),) 33ifneq ($(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 \} >> $@
40else 40else
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 \} >> $@
45endif 45endif
46ifeq ($(CONFIG_SQL_PIM_BACKEND),y) 46ifeq ($(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) >> $@
48else 48else
49 echo ENABLE_SQL_PIM_BACKEND=n >> $@ 49 echo ENABLE_SQL_PIM_BACKEND=n >> $@
50endif 50endif
51ifeq ($(CONFIG_OPIE_NO_OVERRIDE_QT),y) 51ifeq ($(CONFIG_OPIE_NO_OVERRIDE_QT),y)
52 echo CONFIG += no-override >> $@ 52 echo CONFIG += no-override >> $@
53endif 53endif
54ifeq ($(CONFIG_OPIE_NO_ERASERECT_FIX),y) 54ifeq ($(CONFIG_OPIE_NO_ERASERECT_FIX),y)
55 echo DEFINES += OPIE_NO_ERASE_RECT_HACKFIX >> $@ 55 echo DEFINES += OPIE_NO_ERASE_RECT_HACKFIX >> $@
56endif 56endif
57ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y) 57ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y)
58 echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@ 58 echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@
59endif 59endif
60ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y) 60ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y)
61 echo DEFINES += OPIE_NO_BUILTIN_CALIBRATE >> $@ 61 echo DEFINES += OPIE_NO_BUILTIN_CALIBRATE >> $@
62endif 62endif
63ifeq ($(CONFIG_USE_REALTIME_AUDIO_THREAD),y) 63ifeq ($(CONFIG_USE_REALTIME_AUDIO_THREAD),y)
64 echo DEFINES += USE_REALTIME_AUDIO_THREAD >> $@ 64 echo DEFINES += USE_REALTIME_AUDIO_THREAD >> $@
65endif 65endif
66ifeq ($(CONFIG_USE_FILE_NOTIFICATION),y) 66ifeq ($(CONFIG_USE_FILE_NOTIFICATION),y)
67 echo DEFINES += USE_FILE_NOTIFICATION >> $@ 67 echo DEFINES += USE_FILE_NOTIFICATION >> $@
68endif 68endif
69ifeq ($(CONFIG_QT_QWS_ALLOW_CLOCK),y) 69ifeq ($(CONFIG_QT_QWS_ALLOW_CLOCK),y)
70 echo DEFINES += QT_QWS_ALLOW_OVERCLOCK >> $@ 70 echo DEFINES += QT_QWS_ALLOW_OVERCLOCK >> $@
71endif 71endif
72ifeq ($(CONFIG_OPIE_NEW_ALLOC),y) 72ifeq ($(CONFIG_OPIE_NEW_ALLOC),y)
73 echo DEFINES += OPIE_NEW_MALLOC >> $@ 73 echo DEFINES += OPIE_NEW_MALLOC >> $@
74endif 74endif
75ifeq ($(CONFIG_OPIE_NO_SOUND_PCM_READ_BITS),y) 75ifeq ($(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 >> $@
77endif 77endif
78 echo DEFINES += OPIE_SOUND_FRAGMENT_SHIFT=$(CONFIG_OPIE_SOUND_FRAGMENT_SHIFT) >> $@ 78 echo DEFINES += OPIE_SOUND_FRAGMENT_SHIFT=$(CONFIG_OPIE_SOUND_FRAGMENT_SHIFT) >> $@
79ifeq ($(CONFIG_OPIE_WE_VERSION_OVERRIDE),y) 79ifeq ($(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) >> $@
81endif 81endif
82ifeq ($(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...
83ifeq ($(CONFIG_LIBETPAN_DEP),y) 86ifeq ($(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) >> $@
86endif 89endif
87ifeq ($(CONFIG_LIBPCAP_DEP),y) 90ifeq ($(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) >> $@
90endif 93endif
91ifeq ($(CONFIG_LIBSQLITE_DEP),y) 94ifeq ($(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) >> $@
94endif 97endif
95ifeq ($(CONFIG_LIBXINE_DEP),y) 98ifeq ($(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) >> $@
98endif 101endif
99ifeq ($(CONFIG_LIBIPK_DEP),y) 102ifeq ($(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) >> $@
102endif 105endif
103ifeq ($(CONFIG_LIBSDK_DEP),y) 106ifeq ($(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) >> $@
106endif 109endif
107ifeq ($(CONFIG_LIBSWORD_DEP),y) 110ifeq ($(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) >> $@
110endif 113endif
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 .; )
156ifeq ($(CONFIG_LIBOPIE),y) 159ifeq ($(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 .; )
161endif 164endif
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 .; )
diff --git a/config.in b/config.in
index 9586a33..c981fd1 100644
--- a/config.in
+++ b/config.in
@@ -54,192 +54,197 @@ config DEBUG
54config RELEASE 54config RELEASE
55 bool 55 bool
56 default y 56 default y
57 depends !DEBUG 57 depends !DEBUG
58 58
59config QUICK_LAUNCH 59config 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
64config QUICKLAUNCH_PATH 64config 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
69config SPECFILE 69config 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
84config CUSTOMFILE 84config 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
92config OPTIMIZATIONS 92config 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
102config EXPERIMENTAL 102config 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
106endmenu 106endmenu
107 107
108menu "Configuration" 108menu "Configuration"
109config OPIE_NO_OVERRIDE_QT 109config 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
113config OPIE_NO_ERASERECT_FIX 113config 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
117config OPIE_NO_BUILTIN_SHUTDOWN 117config 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
121config OPIE_NO_BUILTIN_CALIBRATE 121config 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
126config OPIE_SOUND_FRAGMENT_SHIFT 126config 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
131config USE_REALTIME_AUDIO_THREAD 131config 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
136config QT_QWS_ALLOW_OVERCLOCK 136config 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
141config USE_FILE_NOTIFICATION 141config 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
145config OPIE_NEW_ALLOC 145config 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
150config 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
150config OPIE_NO_SOUND_PCM_READ_BITS 155config 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
154endmenu 159endmenu
155 160
156menu "Dependencies" 161menu "Dependencies"
157 source dependencies.in 162 source dependencies.in
158endmenu 163endmenu
159 164
160menu "Base" 165menu "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
177endmenu 182endmenu
178 183
179comment "" 184comment ""
180 185
181menu "Applets" 186menu "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
184endmenu 189endmenu
185 190
186menu "Apps" 191menu "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
189endmenu 194endmenu
190 195
191menu "Communications and Networking" 196menu "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
194endmenu 199endmenu
195 200
196menu "Games" 201menu "Games"
197 source noncore/games/config.in 202 source noncore/games/config.in
198endmenu 203endmenu
199 204
200menu "Graphics and Multimedia" 205menu "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
205endmenu 210endmenu
206 211
207menu "Input methods" 212menu "Input methods"
208 source inputmethods/config.in 213 source inputmethods/config.in
209endmenu 214endmenu
210 215
211menu "Pim" 216menu "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
217endmenu 222endmenu
218 223
219menu "Settings" 224menu "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
223endmenu 228endmenu
224 229
225menu "Theming" 230menu "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
230endmenu 235endmenu
231 236
232menu "Tools" 237menu "Tools"
233 source noncore/tools/config.in 238 source noncore/tools/config.in
234endmenu 239endmenu
235 240
236menu "Development" 241menu "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
239endmenu 244endmenu
240 245
241menu "Examples" 246menu "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
245endmenu 250endmenu
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
@@ -380,288 +380,268 @@ LauncherView *LauncherTabWidget::currentView(void)
380} 380}
381 381
382 382
383 383
384void LauncherTabWidget::launcherMessage( const QCString &msg, const QByteArray &data) 384void 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
450Launcher::Launcher() 450Launcher::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
460void Launcher::createGUI() 460void 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
509Launcher::~Launcher() 504Launcher::~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
522void Launcher::makeVisible() 517void Launcher::makeVisible()
523{ 518{
524 showMaximized(); 519 showMaximized();
525} 520}
526 521
527void Launcher::destroyGUI() 522void 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
535bool Launcher::eventFilter( QObject*, QEvent *ev ) 530bool 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
557void Launcher::toggleSymbolInput()
558{
559 tb->toggleSymbolInput();
560}
561
562void Launcher::toggleNumLockState()
563{
564 tb->toggleNumLockState();
565}
566
567void Launcher::toggleCapsLockState()
568{
569 tb->toggleCapsLockState();
570}
571
572static bool isVisibleWindow(int wid) 552static 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
585void Launcher::viewSelected(const QString& s) 565void Launcher::viewSelected(const QString& s)
586{ 566{
587 setCaption( s + tr(" - Launcher") ); 567 setCaption( s + tr(" - Launcher") );
588} 568}
589 569
590void Launcher::showTab(const QString& id) 570void 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
596void Launcher::select( const AppLnk *appLnk ) 576void 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
618void Launcher::properties( AppLnk *appLnk ) 598void 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
630void Launcher::storageChanged( const QList<FileSystem> &fs ) 610void 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
635void Launcher::systemMessage( const QCString &msg, const QByteArray &data) 615void 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
651void Launcher::typeAdded( const QString& type, const QString& name, 631void 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}
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
@@ -43,117 +43,114 @@ class LauncherTabWidget : public QVBox {
43public: 43public:
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
66signals: 66signals:
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
71protected slots: 71protected slots:
72 void raiseTabWidget(); 72 void raiseTabWidget();
73 void tabProperties(); 73 void tabProperties();
74 void initLayout(); 74 void initLayout();
75 75
76private slots: 76private 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
81protected: 81protected:
82 void paletteChange( const QPalette &p ); 82 void paletteChange( const QPalette &p );
83 void styleChange( QStyle & ); 83 void styleChange( QStyle & );
84 84
85private: 85private:
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
95class Launcher : public QMainWindow, public ServerInterface 95class Launcher : public QMainWindow, public ServerInterface
96{ 96{
97 Q_OBJECT 97 Q_OBJECT
98public: 98public:
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
127public slots: 127public 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
134signals: 134signals:
135 void executing( const AppLnk * ); 135 void executing( const AppLnk * );
136 136
137private slots: 137private 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
143protected: 140protected:
144 bool eventFilter( QObject *o, QEvent *ev ); 141 bool eventFilter( QObject *o, QEvent *ev );
145 142
146private: 143private:
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
@@ -114,193 +114,193 @@ void SafeMode::action(int i)
114 Global::execute( "helpbrowser", "safemode.html" ); 114 Global::execute( "helpbrowser", "safemode.html" );
115 break; 115 break;
116 } 116 }
117} 117}
118 118
119QSize SafeMode::sizeHint() const 119QSize 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
126void SafeMode::paintEvent( QPaintEvent* ) 126void 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
134class LockKeyState : public QWidget 134class LockKeyState : public QWidget
135{ 135{
136public: 136public:
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 }
165private: 165private:
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
172TaskBar::~TaskBar() 172TaskBar::~TaskBar()
173{ 173{
174} 174}
175 175
176 176
177TaskBar::TaskBar() : QHBox(0, 0, WStyle_Customize | WStyle_Tool | WStyle_StaysOnTop | WGroupLeader) 177TaskBar::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
233void TaskBar::setStatusMessage( const QString &text ) 233void 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
246void TaskBar::clearStatusBar() 246void 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
255void TaskBar::startWait() 255void 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
262void TaskBar::stopWait(const QString&) 262void TaskBar::stopWait(const QString&)
263{ 263{
264 waitTimer->stop(); 264 waitTimer->stop();
265 waitIcon->setWaiting( false ); 265 waitIcon->setWaiting( false );
266} 266}
267 267
268void TaskBar::stopWait() 268void 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 */
281void TaskBar::resizeEvent( QResizeEvent *e ) 281void 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
294void TaskBar::styleChange( QStyle &s ) 294void TaskBar::styleChange( QStyle &s )
295{ 295{
296 QHBox::styleChange( s ); 296 QHBox::styleChange( s );
297 calcMaxWindowRect(); 297 calcMaxWindowRect();
298} 298}
299 299
300void TaskBar::calcMaxWindowRect() 300void 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();