summaryrefslogtreecommitdiff
authoreilers <eilers>2003-11-03 16:52:18 (UTC)
committer eilers <eilers>2003-11-03 16:52:18 (UTC)
commitd34dc773591a2d467c68875a68a671d6a809f861 (patch) (unidiff)
treeb57e5ae15c51e3d87ca95d57aedfd1ca3db57bfe
parentce84f2d8bdd65c438821f0457cdad6bbbfa73380 (diff)
downloadopie-d34dc773591a2d467c68875a68a671d6a809f861.zip
opie-d34dc773591a2d467c68875a68a671d6a809f861.tar.gz
opie-d34dc773591a2d467c68875a68a671d6a809f861.tar.bz2
Porting Opie to MacOS-X.
The base system and all platform independent applications and platforms should work. Please see $OPIEDIR/development/macosx for details
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Vars.make3
-rw-r--r--config.in4
-rw-r--r--core/applets/batteryapplet/batteryapplet.pro2
-rw-r--r--core/applets/cardmon/cardmon.pro2
-rw-r--r--core/applets/clipboardapplet/clipboardapplet.pro2
-rw-r--r--core/applets/clockapplet/clockapplet.pro2
-rw-r--r--core/applets/homeapplet/homeapplet.pro2
-rw-r--r--core/applets/irdaapplet/irdaapplet.pro2
-rw-r--r--core/applets/logoutapplet/logoutapplet.pro2
-rw-r--r--core/applets/restartapplet/restartapplet.pro2
-rw-r--r--core/applets/restartapplet2/restartapplet.pro2
-rw-r--r--core/applets/rotateapplet/rotateapplet.pro2
-rw-r--r--core/applets/screenshotapplet/screenshotapplet.pro2
-rw-r--r--core/applets/suspendapplet/suspendapplet.pro2
-rw-r--r--core/applets/vmemo/vmemo.pro2
-rw-r--r--core/applets/volumeapplet/volumeapplet.pro2
-rw-r--r--core/launcher/applauncher.cpp4
-rw-r--r--core/launcher/inputmethods.cpp4
-rw-r--r--core/launcher/irserver.cpp4
-rw-r--r--core/launcher/main.cpp2
-rw-r--r--core/launcher/packageslave.cpp304
-rw-r--r--core/launcher/qprocess_unix.cpp3
-rw-r--r--core/launcher/server.pro7
-rw-r--r--core/launcher/startmenu.cpp4
-rw-r--r--core/launcher/systray.cpp5
-rw-r--r--core/launcher/transferserver.cpp3
-rw-r--r--core/multimedia/opieplayer/wavplugin/wavplugin.pro2
-rw-r--r--core/pim/today/plugins/addressbook/addressbook.pro2
-rw-r--r--core/pim/today/plugins/datebook/datebook.pro2
-rw-r--r--core/pim/today/plugins/mail/mail.pro2
-rw-r--r--core/pim/today/plugins/todolist/todolist.pro2
-rw-r--r--core/pim/today/today.cpp7
-rw-r--r--core/qws/transferserver.cpp31
-rw-r--r--core/settings/launcher/menusettings.cpp4
-rw-r--r--core/settings/launcher/taskbarsettings.cpp17
-rw-r--r--development/keyview/keyview.pro4
-rw-r--r--development/macosx/README_MACOSX91
-rw-r--r--development/macosx/config_macosx290
-rw-r--r--include.pro12
-rw-r--r--inputmethods/dasher/dasher.pro2
-rw-r--r--inputmethods/dvorak/dvorak.pro2
-rw-r--r--inputmethods/handwriting/handwriting.pro2
-rw-r--r--inputmethods/jumpx/jumpx.pro2
-rw-r--r--inputmethods/keyboard/keyboard.pro2
-rw-r--r--inputmethods/kjumpx/kjumpx.pro2
-rw-r--r--inputmethods/multikey/multikey.pro2
-rw-r--r--inputmethods/pickboard/pickboard.pro2
-rw-r--r--inputmethods/unikeyboard/unikeyboard.pro2
-rw-r--r--libopie/libopie.pro4
-rw-r--r--libopie/odevice.cpp2
-rw-r--r--library/filemanager.cpp67
-rw-r--r--library/fontdatabase.cpp4
-rw-r--r--library/global.cpp4
-rw-r--r--library/library.pro2
-rw-r--r--library/network.cpp4
-rw-r--r--library/qlibrary_unix.cpp113
-rw-r--r--library/qpeapplication.cpp29
-rw-r--r--library/qpedecoration_qws.cpp8
-rw-r--r--library/sound.cpp3
-rw-r--r--library/storage.cpp42
-rw-r--r--mkspecs/qws/macx-generic-g++/qmake.conf3
-rw-r--r--noncore/applets/networkapplet/networkapplet.pro2
-rw-r--r--noncore/applets/notesapplet/notesapplet.pro2
-rw-r--r--noncore/applets/wirelessapplet/wirelessapplet.pro2
-rw-r--r--noncore/decorations/flat/flat.pro2
-rw-r--r--noncore/decorations/liquid/liquid.pro2
-rw-r--r--noncore/decorations/polished/polished.pro2
-rw-r--r--noncore/net/opietooth/applet/applet.pro2
-rw-r--r--noncore/settings/networksettings/ppp/ppp.pro4
-rw-r--r--noncore/settings/networksettings/wlan/wlan.pro4
-rw-r--r--noncore/styles/flat/flat.pro2
-rw-r--r--noncore/styles/fresh/fresh.pro2
-rw-r--r--noncore/styles/liquid/liquid.pro2
-rw-r--r--noncore/styles/metal/metal.pro2
-rw-r--r--noncore/styles/theme/theme.pro2
-rw-r--r--noncore/todayplugins/fortune/fortune.pro2
-rw-r--r--noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro2
-rw-r--r--noncore/todayplugins/weather/weather.pro2
-rw-r--r--noncore/unsupported/mail2/bend/bend.pro2
-rw-r--r--plugins/Makefile6
-rw-r--r--qmake/include/qglobal.h9
-rw-r--r--qt/qt-2.3.7.patch/qte237-all-macosx.patch1161
-rw-r--r--rsync/config_linux.h2
-rw-r--r--rsync/trace.h40
-rw-r--r--scripts/kconfig/lkc_proto.h4
85 files changed, 2262 insertions, 144 deletions
diff --git a/Vars.make b/Vars.make
index ae54661..062094c 100644
--- a/Vars.make
+++ b/Vars.make
@@ -13,48 +13,51 @@ endif
13 13
14ifneq ($(wildcard $(TOPDIR)/.config),) 14ifneq ($(wildcard $(TOPDIR)/.config),)
15 include $(TOPDIR)/.config 15 include $(TOPDIR)/.config
16endif 16endif
17 17
18ifdef CONFIG_TARGET_X86 18ifdef CONFIG_TARGET_X86
19 PLATFORM=x86-linux 19 PLATFORM=x86-linux
20endif 20endif
21ifdef CONFIG_TARGET_SHARP 21ifdef CONFIG_TARGET_SHARP
22 PLATFORM=sharp-linux 22 PLATFORM=sharp-linux
23endif 23endif
24ifdef CONFIG_TARGET_IPAQ 24ifdef CONFIG_TARGET_IPAQ
25 PLATFORM=ipaq-linux 25 PLATFORM=ipaq-linux
26endif 26endif
27ifdef CONFIG_TARGET_RAMSES 27ifdef CONFIG_TARGET_RAMSES
28 PLATFORM=ramses-linux 28 PLATFORM=ramses-linux
29endif 29endif
30ifdef CONFIG_TARGET_SIMPAD 30ifdef CONFIG_TARGET_SIMPAD
31 PLATFORM=simpad-linux 31 PLATFORM=simpad-linux
32endif 32endif
33 33
34ifdef CONFIG_TARGET_YOPY 34ifdef CONFIG_TARGET_YOPY
35 PLATFORM=yopy-linux 35 PLATFORM=yopy-linux
36endif 36endif
37ifdef CONFIG_TARGET_MACOSX
38 PLATFORM=macx-darwin
39endif
37 40
38export QMAKE:=$(OPIEDIR)/qmake/qmake 41export QMAKE:=$(OPIEDIR)/qmake/qmake
39export QMAKESPECSDIR=$(OPIEDIR)/mkspecs 42export QMAKESPECSDIR=$(OPIEDIR)/mkspecs
40 43
41ifeq ($(QPE_VERSION),) 44ifeq ($(QPE_VERSION),)
42 VERSION_MAJ:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION "\([0-9]*\)\..*\..*".*/\1/p' <$(OPIEDIR)/library/version.h)) 45 VERSION_MAJ:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION "\([0-9]*\)\..*\..*".*/\1/p' <$(OPIEDIR)/library/version.h))
43 VERSION_MIN:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION ".*\.\([0-9]*\)\..*".*/\1/p' <$(OPIEDIR)/library/version.h)) 46 VERSION_MIN:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION ".*\.\([0-9]*\)\..*".*/\1/p' <$(OPIEDIR)/library/version.h))
44 VERSION_PAT:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION ".*\..*\.\([0-9]*\).*/\1/p' <$(OPIEDIR)/library/version.h)) 47 VERSION_PAT:=$(shell echo $$(sed -n -e 's/.*QPE_VERSION ".*\..*\.\([0-9]*\).*/\1/p' <$(OPIEDIR)/library/version.h))
45 QPE_VERSION:=$(VERSION_MAJ).$(VERSION_MIN).$(VERSION_PAT) 48 QPE_VERSION:=$(VERSION_MAJ).$(VERSION_MIN).$(VERSION_PAT)
46 49
47 ifeq ($(QPE_VERSION),..) 50 ifeq ($(QPE_VERSION),..)
48 QPE_VERSION=0.9.3 51 QPE_VERSION=0.9.3
49 endif 52 endif
50endif 53endif
51export QPE_VERSION 54export QPE_VERSION
52 55
53SUB_VERSION=$(shell echo $$(sed -n -e 's,.*SUB_VERSION \"\(.*\)\".*,\1,p' <$(OPIEDIR)/library/version.h)) 56SUB_VERSION=$(shell echo $$(sed -n -e 's,.*SUB_VERSION \"\(.*\)\".*,\1,p' <$(OPIEDIR)/library/version.h))
54ifeq ($(VERSION_CVS),) 57ifeq ($(VERSION_CVS),)
55 VERSION_CVS:=$(shell date +%Y%m%d) 58 VERSION_CVS:=$(shell date +%Y%m%d)
56endif 59endif
57ifneq ($(filter %snapshot",$(shell cat $(OPIEDIR)/library/version.h|grep QPE_VERSION)),) 60ifneq ($(filter %snapshot",$(shell cat $(OPIEDIR)/library/version.h|grep QPE_VERSION)),)
58 SUB_VERSION:=$(VERSION_CVS) 61 SUB_VERSION:=$(VERSION_CVS)
59endif 62endif
60export SUB_VERSION 63export SUB_VERSION
diff --git a/config.in b/config.in
index 4db0204..20fcf56 100644
--- a/config.in
+++ b/config.in
@@ -1,38 +1,41 @@
1mainmenu "Opie Configuration" 1mainmenu "Opie Configuration"
2 2
3menu "Build Parameters" 3menu "Build Parameters"
4 4
5choice 5choice
6 prompt "Target Machine" 6 prompt "Target Machine"
7 default TARGET_X86 7 default TARGET_X86
8 help 8 help
9 Please select the architecture of the machine you will be 9 Please select the architecture of the machine you will be
10 building the OpenZaurus buildroot for. 10 building the OpenZaurus buildroot for.
11 11
12 config TARGET_X86 12 config TARGET_X86
13 boolean "Intel X86" 13 boolean "Intel X86"
14 14
15 config TARGET_MACOSX
16 boolean "Mac OS X (DARWIN)"
17
15 config TARGET_SHARP 18 config TARGET_SHARP
16 boolean "Sharp Zaurus" 19 boolean "Sharp Zaurus"
17 20
18 config TARGET_IPAQ 21 config TARGET_IPAQ
19 boolean "iPAQ" 22 boolean "iPAQ"
20 23
21 config TARGET_RAMSES 24 config TARGET_RAMSES
22 boolean "Ramses" 25 boolean "Ramses"
23 26
24 config TARGET_SIMPAD 27 config TARGET_SIMPAD
25 boolean "SIMpad" 28 boolean "SIMpad"
26 29
27 config TARGET_YOPY 30 config TARGET_YOPY
28 boolean "Yopy 3500/3700" 31 boolean "Yopy 3500/3700"
29 32
30endchoice 33endchoice
31 34
32config OPTIMIZE 35config OPTIMIZE
33 boolean "Use optimizations" 36 boolean "Use optimizations"
34 default "y" if ! TARGET_X86 37 default "y" if ! TARGET_X86
35 38
36config DEBUG 39config DEBUG
37 boolean "Enable debug builds" 40 boolean "Enable debug builds"
38 default n 41 default n
@@ -41,48 +44,49 @@ config RELEASE
41 default y 44 default y
42 depends !DEBUG 45 depends !DEBUG
43 46
44config QUICK_LAUNCH 47config QUICK_LAUNCH
45 boolean "Enable Quick Launch" 48 boolean "Enable Quick Launch"
46 default n 49 default n
47 50
48config OPIE_NO_OVERRIDE_QT 51config OPIE_NO_OVERRIDE_QT
49 boolean "Build Opie against an unpatched version of Qt" 52 boolean "Build Opie against an unpatched version of Qt"
50 default n 53 default n
51 54
52config SPECFILE 55config SPECFILE
53 string 56 string
54 default "qws/linux-generic-g++" if TARGET_X86 && (! X11) 57 default "qws/linux-generic-g++" if TARGET_X86 && (! X11)
55 default "linux-g++" if TARGET_X86 && X11 58 default "linux-g++" if TARGET_X86 && X11
56 default "qws/linux-sharp-g++" if TARGET_SHARP && (! X11) 59 default "qws/linux-sharp-g++" if TARGET_SHARP && (! X11)
57 default "linux-g++" if TARGET_SHARP && X11 60 default "linux-g++" if TARGET_SHARP && X11
58 default "qws/linux-ipaq-g++" if TARGET_IPAQ && (! X11) 61 default "qws/linux-ipaq-g++" if TARGET_IPAQ && (! X11)
59 default "linux-g++" if TARGET_IPAQ && X11 62 default "linux-g++" if TARGET_IPAQ && X11
60 default "qws/linux-ramses-g++" if TARGET_RAMSES && (! X11) 63 default "qws/linux-ramses-g++" if TARGET_RAMSES && (! X11)
61 default "linux-g++" if TARGET_RAMSES && X11 64 default "linux-g++" if TARGET_RAMSES && X11
62 default "qws/linux-simpad-g++" if TARGET_SIMPAD && (! X11) 65 default "qws/linux-simpad-g++" if TARGET_SIMPAD && (! X11)
63 default "linux-g++" if TARGET_SIMPAD && X11 66 default "linux-g++" if TARGET_SIMPAD && X11
64 default "qws/linux-yopy-g++" if TARGET_YOPY && (! X11) 67 default "qws/linux-yopy-g++" if TARGET_YOPY && (! X11)
68 default "qws/macx-generic-g++" if TARGET_MACOSX && (! X11)
65 69
66config CUSTOMFILE 70config CUSTOMFILE
67 string 71 string
68 default "custom-ipaq.h" if TARGET_IPAQ 72 default "custom-ipaq.h" if TARGET_IPAQ
69 default "custom-sharp.h" if TARGET_SHARP 73 default "custom-sharp.h" if TARGET_SHARP
70 default "custom-ramses.h" if TARGET_RAMSES 74 default "custom-ramses.h" if TARGET_RAMSES
71 default "custom-ipaq.h" if TARGET_SIMPAD 75 default "custom-ipaq.h" if TARGET_SIMPAD
72 default "custom-yopy.h" if TARGET_YOPY 76 default "custom-yopy.h" if TARGET_YOPY
73 77
74config OPTIMIZATIONS 78config OPTIMIZATIONS
75 string "Optimization flags" 79 string "Optimization flags"
76 depends OPTIMIZE 80 depends OPTIMIZE
77 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_IPAQ 81 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_IPAQ
78 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_YOPY 82 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_YOPY
79 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SHARP 83 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SHARP
80 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_RAMSES 84 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_RAMSES
81 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SIMPAD 85 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SIMPAD
82 86
83config EXPERIMENTAL 87config EXPERIMENTAL
84 bool "Prompt for development and/or incomplete items" 88 bool "Prompt for development and/or incomplete items"
85 default y 89 default y
86 90
87endmenu 91endmenu
88 92
diff --git a/core/applets/batteryapplet/batteryapplet.pro b/core/applets/batteryapplet/batteryapplet.pro
index c68ceb7..1bc208b 100644
--- a/core/applets/batteryapplet/batteryapplet.pro
+++ b/core/applets/batteryapplet/batteryapplet.pro
@@ -1,26 +1,26 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= battery.h batterystatus.h batteryappletimpl.h 3 HEADERS= battery.h batterystatus.h batteryappletimpl.h
4 SOURCES= battery.cpp batterystatus.cpp batteryappletimpl.cpp 4 SOURCES= battery.cpp batterystatus.cpp batteryappletimpl.cpp
5 TARGET = batteryapplet 5 TARGET = batteryapplet
6 DESTDIR = $(OPIEDIR)/plugins/applets 6 DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include .. 8DEPENDPATH += ../$(OPIEDIR)/include ..
9LIBS += -lqpe -lopie 9LIBS += -lqpe -lopie
10 VERSION = 1.0.0 10 VERSION = 1.0.0
11 11
12TRANSLATIONS = ../../../i18n/de/libbatteryapplet.ts \ 12TRANSLATIONS = ../../../i18n/de/libbatteryapplet.ts \
13 ../../../i18n/nl/libbatteryapplet.ts \ 13 ../../../i18n/nl/libbatteryapplet.ts \
14 ../../../i18n/da/libbatteryapplet.ts \ 14 ../../../i18n/da/libbatteryapplet.ts \
15 ../../../i18n/xx/libbatteryapplet.ts \ 15 ../../../i18n/xx/libbatteryapplet.ts \
16 ../../../i18n/en/libbatteryapplet.ts \ 16 ../../../i18n/en/libbatteryapplet.ts \
17 ../../../i18n/es/libbatteryapplet.ts \ 17 ../../../i18n/es/libbatteryapplet.ts \
18 ../../../i18n/fr/libbatteryapplet.ts \ 18 ../../../i18n/fr/libbatteryapplet.ts \
19 ../../../i18n/hu/libbatteryapplet.ts \ 19 ../../../i18n/hu/libbatteryapplet.ts \
20 ../../../i18n/ja/libbatteryapplet.ts \ 20 ../../../i18n/ja/libbatteryapplet.ts \
21 ../../../i18n/ko/libbatteryapplet.ts \ 21 ../../../i18n/ko/libbatteryapplet.ts \
22 ../../../i18n/no/libbatteryapplet.ts \ 22 ../../../i18n/no/libbatteryapplet.ts \
23 ../../../i18n/pl/libbatteryapplet.ts \ 23 ../../../i18n/pl/libbatteryapplet.ts \
24 ../../../i18n/pt/libbatteryapplet.ts \ 24 ../../../i18n/pt/libbatteryapplet.ts \
25 ../../../i18n/pt_BR/libbatteryapplet.ts \ 25 ../../../i18n/pt_BR/libbatteryapplet.ts \
26 ../../../i18n/sl/libbatteryapplet.ts \ 26 ../../../i18n/sl/libbatteryapplet.ts \
diff --git a/core/applets/cardmon/cardmon.pro b/core/applets/cardmon/cardmon.pro
index 3907aa4..75facde 100644
--- a/core/applets/cardmon/cardmon.pro
+++ b/core/applets/cardmon/cardmon.pro
@@ -1,26 +1,26 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS =cardmon.h cardmonimpl.h 3 HEADERS =cardmon.h cardmonimpl.h
4 SOURCES =cardmon.cpp cardmonimpl.cpp 4 SOURCES =cardmon.cpp cardmonimpl.cpp
5 TARGET = cardmonapplet 5 TARGET = cardmonapplet
6 DESTDIR = $(OPIEDIR)/plugins/applets 6 DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include ../launcher 8DEPENDPATH += $(OPIEDIR)/include ../launcher
9LIBS += -lqpe -lopie 9LIBS += -lqpe -lopie
10 VERSION = 1.0.0 10 VERSION = 1.0.0
11 11
12TRANSLATIONS = ../../../i18n/de/libcardmonapplet.ts \ 12TRANSLATIONS = ../../../i18n/de/libcardmonapplet.ts \
13 ../../../i18n/nl/libcardmonapplet.ts \ 13 ../../../i18n/nl/libcardmonapplet.ts \
14 ../../../i18n/da/libcardmonapplet.ts \ 14 ../../../i18n/da/libcardmonapplet.ts \
15 ../../../i18n/xx/libcardmonapplet.ts \ 15 ../../../i18n/xx/libcardmonapplet.ts \
16 ../../../i18n/en/libcardmonapplet.ts \ 16 ../../../i18n/en/libcardmonapplet.ts \
17 ../../../i18n/es/libcardmonapplet.ts \ 17 ../../../i18n/es/libcardmonapplet.ts \
18 ../../../i18n/fr/libcardmonapplet.ts \ 18 ../../../i18n/fr/libcardmonapplet.ts \
19 ../../../i18n/hu/libcardmonapplet.ts \ 19 ../../../i18n/hu/libcardmonapplet.ts \
20 ../../../i18n/ja/libcardmonapplet.ts \ 20 ../../../i18n/ja/libcardmonapplet.ts \
21 ../../../i18n/ko/libcardmonapplet.ts \ 21 ../../../i18n/ko/libcardmonapplet.ts \
22 ../../../i18n/no/libcardmonapplet.ts \ 22 ../../../i18n/no/libcardmonapplet.ts \
23 ../../../i18n/pl/libcardmonapplet.ts \ 23 ../../../i18n/pl/libcardmonapplet.ts \
24 ../../../i18n/pt/libcardmonapplet.ts \ 24 ../../../i18n/pt/libcardmonapplet.ts \
25 ../../../i18n/pt_BR/libcardmonapplet.ts \ 25 ../../../i18n/pt_BR/libcardmonapplet.ts \
26 ../../../i18n/sl/libcardmonapplet.ts \ 26 ../../../i18n/sl/libcardmonapplet.ts \
diff --git a/core/applets/clipboardapplet/clipboardapplet.pro b/core/applets/clipboardapplet/clipboardapplet.pro
index 1e9cc4f..358d658 100644
--- a/core/applets/clipboardapplet/clipboardapplet.pro
+++ b/core/applets/clipboardapplet/clipboardapplet.pro
@@ -1,26 +1,26 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= clipboard.h clipboardappletimpl.h 3 HEADERS= clipboard.h clipboardappletimpl.h
4 SOURCES= clipboard.cpp clipboardappletimpl.cpp 4 SOURCES= clipboard.cpp clipboardappletimpl.cpp
5 TARGET = clipboardapplet 5 TARGET = clipboardapplet
6 DESTDIR = $(OPIEDIR)/plugins/applets 6 DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include 8DEPENDPATH += ../$(OPIEDIR)/include
9LIBS += -lqpe 9LIBS += -lqpe
10 VERSION = 1.0.0 10 VERSION = 1.0.0
11 11
12TRANSLATIONS = ../../../i18n/de/libclipboardapplet.ts \ 12TRANSLATIONS = ../../../i18n/de/libclipboardapplet.ts \
13 ../../../i18n/nl/libclipboardapplet.ts \ 13 ../../../i18n/nl/libclipboardapplet.ts \
14 ../../../i18n/da/libclipboardapplet.ts \ 14 ../../../i18n/da/libclipboardapplet.ts \
15 ../../../i18n/xx/libclipboardapplet.ts \ 15 ../../../i18n/xx/libclipboardapplet.ts \
16 ../../../i18n/en/libclipboardapplet.ts \ 16 ../../../i18n/en/libclipboardapplet.ts \
17 ../../../i18n/es/libclipboardapplet.ts \ 17 ../../../i18n/es/libclipboardapplet.ts \
18 ../../../i18n/fr/libclipboardapplet.ts \ 18 ../../../i18n/fr/libclipboardapplet.ts \
19 ../../../i18n/hu/libclipboardapplet.ts \ 19 ../../../i18n/hu/libclipboardapplet.ts \
20 ../../../i18n/ja/libclipboardapplet.ts \ 20 ../../../i18n/ja/libclipboardapplet.ts \
21 ../../../i18n/ko/libclipboardapplet.ts \ 21 ../../../i18n/ko/libclipboardapplet.ts \
22 ../../../i18n/no/libclipboardapplet.ts \ 22 ../../../i18n/no/libclipboardapplet.ts \
23 ../../../i18n/pl/libclipboardapplet.ts \ 23 ../../../i18n/pl/libclipboardapplet.ts \
24 ../../../i18n/pt/libclipboardapplet.ts \ 24 ../../../i18n/pt/libclipboardapplet.ts \
25 ../../../i18n/pt_BR/libclipboardapplet.ts \ 25 ../../../i18n/pt_BR/libclipboardapplet.ts \
26 ../../../i18n/sl/libclipboardapplet.ts \ 26 ../../../i18n/sl/libclipboardapplet.ts \
diff --git a/core/applets/clockapplet/clockapplet.pro b/core/applets/clockapplet/clockapplet.pro
index 22c7b55..88092f5 100644
--- a/core/applets/clockapplet/clockapplet.pro
+++ b/core/applets/clockapplet/clockapplet.pro
@@ -1,26 +1,26 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= clock.h clockappletimpl.h 3 HEADERS= clock.h clockappletimpl.h
4 SOURCES= clock.cpp clockappletimpl.cpp 4 SOURCES= clock.cpp clockappletimpl.cpp
5 TARGET = clockapplet 5 TARGET = clockapplet
6 DESTDIR = $(OPIEDIR)/plugins/applets 6 DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include .. 8DEPENDPATH += ../$(OPIEDIR)/include ..
9LIBS += -lqpe 9LIBS += -lqpe
10 VERSION = 1.0.0 10 VERSION = 1.0.0
11 11
12TRANSLATIONS = ../../../i18n/de/libclockapplet.ts \ 12TRANSLATIONS = ../../../i18n/de/libclockapplet.ts \
13 ../../../i18n/nl/libclockapplet.ts \ 13 ../../../i18n/nl/libclockapplet.ts \
14 ../../../i18n/da/libclockapplet.ts \ 14 ../../../i18n/da/libclockapplet.ts \
15 ../../../i18n/xx/libclockapplet.ts \ 15 ../../../i18n/xx/libclockapplet.ts \
16 ../../../i18n/en/libclockapplet.ts \ 16 ../../../i18n/en/libclockapplet.ts \
17 ../../../i18n/es/libclockapplet.ts \ 17 ../../../i18n/es/libclockapplet.ts \
18 ../../../i18n/fr/libclockapplet.ts \ 18 ../../../i18n/fr/libclockapplet.ts \
19 ../../../i18n/hu/libclockapplet.ts \ 19 ../../../i18n/hu/libclockapplet.ts \
20 ../../../i18n/ja/libclockapplet.ts \ 20 ../../../i18n/ja/libclockapplet.ts \
21 ../../../i18n/ko/libclockapplet.ts \ 21 ../../../i18n/ko/libclockapplet.ts \
22 ../../../i18n/no/libclockapplet.ts \ 22 ../../../i18n/no/libclockapplet.ts \
23 ../../../i18n/pl/libclockapplet.ts \ 23 ../../../i18n/pl/libclockapplet.ts \
24 ../../../i18n/pt/libclockapplet.ts \ 24 ../../../i18n/pt/libclockapplet.ts \
25 ../../../i18n/pt_BR/libclockapplet.ts \ 25 ../../../i18n/pt_BR/libclockapplet.ts \
26 ../../../i18n/sl/libclockapplet.ts \ 26 ../../../i18n/sl/libclockapplet.ts \
diff --git a/core/applets/homeapplet/homeapplet.pro b/core/applets/homeapplet/homeapplet.pro
index ac7956b..854050f 100644
--- a/core/applets/homeapplet/homeapplet.pro
+++ b/core/applets/homeapplet/homeapplet.pro
@@ -1,26 +1,26 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = home.h 3HEADERS = home.h
4SOURCES = home.cpp 4SOURCES = home.cpp
5TARGET = homeapplet 5TARGET = homeapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
9LIBS += -lqpe 9LIBS += -lqpe
10VERSION = 1.0.0 10VERSION = 1.0.0
11 11
12TRANSLATIONS = ../../../i18n/de/libhomeapplet.ts \ 12TRANSLATIONS = ../../../i18n/de/libhomeapplet.ts \
13 ../../../i18n/nl/libhomeapplet.ts \ 13 ../../../i18n/nl/libhomeapplet.ts \
14 ../../../i18n/da/libhomeapplet.ts \ 14 ../../../i18n/da/libhomeapplet.ts \
15 ../../../i18n/xx/libhomeapplet.ts \ 15 ../../../i18n/xx/libhomeapplet.ts \
16 ../../../i18n/en/libhomeapplet.ts \ 16 ../../../i18n/en/libhomeapplet.ts \
17 ../../../i18n/es/libhomeapplet.ts \ 17 ../../../i18n/es/libhomeapplet.ts \
18 ../../../i18n/fr/libhomeapplet.ts \ 18 ../../../i18n/fr/libhomeapplet.ts \
19 ../../../i18n/hu/libhomeapplet.ts \ 19 ../../../i18n/hu/libhomeapplet.ts \
20 ../../../i18n/ja/libhomeapplet.ts \ 20 ../../../i18n/ja/libhomeapplet.ts \
21 ../../../i18n/ko/libhomeapplet.ts \ 21 ../../../i18n/ko/libhomeapplet.ts \
22 ../../../i18n/no/libhomeapplet.ts \ 22 ../../../i18n/no/libhomeapplet.ts \
23 ../../../i18n/pl/libhomeapplet.ts \ 23 ../../../i18n/pl/libhomeapplet.ts \
24 ../../../i18n/pt/libhomeapplet.ts \ 24 ../../../i18n/pt/libhomeapplet.ts \
25 ../../../i18n/pt_BR/libhomeapplet.ts \ 25 ../../../i18n/pt_BR/libhomeapplet.ts \
26 ../../../i18n/sl/libhomeapplet.ts \ 26 ../../../i18n/sl/libhomeapplet.ts \
diff --git a/core/applets/irdaapplet/irdaapplet.pro b/core/applets/irdaapplet/irdaapplet.pro
index 56632ed..be16bad 100644
--- a/core/applets/irdaapplet/irdaapplet.pro
+++ b/core/applets/irdaapplet/irdaapplet.pro
@@ -1,26 +1,26 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = irda.h irdaappletimpl.h 3HEADERS = irda.h irdaappletimpl.h
4SOURCES = irda.cpp irdaappletimpl.cpp 4SOURCES = irda.cpp irdaappletimpl.cpp
5TARGET = irdaapplet 5TARGET = irdaapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include 8DEPENDPATH += ../$(OPIEDIR)/include
9LIBS += -lqpe 9LIBS += -lqpe
10VERSION = 1.0.0 10VERSION = 1.0.0
11 11
12TRANSLATIONS = ../../../i18n/de/libirdaapplet.ts \ 12TRANSLATIONS = ../../../i18n/de/libirdaapplet.ts \
13 ../../../i18n/nl/libirdaapplet.ts \ 13 ../../../i18n/nl/libirdaapplet.ts \
14 ../../../i18n/da/libirdaapplet.ts \ 14 ../../../i18n/da/libirdaapplet.ts \
15 ../../../i18n/xx/libirdaapplet.ts \ 15 ../../../i18n/xx/libirdaapplet.ts \
16 ../../../i18n/en/libirdaapplet.ts \ 16 ../../../i18n/en/libirdaapplet.ts \
17 ../../../i18n/es/libirdaapplet.ts \ 17 ../../../i18n/es/libirdaapplet.ts \
18 ../../../i18n/fr/libirdaapplet.ts \ 18 ../../../i18n/fr/libirdaapplet.ts \
19 ../../../i18n/hu/libirdaapplet.ts \ 19 ../../../i18n/hu/libirdaapplet.ts \
20 ../../../i18n/ja/libirdaapplet.ts \ 20 ../../../i18n/ja/libirdaapplet.ts \
21 ../../../i18n/ko/libirdaapplet.ts \ 21 ../../../i18n/ko/libirdaapplet.ts \
22 ../../../i18n/no/libirdaapplet.ts \ 22 ../../../i18n/no/libirdaapplet.ts \
23 ../../../i18n/pl/libirdaapplet.ts \ 23 ../../../i18n/pl/libirdaapplet.ts \
24 ../../../i18n/pt/libirdaapplet.ts \ 24 ../../../i18n/pt/libirdaapplet.ts \
25 ../../../i18n/pt_BR/libirdaapplet.ts \ 25 ../../../i18n/pt_BR/libirdaapplet.ts \
26 ../../../i18n/sl/libirdaapplet.ts \ 26 ../../../i18n/sl/libirdaapplet.ts \
diff --git a/core/applets/logoutapplet/logoutapplet.pro b/core/applets/logoutapplet/logoutapplet.pro
index a019303..7826bb3 100644
--- a/core/applets/logoutapplet/logoutapplet.pro
+++ b/core/applets/logoutapplet/logoutapplet.pro
@@ -1,26 +1,26 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = logout.h 3HEADERS = logout.h
4SOURCES = logout.cpp 4SOURCES = logout.cpp
5TARGET = logoutapplet 5TARGET = logoutapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
9LIBS += -lqpe 9LIBS += -lqpe
10VERSION = 1.0.0 10VERSION = 1.0.0
11 11
12TRANSLATIONS = ../../../i18n/de/liblogoutapplet.ts \ 12TRANSLATIONS = ../../../i18n/de/liblogoutapplet.ts \
13 ../../../i18n/nl/liblogoutapplet.ts \ 13 ../../../i18n/nl/liblogoutapplet.ts \
14 ../../../i18n/da/liblogoutapplet.ts \ 14 ../../../i18n/da/liblogoutapplet.ts \
15 ../../../i18n/xx/liblogoutapplet.ts \ 15 ../../../i18n/xx/liblogoutapplet.ts \
16 ../../../i18n/en/liblogoutapplet.ts \ 16 ../../../i18n/en/liblogoutapplet.ts \
17 ../../../i18n/es/liblogoutapplet.ts \ 17 ../../../i18n/es/liblogoutapplet.ts \
18 ../../../i18n/fr/liblogoutapplet.ts \ 18 ../../../i18n/fr/liblogoutapplet.ts \
19 ../../../i18n/hu/liblogoutapplet.ts \ 19 ../../../i18n/hu/liblogoutapplet.ts \
20 ../../../i18n/ja/liblogoutapplet.ts \ 20 ../../../i18n/ja/liblogoutapplet.ts \
21 ../../../i18n/ko/liblogoutapplet.ts \ 21 ../../../i18n/ko/liblogoutapplet.ts \
22 ../../../i18n/no/liblogoutapplet.ts \ 22 ../../../i18n/no/liblogoutapplet.ts \
23 ../../../i18n/pl/liblogoutapplet.ts \ 23 ../../../i18n/pl/liblogoutapplet.ts \
24 ../../../i18n/pt/liblogoutapplet.ts \ 24 ../../../i18n/pt/liblogoutapplet.ts \
25 ../../../i18n/pt_BR/liblogoutapplet.ts \ 25 ../../../i18n/pt_BR/liblogoutapplet.ts \
26 ../../../i18n/sl/liblogoutapplet.ts \ 26 ../../../i18n/sl/liblogoutapplet.ts \
diff --git a/core/applets/restartapplet/restartapplet.pro b/core/applets/restartapplet/restartapplet.pro
index bd27b0a..368a0ea 100644
--- a/core/applets/restartapplet/restartapplet.pro
+++ b/core/applets/restartapplet/restartapplet.pro
@@ -1,17 +1,17 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = restart.h restartappletimpl.h 3HEADERS = restart.h restartappletimpl.h
4SOURCES = restart.cpp restartappletimpl.cpp 4SOURCES = restart.cpp restartappletimpl.cpp
5TARGET = restartapplet 5TARGET = restartapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include 8DEPENDPATH += ../$(OPIEDIR)/include
9LIBS += -lqpe 9LIBS += -lqpe
10VERSION = 1.0.0 10VERSION = 1.0.0
11MOC_DIR=opieobj 11MOC_DIR=opieobj
12OBJECTS_DIR=opieobj 12OBJECTS_DIR=opieobj
13 13
14 14
15 15
16include ( $(OPIEDIR)/include.pro ) 16include ( $(OPIEDIR)/include.pro )
17target.path = $$prefix/plugins/applets 17target.path = $$prefix/plugins/applets
diff --git a/core/applets/restartapplet2/restartapplet.pro b/core/applets/restartapplet2/restartapplet.pro
index 85a3b66..12a7922 100644
--- a/core/applets/restartapplet2/restartapplet.pro
+++ b/core/applets/restartapplet2/restartapplet.pro
@@ -1,17 +1,17 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = restart.h 3HEADERS = restart.h
4SOURCES = restart.cpp 4SOURCES = restart.cpp
5TARGET = restartapplet 5TARGET = restartapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
9LIBS += -lqpe 9LIBS += -lqpe
10VERSION = 1.0.0 10VERSION = 1.0.0
11MOC_DIR=opieobj 11MOC_DIR=opieobj
12OBJECTS_DIR=opieobj 12OBJECTS_DIR=opieobj
13 13
14 14
15 15
16include ( $(OPIEDIR)/include.pro ) 16include ( $(OPIEDIR)/include.pro )
17target.path = $$prefix/plugins/applets 17target.path = $$prefix/plugins/applets
diff --git a/core/applets/rotateapplet/rotateapplet.pro b/core/applets/rotateapplet/rotateapplet.pro
index 9b39dba..2c8de8d 100644
--- a/core/applets/rotateapplet/rotateapplet.pro
+++ b/core/applets/rotateapplet/rotateapplet.pro
@@ -1,26 +1,26 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugn warn_on release
3HEADERS = rotate.h 3HEADERS = rotate.h
4SOURCES = rotate.cpp 4SOURCES = rotate.cpp
5TARGET = rotateapplet 5TARGET = rotateapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
9LIBS += -lqpe 9LIBS += -lqpe
10VERSION = 1.0.0 10VERSION = 1.0.0
11 11
12TRANSLATIONS = ../../../i18n/de/librotateapplet.ts \ 12TRANSLATIONS = ../../../i18n/de/librotateapplet.ts \
13 ../../../i18n/nl/librotateapplet.ts \ 13 ../../../i18n/nl/librotateapplet.ts \
14 ../../../i18n/da/librotateapplet.ts \ 14 ../../../i18n/da/librotateapplet.ts \
15 ../../../i18n/xx/librotateapplet.ts \ 15 ../../../i18n/xx/librotateapplet.ts \
16 ../../../i18n/en/librotateapplet.ts \ 16 ../../../i18n/en/librotateapplet.ts \
17 ../../../i18n/es/librotateapplet.ts \ 17 ../../../i18n/es/librotateapplet.ts \
18 ../../../i18n/fr/librotateapplet.ts \ 18 ../../../i18n/fr/librotateapplet.ts \
19 ../../../i18n/hu/librotateapplet.ts \ 19 ../../../i18n/hu/librotateapplet.ts \
20 ../../../i18n/ja/librotateapplet.ts \ 20 ../../../i18n/ja/librotateapplet.ts \
21 ../../../i18n/ko/librotateapplet.ts \ 21 ../../../i18n/ko/librotateapplet.ts \
22 ../../../i18n/no/librotateapplet.ts \ 22 ../../../i18n/no/librotateapplet.ts \
23 ../../../i18n/pl/librotateapplet.ts \ 23 ../../../i18n/pl/librotateapplet.ts \
24 ../../../i18n/pt/librotateapplet.ts \ 24 ../../../i18n/pt/librotateapplet.ts \
25 ../../../i18n/pt_BR/librotateapplet.ts \ 25 ../../../i18n/pt_BR/librotateapplet.ts \
26 ../../../i18n/sl/librotateapplet.ts \ 26 ../../../i18n/sl/librotateapplet.ts \
diff --git a/core/applets/screenshotapplet/screenshotapplet.pro b/core/applets/screenshotapplet/screenshotapplet.pro
index fe7b299..a86eff2 100644
--- a/core/applets/screenshotapplet/screenshotapplet.pro
+++ b/core/applets/screenshotapplet/screenshotapplet.pro
@@ -1,26 +1,26 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = screenshot.h inputDialog.h screenshotappletimpl.h 3HEADERS = screenshot.h inputDialog.h screenshotappletimpl.h
4SOURCES = screenshot.cpp inputDialog.cpp screenshotappletimpl.cpp 4SOURCES = screenshot.cpp inputDialog.cpp screenshotappletimpl.cpp
5TARGET = screenshotapplet 5TARGET = screenshotapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include 8DEPENDPATH += ../$(OPIEDIR)/include
9LIBS += -lqpe 9LIBS += -lqpe
10VERSION = 1.0.0 10VERSION = 1.0.0
11MOC_DIR=opieobj 11MOC_DIR=opieobj
12OBJECTS_DIR=opieobj 12OBJECTS_DIR=opieobj
13 13
14TRANSLATIONS = ../../../i18n/de/libscreenshotapplet.ts \ 14TRANSLATIONS = ../../../i18n/de/libscreenshotapplet.ts \
15 ../../../i18n/nl/libscreenshotapplet.ts \ 15 ../../../i18n/nl/libscreenshotapplet.ts \
16 ../../../i18n/da/libscreenshotapplet.ts \ 16 ../../../i18n/da/libscreenshotapplet.ts \
17 ../../../i18n/xx/libscreenshotapplet.ts \ 17 ../../../i18n/xx/libscreenshotapplet.ts \
18 ../../../i18n/en/libscreenshotapplet.ts \ 18 ../../../i18n/en/libscreenshotapplet.ts \
19 ../../../i18n/es/libscreenshotapplet.ts \ 19 ../../../i18n/es/libscreenshotapplet.ts \
20 ../../../i18n/fr/libscreenshotapplet.ts \ 20 ../../../i18n/fr/libscreenshotapplet.ts \
21 ../../../i18n/hu/libscreenshotapplet.ts \ 21 ../../../i18n/hu/libscreenshotapplet.ts \
22 ../../../i18n/ja/libscreenshotapplet.ts \ 22 ../../../i18n/ja/libscreenshotapplet.ts \
23 ../../../i18n/ko/libscreenshotapplet.ts \ 23 ../../../i18n/ko/libscreenshotapplet.ts \
24 ../../../i18n/no/libscreenshotapplet.ts \ 24 ../../../i18n/no/libscreenshotapplet.ts \
25 ../../../i18n/pl/libscreenshotapplet.ts \ 25 ../../../i18n/pl/libscreenshotapplet.ts \
26 ../../../i18n/pt/libscreenshotapplet.ts \ 26 ../../../i18n/pt/libscreenshotapplet.ts \
diff --git a/core/applets/suspendapplet/suspendapplet.pro b/core/applets/suspendapplet/suspendapplet.pro
index 7635d32..f58de63 100644
--- a/core/applets/suspendapplet/suspendapplet.pro
+++ b/core/applets/suspendapplet/suspendapplet.pro
@@ -1,26 +1,26 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = suspend.h 3HEADERS = suspend.h
4SOURCES = suspend.cpp 4SOURCES = suspend.cpp
5TARGET = suspendapplet 5TARGET = suspendapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
9LIBS += -lqpe 9LIBS += -lqpe
10VERSION = 1.0.0 10VERSION = 1.0.0
11 11
12TRANSLATIONS = ../../../i18n/de/libsuspendapplet.ts \ 12TRANSLATIONS = ../../../i18n/de/libsuspendapplet.ts \
13 ../../../i18n/nl/libsuspendapplet.ts \ 13 ../../../i18n/nl/libsuspendapplet.ts \
14 ../../../i18n/da/libsuspendapplet.ts \ 14 ../../../i18n/da/libsuspendapplet.ts \
15 ../../../i18n/xx/libsuspendapplet.ts \ 15 ../../../i18n/xx/libsuspendapplet.ts \
16 ../../../i18n/en/libsuspendapplet.ts \ 16 ../../../i18n/en/libsuspendapplet.ts \
17 ../../../i18n/es/libsuspendapplet.ts \ 17 ../../../i18n/es/libsuspendapplet.ts \
18 ../../../i18n/fr/libsuspendapplet.ts \ 18 ../../../i18n/fr/libsuspendapplet.ts \
19 ../../../i18n/hu/libsuspendapplet.ts \ 19 ../../../i18n/hu/libsuspendapplet.ts \
20 ../../../i18n/ja/libsuspendapplet.ts \ 20 ../../../i18n/ja/libsuspendapplet.ts \
21 ../../../i18n/ko/libsuspendapplet.ts \ 21 ../../../i18n/ko/libsuspendapplet.ts \
22 ../../../i18n/no/libsuspendapplet.ts \ 22 ../../../i18n/no/libsuspendapplet.ts \
23 ../../../i18n/pl/libsuspendapplet.ts \ 23 ../../../i18n/pl/libsuspendapplet.ts \
24 ../../../i18n/pt/libsuspendapplet.ts \ 24 ../../../i18n/pt/libsuspendapplet.ts \
25 ../../../i18n/pt_BR/libsuspendapplet.ts \ 25 ../../../i18n/pt_BR/libsuspendapplet.ts \
26 ../../../i18n/sl/libsuspendapplet.ts \ 26 ../../../i18n/sl/libsuspendapplet.ts \
diff --git a/core/applets/vmemo/vmemo.pro b/core/applets/vmemo/vmemo.pro
index 8cf1f07..43cb767 100644
--- a/core/applets/vmemo/vmemo.pro
+++ b/core/applets/vmemo/vmemo.pro
@@ -1,26 +1,26 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = vmemo.h vmemoimpl.h adpcm.h 3HEADERS = vmemo.h vmemoimpl.h adpcm.h
4SOURCES = vmemo.cpp vmemoimpl.cpp adpcm.c 4SOURCES = vmemo.cpp vmemoimpl.cpp adpcm.c
5TARGET = vmemoapplet 5TARGET = vmemoapplet
6DESTDIR =$(OPIEDIR)/plugins/applets 6DESTDIR =$(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
9LIBS += -lqpe 9LIBS += -lqpe
10VERSION = 1.0.0 10VERSION = 1.0.0
11 11
12TRANSLATIONS = ../../../i18n/de/libvmemoapplet.ts \ 12TRANSLATIONS = ../../../i18n/de/libvmemoapplet.ts \
13 ../../../i18n/nl/libvmemoapplet.ts \ 13 ../../../i18n/nl/libvmemoapplet.ts \
14 ../../../i18n/da/libvmemoapplet.ts \ 14 ../../../i18n/da/libvmemoapplet.ts \
15 ../../../i18n/xx/libvmemoapplet.ts \ 15 ../../../i18n/xx/libvmemoapplet.ts \
16 ../../../i18n/en/libvmemoapplet.ts \ 16 ../../../i18n/en/libvmemoapplet.ts \
17 ../../../i18n/es/libvmemoapplet.ts \ 17 ../../../i18n/es/libvmemoapplet.ts \
18 ../../../i18n/fr/libvmemoapplet.ts \ 18 ../../../i18n/fr/libvmemoapplet.ts \
19 ../../../i18n/hu/libvmemoapplet.ts \ 19 ../../../i18n/hu/libvmemoapplet.ts \
20 ../../../i18n/ja/libvmemoapplet.ts \ 20 ../../../i18n/ja/libvmemoapplet.ts \
21 ../../../i18n/ko/libvmemoapplet.ts \ 21 ../../../i18n/ko/libvmemoapplet.ts \
22 ../../../i18n/no/libvmemoapplet.ts \ 22 ../../../i18n/no/libvmemoapplet.ts \
23 ../../../i18n/pl/libvmemoapplet.ts \ 23 ../../../i18n/pl/libvmemoapplet.ts \
24 ../../../i18n/pt/libvmemoapplet.ts \ 24 ../../../i18n/pt/libvmemoapplet.ts \
25 ../../../i18n/pt_BR/libvmemoapplet.ts \ 25 ../../../i18n/pt_BR/libvmemoapplet.ts \
26 ../../../i18n/sl/libvmemoapplet.ts \ 26 ../../../i18n/sl/libvmemoapplet.ts \
diff --git a/core/applets/volumeapplet/volumeapplet.pro b/core/applets/volumeapplet/volumeapplet.pro
index d30567c..68d9eff 100644
--- a/core/applets/volumeapplet/volumeapplet.pro
+++ b/core/applets/volumeapplet/volumeapplet.pro
@@ -1,26 +1,26 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= volume.h volumeappletimpl.h oledbox.h 3 HEADERS= volume.h volumeappletimpl.h oledbox.h
4 SOURCES= volume.cpp volumeappletimpl.cpp oledbox.cpp 4 SOURCES= volume.cpp volumeappletimpl.cpp oledbox.cpp
5 TARGET = volumeapplet 5 TARGET = volumeapplet
6 DESTDIR = $(OPIEDIR)/plugins/applets 6 DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include 8DEPENDPATH += ../$(OPIEDIR)/include
9LIBS += -lqpe 9LIBS += -lqpe
10 VERSION = 1.0.0 10 VERSION = 1.0.0
11 11
12TRANSLATIONS = ../../../i18n/de/libvolumeapplet.ts \ 12TRANSLATIONS = ../../../i18n/de/libvolumeapplet.ts \
13 ../../../i18n/nl/libvolumeapplet.ts \ 13 ../../../i18n/nl/libvolumeapplet.ts \
14 ../../../i18n/da/libvolumeapplet.ts \ 14 ../../../i18n/da/libvolumeapplet.ts \
15 ../../../i18n/xx/libvolumeapplet.ts \ 15 ../../../i18n/xx/libvolumeapplet.ts \
16 ../../../i18n/en/libvolumeapplet.ts \ 16 ../../../i18n/en/libvolumeapplet.ts \
17 ../../../i18n/es/libvolumeapplet.ts \ 17 ../../../i18n/es/libvolumeapplet.ts \
18 ../../../i18n/fr/libvolumeapplet.ts \ 18 ../../../i18n/fr/libvolumeapplet.ts \
19 ../../../i18n/hu/libvolumeapplet.ts \ 19 ../../../i18n/hu/libvolumeapplet.ts \
20 ../../../i18n/ja/libvolumeapplet.ts \ 20 ../../../i18n/ja/libvolumeapplet.ts \
21 ../../../i18n/ko/libvolumeapplet.ts \ 21 ../../../i18n/ko/libvolumeapplet.ts \
22 ../../../i18n/no/libvolumeapplet.ts \ 22 ../../../i18n/no/libvolumeapplet.ts \
23 ../../../i18n/pl/libvolumeapplet.ts \ 23 ../../../i18n/pl/libvolumeapplet.ts \
24 ../../../i18n/pt/libvolumeapplet.ts \ 24 ../../../i18n/pt/libvolumeapplet.ts \
25 ../../../i18n/pt_BR/libvolumeapplet.ts \ 25 ../../../i18n/pt_BR/libvolumeapplet.ts \
26 ../../../i18n/sl/libvolumeapplet.ts \ 26 ../../../i18n/sl/libvolumeapplet.ts \
diff --git a/core/launcher/applauncher.cpp b/core/launcher/applauncher.cpp
index d6f93da..0ac043b 100644
--- a/core/launcher/applauncher.cpp
+++ b/core/launcher/applauncher.cpp
@@ -525,49 +525,53 @@ bool AppLauncher::execute(const QString &c, const QString &docParam, bool noRais
525 f.close(); 525 f.close();
526 } 526 }
527 if ( QCopChannel::isRegistered(channel) ) // avoid unnecessary warnings 527 if ( QCopChannel::isRegistered(channel) ) // avoid unnecessary warnings
528 QCopChannel::send(channel,"QPEProcessQCop()"); 528 QCopChannel::send(channel,"QPEProcessQCop()");
529 529
530 return TRUE; 530 return TRUE;
531 } 531 }
532 532
533#ifdef QT_NO_QWS_MULTIPROCESS 533#ifdef QT_NO_QWS_MULTIPROCESS
534 QMessageBox::warning( 0, tr("Error"), tr("<qt>Could not find the application %1</qt>").arg(c), 534 QMessageBox::warning( 0, tr("Error"), tr("<qt>Could not find the application %1</qt>").arg(c),
535 tr("OK"), 0, 0, 0, 1 ); 535 tr("OK"), 0, 0, 0, 1 );
536#else 536#else
537 537
538 QStrList slist; 538 QStrList slist;
539 unsigned j; 539 unsigned j;
540 for ( j = 0; j < list.count(); j++ ) 540 for ( j = 0; j < list.count(); j++ )
541 slist.append( list[j].utf8() ); 541 slist.append( list[j].utf8() );
542 542
543 const char **args = new const char *[slist.count() + 1]; 543 const char **args = new const char *[slist.count() + 1];
544 for ( j = 0; j < slist.count(); j++ ) 544 for ( j = 0; j < slist.count(); j++ )
545 args[j] = slist.at(j); 545 args[j] = slist.at(j);
546 args[j] = NULL; 546 args[j] = NULL;
547 547
548#ifndef Q_OS_WIN32 548#ifndef Q_OS_WIN32
549#ifdef Q_OS_MACX
550 if ( qlPid && qlReady && QFile::exists( QPEApplication::qpeDir()+"plugins/application/lib"+args[0] + ".dylib" ) ) {
551#else
549 if ( qlPid && qlReady && QFile::exists( QPEApplication::qpeDir()+"plugins/application/lib"+args[0] + ".so" ) ) { 552 if ( qlPid && qlReady && QFile::exists( QPEApplication::qpeDir()+"plugins/application/lib"+args[0] + ".so" ) ) {
553#endif /* Q_OS_MACX */
550 qDebug( "Quick launching: %s", args[0] ); 554 qDebug( "Quick launching: %s", args[0] );
551 if ( getuid() == 0 ) 555 if ( getuid() == 0 )
552 setpriority( PRIO_PROCESS, qlPid, 0 ); 556 setpriority( PRIO_PROCESS, qlPid, 0 );
553 QCString qlch("QPE/QuickLauncher-"); 557 QCString qlch("QPE/QuickLauncher-");
554 qlch += QString::number(qlPid); 558 qlch += QString::number(qlPid);
555 QCopEnvelope env( qlch, "execute(QStrList)" ); 559 QCopEnvelope env( qlch, "execute(QStrList)" );
556 env << slist; 560 env << slist;
557 runningApps[qlPid] = QString(args[0]); 561 runningApps[qlPid] = QString(args[0]);
558 emit launched(qlPid, QString(args[0])); 562 emit launched(qlPid, QString(args[0]));
559 QCopEnvelope e("QPE/System", "busy()"); 563 QCopEnvelope e("QPE/System", "busy()");
560 qlPid = 0; 564 qlPid = 0;
561 qlReady = FALSE; 565 qlReady = FALSE;
562 QTimer::singleShot( getuid() == 0 ? 800 : 1500, this, SLOT(createQuickLauncher()) ); 566 QTimer::singleShot( getuid() == 0 ? 800 : 1500, this, SLOT(createQuickLauncher()) );
563 } else { 567 } else {
564 int pid = ::vfork(); 568 int pid = ::vfork();
565 if ( !pid ) { 569 if ( !pid ) {
566 for ( int fd = 3; fd < 100; fd++ ) 570 for ( int fd = 3; fd < 100; fd++ )
567 ::close( fd ); 571 ::close( fd );
568 ::setpgid( ::getpid(), ::getppid() ); 572 ::setpgid( ::getpid(), ::getppid() );
569 // Try bindir first, so that foo/bar works too 573 // Try bindir first, so that foo/bar works too
570 ::execv( QPEApplication::qpeDir()+"bin/"+args[0], (char * const *)args ); 574 ::execv( QPEApplication::qpeDir()+"bin/"+args[0], (char * const *)args );
571 ::execvp( args[0], (char * const *)args ); 575 ::execvp( args[0], (char * const *)args );
572 _exit( -1 ); 576 _exit( -1 );
573 } 577 }
diff --git a/core/launcher/inputmethods.cpp b/core/launcher/inputmethods.cpp
index 8f3e812..62e316c 100644
--- a/core/launcher/inputmethods.cpp
+++ b/core/launcher/inputmethods.cpp
@@ -206,49 +206,53 @@ QRect InputMethods::inputRect() const
206 else 206 else
207 return mkeyboard->widget->geometry(); 207 return mkeyboard->widget->geometry();
208} 208}
209 209
210void InputMethods::unloadInputMethods() 210void InputMethods::unloadInputMethods()
211{ 211{
212 unloadMethod( inputMethodList ); 212 unloadMethod( inputMethodList );
213 unloadMethod( inputModifierList ); 213 unloadMethod( inputModifierList );
214 inputMethodList.clear(); 214 inputMethodList.clear();
215 inputModifierList.clear(); 215 inputModifierList.clear();
216 216
217} 217}
218 218
219void InputMethods::unloadMethod( QValueList<InputMethod>& list ) { 219void InputMethods::unloadMethod( QValueList<InputMethod>& list ) {
220 QValueList<InputMethod>::Iterator it; 220 QValueList<InputMethod>::Iterator it;
221 221
222 for (it = list.begin(); it != list.end(); ++it ) 222 for (it = list.begin(); it != list.end(); ++it )
223 (*it).releaseInterface(); 223 (*it).releaseInterface();
224 224
225} 225}
226 226
227 227
228QStringList InputMethods::plugins()const { 228QStringList InputMethods::plugins()const {
229 QString path = QPEApplication::qpeDir() + "/plugins/inputmethods"; 229 QString path = QPEApplication::qpeDir() + "/plugins/inputmethods";
230#ifdef Q_OS_MACX
231 QDir dir( path, "lib*.dylib" );
232#else
230 QDir dir( path, "lib*.so" ); 233 QDir dir( path, "lib*.so" );
234#endif /* Q_OS_MACX */
231 return dir.entryList(); 235 return dir.entryList();
232} 236}
233 237
234void InputMethods::installTranslator( const QString& type ) { 238void InputMethods::installTranslator( const QString& type ) {
235 QStringList langs = Global::languageList(); 239 QStringList langs = Global::languageList();
236 QStringList::ConstIterator lit; 240 QStringList::ConstIterator lit;
237 for ( lit= langs.begin(); lit!=langs.end(); ++lit) { 241 for ( lit= langs.begin(); lit!=langs.end(); ++lit) {
238 QString lang = *lit; 242 QString lang = *lit;
239 QTranslator * trans = new QTranslator(qApp); 243 QTranslator * trans = new QTranslator(qApp);
240 244
241 QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/"+type+".qm"; 245 QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/"+type+".qm";
242 246
243 if ( trans->load( tfn )) 247 if ( trans->load( tfn ))
244 qApp->installTranslator( trans ); 248 qApp->installTranslator( trans );
245 else 249 else
246 delete trans; 250 delete trans;
247 } 251 }
248} 252}
249 253
250void InputMethods::setPreferedHandlers() { 254void InputMethods::setPreferedHandlers() {
251 Config cfg("qpe"); 255 Config cfg("qpe");
252 cfg.setGroup("InputMethod"); 256 cfg.setGroup("InputMethod");
253 QString current = cfg.readEntry("current"); 257 QString current = cfg.readEntry("current");
254 QString im = cfg.readEntry("im"); 258 QString im = cfg.readEntry("im");
diff --git a/core/launcher/irserver.cpp b/core/launcher/irserver.cpp
index 579c78c..63f8d05 100644
--- a/core/launcher/irserver.cpp
+++ b/core/launcher/irserver.cpp
@@ -15,49 +15,53 @@
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 20
21 21
22#include "irserver.h" 22#include "irserver.h"
23 23
24#include <qtopia/qlibrary.h> 24#include <qtopia/qlibrary.h>
25#include <qtopia/qpeapplication.h> 25#include <qtopia/qpeapplication.h>
26 26
27#include <qtranslator.h> 27#include <qtranslator.h>
28 28
29#include "obexinterface.h" 29#include "obexinterface.h"
30 30
31#include <qdir.h> 31#include <qdir.h>
32 32
33IrServer::IrServer( QObject *parent, const char *name ) 33IrServer::IrServer( QObject *parent, const char *name )
34 : QObject( parent, name ), obexIface(0) 34 : QObject( parent, name ), obexIface(0)
35{ 35{
36 lib = 0; 36 lib = 0;
37 obexIface = 0; 37 obexIface = 0;
38 QString path = QPEApplication::qpeDir() + "/plugins/obex/"; 38 QString path = QPEApplication::qpeDir() + "/plugins/obex/";
39#ifdef Q_OS_MACX
40 QDir dir( path, "lib*.dylib" );
41#else
39 QDir dir( path, "lib*.so" ); 42 QDir dir( path, "lib*.so" );
43#endif /* Q_OS_MACX */
40 QStringList list = dir.entryList(); 44 QStringList list = dir.entryList();
41 QStringList::Iterator it; 45 QStringList::Iterator it;
42 for ( it = list.begin(); it != list.end(); ++it ) { 46 for ( it = list.begin(); it != list.end(); ++it ) {
43 QLibrary *trylib = new QLibrary( path + *it ); 47 QLibrary *trylib = new QLibrary( path + *it );
44 //qDebug("trying lib %s", (path + (*it)).latin1() ); 48 //qDebug("trying lib %s", (path + (*it)).latin1() );
45 if ( trylib->queryInterface( IID_ObexInterface, (QUnknownInterface**)&obexIface ) == QS_OK ) { 49 if ( trylib->queryInterface( IID_ObexInterface, (QUnknownInterface**)&obexIface ) == QS_OK ) {
46 lib = trylib; 50 lib = trylib;
47 //qDebug("found obex lib" ); 51 //qDebug("found obex lib" );
48 QString lang = getenv( "LANG" ); 52 QString lang = getenv( "LANG" );
49 QTranslator * trans = new QTranslator(qApp); 53 QTranslator * trans = new QTranslator(qApp);
50 QString type = (*it).left( (*it).find(".") ); 54 QString type = (*it).left( (*it).find(".") );
51 QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/"+type+".qm"; 55 QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/"+type+".qm";
52 //qDebug("tr fpr obex: %s", tfn.latin1() ); 56 //qDebug("tr fpr obex: %s", tfn.latin1() );
53 if ( trans->load( tfn )) 57 if ( trans->load( tfn ))
54 qApp->installTranslator( trans ); 58 qApp->installTranslator( trans );
55 else 59 else
56 delete trans; 60 delete trans;
57 61
58 break; 62 break;
59 } else { 63 } else {
60 delete lib; 64 delete lib;
61 } 65 }
62 } 66 }
63 if ( !lib ) 67 if ( !lib )
diff --git a/core/launcher/main.cpp b/core/launcher/main.cpp
index 74965df..5416d33 100644
--- a/core/launcher/main.cpp
+++ b/core/launcher/main.cpp
@@ -255,49 +255,51 @@ int initApplication( int argc, char ** argv )
255 255
256 256
257 Server *s = new Server(); 257 Server *s = new Server();
258 258
259 (void)new SysFileMonitor(s); 259 (void)new SysFileMonitor(s);
260#ifdef QWS 260#ifdef QWS
261 Network::createServer(s); 261 Network::createServer(s);
262#endif 262#endif
263 263
264 s->show(); 264 s->show();
265 265
266 /* THE ARM rtc has problem holdings the time on reset */ 266 /* THE ARM rtc has problem holdings the time on reset */
267 if ( QDate::currentDate ( ). year ( ) < 2000 ) { 267 if ( QDate::currentDate ( ). year ( ) < 2000 ) {
268 if ( QMessageBox::information ( 0, ServerApplication::tr( "Information" ), ServerApplication::tr( "<p>The system date doesn't seem to be valid.\n(%1)</p><p>Do you want to correct the clock ?</p>" ). arg( TimeString::dateString ( QDate::currentDate ( ))), QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) { 268 if ( QMessageBox::information ( 0, ServerApplication::tr( "Information" ), ServerApplication::tr( "<p>The system date doesn't seem to be valid.\n(%1)</p><p>Do you want to correct the clock ?</p>" ). arg( TimeString::dateString ( QDate::currentDate ( ))), QMessageBox::Yes, QMessageBox::No ) == QMessageBox::Yes ) {
269 QCopEnvelope e ( "QPE/Application/systemtime", "setDocument(QString)" ); 269 QCopEnvelope e ( "QPE/Application/systemtime", "setDocument(QString)" );
270 e << QString ( ); 270 e << QString ( );
271 } 271 }
272 } 272 }
273 273
274 int rv = a.exec(); 274 int rv = a.exec();
275 275
276 qDebug("exiting..."); 276 qDebug("exiting...");
277 delete s; 277 delete s;
278 278
279#ifndef Q_OS_MACX
279 ODevice::inst()->setSoftSuspend( false ); 280 ODevice::inst()->setSoftSuspend( false );
281#endif
280 282
281 return rv; 283 return rv;
282} 284}
283 285
284static const char *pidfile_path = "/var/run/opie.pid"; 286static const char *pidfile_path = "/var/run/opie.pid";
285 287
286void create_pidfile ( ) 288void create_pidfile ( )
287{ 289{
288 FILE *f; 290 FILE *f;
289 291
290 if (( f = ::fopen ( pidfile_path, "w" ))) { 292 if (( f = ::fopen ( pidfile_path, "w" ))) {
291 ::fprintf ( f, "%d", getpid ( )); 293 ::fprintf ( f, "%d", getpid ( ));
292 ::fclose ( f ); 294 ::fclose ( f );
293 } 295 }
294} 296}
295 297
296void remove_pidfile ( ) 298void remove_pidfile ( )
297{ 299{
298 ::unlink ( pidfile_path ); 300 ::unlink ( pidfile_path );
299} 301}
300 302
301void handle_sigterm ( int /* sig */ ) 303void handle_sigterm ( int /* sig */ )
302{ 304{
303 if ( qApp ) 305 if ( qApp )
diff --git a/core/launcher/packageslave.cpp b/core/launcher/packageslave.cpp
index 4f149a5..bf34368 100644
--- a/core/launcher/packageslave.cpp
+++ b/core/launcher/packageslave.cpp
@@ -1,97 +1,341 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
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 20
21#include "packageslave.h" 21#include "packageslave.h"
22#include <qtopia/qprocess.h>
22 23
23#include <qpe/process.h> 24#ifdef Q_WS_QWS
24#include <qpe/qcopenvelope_qws.h> 25#include <qtopia/qcopenvelope_qws.h>
26#endif
25 27
26#include <qdatastream.h> 28#include <qdatastream.h>
29#ifdef Q_WS_QWS
27#include <qcopchannel_qws.h> 30#include <qcopchannel_qws.h>
31#endif
28 32
33#include <qtextstream.h>
34#include <qdir.h>
35
36#include <stdlib.h>
37#include <sys/stat.h> // mkdir()
38
39#if defined(_OS_LINUX_) || defined(Q_OS_LINUX)
29#include <unistd.h> 40#include <unistd.h>
41#include <sys/vfs.h>
42#include <mntent.h>
43#elif defined(Q_OS_WIN32)
44#include <windows.h>
45#include <winbase.h>
46#elif defined(Q_OS_MACX)
47#include <unistd.h>
48#endif
49
30 50
31PackageSlave::PackageSlave( QObject *parent, char* name ) 51PackageHandler::PackageHandler( QObject *parent, char* name )
32 : QObject( parent, name ), packageChannel( 0 ) 52 : QObject( parent, name ), packageChannel( 0 ), currentProcess( 0 ), mNoSpaceLeft( FALSE )
33{ 53{
34 // setup qcop channel 54 // setup qcop channel
55#ifndef QT_NO_COP
35 packageChannel = new QCopChannel( "QPE/Package", this ); 56 packageChannel = new QCopChannel( "QPE/Package", this );
36 connect( packageChannel, SIGNAL( received(const QCString &, const QByteArray &) ), 57 connect( packageChannel, SIGNAL( received(const QCString &, const QByteArray &) ),
37 this, SLOT( qcopMessage( const QCString &, const QByteArray &) ) ); 58 this, SLOT( qcopMessage( const QCString &, const QByteArray &) ) );
59#endif
38} 60}
39 61
40void PackageSlave::qcopMessage( const QCString &msg, const QByteArray &data ) 62void PackageHandler::qcopMessage( const QCString &msg, const QByteArray &data )
41{ 63{
42 QDataStream stream( data, IO_ReadOnly ); 64 QDataStream stream( data, IO_ReadOnly );
43 65
44 if ( msg == "installPackage(QString)" ) { 66 if ( msg == "installPackage(QString)" ) {
45 QString file; 67 QString file;
46 stream >> file; 68 stream >> file;
47 installPackage( file ); 69 installPackage( file );
48 } 70 } else if ( msg == "removePackage(QString)" ) {
49 else if ( msg == "removePackage(QString)" ) {
50 QString file; 71 QString file;
51 stream >> file; 72 stream >> file;
52 removePackage( file ); 73 removePackage( file );
74 } else if ( msg == "addPackageFiles(QString,QString)" ) {
75 QString location, listfile;
76 stream >> location >> listfile;
77 addPackageFiles( location, listfile);
78 } else if ( msg == "addPackages(QString)" ) {
79 QString location;
80 stream >> location;
81 addPackages( location );
82 } else if ( msg == "cleanupPackageFiles(QString)" ) {
83 QString listfile;
84 stream >> listfile;
85 cleanupPackageFiles( listfile );
86 } else if ( msg == "cleanupPackages(QString)" ) {
87 QString location;
88 stream >> location;
89 cleanupPackages( location );
90 } else if ( msg == "prepareInstall(QString,QString)" ) {
91 QString size, path;
92 stream >> size;
93 stream >> path;
94 prepareInstall( size, path );
53 } 95 }
54} 96}
55 97
56void PackageSlave::installPackage( const QString &package ) 98void PackageHandler::installPackage( const QString &package )
57{ 99{
58 Process proc( QStringList() << "ipkg" << "install" << package ); 100 if ( mNoSpaceLeft ) {
101 mNoSpaceLeft = FALSE;
102 // Don't emit that for now, I still couldn't test it (Wener)
103 //sendReply( "installFailed(QString)", package );
104 //return;
105 }
106
107 currentProcess = new QProcess( QStringList() << "ipkg" << "install" << package ); // No tr
108 connect( currentProcess, SIGNAL( processExited() ), SLOT( iProcessExited() ) );
109 connect( currentProcess, SIGNAL( readyReadStdout() ), SLOT( readyReadStdout() ) );
110 connect( currentProcess, SIGNAL( readyReadStderr() ), SLOT( readyReadStderr() ) );
111 currentPackage = package;
59 112
113 currentProcessError="";
60 sendReply( "installStarted(QString)", package ); 114 sendReply( "installStarted(QString)", package );
115 currentProcess->start();
116}
117
118void PackageHandler::removePackage( const QString &package )
119{
120 currentProcess = new QProcess( QStringList() << "ipkg" << "remove" << package ); // No tr
121 connect( currentProcess, SIGNAL( processExited() ), SLOT( rmProcessExited() ) );
122 connect( currentProcess, SIGNAL( readyReadStdout() ), SLOT( readyReadStdout() ) );
123 connect( currentProcess, SIGNAL( readyReadStderr() ), SLOT( readyReadStderr() ) );
124 currentPackage = package;
125
126 currentProcessError="";
127 sendReply( "removeStarted(QString)", package );
128 currentProcess->start();
129}
130
131void PackageHandler::sendReply( const QCString& msg, const QString& arg )
132{
133#ifndef QT_NO_COP
134 QCopEnvelope e( "QPE/Desktop", msg );
135 e << arg;
136#endif
137}
138
139void PackageHandler::addPackageFiles( const QString &location,
140 const QString &listfile )
141{
142 QFile f(listfile);
143#ifndef Q_OS_WIN32
144 //make a copy so we can remove the symlinks later
145 mkdir( ("/usr/lib/ipkg/info/"+location).ascii(), 0777 );
146 system(("cp " + f.name() + " /usr/lib/ipkg/info/"+location).ascii());
147#else
148 QDir d;
149 //#### revise
150 qDebug("Copy file at %s: %s", __FILE__, __LINE__ );
151 d.mkdir(("/usr/lib/ipkg/info/" + location).ascii());
152 system(("copy " + f.name() + " /usr/lib/ipkg/info/"+location).ascii());
153#endif
154
155
156 if ( f.open(IO_ReadOnly) ) {
157 QTextStream ts(&f);
158
159 QString s;
160 while ( !ts.eof() ) { // until end of file...
161 s = ts.readLine(); // line of text excluding '\n'
162 // for s, do link/mkdir.
163 if ( s.right(1) == "/" ) {
164 qDebug("do mkdir for %s", s.ascii());
165#ifndef Q_OS_WIN32
166 mkdir( s.ascii(), 0777 );
167 //possible optimization: symlink directories
168 //that don't exist already. -- Risky.
169#else
170 d.mkdir( s.ascii());
171#endif
172
173 } else {
174#ifndef Q_OS_WIN32
175 qDebug("do symlink for %s", s.ascii());
176 symlink( (location + s).ascii(), s.ascii() );
177#else
178 qDebug("Copy file instead of a symlink for WIN32");
179 if (!CopyFile((TCHAR*)qt_winTchar((location + s), TRUE), (TCHAR*)qt_winTchar(s, TRUE), FALSE))
180 qWarning("Unable to create symlinkfor %s",
181 (location + s).ascii());
182#endif
183 }
184 }
185 f.close();
186 }
187}
61 188
62 QString output; 189void PackageHandler::addPackages( const QString &location )
63 if ( proc.exec( "", output ) ) { 190{
64 sendReply( "installDone(QString)", package ); 191 // get list of *.list in location/usr/lib/ipkg/info/*.list
192 QDir dir(location + "/usr/lib/ipkg/info", "*.list", // No tr
193 QDir::Name, QDir::Files);
194 if ( !dir.exists() )
195 return;
196
197 QStringList packages = dir.entryList();
198 for ( QStringList::Iterator it = packages.begin();
199 it != packages.end(); ++it ) {
200 addPackageFiles( location, *it );
65 } 201 }
202}
203
204
205void PackageHandler::cleanupPackageFiles( const QString &listfile )
206{
207 QFile f(listfile);
208
209 if ( f.open(IO_ReadOnly) ) {
210 QTextStream ts(&f);
211
212 QString s;
213 while ( !ts.eof() ) { // until end of file...
214 s = ts.readLine(); // line of text excluding '\n'
215 // for s, do link/mkdir.
216 if ( s.right(1) == "/" ) {
217 //should rmdir if empty, after all files have been removed
218 } else {
219#ifndef Q_OS_WIN32
220 qDebug("remove symlink for %s", s.ascii());
221 //check if it is a symlink first (don't remove /etc/passwd...)
222 char buf[10]; //we don't care about the contents
223 if ( ::readlink( s.ascii(),buf, 10 >= 0 ) )
224 ::unlink( s.ascii() );
225 #else
226 // ### revise
227 qWarning("Unable to remove symlink %s:%s", __FILE__, __LINE__);
228#endif
229 }
230 }
231 f.close();
232
233 //remove the list file
234 ::unlink( listfile.ascii() );
235
236 }
237}
238
239void PackageHandler::cleanupPackages( const QString &location )
240{
241 // get list of *.list in location/usr/lib/ipkg/info/*.list
242 QDir dir( "/usr/lib/ipkg/info/"+location, "*.list", // No tr
243 QDir::Name, QDir::Files);
244 if ( !dir.exists() )
245 return;
246
247 QStringList packages = dir.entryList();
248 for ( QStringList::Iterator it = packages.begin();
249 it != packages.end(); ++it ) {
250 cleanupPackageFiles( *it );
251 }
252
253 //remove the backup directory
254 //###
255}
256
257void PackageHandler::prepareInstall( const QString& size, const QString& path )
258{
259 // Check whether there will be enough space to install the next package.
260 bool ok;
261 unsigned int s = size.toUInt( &ok );
262
263 if ( !ok )
264 return;
265
266 // Shamelessly stolen from the sysinfo application (Werner)
267#if defined(_OS_LINUX_) || defined(Q_OS_LINUX)
268 struct statfs fs;
269 if ( statfs( path.latin1(), &fs ) == 0 )
270 if ( s > fs.f_bsize * fs.f_bavail ) {
271 //qDebug("############### Not enough space left ###############");
272 mNoSpaceLeft = TRUE;
273 }
274#endif
275}
276
277void PackageHandler::iProcessExited()
278{
279 if ( currentProcess->normalExit() && currentProcess->exitStatus() == 0 )
280 sendReply( "installDone(QString)", currentPackage );
66 else { 281 else {
67 sendReply( "installFailed(QString)", package ); 282#ifndef QT_NO_COP
283 QCopEnvelope e( "QPE/Desktop", "installFailed(QString,int,QString)" );
284 e << currentPackage << currentProcess->exitStatus()
285 << currentProcessError;
286#endif
68 } 287 }
288
289 delete currentProcess;
290 currentProcess = 0;
291
292#ifndef QT_NO_COP
69 QCopEnvelope e("QPE/System", "linkChanged(QString)"); 293 QCopEnvelope e("QPE/System", "linkChanged(QString)");
70 QString lf = QString::null; 294 QString lf = QString::null;
71 e << lf; 295 e << lf;
72 unlink( package ); 296#endif
297 unlink( currentPackage );
73} 298}
74 299
75void PackageSlave::removePackage( const QString &package ) 300void PackageHandler::rmProcessExited()
76{ 301{
77 Process proc( QStringList() << "ipkg" << "remove" << package ); 302 if ( currentProcess->normalExit() && currentProcess->exitStatus() == 0 )
303 sendReply( "removeDone(QString)", currentPackage );
304 else
305 sendReply( "removeFailed(QString)", currentPackage );
78 306
79 sendReply( "removeStarted(QString)", package ); 307#ifndef QT_NO_COP
80
81 QString output;
82 if ( proc.exec( "", output ) ) {
83 sendReply( "removeDone(QString)", package );
84 }
85 else {
86 sendReply( "removeFailed(QString)", package );
87 }
88 QCopEnvelope e("QPE/System", "linkChanged(QString)"); 308 QCopEnvelope e("QPE/System", "linkChanged(QString)");
89 QString lf = QString::null; 309 QString lf = QString::null;
90 e << lf; 310 e << lf;
311#endif
91} 312}
92 313
93void PackageSlave::sendReply( const QCString& msg, const QString& arg ) 314void PackageHandler::readyReadStdout()
94{ 315{
95 QCopEnvelope e( "QPE/Desktop", msg ); 316 while ( currentProcess->canReadLineStdout() ) {
96 e << arg; 317 QString line = currentProcess->readLineStdout();
318 currentProcessError.append("OUT:"+line);
319 if ( line.contains( "Unpacking" ) ) // No tr
320 sendReply( "installStep(QString)", "one" ); // No tr
321 else if ( line.contains( "Configuring" ) ) // No tr
322 sendReply( "installStep(QString)", "two" ); // No tr
323 }
324}
325
326void PackageHandler::readyReadStderr()
327{
328 while ( currentProcess->canReadLineStderr() ) {
329 QString line = currentProcess->readLineStderr();
330 currentProcessError.append("ERR:"+line);
331 }
332}
333
334void PackageHandler::redoPackages()
335{
336 //get list of filesystems
337
338 //call cleanupPackages for the ones that have disappeared
339
340 //call addPackageFiles for the new ones
97} 341}
diff --git a/core/launcher/qprocess_unix.cpp b/core/launcher/qprocess_unix.cpp
index a07bf64..19a8c93 100644
--- a/core/launcher/qprocess_unix.cpp
+++ b/core/launcher/qprocess_unix.cpp
@@ -29,48 +29,51 @@
29 29
30#ifndef QT_NO_PROCESS 30#ifndef QT_NO_PROCESS
31 31
32#include "qapplication.h" 32#include "qapplication.h"
33#include "qqueue.h" 33#include "qqueue.h"
34#include "qlist.h" 34#include "qlist.h"
35#include "qsocketnotifier.h" 35#include "qsocketnotifier.h"
36#include "qtimer.h" 36#include "qtimer.h"
37#include "qregexp.h" 37#include "qregexp.h"
38 38
39#include "qcleanuphandler_p.h" 39#include "qcleanuphandler_p.h"
40 40
41#include <stdlib.h> 41#include <stdlib.h>
42 42
43// ### FOR Qt 2.3 compat 43// ### FOR Qt 2.3 compat
44#include <unistd.h> 44#include <unistd.h>
45#include <signal.h> 45#include <signal.h>
46#include <sys/socket.h> 46#include <sys/socket.h>
47#include <sys/ioctl.h> 47#include <sys/ioctl.h>
48#include <sys/wait.h> 48#include <sys/wait.h>
49#include <sys/fcntl.h> 49#include <sys/fcntl.h>
50 50
51#include <errno.h> 51#include <errno.h>
52 52
53#ifdef Q_OS_MACX
54#include <sys/time.h>
55#endif
53#include <sys/resource.h> 56#include <sys/resource.h>
54 57
55#ifdef __MIPSEL__ 58#ifdef __MIPSEL__
56# ifndef SOCK_DGRAM 59# ifndef SOCK_DGRAM
57# define SOCK_DGRAM 1 60# define SOCK_DGRAM 1
58# endif 61# endif
59# ifndef SOCK_STREAM 62# ifndef SOCK_STREAM
60# define SOCK_STREAM 2 63# define SOCK_STREAM 2
61# endif 64# endif
62#endif 65#endif
63 66
64//#define QT_QPROCESS_DEBUG 67//#define QT_QPROCESS_DEBUG
65 68
66 69
67#ifdef Q_C_CALLBACKS 70#ifdef Q_C_CALLBACKS
68extern "C" { 71extern "C" {
69#endif // Q_C_CALLBACKS 72#endif // Q_C_CALLBACKS
70 73
71#define QT_SIGNAL_RETTYPE void 74#define QT_SIGNAL_RETTYPE void
72#define QT_SIGNAL_ARGS int 75#define QT_SIGNAL_ARGS int
73#define QT_SIGNAL_IGNORE SIG_IGN 76#define QT_SIGNAL_IGNORE SIG_IGN
74 77
75 QT_SIGNAL_RETTYPE qt_C_sigchldHnd(QT_SIGNAL_ARGS); 78 QT_SIGNAL_RETTYPE qt_C_sigchldHnd(QT_SIGNAL_ARGS);
76 QT_SIGNAL_RETTYPE qt_C_sigpipeHnd(QT_SIGNAL_ARGS); 79 QT_SIGNAL_RETTYPE qt_C_sigpipeHnd(QT_SIGNAL_ARGS);
diff --git a/core/launcher/server.pro b/core/launcher/server.pro
index 93baeb4..0513536 100644
--- a/core/launcher/server.pro
+++ b/core/launcher/server.pro
@@ -94,27 +94,32 @@ SOURCES += server.cpp \
94 $$(OPIEDIR)/rsync/stream.c \ 94 $$(OPIEDIR)/rsync/stream.c \
95 $$(OPIEDIR)/rsync/sumset.c \ 95 $$(OPIEDIR)/rsync/sumset.c \
96 $$(OPIEDIR)/rsync/trace.c \ 96 $$(OPIEDIR)/rsync/trace.c \
97 $$(OPIEDIR)/rsync/tube.c \ 97 $$(OPIEDIR)/rsync/tube.c \
98 $$(OPIEDIR)/rsync/util.c \ 98 $$(OPIEDIR)/rsync/util.c \
99 $$(OPIEDIR)/rsync/version.c \ 99 $$(OPIEDIR)/rsync/version.c \
100 $$(OPIEDIR)/rsync/whole.c \ 100 $$(OPIEDIR)/rsync/whole.c \
101 $$(OPIEDIR)/rsync/qrsync.cpp \ 101 $$(OPIEDIR)/rsync/qrsync.cpp \
102 syncdialog.cpp \ 102 syncdialog.cpp \
103 serverapp.cpp \ 103 serverapp.cpp \
104 launcherglobal.cpp \ 104 launcherglobal.cpp \
105 qprocess.cpp \ 105 qprocess.cpp \
106 qprocess_unix.cpp \ 106 qprocess_unix.cpp \
107 screensaver.cpp 107 screensaver.cpp
108 108
109 109
110INCLUDEPATH += $(OPIEDIR)/core/apps/calibrate 110INCLUDEPATH += $(OPIEDIR)/core/apps/calibrate
111 DEPENDPATH+= $(OPIEDIR)/core/apps/calibrate 111 DEPENDPATH+= $(OPIEDIR)/core/apps/calibrate
112 112
113INCLUDEPATH += $(OPIEDIR)/include $(OPIEDIR)/rsync 113INCLUDEPATH += $(OPIEDIR)/include $(OPIEDIR)/rsync
114 DEPENDPATH+= $(OPIEDIR)/rsync 114 DEPENDPATH+= $(OPIEDIR)/rsync
115 115
116 TARGET = qpe 116 TARGET = qpe
117 117
118 LIBS+= -lcrypt -lqpe -lopie 118CONFTEST = $$system( echo $CONFIG_TARGET_MACOSX )
119contains( CONFTEST, y ){
120 LIBS += -lqpe -lopie
121}else{
122 LIBS+= -lcrypt -lqpe -lopie
123}
119 124
120include ( $(OPIEDIR)/include.pro ) 125include ( $(OPIEDIR)/include.pro )
diff --git a/core/launcher/startmenu.cpp b/core/launcher/startmenu.cpp
index 014418d..08ae885 100644
--- a/core/launcher/startmenu.cpp
+++ b/core/launcher/startmenu.cpp
@@ -235,49 +235,53 @@ void StartMenu::clearApplets()
235 applet-> iface-> release(); 235 applet-> iface-> release();
236 applet-> library-> unload(); 236 applet-> library-> unload();
237 delete applet-> library; 237 delete applet-> library;
238 } 238 }
239 m_applets.clear(); 239 m_applets.clear();
240} 240}
241 241
242 242
243 243
244 244
245void StartMenu::loadApplets() 245void StartMenu::loadApplets()
246{ 246{
247 Config cfg( "StartMenu" ); 247 Config cfg( "StartMenu" );
248 cfg.setGroup( "Applets" ); 248 cfg.setGroup( "Applets" );
249 249
250 // SafeMode causes too much problems, so we disable it for now -- 250 // SafeMode causes too much problems, so we disable it for now --
251 // maybe we should reenable it for OPIE 1.0 - sandman 26.09.02 251 // maybe we should reenable it for OPIE 1.0 - sandman 26.09.02
252 // removed in the remerge PluginManager could handle it 252 // removed in the remerge PluginManager could handle it
253 // we don't currently use it -zecke 253 // we don't currently use it -zecke
254 254
255 QStringList exclude = cfg.readListEntry( "ExcludeApplets", ',' ); 255 QStringList exclude = cfg.readListEntry( "ExcludeApplets", ',' );
256 256
257 QString lang = getenv( "LANG" ); 257 QString lang = getenv( "LANG" );
258 QString path = QPEApplication::qpeDir() + "/plugins/applets"; 258 QString path = QPEApplication::qpeDir() + "/plugins/applets";
259#ifdef Q_OS_MACX
260 QDir dir( path, "lib*.dylib" );
261#else
259 QDir dir( path, "lib*.so" ); 262 QDir dir( path, "lib*.so" );
263#endif /* Q_OS_MACX */
260 QStringList list = dir.entryList(); 264 QStringList list = dir.entryList();
261 QStringList::Iterator it; 265 QStringList::Iterator it;
262 int napplets=0; 266 int napplets=0;
263 MenuApplet* *xapplets = new MenuApplet*[list.count()]; 267 MenuApplet* *xapplets = new MenuApplet*[list.count()];
264 for ( it = list.begin(); it != list.end(); ++it ) { 268 for ( it = list.begin(); it != list.end(); ++it ) {
265 if ( exclude.find( *it ) != exclude.end() ) 269 if ( exclude.find( *it ) != exclude.end() )
266 continue; 270 continue;
267 MenuAppletInterface *iface = 0; 271 MenuAppletInterface *iface = 0;
268 QLibrary *lib = new QLibrary( path + "/" + *it ); 272 QLibrary *lib = new QLibrary( path + "/" + *it );
269 if (( lib->queryInterface( IID_MenuApplet, (QUnknownInterface**)&iface ) == QS_OK ) && iface ) { 273 if (( lib->queryInterface( IID_MenuApplet, (QUnknownInterface**)&iface ) == QS_OK ) && iface ) {
270 MenuApplet *applet = new MenuApplet; 274 MenuApplet *applet = new MenuApplet;
271 xapplets[napplets++] = applet; 275 xapplets[napplets++] = applet;
272 applet->library = lib; 276 applet->library = lib;
273 applet->iface = iface; 277 applet->iface = iface;
274 278
275 QTranslator *trans = new QTranslator(qApp); 279 QTranslator *trans = new QTranslator(qApp);
276 QString type = (*it).left( (*it).find(".") ); 280 QString type = (*it).left( (*it).find(".") );
277 QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/"+type+".qm"; 281 QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/"+type+".qm";
278 if ( trans->load( tfn )) 282 if ( trans->load( tfn ))
279 qApp->installTranslator( trans ); 283 qApp->installTranslator( trans );
280 else 284 else
281 delete trans; 285 delete trans;
282 } else { 286 } else {
283 exclude += *it; 287 exclude += *it;
diff --git a/core/launcher/systray.cpp b/core/launcher/systray.cpp
index 6122770..691f6b8 100644
--- a/core/launcher/systray.cpp
+++ b/core/launcher/systray.cpp
@@ -81,56 +81,61 @@ void SysTray::clearApplets()
81 for ( mit = appletList.begin(); mit != appletList.end(); ++mit ) { 81 for ( mit = appletList.begin(); mit != appletList.end(); ++mit ) {
82 (*mit).iface->release(); 82 (*mit).iface->release();
83 (*mit).library->unload(); 83 (*mit).library->unload();
84 delete (*mit).library; 84 delete (*mit).library;
85 } 85 }
86 86
87#endif 87#endif
88 appletList.clear(); 88 appletList.clear();
89 if ( layout ) 89 if ( layout )
90 delete layout; 90 delete layout;
91 layout = new QHBoxLayout( this, 0, 1 ); 91 layout = new QHBoxLayout( this, 0, 1 );
92 layout->setAutoAdd(TRUE); 92 layout->setAutoAdd(TRUE);
93} 93}
94 94
95void SysTray::addApplets() 95void SysTray::addApplets()
96{ 96{
97 hide(); 97 hide();
98#ifndef QT_NO_COMPONENTS 98#ifndef QT_NO_COMPONENTS
99 Config cfg( "Taskbar" ); 99 Config cfg( "Taskbar" );
100 cfg.setGroup( "Applets" ); 100 cfg.setGroup( "Applets" );
101 QStringList exclude = cfg.readListEntry( "ExcludeApplets", ',' ); 101 QStringList exclude = cfg.readListEntry( "ExcludeApplets", ',' );
102 102
103 QString lang = getenv( "LANG" ); 103 QString lang = getenv( "LANG" );
104 QString path = QPEApplication::qpeDir() + "/plugins/applets"; 104 QString path = QPEApplication::qpeDir() + "/plugins/applets";
105#ifdef Q_OS_MACX
106 QDir dir( path, "lib*.dylib" );
107#else
105 QDir dir( path, "lib*.so" ); 108 QDir dir( path, "lib*.so" );
109#endif /* Q_OS_MACX */
106 QStringList list = dir.entryList(); 110 QStringList list = dir.entryList();
107 QStringList::Iterator it; 111 QStringList::Iterator it;
108 int napplets=0; 112 int napplets=0;
109 TaskbarApplet* *applets = new TaskbarApplet*[list.count()]; 113 TaskbarApplet* *applets = new TaskbarApplet*[list.count()];
110 for ( it = list.begin(); it != list.end(); ++it ) { 114 for ( it = list.begin(); it != list.end(); ++it ) {
111 if ( exclude.find( *it ) != exclude.end() ) 115 if ( exclude.find( *it ) != exclude.end() )
112 continue; 116 continue;
117 qWarning( "Found Applet: %s", (*it).latin1() );
113 TaskbarAppletInterface *iface = 0; 118 TaskbarAppletInterface *iface = 0;
114 QLibrary *lib = new QLibrary( path + "/" + *it ); 119 QLibrary *lib = new QLibrary( path + "/" + *it );
115 if (( lib->queryInterface( IID_TaskbarApplet, (QUnknownInterface**)&iface ) == QS_OK ) && iface ) { 120 if (( lib->queryInterface( IID_TaskbarApplet, (QUnknownInterface**)&iface ) == QS_OK ) && iface ) {
116 TaskbarApplet *applet = new TaskbarApplet; 121 TaskbarApplet *applet = new TaskbarApplet;
117 applets[napplets++] = applet; 122 applets[napplets++] = applet;
118 applet->library = lib; 123 applet->library = lib;
119 applet->iface = iface; 124 applet->iface = iface;
120 125
121 QTranslator *trans = new QTranslator(qApp); 126 QTranslator *trans = new QTranslator(qApp);
122 QString type = (*it).left( (*it).find(".") ); 127 QString type = (*it).left( (*it).find(".") );
123 QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/"+type+".qm"; 128 QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/"+type+".qm";
124 if ( trans->load( tfn )) 129 if ( trans->load( tfn ))
125 qApp->installTranslator( trans ); 130 qApp->installTranslator( trans );
126 else 131 else
127 delete trans; 132 delete trans;
128 } else { 133 } else {
129 exclude += *it; 134 exclude += *it;
130 delete lib; 135 delete lib;
131 } 136 }
132 } 137 }
133 cfg.writeEntry( "ExcludeApplets", exclude, ',' ); 138 cfg.writeEntry( "ExcludeApplets", exclude, ',' );
134 qsort(applets,napplets,sizeof(applets[0]),compareAppletPositions); 139 qsort(applets,napplets,sizeof(applets[0]),compareAppletPositions);
135 while (napplets--) { 140 while (napplets--) {
136 TaskbarApplet *applet = applets[napplets]; 141 TaskbarApplet *applet = applets[napplets];
diff --git a/core/launcher/transferserver.cpp b/core/launcher/transferserver.cpp
index c69df2d..439e110 100644
--- a/core/launcher/transferserver.cpp
+++ b/core/launcher/transferserver.cpp
@@ -7,50 +7,53 @@
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
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//#define _XOPEN_SOURCE 20//#define _XOPEN_SOURCE
21 21
22#include <qtopia/global.h> 22#include <qtopia/global.h>
23#include <qtopia/qpeapplication.h> 23#include <qtopia/qpeapplication.h>
24 24
25#ifndef Q_OS_WIN32 25#ifndef Q_OS_WIN32
26#include <pwd.h> 26#include <pwd.h>
27#include <sys/types.h> 27#include <sys/types.h>
28#include <unistd.h> 28#include <unistd.h>
29#include <stdlib.h> 29#include <stdlib.h>
30#include <time.h> 30#include <time.h>
31
32#ifndef Q_OS_MACX
31#include <shadow.h> 33#include <shadow.h>
32#include <crypt.h> 34#include <crypt.h>
35#endif /* Q_OS_MACX */
33 36
34#else 37#else
35#include <stdlib.h> 38#include <stdlib.h>
36#include <time.h> 39#include <time.h>
37#endif 40#endif
38 41
39 42
40#if defined(_OS_LINUX_) 43#if defined(_OS_LINUX_)
41#include <shadow.h> 44#include <shadow.h>
42#endif 45#endif
43 46
44#include <qdir.h> 47#include <qdir.h>
45#include <qfile.h> 48#include <qfile.h>
46#include <qtextstream.h> 49#include <qtextstream.h>
47#include <qdatastream.h> 50#include <qdatastream.h>
48#include <qmessagebox.h> 51#include <qmessagebox.h>
49#include <qstringlist.h> 52#include <qstringlist.h>
50#include <qfileinfo.h> 53#include <qfileinfo.h>
51#include <qregexp.h> 54#include <qregexp.h>
52//#include <qtopia/qcopchannel_qws.h> 55//#include <qtopia/qcopchannel_qws.h>
53#include <qtopia/process.h> 56#include <qtopia/process.h>
54#include <qtopia/global.h> 57#include <qtopia/global.h>
55#include <qtopia/config.h> 58#include <qtopia/config.h>
56#include <qtopia/private/contact.h> 59#include <qtopia/private/contact.h>
diff --git a/core/multimedia/opieplayer/wavplugin/wavplugin.pro b/core/multimedia/opieplayer/wavplugin/wavplugin.pro
index 0366542..db41ad4 100644
--- a/core/multimedia/opieplayer/wavplugin/wavplugin.pro
+++ b/core/multimedia/opieplayer/wavplugin/wavplugin.pro
@@ -1,26 +1,26 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS = wavplugin.h wavpluginimpl.h 3 HEADERS = wavplugin.h wavpluginimpl.h
4 SOURCES = wavplugin.cpp wavpluginimpl.cpp 4 SOURCES = wavplugin.cpp wavpluginimpl.cpp
5 TARGET = wavplugin 5 TARGET = wavplugin
6 DESTDIR = $(OPIEDIR)/plugins/codecs 6 DESTDIR = $(OPIEDIR)/plugins/codecs
7INCLUDEPATH += $(OPIEDIR)/include .. 7INCLUDEPATH += $(OPIEDIR)/include ..
8DEPENDPATH += ../$(OPIEDIR)/include .. 8DEPENDPATH += ../$(OPIEDIR)/include ..
9LIBS += -lqpe 9LIBS += -lqpe
10 VERSION = 1.0.0 10 VERSION = 1.0.0
11 11
12TRANSLATIONS = ../../../../i18n/de/libwavplugin.ts \ 12TRANSLATIONS = ../../../../i18n/de/libwavplugin.ts \
13 ../../../../i18n/nl/libwavplugin.ts \ 13 ../../../../i18n/nl/libwavplugin.ts \
14 ../../../../i18n/da/libwavplugin.ts \ 14 ../../../../i18n/da/libwavplugin.ts \
15 ../../../../i18n/xx/libwavplugin.ts \ 15 ../../../../i18n/xx/libwavplugin.ts \
16 ../../../../i18n/en/libwavplugin.ts \ 16 ../../../../i18n/en/libwavplugin.ts \
17 ../../../../i18n/es/libwavplugin.ts \ 17 ../../../../i18n/es/libwavplugin.ts \
18 ../../../../i18n/fr/libwavplugin.ts \ 18 ../../../../i18n/fr/libwavplugin.ts \
19 ../../../../i18n/hu/libwavplugin.ts \ 19 ../../../../i18n/hu/libwavplugin.ts \
20 ../../../../i18n/ja/libwavplugin.ts \ 20 ../../../../i18n/ja/libwavplugin.ts \
21 ../../../../i18n/ko/libwavplugin.ts \ 21 ../../../../i18n/ko/libwavplugin.ts \
22 ../../../../i18n/no/libwavplugin.ts \ 22 ../../../../i18n/no/libwavplugin.ts \
23 ../../../../i18n/pl/libwavplugin.ts \ 23 ../../../../i18n/pl/libwavplugin.ts \
24 ../../../../i18n/pt/libwavplugin.ts \ 24 ../../../../i18n/pt/libwavplugin.ts \
25 ../../../../i18n/pt_BR/libwavplugin.ts \ 25 ../../../../i18n/pt_BR/libwavplugin.ts \
26 ../../../../i18n/sl/libwavplugin.ts \ 26 ../../../../i18n/sl/libwavplugin.ts \
diff --git a/core/pim/today/plugins/addressbook/addressbook.pro b/core/pim/today/plugins/addressbook/addressbook.pro
index 4ebbc9e..54aaff2 100644
--- a/core/pim/today/plugins/addressbook/addressbook.pro
+++ b/core/pim/today/plugins/addressbook/addressbook.pro
@@ -1,27 +1,27 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG -= moc 2CONFIG -= moc
3CONFIG += qt release 3CONFIG += qt plugin release
4 4
5# Input 5# Input
6HEADERS = addressplugin.h addresspluginimpl.h addresspluginconfig.h \ 6HEADERS = addressplugin.h addresspluginimpl.h addresspluginconfig.h \
7 addresspluginwidget.h 7 addresspluginwidget.h
8SOURCES = addressplugin.cpp addresspluginimpl.cpp addresspluginconfig.cpp \ 8SOURCES = addressplugin.cpp addresspluginimpl.cpp addresspluginconfig.cpp \
9 addresspluginwidget.cpp 9 addresspluginwidget.cpp
10 10
11INCLUDEPATH += $(OPIEDIR)/include \ 11INCLUDEPATH += $(OPIEDIR)/include \
12 ../ ../library 12 ../ ../library
13DEPENDPATH += $(OPIEDIR)/include \ 13DEPENDPATH += $(OPIEDIR)/include \
14 ../ ../library 14 ../ ../library
15 15
16LIBS+= -lqpe -lopie 16LIBS+= -lqpe -lopie
17 17
18DESTDIR = $(OPIEDIR)/plugins/today 18DESTDIR = $(OPIEDIR)/plugins/today
19TARGET = todayaddressbookplugin 19TARGET = todayaddressbookplugin
20 20
21TRANSLATIONS = ../../../../../i18n/de/libtodayaddressbookplugin.ts \ 21TRANSLATIONS = ../../../../../i18n/de/libtodayaddressbookplugin.ts \
22 ../../../../../i18n/nl/libtodayaddressbookplugin.ts \ 22 ../../../../../i18n/nl/libtodayaddressbookplugin.ts \
23 ../../../../../i18n/xx/libtodayaddressbookplugin.ts \ 23 ../../../../../i18n/xx/libtodayaddressbookplugin.ts \
24 ../../../../../i18n/en/libtodayaddressbookplugin.ts \ 24 ../../../../../i18n/en/libtodayaddressbookplugin.ts \
25 ../../../../../i18n/es/libtodayaddressbookplugin.ts \ 25 ../../../../../i18n/es/libtodayaddressbookplugin.ts \
26 ../../../../../i18n/fr/libtodayaddressbookplugin.ts \ 26 ../../../../../i18n/fr/libtodayaddressbookplugin.ts \
27 ../../../../../i18n/hu/libtodayaddressbookplugin.ts \ 27 ../../../../../i18n/hu/libtodayaddressbookplugin.ts \
diff --git a/core/pim/today/plugins/datebook/datebook.pro b/core/pim/today/plugins/datebook/datebook.pro
index e0a1dcb..2139f63 100644
--- a/core/pim/today/plugins/datebook/datebook.pro
+++ b/core/pim/today/plugins/datebook/datebook.pro
@@ -1,27 +1,27 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG -= moc 2CONFIG -= moc
3CONFIG += qt release 3CONFIG += qt plugin release
4# Input 4# Input
5HEADERS = datebookplugin.h datebookpluginimpl.h datebookpluginconfig.h \ 5HEADERS = datebookplugin.h datebookpluginimpl.h datebookpluginconfig.h \
6 datebookevent.h datebookpluginwidget.h 6 datebookevent.h datebookpluginwidget.h
7SOURCES = datebookplugin.cpp datebookpluginimpl.cpp datebookpluginconfig.cpp \ 7SOURCES = datebookplugin.cpp datebookpluginimpl.cpp datebookpluginconfig.cpp \
8 datebookevent.cpp datebookpluginwidget.cpp 8 datebookevent.cpp datebookpluginwidget.cpp
9 9
10INCLUDEPATH += $(OPIEDIR)/include \ 10INCLUDEPATH += $(OPIEDIR)/include \
11 ../ ../library 11 ../ ../library
12DEPENDPATH += $(OPIEDIR)/include \ 12DEPENDPATH += $(OPIEDIR)/include \
13 ../ ../library 13 ../ ../library
14 14
15LIBS+= -lqpe -lopie 15LIBS+= -lqpe -lopie
16 16
17DESTDIR = $(OPIEDIR)/plugins/today 17DESTDIR = $(OPIEDIR)/plugins/today
18TARGET = todaydatebookplugin 18TARGET = todaydatebookplugin
19 19
20TRANSLATIONS = ../../../../../i18n/de/libtodaydatebookplugin.ts \ 20TRANSLATIONS = ../../../../../i18n/de/libtodaydatebookplugin.ts \
21 ../../../../../i18n/nl/libtodaydatebookplugin.ts \ 21 ../../../../../i18n/nl/libtodaydatebookplugin.ts \
22 ../../../../../i18n/xx/libtodaydatebookplugin.ts \ 22 ../../../../../i18n/xx/libtodaydatebookplugin.ts \
23 ../../../../../i18n/en/libtodaydatebookplugin.ts \ 23 ../../../../../i18n/en/libtodaydatebookplugin.ts \
24 ../../../../../i18n/es/libtodaydatebookplugin.ts \ 24 ../../../../../i18n/es/libtodaydatebookplugin.ts \
25 ../../../../../i18n/fr/libtodaydatebookplugin.ts \ 25 ../../../../../i18n/fr/libtodaydatebookplugin.ts \
26 ../../../../../i18n/hu/libtodaydatebookplugin.ts \ 26 ../../../../../i18n/hu/libtodaydatebookplugin.ts \
27 ../../../../../i18n/ja/libtodaydatebookplugin.ts \ 27 ../../../../../i18n/ja/libtodaydatebookplugin.ts \
diff --git a/core/pim/today/plugins/mail/mail.pro b/core/pim/today/plugins/mail/mail.pro
index 70c484d..421b3a5 100644
--- a/core/pim/today/plugins/mail/mail.pro
+++ b/core/pim/today/plugins/mail/mail.pro
@@ -1,27 +1,27 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG -= moc 2CONFIG -= moc
3CONFIG += qt release 3CONFIG += qt plugin release
4 4
5# Input 5# Input
6HEADERS = mailplugin.h mailpluginimpl.h mailpluginwidget.h 6HEADERS = mailplugin.h mailpluginimpl.h mailpluginwidget.h
7SOURCES = mailplugin.cpp mailpluginimpl.cpp mailpluginwidget.cpp 7SOURCES = mailplugin.cpp mailpluginimpl.cpp mailpluginwidget.cpp
8 8
9INCLUDEPATH += $(OPIEDIR)/include \ 9INCLUDEPATH += $(OPIEDIR)/include \
10 ../ ../library 10 ../ ../library
11DEPENDPATH += $(OPIEDIR)/include \ 11DEPENDPATH += $(OPIEDIR)/include \
12 ../ ../library 12 ../ ../library
13 13
14LIBS+= -lqpe -lopie 14LIBS+= -lqpe -lopie
15 15
16DESTDIR = $(OPIEDIR)/plugins/today 16DESTDIR = $(OPIEDIR)/plugins/today
17TARGET = todaymailplugin 17TARGET = todaymailplugin
18 18
19TRANSLATIONS = ../../../../../i18n/de/libtodaymailplugin.ts \ 19TRANSLATIONS = ../../../../../i18n/de/libtodaymailplugin.ts \
20 ../../../../../i18n/nl/libtodaymailplugin.ts \ 20 ../../../../../i18n/nl/libtodaymailplugin.ts \
21 ../../../../../i18n/xx/libtodaymailplugin.ts \ 21 ../../../../../i18n/xx/libtodaymailplugin.ts \
22 ../../../../../i18n/en/libtodaymailplugin.ts \ 22 ../../../../../i18n/en/libtodaymailplugin.ts \
23 ../../../../../i18n/es/libtodaymailplugin.ts \ 23 ../../../../../i18n/es/libtodaymailplugin.ts \
24 ../../../../../i18n/fr/libtodaymailplugin.ts \ 24 ../../../../../i18n/fr/libtodaymailplugin.ts \
25 ../../../../../i18n/hu/libtodaymailplugin.ts \ 25 ../../../../../i18n/hu/libtodaymailplugin.ts \
26 ../../../../../i18n/ja/libtodaymailplugin.ts \ 26 ../../../../../i18n/ja/libtodaymailplugin.ts \
27 ../../../../../i18n/ko/libtodaymailplugin.ts \ 27 ../../../../../i18n/ko/libtodaymailplugin.ts \
diff --git a/core/pim/today/plugins/todolist/todolist.pro b/core/pim/today/plugins/todolist/todolist.pro
index 31a6a27..c8730bb 100644
--- a/core/pim/today/plugins/todolist/todolist.pro
+++ b/core/pim/today/plugins/todolist/todolist.pro
@@ -1,27 +1,27 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG -= moc 2CONFIG -= moc
3CONFIG += qt release 3CONFIG += qt plugin release
4 4
5# Input 5# Input
6HEADERS = todoplugin.h todopluginimpl.h todopluginconfig.h \ 6HEADERS = todoplugin.h todopluginimpl.h todopluginconfig.h \
7 todopluginwidget.h 7 todopluginwidget.h
8SOURCES = todoplugin.cpp todopluginimpl.cpp todopluginconfig.cpp \ 8SOURCES = todoplugin.cpp todopluginimpl.cpp todopluginconfig.cpp \
9 todopluginwidget.cpp 9 todopluginwidget.cpp
10 10
11INCLUDEPATH += $(OPIEDIR)/include \ 11INCLUDEPATH += $(OPIEDIR)/include \
12 ../ ../library 12 ../ ../library
13DEPENDPATH += $(OPIEDIR)/include \ 13DEPENDPATH += $(OPIEDIR)/include \
14 ../ ../library 14 ../ ../library
15 15
16LIBS+= -lqpe -lopie 16LIBS+= -lqpe -lopie
17 17
18DESTDIR = $(OPIEDIR)/plugins/today 18DESTDIR = $(OPIEDIR)/plugins/today
19TARGET = todaytodolistplugin 19TARGET = todaytodolistplugin
20 20
21TRANSLATIONS = ../../../../../i18n/de/libtodaytodolistplugin.ts \ 21TRANSLATIONS = ../../../../../i18n/de/libtodaytodolistplugin.ts \
22 ../../../../../i18n/nl/libtodaytodolistplugin.ts \ 22 ../../../../../i18n/nl/libtodaytodolistplugin.ts \
23 ../../../../../i18n/xx/libtodaytodolistplugin.ts \ 23 ../../../../../i18n/xx/libtodaytodolistplugin.ts \
24 ../../../../../i18n/en/libtodaytodolistplugin.ts \ 24 ../../../../../i18n/en/libtodaytodolistplugin.ts \
25 ../../../../../i18n/es/libtodaytodolistplugin.ts \ 25 ../../../../../i18n/es/libtodaytodolistplugin.ts \
26 ../../../../../i18n/fr/libtodaytodolistplugin.ts \ 26 ../../../../../i18n/fr/libtodaytodolistplugin.ts \
27 ../../../../../i18n/hu/libtodaytodolistplugin.ts \ 27 ../../../../../i18n/hu/libtodaytodolistplugin.ts \
diff --git a/core/pim/today/today.cpp b/core/pim/today/today.cpp
index f213943..cb18c1c 100644
--- a/core/pim/today/today.cpp
+++ b/core/pim/today/today.cpp
@@ -153,53 +153,60 @@ void Today::init() {
153 layout = new QVBoxLayout( this ); 153 layout = new QVBoxLayout( this );
154 layout->addWidget( Frame ); 154 layout->addWidget( Frame );
155 layout->addWidget( OwnerField ); 155 layout->addWidget( OwnerField );
156} 156}
157 157
158/** 158/**
159 * Load the plugins 159 * Load the plugins
160 */ 160 */
161void Today::loadPlugins() { 161void Today::loadPlugins() {
162 162
163 init(); 163 init();
164 QValueList<TodayPlugin>::Iterator tit; 164 QValueList<TodayPlugin>::Iterator tit;
165 if ( !pluginList.isEmpty() ) { 165 if ( !pluginList.isEmpty() ) {
166 for ( tit = pluginList.begin(); tit != pluginList.end(); ++tit ) { 166 for ( tit = pluginList.begin(); tit != pluginList.end(); ++tit ) {
167 (*tit).guiBox->hide(); 167 (*tit).guiBox->hide();
168 (*tit).guiBox->reparent( 0, QPoint( 0, 0 ) ); 168 (*tit).guiBox->reparent( 0, QPoint( 0, 0 ) );
169 delete (*tit).guiBox; 169 delete (*tit).guiBox;
170 (*tit).library->unload(); 170 (*tit).library->unload();
171 delete (*tit).library; 171 delete (*tit).library;
172 } 172 }
173 pluginList.clear(); 173 pluginList.clear();
174 } 174 }
175 175
176 QString path = QPEApplication::qpeDir() + "/plugins/today"; 176 QString path = QPEApplication::qpeDir() + "/plugins/today";
177 qWarning("Searching for Plugins in: %s", path.latin1());
178#ifdef Q_OS_MACX
179 QDir dir( path, "lib*.dylib" );
180#else
177 QDir dir( path, "lib*.so" ); 181 QDir dir( path, "lib*.so" );
182#endif
178 183
179 QStringList list = dir.entryList(); 184 QStringList list = dir.entryList();
180 QStringList::Iterator it; 185 QStringList::Iterator it;
181 186
187 qWarning("Found: %d entries !", list.count() );
188
182 QMap<QString, TodayPlugin> tempList; 189 QMap<QString, TodayPlugin> tempList;
183 190
184 for ( it = list.begin(); it != list.end(); ++it ) { 191 for ( it = list.begin(); it != list.end(); ++it ) {
185 QInterfacePtr<TodayPluginInterface> iface; 192 QInterfacePtr<TodayPluginInterface> iface;
186 QLibrary *lib = new QLibrary( path + "/" + *it ); 193 QLibrary *lib = new QLibrary( path + "/" + *it );
187 194
188 qDebug( "querying: %s", QString( path + "/" + *it ).latin1() ); 195 qDebug( "querying: %s", QString( path + "/" + *it ).latin1() );
189 if ( lib->queryInterface( IID_TodayPluginInterface, (QUnknownInterface**)&iface ) == QS_OK ) { 196 if ( lib->queryInterface( IID_TodayPluginInterface, (QUnknownInterface**)&iface ) == QS_OK ) {
190 qDebug( "accepted: %s", QString( path + "/" + *it ).latin1() ); 197 qDebug( "accepted: %s", QString( path + "/" + *it ).latin1() );
191 qDebug( QString(*it) ); 198 qDebug( QString(*it) );
192 199
193 TodayPlugin plugin; 200 TodayPlugin plugin;
194 plugin.library = lib; 201 plugin.library = lib;
195 plugin.iface = iface; 202 plugin.iface = iface;
196 plugin.name = QString(*it); 203 plugin.name = QString(*it);
197 204
198 QString type = (*it).left( (*it).find(".") ); 205 QString type = (*it).left( (*it).find(".") );
199 206
200 // grr, sharp rom does not know Global::languageList(); 207 // grr, sharp rom does not know Global::languageList();
201 // QStringList langs = Global::languageList(); 208 // QStringList langs = Global::languageList();
202 QString tfn = QPEApplication::qpeDir() + "/i18n/"; 209 QString tfn = QPEApplication::qpeDir() + "/i18n/";
203 QDir langDir = tfn; 210 QDir langDir = tfn;
204 QStringList langs = langDir.entryList("*", QDir::Dirs ); 211 QStringList langs = langDir.entryList("*", QDir::Dirs );
205 212
diff --git a/core/qws/transferserver.cpp b/core/qws/transferserver.cpp
index 0337a94..239c824 100644
--- a/core/qws/transferserver.cpp
+++ b/core/qws/transferserver.cpp
@@ -2,65 +2,77 @@
2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of the Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
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#define _XOPEN_SOURCE 20#define _XOPEN_SOURCE
21#include <pwd.h> 21#include <pwd.h>
22#include <sys/types.h> 22#include <sys/types.h>
23#include <unistd.h> 23#include <unistd.h>
24#include <stdlib.h> 24#include <stdlib.h>
25#include <time.h> 25#include <time.h>
26
27#ifndef Q_OS_MACX
26#include <shadow.h> 28#include <shadow.h>
29#endif /* Q_OS_MACX */
27 30
28/* we need the _OS_LINUX stuff first ! */ 31/* we need the _OS_LINUX stuff first ! */
29#include <qglobal.h> 32#include <qglobal.h>
30 33
31#ifndef _OS_LINUX_ 34#ifndef _OS_LINUX_
35// Is anybody able to review this ? The include "uuid/uuid.h" couldn't be found
36// anywhere ? Therfore I removed it completely..
37// I think it should be made permanentyl !? (eilers)
38#warning "Where should uuid/uuid.h be found ? Removed this part .. (eilers)"
39#if 0
32 40
33extern "C" 41extern "C"
34{ 42{
35#include <uuid/uuid.h> 43#include <uuid/uuid.h>
36#define UUID_H_INCLUDED 44#define UUID_H_INCLUDED
37} 45}
38 46
47#endif
48
39#endif // not defined linux 49#endif // not defined linux
40 50
41#if defined(_OS_LINUX_) 51#if defined(_OS_LINUX_)
42#include <shadow.h> 52#include <shadow.h>
53#elif defined(Q_OS_MACX)
54#include <stdlib.h>
43#endif 55#endif
44 56
45#include <qdir.h> 57#include <qdir.h>
46#include <qfile.h> 58#include <qfile.h>
47#include <qtextstream.h> 59#include <qtextstream.h>
48#include <qdatastream.h> 60#include <qdatastream.h>
49#include <qmessagebox.h> 61#include <qmessagebox.h>
50#include <qstringlist.h> 62#include <qstringlist.h>
51#include <qfileinfo.h> 63#include <qfileinfo.h>
52#include <qregexp.h> 64#include <qregexp.h>
53//#include <qpe/qcopchannel_qws.h> 65//#include <qpe/qcopchannel_qws.h>
54#include <qpe/process.h> 66#include <qpe/process.h>
55#include <qpe/global.h> 67#include <qpe/global.h>
56#include <qpe/config.h> 68#include <qpe/config.h>
57#include <qpe/contact.h> 69#include <qpe/contact.h>
58#include <qpe/quuid.h> 70#include <qpe/quuid.h>
59#include <qpe/version.h> 71#include <qpe/version.h>
60#include <qpe/qcopenvelope_qws.h> 72#include <qpe/qcopenvelope_qws.h>
61 73
62#include "transferserver.h" 74#include "transferserver.h"
63#include <opie/oprocess.h> 75#include <opie/oprocess.h>
64 76
65const int block_size = 51200; 77const int block_size = 51200;
66 78
@@ -70,71 +82,78 @@ TransferServer::TransferServer( Q_UINT16 port, QObject *parent ,
70{ 82{
71 if ( !ok() ) 83 if ( !ok() )
72 qWarning( "Failed to bind to port %d", port ); 84 qWarning( "Failed to bind to port %d", port );
73} 85}
74 86
75TransferServer::~TransferServer() 87TransferServer::~TransferServer()
76{ 88{
77} 89}
78 90
79void TransferServer::newConnection( int socket ) 91void TransferServer::newConnection( int socket )
80{ 92{
81 (void) new ServerPI( socket, this ); 93 (void) new ServerPI( socket, this );
82} 94}
83 95
84/* 96/*
85 * small class in anonymous namespace 97 * small class in anonymous namespace
86 * to generate a QUUid for us 98 * to generate a QUUid for us
87 */ 99 */
88namespace 100namespace
89{ 101{
90struct UidGen 102struct UidGen
91{ 103{
92 QString uuid(); 104 QString uuid();
93}; 105};
94#if !defined(_OS_LINUX_) 106#if defined(Q_OS_MACX)
95
96QString UidGen::uuid() 107QString UidGen::uuid()
97{ 108{
98 uuid_t uuid; 109 srandom( random() );
99 uuid_generate( uuid ); 110 QString numStr = QString::number( random() );
100 return QUUid( uuid ).toString(); 111
112 return "{" + numStr + "}";
101} 113}
102#else 114#elif defined(_OS_LINUX_)
103/* 115/*
104* linux got a /proc/sys/kernel/random/uuid file 116* linux got a /proc/sys/kernel/random/uuid file
105* it'll generate the uuids for us 117* it'll generate the uuids for us
106*/ 118*/
107QString UidGen::uuid() 119QString UidGen::uuid()
108{ 120{
109 QFile file( "/proc/sys/kernel/random/uuid" ); 121 QFile file( "/proc/sys/kernel/random/uuid" );
110 if (!file.open(IO_ReadOnly ) ) 122 if (!file.open(IO_ReadOnly ) )
111 return QString::null; 123 return QString::null;
112 124
113 QTextStream stream(&file); 125 QTextStream stream(&file);
114 126
115 return "{" + stream.read().stripWhiteSpace() + "}"; 127 return "{" + stream.read().stripWhiteSpace() + "}";
116} 128}
129#else
130QString UidGen::uuid()
131{
132 uuid_t uuid;
133 ::uuid_generate( uuid );
134 return QUUid( uuid ).toString();
135}
117#endif 136#endif
118} 137}
119 138
120QString SyncAuthentication::serverId() 139QString SyncAuthentication::serverId()
121{ 140{
122 Config cfg("Security"); 141 Config cfg("Security");
123 cfg.setGroup("Sync"); 142 cfg.setGroup("Sync");
124 QString r = cfg.readEntry("serverid"); 143 QString r = cfg.readEntry("serverid");
125 if ( r.isEmpty() ) { 144 if ( r.isEmpty() ) {
126 UidGen gen; 145 UidGen gen;
127 r = gen.uuid(); 146 r = gen.uuid();
128 cfg.writeEntry("serverid", r ); 147 cfg.writeEntry("serverid", r );
129 } 148 }
130 return r; 149 return r;
131} 150}
132 151
133QString SyncAuthentication::ownerName() 152QString SyncAuthentication::ownerName()
134{ 153{
135 QString vfilename = Global::applicationFileName("addressbook", 154 QString vfilename = Global::applicationFileName("addressbook",
136 "businesscard.vcf"); 155 "businesscard.vcf");
137 if (QFile::exists(vfilename)) { 156 if (QFile::exists(vfilename)) {
138 Contact c; 157 Contact c;
139 c = Contact::readVCard( vfilename )[0]; 158 c = Contact::readVCard( vfilename )[0];
140 return c.fullName(); 159 return c.fullName();
diff --git a/core/settings/launcher/menusettings.cpp b/core/settings/launcher/menusettings.cpp
index 5a9fada..6fca621 100644
--- a/core/settings/launcher/menusettings.cpp
+++ b/core/settings/launcher/menusettings.cpp
@@ -58,49 +58,53 @@ MenuSettings::MenuSettings ( QWidget *parent, const char *name )
58 m_list = new QListView ( this ); 58 m_list = new QListView ( this );
59 m_list-> addColumn ( "foobar" ); 59 m_list-> addColumn ( "foobar" );
60 m_list-> header ( )-> hide ( ); 60 m_list-> header ( )-> hide ( );
61 61
62 lay-> addWidget ( m_list ); 62 lay-> addWidget ( m_list );
63 63
64 m_menutabs = new QCheckBox ( tr( "Show Launcher tabs in O-Menu" ), this ); 64 m_menutabs = new QCheckBox ( tr( "Show Launcher tabs in O-Menu" ), this );
65 lay-> addWidget ( m_menutabs ); 65 lay-> addWidget ( m_menutabs );
66 66
67 QWhatsThis::add ( m_list, tr( "Check the applets that you want to have included in the O-Menu." )); 67 QWhatsThis::add ( m_list, tr( "Check the applets that you want to have included in the O-Menu." ));
68 QWhatsThis::add ( m_menutabs, tr( "Adds the contents of the Launcher Tabs as menus in the O-Menu." )); 68 QWhatsThis::add ( m_menutabs, tr( "Adds the contents of the Launcher Tabs as menus in the O-Menu." ));
69 69
70 connect ( m_list, SIGNAL( clicked ( QListViewItem * )), this, SLOT( appletChanged ( ))); 70 connect ( m_list, SIGNAL( clicked ( QListViewItem * )), this, SLOT( appletChanged ( )));
71 71
72 init ( ); 72 init ( );
73} 73}
74 74
75void MenuSettings::init ( ) 75void MenuSettings::init ( )
76{ 76{
77 Config cfg ( "StartMenu" ); 77 Config cfg ( "StartMenu" );
78 cfg. setGroup ( "Applets" ); 78 cfg. setGroup ( "Applets" );
79 QStringList exclude = cfg. readListEntry ( "ExcludeApplets", ',' ); 79 QStringList exclude = cfg. readListEntry ( "ExcludeApplets", ',' );
80 80
81 QString path = QPEApplication::qpeDir ( ) + "/plugins/applets"; 81 QString path = QPEApplication::qpeDir ( ) + "/plugins/applets";
82#ifdef Q_OS_MACX
83 QStringList list = QDir ( path, "lib*.dylib" ). entryList ( );
84#else
82 QStringList list = QDir ( path, "lib*.so" ). entryList ( ); 85 QStringList list = QDir ( path, "lib*.so" ). entryList ( );
86#endif /* Q_OS_MACX */
83 87
84 for ( QStringList::Iterator it = list. begin ( ); it != list. end ( ); ++it ) { 88 for ( QStringList::Iterator it = list. begin ( ); it != list. end ( ); ++it ) {
85 QString name; 89 QString name;
86 QPixmap icon; 90 QPixmap icon;
87 MenuAppletInterface *iface = 0; 91 MenuAppletInterface *iface = 0;
88 92
89 QLibrary *lib = new QLibrary ( path + "/" + *it ); 93 QLibrary *lib = new QLibrary ( path + "/" + *it );
90 lib-> queryInterface ( IID_MenuApplet, (QUnknownInterface**) &iface ); 94 lib-> queryInterface ( IID_MenuApplet, (QUnknownInterface**) &iface );
91 if ( iface ) { 95 if ( iface ) {
92 QString lang = getenv( "LANG" ); 96 QString lang = getenv( "LANG" );
93 QTranslator *trans = new QTranslator ( qApp ); 97 QTranslator *trans = new QTranslator ( qApp );
94 QString type = (*it). left ((*it). find (".")); 98 QString type = (*it). left ((*it). find ("."));
95 QString tfn = QPEApplication::qpeDir ( ) + "/i18n/" + lang + "/" + type + ".qm"; 99 QString tfn = QPEApplication::qpeDir ( ) + "/i18n/" + lang + "/" + type + ".qm";
96 if ( trans-> load ( tfn )) 100 if ( trans-> load ( tfn ))
97 qApp-> installTranslator ( trans ); 101 qApp-> installTranslator ( trans );
98 else 102 else
99 delete trans; 103 delete trans;
100 name = iface-> name ( ); 104 name = iface-> name ( );
101 icon = iface-> icon ( ). pixmap ( QIconSet::Small, QIconSet::Normal ); 105 icon = iface-> icon ( ). pixmap ( QIconSet::Small, QIconSet::Normal );
102 iface-> release ( ); 106 iface-> release ( );
103 lib-> unload ( ); 107 lib-> unload ( );
104 108
105 QCheckListItem *item; 109 QCheckListItem *item;
106 item = new QCheckListItem ( m_list, name, QCheckListItem::CheckBox ); 110 item = new QCheckListItem ( m_list, name, QCheckListItem::CheckBox );
diff --git a/core/settings/launcher/taskbarsettings.cpp b/core/settings/launcher/taskbarsettings.cpp
index b3e302a..d03ea49 100644
--- a/core/settings/launcher/taskbarsettings.cpp
+++ b/core/settings/launcher/taskbarsettings.cpp
@@ -54,87 +54,104 @@ TaskbarSettings::TaskbarSettings ( QWidget *parent, const char *name )
54 54
55 QLabel *l = new QLabel ( tr( "Load applets in Taskbar:" ), this ); 55 QLabel *l = new QLabel ( tr( "Load applets in Taskbar:" ), this );
56 lay-> addWidget ( l ); 56 lay-> addWidget ( l );
57 57
58 m_list = new QListView ( this ); 58 m_list = new QListView ( this );
59 m_list-> addColumn ( "foobar" ); 59 m_list-> addColumn ( "foobar" );
60 m_list-> header ( )-> hide ( ); 60 m_list-> header ( )-> hide ( );
61 61
62 lay-> addWidget ( m_list ); 62 lay-> addWidget ( m_list );
63 63
64 QWhatsThis::add ( m_list, tr( "Check the applets that you want displayed in the Taskbar." )); 64 QWhatsThis::add ( m_list, tr( "Check the applets that you want displayed in the Taskbar." ));
65 65
66 connect ( m_list, SIGNAL( clicked ( QListViewItem * )), this, SLOT( appletChanged ( ))); 66 connect ( m_list, SIGNAL( clicked ( QListViewItem * )), this, SLOT( appletChanged ( )));
67 67
68 init ( ); 68 init ( );
69} 69}
70 70
71void TaskbarSettings::init ( ) 71void TaskbarSettings::init ( )
72{ 72{
73 Config cfg ( "Taskbar" ); 73 Config cfg ( "Taskbar" );
74 cfg. setGroup ( "Applets" ); 74 cfg. setGroup ( "Applets" );
75 QStringList exclude = cfg. readListEntry ( "ExcludeApplets", ',' ); 75 QStringList exclude = cfg. readListEntry ( "ExcludeApplets", ',' );
76 76
77 QString path = QPEApplication::qpeDir ( ) + "/plugins/applets"; 77 QString path = QPEApplication::qpeDir ( ) + "/plugins/applets";
78#ifdef Q_OS_MACX
79 QStringList list = QDir ( path, "lib*.dylib" ). entryList ( );
80#else
78 QStringList list = QDir ( path, "lib*.so" ). entryList ( ); 81 QStringList list = QDir ( path, "lib*.so" ). entryList ( );
82#endif /* Q_OS_MACX */
79 83
80 for ( QStringList::Iterator it = list. begin ( ); it != list. end ( ); ++it ) { 84 for ( QStringList::Iterator it = list. begin ( ); it != list. end ( ); ++it ) {
81 QString name; 85 QString name;
82 QPixmap icon; 86 QPixmap icon;
83 TaskbarNamedAppletInterface *iface = 0; 87 TaskbarNamedAppletInterface *iface = 0;
84 88
89 qWarning("Load applet: %s", (*it).latin1() );
85 QLibrary *lib = new QLibrary ( path + "/" + *it ); 90 QLibrary *lib = new QLibrary ( path + "/" + *it );
86 lib-> queryInterface ( IID_TaskbarNamedApplet, (QUnknownInterface**) &iface ); 91 lib-> queryInterface ( IID_TaskbarNamedApplet, (QUnknownInterface**) &iface );
92 qWarning("<1>");
87 if ( iface ) { 93 if ( iface ) {
94 qWarning("<2>");
88 QString lang = getenv( "LANG" ); 95 QString lang = getenv( "LANG" );
89 QTranslator *trans = new QTranslator ( qApp ); 96 QTranslator *trans = new QTranslator ( qApp );
90 QString type = (*it). left ((*it). find (".")); 97 QString type = (*it). left ((*it). find ("."));
91 QString tfn = QPEApplication::qpeDir ( ) + "/i18n/" + lang + "/" + type + ".qm"; 98 QString tfn = QPEApplication::qpeDir ( ) + "/i18n/" + lang + "/" + type + ".qm";
92 if ( trans-> load ( tfn )) 99 if ( trans-> load ( tfn ))
93 qApp-> installTranslator ( trans ); 100 qApp-> installTranslator ( trans );
94 else 101 else
95 delete trans; 102 delete trans;
96 name = iface-> name ( ); 103 name = iface-> name ( );
97 icon = iface-> icon ( ); 104 icon = iface-> icon ( );
98 iface-> release ( ); 105 iface-> release ( );
99 } 106 }
107 qWarning("<3>");
100 if ( !iface ) { 108 if ( !iface ) {
109 qWarning("<4>");
101 lib-> queryInterface ( IID_TaskbarApplet, (QUnknownInterface**) &iface ); 110 lib-> queryInterface ( IID_TaskbarApplet, (QUnknownInterface**) &iface );
102 111
103 if ( iface ) { 112 if ( iface ) {
113 qWarning("<5>");
104 name = (*it). mid ( 3 ); 114 name = (*it). mid ( 3 );
115 qWarning("Found applet: %s", name.latin1() );
116#ifdef Q_OS_MACX
117 int sep = name. find( ".dylib" );
118#else
105 int sep = name. find( ".so" ); 119 int sep = name. find( ".so" );
120#endif /* Q_OS_MACX */
106 if ( sep > 0 ) 121 if ( sep > 0 )
107 name. truncate ( sep ); 122 name. truncate ( sep );
108 sep = name. find ( "applet" ); 123 sep = name. find ( "applet" );
109 if ( sep == (int) name.length ( ) - 6 ) 124 if ( sep == (int) name.length ( ) - 6 )
110 name. truncate ( sep ); 125 name. truncate ( sep );
111 name[0] = name[0]. upper ( ); 126 name[0] = name[0]. upper ( );
112 iface-> release ( ); 127 iface-> release ( );
113 } 128 }
114 } 129 }
130 qWarning("<6>");
115 131
116 if ( iface ) { 132 if ( iface ) {
133 qWarning("<7>");
117 QCheckListItem *item; 134 QCheckListItem *item;
118 item = new QCheckListItem ( m_list, name, QCheckListItem::CheckBox ); 135 item = new QCheckListItem ( m_list, name, QCheckListItem::CheckBox );
119 if ( !icon. isNull ( )) 136 if ( !icon. isNull ( ))
120 item-> setPixmap ( 0, icon ); 137 item-> setPixmap ( 0, icon );
121 item-> setOn ( exclude. find ( *it ) == exclude. end ( )); 138 item-> setOn ( exclude. find ( *it ) == exclude. end ( ));
122 m_applets [*it] = item; 139 m_applets [*it] = item;
123 } 140 }
124 lib-> unload ( ); 141 lib-> unload ( );
125 delete lib; 142 delete lib;
126 } 143 }
127} 144}
128 145
129void TaskbarSettings::appletChanged() 146void TaskbarSettings::appletChanged()
130{ 147{
131 m_applets_changed = true; 148 m_applets_changed = true;
132} 149}
133 150
134void TaskbarSettings::accept ( ) 151void TaskbarSettings::accept ( )
135{ 152{
136 Config cfg ( "Taskbar" ); 153 Config cfg ( "Taskbar" );
137 cfg. setGroup ( "Applets" ); 154 cfg. setGroup ( "Applets" );
138 155
139 if ( m_applets_changed ) { 156 if ( m_applets_changed ) {
140 QStringList exclude; 157 QStringList exclude;
diff --git a/development/keyview/keyview.pro b/development/keyview/keyview.pro
index 70cc171..ca657bd 100644
--- a/development/keyview/keyview.pro
+++ b/development/keyview/keyview.pro
@@ -1,27 +1,27 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 #CONFIG = qt warn_on debug 2 #CONFIG = qt plugin warn_on debug
3 CONFIG = qt warn_on release 3 CONFIG = qt plugin warn_on release
4 HEADERS = keyview.h keyboardimpl.h 4 HEADERS = keyview.h keyboardimpl.h
5 SOURCES = keyview.cpp keyboardimpl.cpp 5 SOURCES = keyview.cpp keyboardimpl.cpp
6 INCLUDEPATH+= $(OPIEDIR)/include 6 INCLUDEPATH+= $(OPIEDIR)/include
7 DEPENDPATH+= $(OPIEDIR)/include ../../launcher 7 DEPENDPATH+= $(OPIEDIR)/include ../../launcher
8LIBS += -lqpe 8LIBS += -lqpe
9 INTERFACES= 9 INTERFACES=
10 TARGET = keyview 10 TARGET = keyview
11DESTDIR = $(OPIEDIR)/plugins/inputmethods 11DESTDIR = $(OPIEDIR)/plugins/inputmethods
12 12
13TRANSLATIONS = ../i18n/de/keyview.ts \ 13TRANSLATIONS = ../i18n/de/keyview.ts \
14 ../i18n/nl/keyview.ts \ 14 ../i18n/nl/keyview.ts \
15 ../i18n/da/keyview.ts \ 15 ../i18n/da/keyview.ts \
16 ../i18n/xx/keyview.ts \ 16 ../i18n/xx/keyview.ts \
17 ../i18n/en/keyview.ts \ 17 ../i18n/en/keyview.ts \
18 ../i18n/es/keyview.ts \ 18 ../i18n/es/keyview.ts \
19 ../i18n/fr/keyview.ts \ 19 ../i18n/fr/keyview.ts \
20 ../i18n/hu/keyview.ts \ 20 ../i18n/hu/keyview.ts \
21 ../i18n/ja/keyview.ts \ 21 ../i18n/ja/keyview.ts \
22 ../i18n/ko/keyview.ts \ 22 ../i18n/ko/keyview.ts \
23 ../i18n/no/keyview.ts \ 23 ../i18n/no/keyview.ts \
24 ../i18n/pl/keyview.ts \ 24 ../i18n/pl/keyview.ts \
25 ../i18n/pt/keyview.ts \ 25 ../i18n/pt/keyview.ts \
26 ../i18n/pt_BR/keyview.ts \ 26 ../i18n/pt_BR/keyview.ts \
27 ../i18n/sl/keyview.ts \ 27 ../i18n/sl/keyview.ts \
diff --git a/development/macosx/README_MACOSX b/development/macosx/README_MACOSX
new file mode 100644
index 0000000..e2ed15f
--- a/dev/null
+++ b/development/macosx/README_MACOSX
@@ -0,0 +1,91 @@
1Information about porting Opie to MacOS-X (eilers)
2==================================================
3
4Credits:
5--------
6
7Special thanks to xxxx for its patches for qt-X11 (2.3.2), QT/E (2.3.5) and qtopia (1.6.1).
8Without them, I wouldn't be able to provide the port for OPIE to MacOS-X that fast..
9
10Status:
11-------
12The basic system works quite well. But a lot of applications and plugins,
13which are platform specific, need some work to be compileable.
14
15What is ready:
16
17libqpe
18libopie1
19pim-applications (addressbook, todolist, datebook, today)
20A lot of applications and plugins which are not platform specific.
21
22What will follow soon:
23
24libopie2
25
26Remember: A lot of configuration-settings are not tested (as for instance
27the quicklauncher) and might fail to compile.
28If you want to avoid misconfigurations, you may want to start with
29the config-file in this directory. Just copy "config_macosx" to $OPIEDIR/.config
30to get a working configuration to start with.
31
32(The missing apps/plugins will be ported on demand.)
33
34How to compile Opie for MacOS-X:
35-------------------------------
36
37Before compiling for MacOS-X, you need the following:
38
391. X11-Server (Provided by Apple)
402. QT-2.3.2 for X11
413. QT/E-2.3.7
424. Patches for QT-2.3.2 for MacOSX
435. Patches for QT/E-2.3.7 for MacOSX
44
45Please follow the instructions by xxxx how to create a buildsystem
46for your Mac.
47What is different to the previous desciption:
48You don't need Qtopia !
49It is recommended to use QT/E in version 2.3.7 instead of 2.3.5 as described.
50The Patch for QT/E for Opie, including all other opie-patches is available in the
51qt-directory ($OPIEDIR/qt) and is called "qte237-all-macosx.patch"
52
53If your buildsystem is working correctly, you should be able to build
54opie. You have to enter "make menuconfig" and set
55"Build Parameters"->"Target Machine"->"Mac OS X (DARWIN)"
56activate the platform specific changes.
57
58You will see that a lot of applications and plugins/applets will not compile
59successfully, due to the fact that they are not ported to this platform.
60You may disable them to be able to compile the rest.
61
62
63Information for Developers:
64---------------------------
65
661. Platform specific code should be surrounded by
67#ifdef Q_OS_MACX
68MACOS-X CODE
69#else
70OTHER-CODE
71#endif
72
732. The Plugin-Handling by MacOS-X is different than it is by Linux.
74On linux-systems, shared libraries are not different to dynamic loaded libraries
75(aka plugins). They just are different whether they are loaded automatically
76at startup or manually by any application.
77On MacOS-X, the plugins are loaded by a special mechanism and must be in a special
78binary format. Therefore you have to add the term "plugin" to the CONFIG-clause, as
79for instance:
80
81TEMPLATE=lib
82CONFIG += qt plugin release
83
84If you don't add "plugin" you will get a shared library which is not loadable
85(Error-Code: NSObjectFileImageInappropriateFile (2))!
86
87
88
89For problems, help and flames, feel free to contact me at
90
91eilers.stefan@epost.de \ No newline at end of file
diff --git a/development/macosx/config_macosx b/development/macosx/config_macosx
new file mode 100644
index 0000000..eb0792f
--- a/dev/null
+++ b/development/macosx/config_macosx
@@ -0,0 +1,290 @@
1#
2# Automatically generated make config: don't edit
3#
4
5#
6# Build Parameters
7#
8# CONFIG_TARGET_X86 is not set
9CONFIG_TARGET_MACOSX=y
10# CONFIG_TARGET_SHARP is not set
11# CONFIG_TARGET_IPAQ is not set
12# CONFIG_TARGET_RAMSES is not set
13# CONFIG_TARGET_SIMPAD is not set
14# CONFIG_TARGET_YOPY is not set
15# CONFIG_OPTIMIZE is not set
16CONFIG_DEBUG=y
17CONFIG_QUICK_LAUNCH=y
18# CONFIG_OPIE_NO_OVERRIDE_QT is not set
19CONFIG_SPECFILE="qws/macx-generic-g++"
20CONFIG_EXPERIMENTAL=y
21
22#
23# Base
24#
25CONFIG_LIBQPE=y
26# CONFIG_X11 is not set
27CONFIG_LIBOPIE=y
28# CONFIG_OPIE-LOGIN is not set
29# CONFIG_OPIEALARM is not set
30CONFIG_LAUNCHER=y
31CONFIG_PRELOAD=y
32CONFIG_LAUNCHER_CORE=y
33CONFIG_QWS=y
34
35#
36#
37#
38
39#
40# Applets
41#
42CONFIG_BATTERYAPPLET=y
43# CONFIG_CARDMON is not set
44CONFIG_CLIPBOARDAPPLET=y
45CONFIG_CLOCKAPPLET=y
46CONFIG_HOMEAPPLET=y
47# CONFIG_IRDAAPPLET is not set
48# CONFIG_LOGOUTAPPLET is not set
49# CONFIG_OBEXAPPLET is not set
50# CONFIG_OBEX is not set
51# CONFIG_RESTARTAPPLET is not set
52# CONFIG_ROTATEAPPLET is not set
53# CONFIG_SCREENSHOTAPPLET is not set
54# CONFIG_SUSPENDAPPLET is not set
55# CONFIG_VMEMO is not set
56# CONFIG_VOLUMEAPPLET is not set
57# CONFIG_VTAPPLET is not set
58
59#
60# Network applet needs a libqpe and libopie2 (core, ui, net)
61#
62CONFIG_NOTESAPPLET=y
63# CONFIG_WIRELESSAPPLET is not set
64
65#
66# Apps
67#
68# CONFIG_CALIBRATE is not set
69# CONFIG_EMBEDDEDKONSOLE is not set
70CONFIG_FILEBROWSER=y
71CONFIG_HELPBROWSER=y
72# CONFIG_OAPP is not set
73CONFIG_OIPKG=y
74CONFIG_QCOP=y
75CONFIG_TEXTEDIT=y
76# CONFIG_ADVANCEDFM is not set
77# CONFIG_AQPKG is not set
78CONFIG_CHECKBOOK=y
79# CONFIG_ODICT is not set
80# CONFIG_BARTENDER is not set
81# CONFIG_OPIE-CONSOLE is not set
82# CONFIG_OPIE-READER is not set
83CONFIG_OPIE-SHEET=y
84CONFIG_OPIE-WRITE=y
85CONFIG_OXYGEN=y
86CONFIG_SYSINFO=y
87CONFIG_TABLEVIEWER=y
88CONFIG_TINYKATE=y
89CONFIG_LIBKATE=y
90# CONFIG_ZSAFE is not set
91
92#
93# Communications and Networking
94#
95# CONFIG_GSMTOOL is not set
96# CONFIG_KEYPEBBLE is not set
97# CONFIG_MOBILEMSG is not set
98# CONFIG_MAIL is not set
99# CONFIG_FTPLIB is not set
100# CONFIG_MAILIT is not set
101# CONFIG_OPIEIRC is not set
102# CONFIG_OPIE-RDESKTOP is not set
103# CONFIG_UBROWSER is not set
104
105#
106# wellenreiter needs libqpe, libopie1 and libopie2 (core+net+ui)
107#
108
109#
110# Games
111#
112CONFIG_BACKGAMMON=y
113CONFIG_BOUNCE=y
114CONFIG_BUZZWORD=y
115CONFIG_FIFTEEN=y
116CONFIG_GO=y
117CONFIG_KBILL=y
118CONFIG_KCHECKERS=y
119CONFIG_KPACMAN=y
120CONFIG_MINDBREAKER=y
121CONFIG_MINESWEEP=y
122# CONFIG_WORDGAME is not set
123CONFIG_PARASHOOT=y
124CONFIG_QASTEROIDS=y
125# CONFIG_SFCAVE is not set
126# CONFIG_SFCAVE-SDL is not set
127# CONFIG_SNAKE is not set
128CONFIG_SOLITAIRE=y
129# CONFIG_TETRIX is not set
130# CONFIG_TICTAC is not set
131
132#
133# Graphics and Multimedia
134#
135# CONFIG_FREETYPE is not set
136CONFIG_DRAWPAD=y
137# CONFIG_QPDF is not set
138# CONFIG_OPIEPLAYER is not set
139
140#
141# opie-camera needs a libqpe, libopie and libopie2core
142#
143# CONFIG_OPIEPLAYER2 is not set
144# CONFIG_OPIEREC is not set
145CONFIG_SHOWIMG=y
146
147#
148# Input methods
149#
150# CONFIG_DASHER is not set
151# CONFIG_DVORAK is not set
152CONFIG_HANDWRITING=y
153
154#
155# opie-handwriting-classicset automatically selected
156#
157
158#
159# opie-handwriting-graffitiset automatically selected
160#
161CONFIG_JUMPX=y
162# CONFIG_KEYBOARD is not set
163CONFIG_KJUMPX=y
164# CONFIG_MULTIKEY is not set
165CONFIG_PICKBOARD=y
166CONFIG_UNIKEYBOARD=y
167
168#
169# Pim
170#
171CONFIG_ADDRESSBOOK=y
172CONFIG_DATEBOOK=y
173CONFIG_OSEARCH=y
174CONFIG_TODAY=y
175CONFIG_TODO=y
176
177#
178# Today Plugins
179#
180# CONFIG_TODAY_FORTUNE is not set
181# CONFIG_TODAY_STOCKTICKER is not set
182# CONFIG_TODAY_WEATHER is not set
183CONFIG_TODAY_ADDRESSBOOK=y
184CONFIG_TODAY_DATEBOOK=y
185CONFIG_TODAY_MAIL=y
186CONFIG_TODAY_TODOLIST=y
187
188#
189# Settings
190#
191CONFIG_BUTTON-SETTINGS=y
192CONFIG_CITYTIME=y
193CONFIG_LAUNCHER-SETTINGS=y
194CONFIG_LIGHT-AND-POWER=y
195CONFIG_SECURITY=y
196CONFIG_APPEARANCE2=y
197CONFIG_BACKUP=y
198CONFIG_LANGUAGE=y
199CONFIG_MEDIUMMOUNT=y
200CONFIG_NETSYSTEMTIME=y
201# CONFIG_NETWORKSETUP is not set
202# CONFIG_SOUND is not set
203# CONFIG_SSHKEYS is not set
204CONFIG_TABMANAGER=y
205# CONFIG_USERMANAGER is not set
206
207#
208# Theming
209#
210
211#
212# Decorations
213#
214CONFIG_DECO_FLAT=y
215CONFIG_DECO_LIQUID=y
216CONFIG_DECO_POLISHED=y
217
218#
219# Styles
220#
221CONFIG_FLAT=y
222CONFIG_FRESH=y
223CONFIG_LIQUID=y
224CONFIG_METAL=y
225CONFIG_THEME=y
226
227#
228# Tools
229#
230CONFIG_CALCULATOR=y
231CONFIG_CLOCK=y
232CONFIG_EUROCONV=y
233# CONFIG_FORMATTER is not set
234CONFIG_OPIE-SH=y
235# CONFIG_REMOTE is not set
236
237#
238# Development
239#
240# CONFIG_KEYVIEW is not set
241
242#
243# Examples
244#
245# CONFIG_EXAMPLES is not set
246
247#
248#
249#
250
251#
252# Experimental
253#
254
255#
256# libopie2
257#
258# CONFIG_LIBOPIE2CORE is not set
259
260#
261# libopie2db needs a libqpe and libopie2core
262#
263
264#
265# libopie2net needs a libqpe and libopie2core
266#
267
268#
269# libopie2pim needs a libqpe and libopie2core
270#
271
272#
273# libopie2ui needs a libqpe and libopie2core
274#
275
276#
277# libopie2mm needs a libqpe and libopie2core
278#
279
280#
281#
282#
283
284#
285# the examples need a libqpe, libopie2core, libopie2db, libopie2net, libopie2pim, libopie2ui and libopie2mm
286#
287
288#
289# SQL-Support needs libopie2db!
290#
diff --git a/include.pro b/include.pro
index 70ed731..4bdcaa7 100644
--- a/include.pro
+++ b/include.pro
@@ -1,28 +1,29 @@
1include ( $(OPIEDIR)/gen.pro ) 1include ( $(OPIEDIR)/gen.pro )
2 2
3# base opie install path 3# base opie install path
4prefix = /opt/QtPalmtop 4# prefix = /opt/QtPalmtop ??? Why here (eilers) ???
5prefix = $(OPIEDIR)
5 6
6contains( CONFIG, quick-app-lib ) { 7contains( CONFIG, quick-app-lib ) {
7 TEMPLATE = lib 8 TEMPLATE = lib
8 DESTDIR = $(OPIEDIR)/plugins/application 9 DESTDIR = $(OPIEDIR)/plugins/application
9 DEFINES += OPIE_APP_INTERFACE 10 DEFINES += OPIE_APP_INTERFACE
10 !contains( TARGET, launcher ) { 11 !contains( TARGET, launcher ) {
11 message( Linking $$TARGET to quicklauncher ) 12 message( Linking $$TARGET to quicklauncher )
12 system( rm -f $$(OPIEDIR)/bin/$$TARGET ) 13 system( rm -f $$(OPIEDIR)/bin/$$TARGET )
13 system( ln -s quicklauncher $$(OPIEDIR)/bin/$$TARGET ) 14 system( ln -s quicklauncher $$(OPIEDIR)/bin/$$TARGET )
14 } 15 }
15} 16}
16 17
17contains ( CONFIG, quick-app-bin ) { 18contains ( CONFIG, quick-app-bin ) {
18 TEMPLATE = app 19 TEMPLATE = app
19 DESTDIR = $(OPIEDIR)/bin 20 DESTDIR = $(OPIEDIR)/bin
20 DEFINES -= OPIE_APP_INTERFACE 21 DEFINES -= OPIE_APP_INTERFACE
21 message( Touching plugins/application/lib$${TARGET}.so ) 22 message( Touching plugins/application/lib$${TARGET}.so )
22 system( touch $$(OPIEDIR)/plugins/application/lib$${TARGET}.so ) 23 system( touch $$(OPIEDIR)/plugins/application/lib$${TARGET}.so )
23} 24}
24 25
25 26
26contains( TEMPLATE, lib ) { 27contains( TEMPLATE, lib ) {
27 target.path = $$prefix/lib 28 target.path = $$prefix/lib
28} 29}
@@ -74,32 +75,41 @@ root.path = /
74root.files = root/* 75root.files = root/*
75INSTALLS += root 76INSTALLS += root
76 77
77# new targets 78# new targets
78opie-lupdate.target = opie-lupdate 79opie-lupdate.target = opie-lupdate
79opie-lupdate.commands = opie-lupdate $(PRO) 80opie-lupdate.commands = opie-lupdate $(PRO)
80 81
81opie-lrelease.target = opie-lrelease 82opie-lrelease.target = opie-lrelease
82opie-lrelease.commands = opie-lrelease $(PRO) 83opie-lrelease.commands = opie-lrelease $(PRO)
83 84
84lupdate.target = lupdate 85lupdate.target = lupdate
85lupdate.commands = lupdate -noobsolete $(PRO) 86lupdate.commands = lupdate -noobsolete $(PRO)
86 87
87lrelease.target = lrelease 88lrelease.target = lrelease
88lrelease.commands = lrelease $(PRO) 89lrelease.commands = lrelease $(PRO)
89 90
90# new message target to get all strings from the apps with and without tr 91# new message target to get all strings from the apps with and without tr
91messages.target = messages 92messages.target = messages
92messages.commands = xgettext -C -n -ktr -kQT_TRANSLATE_NOOP $$HEADERS $$SOURCES -o '$(OPIEDIR)/messages-$(QMAKE_TARGET)-tr.po' && xgettext -C -n -a $$HEADERS $$SOURCES -o '$(OPIEDIR)/messages-$(QMAKE_TARGET)-allstrings.po' 93messages.commands = xgettext -C -n -ktr -kQT_TRANSLATE_NOOP $$HEADERS $$SOURCES -o '$(OPIEDIR)/messages-$(QMAKE_TARGET)-tr.po' && xgettext -C -n -a $$HEADERS $$SOURCES -o '$(OPIEDIR)/messages-$(QMAKE_TARGET)-allstrings.po'
93 94
94ipk.target = ipk 95ipk.target = ipk
95ipk.commands = tmp=`mktemp -d /tmp/ipkg-opie.XXXXXXXXXX` && ( $(MAKE) INSTALL_ROOT="$$$$tmp" install && ipkg-build $$$$tmp; rm -rf $$$$tmp; ) 96ipk.commands = tmp=`mktemp -d /tmp/ipkg-opie.XXXXXXXXXX` && ( $(MAKE) INSTALL_ROOT="$$$$tmp" install && ipkg-build $$$$tmp; rm -rf $$$$tmp; )
96 97
97QMAKE_EXTRA_UNIX_TARGETS += lupdate lrelease ipk opie-lupdate opie-lrelease messages 98QMAKE_EXTRA_UNIX_TARGETS += lupdate lrelease ipk opie-lupdate opie-lrelease messages
99CONFTEST = $$system( echo $CONFIG_TARGET_MACOSX )
100contains( CONFTEST, y ){
101QMAKE_LFLAGS += -Wl
102}
103else {
98QMAKE_LFLAGS += -Wl,-rpath=$$prefix/lib 104QMAKE_LFLAGS += -Wl,-rpath=$$prefix/lib
105# I am not sure whether it is a good idea to change the way plugins is build
106# on linux. Therefore I remove the "plugin" term, which is needed by MacOS-X
107CONFIG -= plugin
108}
99QMAKE_LIBDIR += $(OPIEDIR)/lib 109QMAKE_LIBDIR += $(OPIEDIR)/lib
100 110
101MOC_DIR=.moc/$(PLATFORM) 111MOC_DIR=.moc/$(PLATFORM)
102OBJECTS_DIR=.obj/$(PLATFORM) 112OBJECTS_DIR=.obj/$(PLATFORM)
103 113
104#was here now at thetop 114#was here now at thetop
105#include ( $(OPIEDIR)/gen.pro ) 115#include ( $(OPIEDIR)/gen.pro )
diff --git a/inputmethods/dasher/dasher.pro b/inputmethods/dasher/dasher.pro
index 7b6def9..b7669a4 100644
--- a/inputmethods/dasher/dasher.pro
+++ b/inputmethods/dasher/dasher.pro
@@ -1,26 +1,26 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 3
4HEADERS = Alphabet.h \ 4HEADERS = Alphabet.h \
5 DasherModel.h \ 5 DasherModel.h \
6 FrameRate.h \ 6 FrameRate.h \
7 AlphabetMap.h \ 7 AlphabetMap.h \
8 DasherNode.h \ 8 DasherNode.h \
9 LanguageModel.h \ 9 LanguageModel.h \
10 AlphIO.h \ 10 AlphIO.h \
11 DasherScreen.h \ 11 DasherScreen.h \
12 PPMLanguageModel.h \ 12 PPMLanguageModel.h \
13 Context.h \ 13 Context.h \
14 DasherSettingsInterface.h \ 14 DasherSettingsInterface.h \
15 QtDasherImpl.h \ 15 QtDasherImpl.h \
16 CustomAlphabet.h \ 16 CustomAlphabet.h \
17 DasherTypes.h \ 17 DasherTypes.h \
18 QtDasherPlugin.h \ 18 QtDasherPlugin.h \
19 DashEdit.h \ 19 DashEdit.h \
20 DasherView.h \ 20 DasherView.h \
21 QtDasherScreen.h \ 21 QtDasherScreen.h \
22 DasherAppInterface.h \ 22 DasherAppInterface.h \
23 DasherViewSquare.h \ 23 DasherViewSquare.h \
24 SettingsStore.h \ 24 SettingsStore.h \
25 DasherInterface.h \ 25 DasherInterface.h \
26 DasherWidgetInterface.h 26 DasherWidgetInterface.h
diff --git a/inputmethods/dvorak/dvorak.pro b/inputmethods/dvorak/dvorak.pro
index cd30aa2..67fe4e6 100644
--- a/inputmethods/dvorak/dvorak.pro
+++ b/inputmethods/dvorak/dvorak.pro
@@ -1,26 +1,26 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= dvorak.h \ 3 HEADERS= dvorak.h \
4 dvorakimpl.h 4 dvorakimpl.h
5 SOURCES= dvorak.cpp \ 5 SOURCES= dvorak.cpp \
6 dvorakimpl.cpp 6 dvorakimpl.cpp
7 TARGET = qdvorak 7 TARGET = qdvorak
8 DESTDIR = ../../plugins/inputmethods 8 DESTDIR = ../../plugins/inputmethods
9INCLUDEPATH += $(OPIEDIR)/include 9INCLUDEPATH += $(OPIEDIR)/include
10DEPENDPATH += ../$(OPIEDIR)/include ../../launcher 10DEPENDPATH += ../$(OPIEDIR)/include ../../launcher
11LIBS += -lqpe -L$(OPIEDIR)/plugins/inputmethods -lqpickboard 11LIBS += -lqpe -L$(OPIEDIR)/plugins/inputmethods -lqpickboard
12 QMAKE_LFLAGS+= -Wl,-rpath,/opt/QtPalmtop/plugins/inputmethods 12 QMAKE_LFLAGS+= -Wl,-rpath,/opt/QtPalmtop/plugins/inputmethods
13 VERSION = 1.0.0 13 VERSION = 1.0.0
14 14
15TRANSLATIONS = ../../i18n/de/libqdvorak.ts \ 15TRANSLATIONS = ../../i18n/de/libqdvorak.ts \
16 ../../i18n/nl/libqdvorak.ts \ 16 ../../i18n/nl/libqdvorak.ts \
17 ../../i18n/da/libqdvorak.ts \ 17 ../../i18n/da/libqdvorak.ts \
18 ../../i18n/xx/libqdvorak.ts \ 18 ../../i18n/xx/libqdvorak.ts \
19 ../../i18n/en/libqdvorak.ts \ 19 ../../i18n/en/libqdvorak.ts \
20 ../../i18n/es/libqdvorak.ts \ 20 ../../i18n/es/libqdvorak.ts \
21 ../../i18n/fr/libqdvorak.ts \ 21 ../../i18n/fr/libqdvorak.ts \
22 ../../i18n/hu/libqdvorak.ts \ 22 ../../i18n/hu/libqdvorak.ts \
23 ../../i18n/ja/libqdvorak.ts \ 23 ../../i18n/ja/libqdvorak.ts \
24 ../../i18n/ko/libqdvorak.ts \ 24 ../../i18n/ko/libqdvorak.ts \
25 ../../i18n/no/libqdvorak.ts \ 25 ../../i18n/no/libqdvorak.ts \
26 ../../i18n/pl/libqdvorak.ts \ 26 ../../i18n/pl/libqdvorak.ts \
diff --git a/inputmethods/handwriting/handwriting.pro b/inputmethods/handwriting/handwriting.pro
index 4ec5932..7a22208 100644
--- a/inputmethods/handwriting/handwriting.pro
+++ b/inputmethods/handwriting/handwriting.pro
@@ -1,26 +1,26 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= qimpenchar.h \ 3 HEADERS= qimpenchar.h \
4 qimpenprofile.h \ 4 qimpenprofile.h \
5 qimpencombining.h \ 5 qimpencombining.h \
6 qimpenhelp.h \ 6 qimpenhelp.h \
7 qimpeninput.h \ 7 qimpeninput.h \
8 qimpenmatch.h \ 8 qimpenmatch.h \
9 qimpensetup.h \ 9 qimpensetup.h \
10 qimpenstroke.h \ 10 qimpenstroke.h \
11 qimpenwidget.h \ 11 qimpenwidget.h \
12 qimpenwordpick.h \ 12 qimpenwordpick.h \
13 handwritingimpl.h 13 handwritingimpl.h
14 SOURCES= qimpenchar.cpp \ 14 SOURCES= qimpenchar.cpp \
15 qimpenprofile.cpp \ 15 qimpenprofile.cpp \
16 qimpencombining.cpp \ 16 qimpencombining.cpp \
17 qimpenhelp.cpp \ 17 qimpenhelp.cpp \
18 qimpeninput.cpp \ 18 qimpeninput.cpp \
19 qimpenmatch.cpp \ 19 qimpenmatch.cpp \
20 qimpensetup.cpp \ 20 qimpensetup.cpp \
21 qimpenstroke.cpp \ 21 qimpenstroke.cpp \
22 qimpenwidget.cpp \ 22 qimpenwidget.cpp \
23 qimpenwordpick.cpp \ 23 qimpenwordpick.cpp \
24 handwritingimpl.cpp 24 handwritingimpl.cpp
25INTERFACES = qimpenprefbase.ui 25INTERFACES = qimpenprefbase.ui
26 TARGET = qhandwriting 26 TARGET = qhandwriting
diff --git a/inputmethods/jumpx/jumpx.pro b/inputmethods/jumpx/jumpx.pro
index eff4563..a75ffd5 100644
--- a/inputmethods/jumpx/jumpx.pro
+++ b/inputmethods/jumpx/jumpx.pro
@@ -1,26 +1,26 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = keyboard.h \ 3HEADERS = keyboard.h \
4 keyboardimpl.h 4 keyboardimpl.h
5SOURCES = keyboard.cpp \ 5SOURCES = keyboard.cpp \
6 keyboardimpl.cpp 6 keyboardimpl.cpp
7TARGET = qjumpx 7TARGET = qjumpx
8DESTDIR = ../../plugins/inputmethods 8DESTDIR = ../../plugins/inputmethods
9INCLUDEPATH += $(OPIEDIR)/include 9INCLUDEPATH += $(OPIEDIR)/include
10DEPENDPATH += $(OPIEDIR)/include 10DEPENDPATH += $(OPIEDIR)/include
11LIBS += -lqpe 11LIBS += -lqpe
12VERSION = 1.0.0 12VERSION = 1.0.0
13 13
14TRANSLATIONS = ../../i18n/de/libqjumpx.ts \ 14TRANSLATIONS = ../../i18n/de/libqjumpx.ts \
15 ../../i18n/nl/libqjumpx.ts \ 15 ../../i18n/nl/libqjumpx.ts \
16 ../../i18n/da/libqjumpx.ts \ 16 ../../i18n/da/libqjumpx.ts \
17 ../../i18n/xx/libqjumpx.ts \ 17 ../../i18n/xx/libqjumpx.ts \
18 ../../i18n/en/libqjumpx.ts \ 18 ../../i18n/en/libqjumpx.ts \
19 ../../i18n/es/libqjumpx.ts \ 19 ../../i18n/es/libqjumpx.ts \
20 ../../i18n/fr/libqjumpx.ts \ 20 ../../i18n/fr/libqjumpx.ts \
21 ../../i18n/hu/libqjumpx.ts \ 21 ../../i18n/hu/libqjumpx.ts \
22 ../../i18n/ja/libqjumpx.ts \ 22 ../../i18n/ja/libqjumpx.ts \
23 ../../i18n/ko/libqjumpx.ts \ 23 ../../i18n/ko/libqjumpx.ts \
24 ../../i18n/no/libqjumpx.ts \ 24 ../../i18n/no/libqjumpx.ts \
25 ../../i18n/pl/libqjumpx.ts \ 25 ../../i18n/pl/libqjumpx.ts \
26 ../../i18n/pt/libqjumpx.ts \ 26 ../../i18n/pt/libqjumpx.ts \
diff --git a/inputmethods/keyboard/keyboard.pro b/inputmethods/keyboard/keyboard.pro
index 5ca97f1..56e35b9 100644
--- a/inputmethods/keyboard/keyboard.pro
+++ b/inputmethods/keyboard/keyboard.pro
@@ -1,26 +1,26 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= keyboard.h \ 3 HEADERS= keyboard.h \
4 keyboardimpl.h 4 keyboardimpl.h
5 SOURCES= keyboard.cpp \ 5 SOURCES= keyboard.cpp \
6 keyboardimpl.cpp 6 keyboardimpl.cpp
7 TARGET = qkeyboard 7 TARGET = qkeyboard
8 DESTDIR = ../../plugins/inputmethods 8 DESTDIR = ../../plugins/inputmethods
9INCLUDEPATH += $(OPIEDIR)/include 9INCLUDEPATH += $(OPIEDIR)/include
10DEPENDPATH += ../$(OPIEDIR)/include ../../launcher 10DEPENDPATH += ../$(OPIEDIR)/include ../../launcher
11LIBS += -lqpe -L$(OPIEDIR)/plugins/inputmethods -lqpickboard 11LIBS += -lqpe -L$(OPIEDIR)/plugins/inputmethods -lqpickboard
12 QMAKE_LFLAGS+= -Wl,-rpath,/opt/QtPalmtop/plugins/inputmethods 12 QMAKE_LFLAGS+= -Wl,-rpath,/opt/QtPalmtop/plugins/inputmethods
13 VERSION = 1.0.0 13 VERSION = 1.0.0
14 14
15TRANSLATIONS = ../../i18n/de/libqkeyboard.ts \ 15TRANSLATIONS = ../../i18n/de/libqkeyboard.ts \
16 ../../i18n/nl/libqkeyboard.ts \ 16 ../../i18n/nl/libqkeyboard.ts \
17 ../../i18n/da/libqkeyboard.ts \ 17 ../../i18n/da/libqkeyboard.ts \
18 ../../i18n/xx/libqkeyboard.ts \ 18 ../../i18n/xx/libqkeyboard.ts \
19 ../../i18n/en/libqkeyboard.ts \ 19 ../../i18n/en/libqkeyboard.ts \
20 ../../i18n/es/libqkeyboard.ts \ 20 ../../i18n/es/libqkeyboard.ts \
21 ../../i18n/fr/libqkeyboard.ts \ 21 ../../i18n/fr/libqkeyboard.ts \
22 ../../i18n/hu/libqkeyboard.ts \ 22 ../../i18n/hu/libqkeyboard.ts \
23 ../../i18n/ja/libqkeyboard.ts \ 23 ../../i18n/ja/libqkeyboard.ts \
24 ../../i18n/ko/libqkeyboard.ts \ 24 ../../i18n/ko/libqkeyboard.ts \
25 ../../i18n/no/libqkeyboard.ts \ 25 ../../i18n/no/libqkeyboard.ts \
26 ../../i18n/pl/libqkeyboard.ts \ 26 ../../i18n/pl/libqkeyboard.ts \
diff --git a/inputmethods/kjumpx/kjumpx.pro b/inputmethods/kjumpx/kjumpx.pro
index 0624583..2dd6ddf 100644
--- a/inputmethods/kjumpx/kjumpx.pro
+++ b/inputmethods/kjumpx/kjumpx.pro
@@ -1,26 +1,26 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = keyboard.h \ 3HEADERS = keyboard.h \
4 keyboardimpl.h 4 keyboardimpl.h
5SOURCES = keyboard.cpp \ 5SOURCES = keyboard.cpp \
6 keyboardimpl.cpp 6 keyboardimpl.cpp
7TARGET = qkjumpx 7TARGET = qkjumpx
8DESTDIR = ../../plugins/inputmethods 8DESTDIR = ../../plugins/inputmethods
9INCLUDEPATH += $(OPIEDIR)/include 9INCLUDEPATH += $(OPIEDIR)/include
10DEPENDPATH += $(OPIEDIR)/include 10DEPENDPATH += $(OPIEDIR)/include
11LIBS += -lqpe 11LIBS += -lqpe
12VERSION = 1.0.0 12VERSION = 1.0.0
13 13
14TRANSLATIONS = ../../i18n/de/libqkjumpx.ts \ 14TRANSLATIONS = ../../i18n/de/libqkjumpx.ts \
15 ../../i18n/nl/libqkjumpx.ts \ 15 ../../i18n/nl/libqkjumpx.ts \
16 ../../i18n/da/libqkjumpx.ts \ 16 ../../i18n/da/libqkjumpx.ts \
17 ../../i18n/xx/libqkjumpx.ts \ 17 ../../i18n/xx/libqkjumpx.ts \
18 ../../i18n/en/libqkjumpx.ts \ 18 ../../i18n/en/libqkjumpx.ts \
19 ../../i18n/es/libqkjumpx.ts \ 19 ../../i18n/es/libqkjumpx.ts \
20 ../../i18n/fr/libqkjumpx.ts \ 20 ../../i18n/fr/libqkjumpx.ts \
21 ../../i18n/hu/libqkjumpx.ts \ 21 ../../i18n/hu/libqkjumpx.ts \
22 ../../i18n/ja/libqkjumpx.ts \ 22 ../../i18n/ja/libqkjumpx.ts \
23 ../../i18n/ko/libqkjumpx.ts \ 23 ../../i18n/ko/libqkjumpx.ts \
24 ../../i18n/no/libqkjumpx.ts \ 24 ../../i18n/no/libqkjumpx.ts \
25 ../../i18n/pl/libqkjumpx.ts \ 25 ../../i18n/pl/libqkjumpx.ts \
26 ../../i18n/pt/libqkjumpx.ts \ 26 ../../i18n/pt/libqkjumpx.ts \
diff --git a/inputmethods/multikey/multikey.pro b/inputmethods/multikey/multikey.pro
index 424c000..82dcb94 100644
--- a/inputmethods/multikey/multikey.pro
+++ b/inputmethods/multikey/multikey.pro
@@ -1,26 +1,26 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= keyboard.h \ 3 HEADERS= keyboard.h \
4 configdlg.h \ 4 configdlg.h \
5 keyboardimpl.h 5 keyboardimpl.h
6 SOURCES= keyboard.cpp \ 6 SOURCES= keyboard.cpp \
7 configdlg.cpp \ 7 configdlg.cpp \
8 keyboardimpl.cpp 8 keyboardimpl.cpp
9 TARGET = qmultikey 9 TARGET = qmultikey
10 DESTDIR = $(OPIEDIR)/plugins/inputmethods 10 DESTDIR = $(OPIEDIR)/plugins/inputmethods
11INCLUDEPATH += $(OPIEDIR)/include 11INCLUDEPATH += $(OPIEDIR)/include
12DEPENDPATH += ../$(OPIEDIR)/include ../../launcher 12DEPENDPATH += ../$(OPIEDIR)/include ../../launcher
13LIBS += -lqpe -L$(OPIEDIR)/plugins/inputmethods -lqpickboard 13LIBS += -lqpe -L$(OPIEDIR)/plugins/inputmethods -lqpickboard
14 QMAKE_LFLAGS+= -Wl,-rpath,/opt/QtPalmtop/plugins/inputmethods 14 QMAKE_LFLAGS+= -Wl,-rpath,/opt/QtPalmtop/plugins/inputmethods
15 VERSION = 1.0.0 15 VERSION = 1.0.0
16 16
17TRANSLATIONS = ../../i18n/pt_BR/libqmultikey.ts \ 17TRANSLATIONS = ../../i18n/pt_BR/libqmultikey.ts \
18 ../../i18n/nl/libqmultikey.ts \ 18 ../../i18n/nl/libqmultikey.ts \
19 ../../i18n/de/libqmultikey.ts \ 19 ../../i18n/de/libqmultikey.ts \
20 ../../i18n/xx/libqmultikey.ts \ 20 ../../i18n/xx/libqmultikey.ts \
21 ../../i18n/en/libqmultikey.ts \ 21 ../../i18n/en/libqmultikey.ts \
22 ../../i18n/hu/libqmultikey.ts \ 22 ../../i18n/hu/libqmultikey.ts \
23 ../../i18n/sl/libqmultikey.ts \ 23 ../../i18n/sl/libqmultikey.ts \
24 ../../i18n/ja/libqmultikey.ts \ 24 ../../i18n/ja/libqmultikey.ts \
25 ../../i18n/ko/libqmultikey.ts \ 25 ../../i18n/ko/libqmultikey.ts \
26 ../../i18n/pl/libqmultikey.ts \ 26 ../../i18n/pl/libqmultikey.ts \
diff --git a/inputmethods/pickboard/pickboard.pro b/inputmethods/pickboard/pickboard.pro
index 53ff8f0..b86c069 100644
--- a/inputmethods/pickboard/pickboard.pro
+++ b/inputmethods/pickboard/pickboard.pro
@@ -1,26 +1,26 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= pickboard.h pickboardcfg.h pickboardimpl.h pickboardpicks.h 3 HEADERS= pickboard.h pickboardcfg.h pickboardimpl.h pickboardpicks.h
4 SOURCES= pickboard.cpp pickboardcfg.cpp pickboardimpl.cpp pickboardpicks.cpp 4 SOURCES= pickboard.cpp pickboardcfg.cpp pickboardimpl.cpp pickboardpicks.cpp
5 TARGET = qpickboard 5 TARGET = qpickboard
6 DESTDIR = ../../plugins/inputmethods 6 DESTDIR = ../../plugins/inputmethods
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include ../../launcher 8DEPENDPATH += ../$(OPIEDIR)/include ../../launcher
9LIBS += -lqpe 9LIBS += -lqpe
10 VERSION = 1.0.0 10 VERSION = 1.0.0
11 11
12TRANSLATIONS = ../../i18n/de/libqpickboard.ts \ 12TRANSLATIONS = ../../i18n/de/libqpickboard.ts \
13 ../../i18n/nl/libqpickboard.ts \ 13 ../../i18n/nl/libqpickboard.ts \
14 ../../i18n/da/libqpickboard.ts \ 14 ../../i18n/da/libqpickboard.ts \
15 ../../i18n/xx/libqpickboard.ts \ 15 ../../i18n/xx/libqpickboard.ts \
16 ../../i18n/en/libqpickboard.ts \ 16 ../../i18n/en/libqpickboard.ts \
17 ../../i18n/es/libqpickboard.ts \ 17 ../../i18n/es/libqpickboard.ts \
18 ../../i18n/fr/libqpickboard.ts \ 18 ../../i18n/fr/libqpickboard.ts \
19 ../../i18n/hu/libqpickboard.ts \ 19 ../../i18n/hu/libqpickboard.ts \
20 ../../i18n/ja/libqpickboard.ts \ 20 ../../i18n/ja/libqpickboard.ts \
21 ../../i18n/ko/libqpickboard.ts \ 21 ../../i18n/ko/libqpickboard.ts \
22 ../../i18n/no/libqpickboard.ts \ 22 ../../i18n/no/libqpickboard.ts \
23 ../../i18n/pl/libqpickboard.ts \ 23 ../../i18n/pl/libqpickboard.ts \
24 ../../i18n/pt/libqpickboard.ts \ 24 ../../i18n/pt/libqpickboard.ts \
25 ../../i18n/pt_BR/libqpickboard.ts \ 25 ../../i18n/pt_BR/libqpickboard.ts \
26 ../../i18n/sl/libqpickboard.ts \ 26 ../../i18n/sl/libqpickboard.ts \
diff --git a/inputmethods/unikeyboard/unikeyboard.pro b/inputmethods/unikeyboard/unikeyboard.pro
index 0732dc8..678f575 100644
--- a/inputmethods/unikeyboard/unikeyboard.pro
+++ b/inputmethods/unikeyboard/unikeyboard.pro
@@ -1,26 +1,26 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS= unikeyboard.h unikeyboardimpl.h 3 HEADERS= unikeyboard.h unikeyboardimpl.h
4 SOURCES= unikeyboard.cpp unikeyboardimpl.cpp 4 SOURCES= unikeyboard.cpp unikeyboardimpl.cpp
5 TARGET = qunikeyboard 5 TARGET = qunikeyboard
6 DESTDIR = ../../plugins/inputmethods 6 DESTDIR = ../../plugins/inputmethods
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += ../$(OPIEDIR)/include ../../launcher 8DEPENDPATH += ../$(OPIEDIR)/include ../../launcher
9LIBS += -lqpe 9LIBS += -lqpe
10 VERSION = 1.0.0 10 VERSION = 1.0.0
11 11
12TRANSLATIONS = ../../i18n/de/libqunikeyboard.ts \ 12TRANSLATIONS = ../../i18n/de/libqunikeyboard.ts \
13 ../../i18n/nl/libqunikeyboard.ts \ 13 ../../i18n/nl/libqunikeyboard.ts \
14 ../../i18n/da/libqunikeyboard.ts \ 14 ../../i18n/da/libqunikeyboard.ts \
15 ../../i18n/xx/libqunikeyboard.ts \ 15 ../../i18n/xx/libqunikeyboard.ts \
16 ../../i18n/en/libqunikeyboard.ts \ 16 ../../i18n/en/libqunikeyboard.ts \
17 ../../i18n/es/libqunikeyboard.ts \ 17 ../../i18n/es/libqunikeyboard.ts \
18 ../../i18n/fr/libqunikeyboard.ts \ 18 ../../i18n/fr/libqunikeyboard.ts \
19 ../../i18n/hu/libqunikeyboard.ts \ 19 ../../i18n/hu/libqunikeyboard.ts \
20 ../../i18n/ja/libqunikeyboard.ts \ 20 ../../i18n/ja/libqunikeyboard.ts \
21 ../../i18n/ko/libqunikeyboard.ts \ 21 ../../i18n/ko/libqunikeyboard.ts \
22 ../../i18n/no/libqunikeyboard.ts \ 22 ../../i18n/no/libqunikeyboard.ts \
23 ../../i18n/pl/libqunikeyboard.ts \ 23 ../../i18n/pl/libqunikeyboard.ts \
24 ../../i18n/pt/libqunikeyboard.ts \ 24 ../../i18n/pt/libqunikeyboard.ts \
25 ../../i18n/pt_BR/libqunikeyboard.ts \ 25 ../../i18n/pt_BR/libqunikeyboard.ts \
26 ../../i18n/sl/libqunikeyboard.ts \ 26 ../../i18n/sl/libqunikeyboard.ts \
diff --git a/libopie/libopie.pro b/libopie/libopie.pro
index 0398775..bf6b78f 100644
--- a/libopie/libopie.pro
+++ b/libopie/libopie.pro
@@ -72,52 +72,48 @@ SOURCES = ofontmenu.cc \
72 pim/ocontactaccessbackend_xml.cpp \ 72 pim/ocontactaccessbackend_xml.cpp \
73 pim/otodoaccessvcal.cpp \ 73 pim/otodoaccessvcal.cpp \
74 pim/orecur.cpp \ 74 pim/orecur.cpp \
75 pim/opimstate.cpp \ 75 pim/opimstate.cpp \
76 pim/opimxrefpartner.cpp \ 76 pim/opimxrefpartner.cpp \
77 pim/opimxref.cpp \ 77 pim/opimxref.cpp \
78 pim/opimxrefmanager.cpp \ 78 pim/opimxrefmanager.cpp \
79 pim/opimmaintainer.cpp \ 79 pim/opimmaintainer.cpp \
80 pim/opimnotify.cpp \ 80 pim/opimnotify.cpp \
81 pim/opimnotifymanager.cpp \ 81 pim/opimnotifymanager.cpp \
82 pim/opimmainwindow.cpp \ 82 pim/opimmainwindow.cpp \
83 pim/opimresolver.cpp \ 83 pim/opimresolver.cpp \
84 pim/oevent.cpp \ 84 pim/oevent.cpp \
85 pim/otimezone.cpp \ 85 pim/otimezone.cpp \
86 pim/odatebookaccess.cpp \ 86 pim/odatebookaccess.cpp \
87 pim/odatebookaccessbackend.cpp \ 87 pim/odatebookaccessbackend.cpp \
88 pim/odatebookaccessbackend_xml.cpp \ 88 pim/odatebookaccessbackend_xml.cpp \
89 orecurrancewidget.cpp \ 89 orecurrancewidget.cpp \
90 oticker.cpp owait.cpp 90 oticker.cpp owait.cpp
91 91
92TARGET = opie 92TARGET = opie
93INCLUDEPATH += $(OPIEDIR)/include 93INCLUDEPATH += $(OPIEDIR)/include
94DESTDIR = $(OPIEDIR)/lib$(PROJMAK) 94DESTDIR = $(OPIEDIR)/lib$(PROJMAK)
95 95
96# The following is just for my Notebook !
97# It should never be committed !! (eilers)
98# QMAKE_CXXFLAGS += -DQT_NO_SOUND
99
100LIBS += -lqpe 96LIBS += -lqpe
101 97
102# Add SQL-Support if selected by config (eilers) 98# Add SQL-Support if selected by config (eilers)
103CONFTEST = $$system( echo $CONFIG_SQL_PIM_BACKEND ) 99CONFTEST = $$system( echo $CONFIG_SQL_PIM_BACKEND )
104contains( CONFTEST, y ){ 100contains( CONFTEST, y ){
105 101
106DEFINES += __USE_SQL 102DEFINES += __USE_SQL
107LIBS += -lopiedb2 -lsqlite 103LIBS += -lopiedb2 -lsqlite
108HEADERS += pim/otodoaccesssql.h pim/ocontactaccessbackend_sql.h 104HEADERS += pim/otodoaccesssql.h pim/ocontactaccessbackend_sql.h
109SOURCES += pim/otodoaccesssql.cpp pim/ocontactaccessbackend_sql.cpp 105SOURCES += pim/otodoaccesssql.cpp pim/ocontactaccessbackend_sql.cpp
110 106
111} 107}
112 108
113INTERFACES = otimepickerbase.ui orecurrancebase.ui 109INTERFACES = otimepickerbase.ui orecurrancebase.ui
114TARGET = opie 110TARGET = opie
115 111
116TRANSLATIONS = ../i18n/de/libopie.ts \ 112TRANSLATIONS = ../i18n/de/libopie.ts \
117 ../i18n/nl/libopie.ts \ 113 ../i18n/nl/libopie.ts \
118 ../i18n/xx/libopie.ts \ 114 ../i18n/xx/libopie.ts \
119 ../i18n/en/libopie.ts \ 115 ../i18n/en/libopie.ts \
120 ../i18n/es/libopie.ts \ 116 ../i18n/es/libopie.ts \
121 ../i18n/fr/libopie.ts \ 117 ../i18n/fr/libopie.ts \
122 ../i18n/hu/libopie.ts \ 118 ../i18n/hu/libopie.ts \
123 ../i18n/ja/libopie.ts \ 119 ../i18n/ja/libopie.ts \
diff --git a/libopie/odevice.cpp b/libopie/odevice.cpp
index 3edf8e7..fef623a 100644
--- a/libopie/odevice.cpp
+++ b/libopie/odevice.cpp
@@ -2,49 +2,51 @@
2 Copyright (C) 2002 Robert Griebl (sandman@handhelds.org) 2 Copyright (C) 2002 Robert Griebl (sandman@handhelds.org)
3 3
4 This library is free software; you can redistribute it and/or 4 This library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Library General Public 5 modify it under the terms of the GNU Library General Public
6 License as published by the Free Software Foundation; either 6 License as published by the Free Software Foundation; either
7 version 2 of the License, or (at your option) any later version. 7 version 2 of the License, or (at your option) any later version.
8 8
9 This library is distributed in the hope that it will be useful, 9 This library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of 10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Library General Public License for more details. 12 Library General Public License for more details.
13 13
14 You should have received a copy of the GNU Library General Public License 14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to 15 along with this library; see the file COPYING.LIB. If not, write to
16 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 16 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 Boston, MA 02111-1307, USA. 17 Boston, MA 02111-1307, USA.
18*/ 18*/
19 19
20#include <stdlib.h> 20#include <stdlib.h>
21#include <unistd.h> 21#include <unistd.h>
22#include <fcntl.h> 22#include <fcntl.h>
23#include <sys/ioctl.h> 23#include <sys/ioctl.h>
24#include <signal.h> 24#include <signal.h>
25#include <sys/time.h> 25#include <sys/time.h>
26#ifndef QT_NO_SOUND
26#include <linux/soundcard.h> 27#include <linux/soundcard.h>
28#endif
27#include <math.h> 29#include <math.h>
28 30
29#include <qapplication.h> 31#include <qapplication.h>
30 32
31#include <qfile.h> 33#include <qfile.h>
32#include <qtextstream.h> 34#include <qtextstream.h>
33#include <qpe/sound.h> 35#include <qpe/sound.h>
34#include <qpe/resource.h> 36#include <qpe/resource.h>
35#include <qpe/config.h> 37#include <qpe/config.h>
36#include <qpe/qcopenvelope_qws.h> 38#include <qpe/qcopenvelope_qws.h>
37 39
38#include "odevice.h" 40#include "odevice.h"
39 41
40#include <qwindowsystem_qws.h> 42#include <qwindowsystem_qws.h>
41 43
42#ifndef ARRAY_SIZE 44#ifndef ARRAY_SIZE
43#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) 45#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
44#endif 46#endif
45 47
46// _IO and friends are only defined in kernel headers ... 48// _IO and friends are only defined in kernel headers ...
47 49
48#define OD_IOC(dir,type,number,size) (( dir << 30 ) | ( type << 8 ) | ( number ) | ( size << 16 )) 50#define OD_IOC(dir,type,number,size) (( dir << 30 ) | ( type << 8 ) | ( number ) | ( size << 16 ))
49 51
50#define OD_IO(type,number) OD_IOC(0,type,number,0) 52#define OD_IO(type,number) OD_IOC(0,type,number,0)
diff --git a/library/filemanager.cpp b/library/filemanager.cpp
index cc657fa..91986a0 100644
--- a/library/filemanager.cpp
+++ b/library/filemanager.cpp
@@ -10,49 +10,58 @@
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#include "filemanager.h" 20#include "filemanager.h"
21#include "applnk.h" 21#include "applnk.h"
22 22
23#include <qdir.h> 23#include <qdir.h>
24#include <qfile.h> 24#include <qfile.h>
25#include <qfileinfo.h> 25#include <qfileinfo.h>
26#include <qtextstream.h> 26#include <qtextstream.h>
27#include <qtextcodec.h> 27#include <qtextcodec.h>
28 28
29#include <errno.h> 29#include <errno.h>
30#include <stdlib.h> 30#include <stdlib.h>
31#include <unistd.h> 31#include <unistd.h>
32#include <sys/stat.h> 32#include <sys/stat.h>
33#include <dirent.h> 33#include <dirent.h>
34#include <sys/sendfile.h> 34#ifdef Q_OS_MACX
35// MacOS X does not have sendfile.. :(
36// But maybe in the future.. !?
37# ifdef SENDFILE
38# include <sys/types.h>
39# include <sys/socket.h>
40# endif
41#else
42# include <sys/sendfile.h>
43#endif /* Q_OS_MACX */
35#include <fcntl.h> 44#include <fcntl.h>
36 45
37/*! 46/*!
38 \class FileManager 47 \class FileManager
39 \brief The FileManager class assists with AppLnk input/output. 48 \brief The FileManager class assists with AppLnk input/output.
40*/ 49*/
41 50
42/*! 51/*!
43 Constructs a FileManager. 52 Constructs a FileManager.
44*/ 53*/
45FileManager::FileManager() 54FileManager::FileManager()
46{ 55{
47} 56}
48 57
49/*! 58/*!
50 Destroys a FileManager. 59 Destroys a FileManager.
51*/ 60*/
52FileManager::~FileManager() 61FileManager::~FileManager()
53{ 62{
54 63
55} 64}
56 65
57/*! 66/*!
58 Saves \a data as the document specified by \a f. 67 Saves \a data as the document specified by \a f.
@@ -195,81 +204,115 @@ bool FileManager::copyFile( const AppLnk &src, const AppLnk &dest )
195 ok = FALSE; 204 ok = FALSE;
196 else 205 else
197 bytesRead -= bytesWritten; 206 bytesRead -= bytesWritten;
198 } 207 }
199 } 208 }
200 209
201 if ( ok ) 210 if ( ok )
202 ok = dest.writeLink(); 211 ok = dest.writeLink();
203 212
204 if ( ok ) { 213 if ( ok ) {
205 // okay now rename the file... 214 // okay now rename the file...
206 if ( !renameFile( fn.latin1(), dest.file().latin1() ) ) { 215 if ( !renameFile( fn.latin1(), dest.file().latin1() ) ) {
207 qWarning( "problem renaming file %s to %s, errno: %d", fn.latin1(), 216 qWarning( "problem renaming file %s to %s, errno: %d", fn.latin1(),
208 dest.file().latin1(), errno ); 217 dest.file().latin1(), errno );
209 // remove the tmp file, otherwise, it will just lay around... 218 // remove the tmp file, otherwise, it will just lay around...
210 QFile::remove( fn.latin1() ); 219 QFile::remove( fn.latin1() );
211 } 220 }
212 } else { 221 } else {
213 QFile::remove( fn.latin1() ); 222 QFile::remove( fn.latin1() );
214 } 223 }
215 224
216 return ok; 225 return ok;
217} 226}
218 227
228
229
219bool FileManager::copyFile( const QString & src, const QString & dest ) { 230bool FileManager::copyFile( const QString & src, const QString & dest ) {
220 bool success = true; 231 bool success = true;
221 struct stat status; 232 struct stat status;
222 int read_fd=0; 233 int read_fd=0;
223 int write_fd=0; 234 int write_fd=0;
224 struct stat stat_buf; 235 struct stat stat_buf;
225 off_t offset = 0; 236 off_t offset = 0;
226 QFile srcFile(src); 237 QFile srcFile(src);
227 QFile destFile(dest); 238 QFile destFile(dest);
228 239
229 if(!srcFile.open( IO_ReadOnly|IO_Raw)) { 240 if(!srcFile.open( IO_ReadOnly|IO_Raw)) {
230 return success = false; 241 return success = false;
231 } 242 }
232 read_fd = srcFile.handle(); 243 read_fd = srcFile.handle();
233 if(read_fd != -1) { 244 if(read_fd != -1) {
234 fstat (read_fd, &stat_buf); 245 fstat (read_fd, &stat_buf);
235 if( !destFile.open( IO_WriteOnly|IO_Raw ) ) 246 if( !destFile.open( IO_WriteOnly|IO_Raw ) )
236 return success = false; 247 return success = false;
237 write_fd = destFile.handle(); 248 write_fd = destFile.handle();
238 if(write_fd != -1) { 249 if(write_fd != -1) {
239 int err=0; 250 int err=0;
240 QString msg; 251 QString msg;
241 err = sendfile(write_fd, read_fd, &offset, stat_buf.st_size); 252#ifdef Q_OS_MACX
242 if( err == -1) { 253#ifdef SENDMAIL
243 switch(err) { 254 /* FreeBSD does support a different kind of
244 case EBADF : msg = "The input file was not opened for reading or the output file was not opened for writing. "; 255 * sendfile. (eilers)
245 case EINVAL: msg = "Descriptor is not valid or locked. "; 256 * I took this from Very Secure FTPd
246 case ENOMEM: msg = "Insufficient memory to read from in_fd."; 257 * Licence: GPL
247 case EIO: msg = "Unspecified error while reading from in_fd."; 258 * Author: Chris Evans
248 }; 259 * sysdeputil.c
249 success = false; 260 */
250 } 261 /* XXX - start_pos will truncate on 32-bit machines - can we
251 } else { 262 * say "start from current pos"?
263 */
264 off_t written = 0;
265 int retval = 0;
266 retval = sendfile(read_fd, write_fd, offset, stat_buf.st_size, NULL,
267 &written, 0);
268 /* Translate to Linux-like retval */
269 if (written > 0)
270 {
271 err = (int) written;
272 }
273#else /* SENDMAIL */
274 err == -1;
275 msg = "FAILURE: Using unsupported function \"sendfile()\" Need Workaround !!";
276 success = false;
277# warning "Need workaround for sendfile!!(eilers)"
278#endif /* SENDMAIL */
279
280#else
281 err = sendfile(write_fd, read_fd, &offset, stat_buf.st_size);
282 if( err == -1) {
283 switch(err) {
284 case EBADF : msg = "The input file was not opened for reading or the output file was not opened for writing. ";
285 case EINVAL: msg = "Descriptor is not valid or locked. ";
286 case ENOMEM: msg = "Insufficient memory to read from in_fd.";
287 case EIO: msg = "Unspecified error while reading from in_fd.";
288 };
289 success = false;
290 }
291#endif /* Q_OS_MACX */
292 if( !success )
293 qWarning( msg );
294 } else {
252 qWarning("open write failed %s, %s",src.latin1(), dest.latin1()); 295 qWarning("open write failed %s, %s",src.latin1(), dest.latin1());
253 success = false; 296 success = false;
254 } 297 }
255 } else { 298 } else {
256 qWarning("open read failed %s, %s",src.latin1(), dest.latin1()); 299 qWarning("open read failed %s, %s",src.latin1(), dest.latin1());
257 success = false; 300 success = false;
258 } 301 }
259 srcFile.close(); 302 srcFile.close();
260 destFile.close(); 303 destFile.close();
261 // Set file permissions 304 // Set file permissions
262 if( stat( (const char *) src, &status ) == 0 ) { 305 if( stat( (const char *) src, &status ) == 0 ) {
263 chmod( (const char *) dest, status.st_mode ); 306 chmod( (const char *) dest, status.st_mode );
264 } 307 }
265 308
266 return success; 309 return success;
267} 310}
268 311
269 312
270bool FileManager::renameFile( const QString & src, const QString & dest ) { 313bool FileManager::renameFile( const QString & src, const QString & dest ) {
271 if(copyFile( src, dest )) { 314 if(copyFile( src, dest )) {
272 if(QFile::remove(src) ) { 315 if(QFile::remove(src) ) {
273 return true; 316 return true;
274 } 317 }
275 } 318 }
diff --git a/library/fontdatabase.cpp b/library/fontdatabase.cpp
index c7a5211..2ad8e95 100644
--- a/library/fontdatabase.cpp
+++ b/library/fontdatabase.cpp
@@ -149,49 +149,53 @@ QValueList<int> FontDatabase::standardSizes()
149 that the plugins can read available. 149 that the plugins can read available.
150*/ 150*/
151void FontDatabase::loadRenderers() 151void FontDatabase::loadRenderers()
152{ 152{
153#ifndef QWS 153#ifndef QWS
154 return; 154 return;
155#else 155#else
156 156
157#ifndef QT_NO_COMPONENT 157#ifndef QT_NO_COMPONENT
158 if ( !factoryList ) 158 if ( !factoryList )
159 factoryList = new QValueList<FontFactory>; 159 factoryList = new QValueList<FontFactory>;
160 160
161 QValueList<FontFactory>::Iterator mit; 161 QValueList<FontFactory>::Iterator mit;
162 for ( mit = factoryList->begin(); mit != factoryList->end(); ++mit ) { 162 for ( mit = factoryList->begin(); mit != factoryList->end(); ++mit ) {
163 qt_fontmanager->factories.setAutoDelete( false ); 163 qt_fontmanager->factories.setAutoDelete( false );
164 qt_fontmanager->factories.removeRef( (*mit).factory ); 164 qt_fontmanager->factories.removeRef( (*mit).factory );
165 qt_fontmanager->factories.setAutoDelete( true ); 165 qt_fontmanager->factories.setAutoDelete( true );
166 (*mit).interface->release(); 166 (*mit).interface->release();
167 (*mit).library->unload(); 167 (*mit).library->unload();
168 delete (*mit).library; 168 delete (*mit).library;
169 } 169 }
170 factoryList->clear(); 170 factoryList->clear();
171 171
172 QString path = QPEApplication::qpeDir() + "/plugins/fontfactories"; 172 QString path = QPEApplication::qpeDir() + "/plugins/fontfactories";
173#ifdef Q_OS_MACX
174 QDir dir( path, "lib*.dylib" );
175#else
173 QDir dir( path, "lib*.so" ); 176 QDir dir( path, "lib*.so" );
177#endif
174 178
175 if ( !dir.exists()) 179 if ( !dir.exists())
176 return; 180 return;
177 181
178 QStringList list = dir.entryList(); 182 QStringList list = dir.entryList();
179 QStringList::Iterator it; 183 QStringList::Iterator it;
180 for ( it = list.begin(); it != list.end(); ++it ) { 184 for ( it = list.begin(); it != list.end(); ++it ) {
181 FontFactoryInterface *iface = 0; 185 FontFactoryInterface *iface = 0;
182 QLibrary *lib = new QLibrary( path + "/" + *it ); 186 QLibrary *lib = new QLibrary( path + "/" + *it );
183 if ( lib->queryInterface( IID_FontFactory, (QUnknownInterface**)&iface ) == QS_OK ) { 187 if ( lib->queryInterface( IID_FontFactory, (QUnknownInterface**)&iface ) == QS_OK ) {
184 FontFactory factory; 188 FontFactory factory;
185 factory.library = lib; 189 factory.library = lib;
186 factory.interface = iface; 190 factory.interface = iface;
187 factory.factory = factory.interface->fontFactory(); 191 factory.factory = factory.interface->fontFactory();
188 factoryList->append( factory ); 192 factoryList->append( factory );
189 qt_fontmanager->factories.append( factory.factory ); 193 qt_fontmanager->factories.append( factory.factory );
190 readFonts( factory.factory ); 194 readFonts( factory.factory );
191 } else { 195 } else {
192 delete lib; 196 delete lib;
193 } 197 }
194 } 198 }
195#endif 199#endif
196#endif 200#endif
197} 201}
diff --git a/library/global.cpp b/library/global.cpp
index 90954fe..05d23ac 100644
--- a/library/global.cpp
+++ b/library/global.cpp
@@ -583,49 +583,53 @@ void Global::invoke(const QString &c)
583 583
584#endif 584#endif
585 585
586#ifdef QT_NO_QWS_MULTIPROCESS 586#ifdef QT_NO_QWS_MULTIPROCESS
587 QMessageBox::warning( 0, "Error", "Could not find the application " + c, "Ok", 0, 0, 0, 1 ); 587 QMessageBox::warning( 0, "Error", "Could not find the application " + c, "Ok", 0, 0, 0, 1 );
588#else 588#else
589 589
590 QStrList slist; 590 QStrList slist;
591 unsigned int j; 591 unsigned int j;
592 for ( j = 0; j < list.count(); j++ ) 592 for ( j = 0; j < list.count(); j++ )
593 slist.append( list[j].utf8() ); 593 slist.append( list[j].utf8() );
594 594
595 const char **args = new (const char *)[slist.count() + 1]; 595 const char **args = new (const char *)[slist.count() + 1];
596 for ( j = 0; j < slist.count(); j++ ) 596 for ( j = 0; j < slist.count(); j++ )
597 args[j] = slist.at(j); 597 args[j] = slist.at(j);
598 args[j] = NULL; 598 args[j] = NULL;
599 599
600#if !defined(QT_NO_COP) 600#if !defined(QT_NO_COP)
601 // an attempt to show a wait... 601 // an attempt to show a wait...
602 // more logic should be used, but this will be fine for the moment... 602 // more logic should be used, but this will be fine for the moment...
603 QCopEnvelope ( "QPE/System", "busy()" ); 603 QCopEnvelope ( "QPE/System", "busy()" );
604#endif 604#endif
605 605
606#ifdef HAVE_QUICKEXEC 606#ifdef HAVE_QUICKEXEC
607#ifdef Q_OS_MACX
608 QString libexe = qpeDir()+"/binlib/lib"+args[0] + ".dylib";
609#else
607 QString libexe = qpeDir()+"/binlib/lib"+args[0] + ".so"; 610 QString libexe = qpeDir()+"/binlib/lib"+args[0] + ".so";
611#endif
608 qDebug("libfile = %s", libexe.latin1() ); 612 qDebug("libfile = %s", libexe.latin1() );
609 if ( QFile::exists( libexe ) ) { 613 if ( QFile::exists( libexe ) ) {
610 qDebug("calling quickexec %s", libexe.latin1() ); 614 qDebug("calling quickexec %s", libexe.latin1() );
611 quickexecv( libexe.utf8().data(), (const char **)args ); 615 quickexecv( libexe.utf8().data(), (const char **)args );
612 } else 616 } else
613#endif 617#endif
614 { 618 {
615 bool success = false; 619 bool success = false;
616 int pfd [2]; 620 int pfd [2];
617 if ( ::pipe ( pfd ) < 0 ) 621 if ( ::pipe ( pfd ) < 0 )
618 pfd [0] = pfd [1] = -1; 622 pfd [0] = pfd [1] = -1;
619 623
620 pid_t pid = ::fork ( ); 624 pid_t pid = ::fork ( );
621 625
622 if ( pid == 0 ) { // child 626 if ( pid == 0 ) { // child
623 for ( int fd = 3; fd < 100; fd++ ) { 627 for ( int fd = 3; fd < 100; fd++ ) {
624 if ( fd != pfd [1] ) 628 if ( fd != pfd [1] )
625 ::close ( fd ); 629 ::close ( fd );
626 } 630 }
627 ::setpgid ( ::getpid ( ), ::getppid ( )); 631 ::setpgid ( ::getpid ( ), ::getppid ( ));
628 632
629 // Closing of fd[1] indicates that the execvp succeeded! 633 // Closing of fd[1] indicates that the execvp succeeded!
630 if ( pfd [1] >= 0 ) 634 if ( pfd [1] >= 0 )
631 ::fcntl ( pfd [1], F_SETFD, FD_CLOEXEC ); 635 ::fcntl ( pfd [1], F_SETFD, FD_CLOEXEC );
diff --git a/library/library.pro b/library/library.pro
index ab1f451..5acfc0c 100644
--- a/library/library.pro
+++ b/library/library.pro
@@ -103,49 +103,49 @@ SOURCES = calendar.cpp \
103 backend/categories.cpp \ 103 backend/categories.cpp \
104 backend/stringutil.cpp \ 104 backend/stringutil.cpp \
105 backend/palmtoprecord.cpp \ 105 backend/palmtoprecord.cpp \
106 backend/task.cpp \ 106 backend/task.cpp \
107 backend/event.cpp \ 107 backend/event.cpp \
108 backend/contact.cpp \ 108 backend/contact.cpp \
109 categorymenu.cpp \ 109 categorymenu.cpp \
110 categoryedit_p.cpp \ 110 categoryedit_p.cpp \
111 categoryselect.cpp \ 111 categoryselect.cpp \
112 categorywidget.cpp \ 112 categorywidget.cpp \
113 ir.cpp \ 113 ir.cpp \
114 backend/vcc_yacc.cpp \ 114 backend/vcc_yacc.cpp \
115 backend/vobject.cpp \ 115 backend/vobject.cpp \
116 findwidget_p.cpp \ 116 findwidget_p.cpp \
117 finddialog.cpp \ 117 finddialog.cpp \
118 lnkproperties.cpp \ 118 lnkproperties.cpp \
119 qt_override.cpp 119 qt_override.cpp
120 120
121 121
122 122
123# Qt 3 compatibility 123# Qt 3 compatibility
124HEADERS += quuid.h qcom.h qlibrary.h qlibrary_p.h 124HEADERS += quuid.h qcom.h qlibrary.h qlibrary_p.h
125SOURCES += quuid.cpp qlibrary.cpp qlibrary_unix.cpp 125SOURCES += quuid.cpp qlibrary.cpp qlibrary_unix.cpp
126INCLUDEPATH += $(OPIEDIR)/include backend 126INCLUDEPATH += $(OPIEDIR)/include backend
127 LIBS += -ldl -lcrypt -lm 127 # LIBS += -ldl -lcrypt -lm
128INTERFACES = passwordbase_p.ui categoryeditbase_p.ui findwidgetbase_p.ui lnkpropertiesbase_p.ui 128INTERFACES = passwordbase_p.ui categoryeditbase_p.ui findwidgetbase_p.ui lnkpropertiesbase_p.ui
129 TARGET = qpe 129 TARGET = qpe
130 DESTDIR = $(OPIEDIR)/lib$(PROJMAK) 130 DESTDIR = $(OPIEDIR)/lib$(PROJMAK)
131 VERSION = 1.5.0.1 131 VERSION = 1.5.0.1
132 132
133TRANSLATIONS = ../i18n/de/libqpe.ts \ 133TRANSLATIONS = ../i18n/de/libqpe.ts \
134 ../i18n/nl/libqpe.ts \ 134 ../i18n/nl/libqpe.ts \
135 ../i18n/xx/libqpe.ts \ 135 ../i18n/xx/libqpe.ts \
136 ../i18n/en/libqpe.ts \ 136 ../i18n/en/libqpe.ts \
137 ../i18n/es/libqpe.ts \ 137 ../i18n/es/libqpe.ts \
138 ../i18n/fr/libqpe.ts \ 138 ../i18n/fr/libqpe.ts \
139 ../i18n/hu/libqpe.ts \ 139 ../i18n/hu/libqpe.ts \
140 ../i18n/ja/libqpe.ts \ 140 ../i18n/ja/libqpe.ts \
141 ../i18n/ko/libqpe.ts \ 141 ../i18n/ko/libqpe.ts \
142 ../i18n/no/libqpe.ts \ 142 ../i18n/no/libqpe.ts \
143 ../i18n/pl/libqpe.ts \ 143 ../i18n/pl/libqpe.ts \
144 ../i18n/pt/libqpe.ts \ 144 ../i18n/pt/libqpe.ts \
145 ../i18n/pt_BR/libqpe.ts \ 145 ../i18n/pt_BR/libqpe.ts \
146 ../i18n/sl/libqpe.ts \ 146 ../i18n/sl/libqpe.ts \
147 ../i18n/zh_CN/libqpe.ts \ 147 ../i18n/zh_CN/libqpe.ts \
148 ../i18n/it/libqpe.ts \ 148 ../i18n/it/libqpe.ts \
149 ../i18n/zh_TW/libqpe.ts \ 149 ../i18n/zh_TW/libqpe.ts \
150 ../i18n/da/libqpe.ts 150 ../i18n/da/libqpe.ts
151 151
diff --git a/library/network.cpp b/library/network.cpp
index 3568809..991e11a 100644
--- a/library/network.cpp
+++ b/library/network.cpp
@@ -397,48 +397,52 @@ int Network::addStateWidgets(QWidget* parent)
397 NetworkInterface* plugin = Network::loadPlugin(type); 397 NetworkInterface* plugin = Network::loadPlugin(type);
398 cfg.setGroup("Properties"); 398 cfg.setGroup("Properties");
399 if ( plugin ) { 399 if ( plugin ) {
400 QWidget* w; 400 QWidget* w;
401 if ( (w=plugin->addStateWidget(parent,cfg)) ) { 401 if ( (w=plugin->addStateWidget(parent,cfg)) ) {
402 n++; 402 n++;
403 vb->addWidget(w); 403 vb->addWidget(w);
404 } 404 }
405 } 405 }
406 } 406 }
407 return n; 407 return n;
408} 408}
409 409
410static QDict<NetworkInterface> *ifaces; 410static QDict<NetworkInterface> *ifaces;
411 411
412/*! 412/*!
413 \internal 413 \internal
414*/ 414*/
415NetworkInterface* Network::loadPlugin(const QString& type) 415NetworkInterface* Network::loadPlugin(const QString& type)
416{ 416{
417#ifndef QT_NO_COMPONENT 417#ifndef QT_NO_COMPONENT
418 if ( !ifaces ) ifaces = new QDict<NetworkInterface>; 418 if ( !ifaces ) ifaces = new QDict<NetworkInterface>;
419 NetworkInterface *iface = ifaces->find(type); 419 NetworkInterface *iface = ifaces->find(type);
420 if ( !iface ) { 420 if ( !iface ) {
421#ifdef Q_OS_MACX
422 QString libfile = QPEApplication::qpeDir() + "/plugins/network/lib" + type + ".dylib";
423#else
421 QString libfile = QPEApplication::qpeDir() + "/plugins/network/lib" + type + ".so"; 424 QString libfile = QPEApplication::qpeDir() + "/plugins/network/lib" + type + ".so";
425#endif
422 QLibrary lib(libfile); 426 QLibrary lib(libfile);
423 if ( !lib.queryInterface( IID_Network, (QUnknownInterface**)&iface ) == QS_OK ) 427 if ( !lib.queryInterface( IID_Network, (QUnknownInterface**)&iface ) == QS_OK )
424 return 0; 428 return 0;
425 ifaces->insert(type,iface); 429 ifaces->insert(type,iface);
426 QStringList langs = Global::languageList(); 430 QStringList langs = Global::languageList();
427 for (QStringList::ConstIterator it = langs.begin(); it!=langs.end(); ++it) { 431 for (QStringList::ConstIterator it = langs.begin(); it!=langs.end(); ++it) {
428 QString lang = *it; 432 QString lang = *it;
429 QTranslator * trans = new QTranslator(qApp); 433 QTranslator * trans = new QTranslator(qApp);
430 QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/lib"+type+".qm"; 434 QString tfn = QPEApplication::qpeDir()+"/i18n/"+lang+"/lib"+type+".qm";
431 if ( trans->load( tfn )) 435 if ( trans->load( tfn ))
432 qApp->installTranslator( trans ); 436 qApp->installTranslator( trans );
433 else 437 else
434 delete trans; 438 delete trans;
435 } 439 }
436 } 440 }
437 return iface; 441 return iface;
438#else 442#else
439 return 0; 443 return 0;
440#endif 444#endif
441} 445}
442 446
443#include "network.moc" 447#include "network.moc"
444 #endif// QT_NO_COP 448 #endif// QT_NO_COP
diff --git a/library/qlibrary_unix.cpp b/library/qlibrary_unix.cpp
index 7740321..0229b7b 100644
--- a/library/qlibrary_unix.cpp
+++ b/library/qlibrary_unix.cpp
@@ -55,49 +55,160 @@ bool QLibraryPrivate::freeLibrary()
55 return TRUE; 55 return TRUE;
56 56
57 if ( !shl_unload( (shl_t)pHnd ) ) { 57 if ( !shl_unload( (shl_t)pHnd ) ) {
58 pHnd = 0; 58 pHnd = 0;
59 return TRUE; 59 return TRUE;
60 } 60 }
61 return FALSE; 61 return FALSE;
62} 62}
63 63
64void* QLibraryPrivate::resolveSymbol( const char* symbol ) 64void* QLibraryPrivate::resolveSymbol( const char* symbol )
65{ 65{
66 if ( !pHnd ) 66 if ( !pHnd )
67 return 0; 67 return 0;
68 68
69 void* address = 0; 69 void* address = 0;
70 if ( shl_findsym( (shl_t*)&pHnd, symbol, TYPE_UNDEFINED, address ) < 0 ) { 70 if ( shl_findsym( (shl_t*)&pHnd, symbol, TYPE_UNDEFINED, address ) < 0 ) {
71#if defined(QT_DEBUG) || defined(QT_DEBUG_COMPONENT) 71#if defined(QT_DEBUG) || defined(QT_DEBUG_COMPONENT)
72 qDebug( "Couldn't resolve symbol \"%s\"", symbol ); 72 qDebug( "Couldn't resolve symbol \"%s\"", symbol );
73#endif 73#endif
74 return 0; 74 return 0;
75 } 75 }
76 return address; 76 return address;
77} 77}
78 78
79#else // Q_OS_HPUX 79#elif defined(_NULL_LIB_)
80
81bool QLibraryPrivate::loadLibrary()
82{
83 //qDebug("QLibraryPrivate::loadLibrary\n");
84 return FALSE;
85}
86bool QLibraryPrivate::freeLibrary()
87{
88 //qDebug("QLibraryPrivate::freeLibrary\n");
89 return FALSE;
90}
91void* QLibraryPrivate::resolveSymbol( const char* symbol )
92{
93 //qDebug("QLibraryPrivate::resolveSymbol\n");
94 return FALSE;
95}
96
97#elif defined(Q_OS_MACX)
98
99#define ENUM_DYLD_BOOL
100enum DYLD_BOOL {
101 DYLD_FALSE,
102 DYLD_TRUE
103};
104#include <mach-o/dyld.h>
105typedef struct {
106 NSObjectFileImage img;
107 NSModule mod;
108} DyldLibDesc;
109
110bool QLibraryPrivate::loadLibrary()
111{
112 // qDebug("QLibraryPrivate::loadLibrary\n");
113 // return FALSE;
114 if ( pHnd )
115 return TRUE;
116
117 QString filename = library->library();
118
119 NSObjectFileImage img = 0;
120 NSModule mod = 0;
121 NSObjectFileImageReturnCode ret = NSCreateObjectFileImageFromFile( filename.latin1() , &img );
122 if ( ret != NSObjectFileImageSuccess ) {
123 qWarning( "Error in NSCreateObjectFileImageFromFile(): %d; Filename: %s", ret, filename.latin1() );
124 if (ret == NSObjectFileImageAccess) {
125 qWarning ("(NSObjectFileImageAccess)" );
126 }
127 } else {
128 mod = NSLinkModule(img, filename.latin1(), NSLINKMODULE_OPTION_BINDNOW |
129 NSLINKMODULE_OPTION_PRIVATE |
130 NSLINKMODULE_OPTION_RETURN_ON_ERROR);
131 if (mod == 0) {
132 qWarning( "Error in NSLinkModule()" );
133 NSDestroyObjectFileImage(img);
134 }
135 }
136 DyldLibDesc* desc = 0;
137 if (img != 0 && mod != 0) {
138 desc = new DyldLibDesc;
139 desc->img = img;
140 desc->mod = mod;
141 }
142 pHnd = desc;
143 return pHnd != 0;
144}
145
146bool QLibraryPrivate::freeLibrary()
147{
148 //qDebug("QLibraryPrivate::freeLibrary\n");
149 //return FALSE;
150 if ( !pHnd )
151 return TRUE;
152
153 DyldLibDesc* desc = (DyldLibDesc*) pHnd;
154 NSModule mod = desc->mod;
155 NSObjectFileImage img = desc->img;
156 DYLD_BOOL success = NSUnLinkModule(mod, NSUNLINKMODULE_OPTION_NONE);
157 if ( success ) {
158 NSDestroyObjectFileImage(img);
159 delete desc;
160 pHnd = 0;
161 }
162#if defined(QT_DEBUG) || defined(QT_DEBUG_COMPONENT)
163 else {
164 qWarning( "Error in NSUnLinkModule(): %d", ret );
165 }
166#endif
167 return pHnd == 0;
168}
169
170void* QLibraryPrivate::resolveSymbol( const char* symbol )
171{
172 //qDebug("QLibraryPrivate::resolveSymbol\n");
173 //return FALSE;
174 if ( !pHnd )
175 return 0;
176
177 DyldLibDesc* desc = (DyldLibDesc*) pHnd;
178 NSSymbol sym = NSLookupSymbolInModule(desc->mod, symbol);
179 void* address = 0;
180 if (sym != 0) {
181 address = NSAddressOfSymbol(sym);
182 }
183#if defined(QT_DEBUG) || defined(QT_DEBUG_COMPONENT)
184 if ( address == 0 )
185 qWarning( "Cannot find symbol: %s", symbol );
186#endif
187 return address;
188}
189
190#else
80// Something else, assuming POSIX 191// Something else, assuming POSIX
81#include <dlfcn.h> 192#include <dlfcn.h>
82 193
83bool QLibraryPrivate::loadLibrary() 194bool QLibraryPrivate::loadLibrary()
84{ 195{
85 if ( pHnd ) 196 if ( pHnd )
86 return TRUE; 197 return TRUE;
87 198
88 QString filename = library->library(); 199 QString filename = library->library();
89 200
90 pHnd = dlopen( filename.latin1() , RTLD_LAZY ); 201 pHnd = dlopen( filename.latin1() , RTLD_LAZY );
91#if defined(QT_DEBUG) || defined(QT_DEBUG_COMPONENT) 202#if defined(QT_DEBUG) || defined(QT_DEBUG_COMPONENT)
92 if ( !pHnd ) 203 if ( !pHnd )
93 qWarning( "%s", dlerror() ); 204 qWarning( "%s", dlerror() );
94#endif 205#endif
95 return pHnd != 0; 206 return pHnd != 0;
96} 207}
97 208
98bool QLibraryPrivate::freeLibrary() 209bool QLibraryPrivate::freeLibrary()
99{ 210{
100 if ( !pHnd ) 211 if ( !pHnd )
101 return TRUE; 212 return TRUE;
102 213
103 int ec = dlclose( pHnd ); 214 int ec = dlclose( pHnd );
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index d4734ae..a97efc0 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -1,47 +1,49 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved. 2** Copyright (C) 2000-2002 Trolltech AS. All rights reserved.
3** 3**
4** This file is part of the Qtopia Environment. 4** This file is part of the Qtopia Environment.
5** 5**
6** This file may be distributed and/or modified under the terms of the 6** This file may be distributed and/or modified under the terms of the
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
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#define QTOPIA_INTERNAL_LANGLIST 20#define QTOPIA_INTERNAL_LANGLIST
21#include <stdlib.h> 21#include <stdlib.h>
22#include <unistd.h> 22#include <unistd.h>
23#ifndef Q_OS_MACX
23#include <linux/limits.h> // needed for some toolchains (PATH_MAX) 24#include <linux/limits.h> // needed for some toolchains (PATH_MAX)
25#endif
24#include <qfile.h> 26#include <qfile.h>
25#include <qqueue.h> 27#include <qqueue.h>
26#ifdef Q_WS_QWS 28#ifdef Q_WS_QWS
27#ifndef QT_NO_COP 29#ifndef QT_NO_COP
28#if QT_VERSION <= 231 30#if QT_VERSION <= 231
29#define private public 31#define private public
30#define sendLocally processEvent 32#define sendLocally processEvent
31#include "qcopenvelope_qws.h" 33#include "qcopenvelope_qws.h"
32#undef private 34#undef private
33#else 35#else
34#include "qcopenvelope_qws.h" 36#include "qcopenvelope_qws.h"
35#endif 37#endif
36#endif 38#endif
37#include <qwindowsystem_qws.h> 39#include <qwindowsystem_qws.h>
38#endif 40#endif
39#include <qtextstream.h> 41#include <qtextstream.h>
40#include <qpalette.h> 42#include <qpalette.h>
41#include <qbuffer.h> 43#include <qbuffer.h>
42#include <qptrdict.h> 44#include <qptrdict.h>
43#include <qregexp.h> 45#include <qregexp.h>
44#include <qdir.h> 46#include <qdir.h>
45#include <qlabel.h> 47#include <qlabel.h>
46#include <qdialog.h> 48#include <qdialog.h>
47#include <qdragobject.h> 49#include <qdragobject.h>
@@ -68,50 +70,51 @@
68#include "lightstyle.h" 70#include "lightstyle.h"
69 71
70#include <qpe/qlibrary.h> 72#include <qpe/qlibrary.h>
71#endif 73#endif
72#include "global.h" 74#include "global.h"
73#include "resource.h" 75#include "resource.h"
74#if QT_VERSION <= 230 && defined(QT_NO_CODECS) 76#if QT_VERSION <= 230 && defined(QT_NO_CODECS)
75#include "qutfcodec.h" 77#include "qutfcodec.h"
76#endif 78#endif
77#include "config.h" 79#include "config.h"
78#include "network.h" 80#include "network.h"
79#ifdef QWS 81#ifdef QWS
80#include "fontmanager.h" 82#include "fontmanager.h"
81#endif 83#endif
82 84
83#include "alarmserver.h" 85#include "alarmserver.h"
84#include "applnk.h" 86#include "applnk.h"
85#include "qpemenubar.h" 87#include "qpemenubar.h"
86#include "textcodecinterface.h" 88#include "textcodecinterface.h"
87#include "imagecodecinterface.h" 89#include "imagecodecinterface.h"
88 90
89#include <unistd.h> 91#include <unistd.h>
90#include <sys/file.h> 92#include <sys/file.h>
91#include <sys/ioctl.h> 93#include <sys/ioctl.h>
94#ifndef QT_NO_SOUND
92#include <sys/soundcard.h> 95#include <sys/soundcard.h>
93 96#endif
94#include "qt_override_p.h" 97#include "qt_override_p.h"
95 98
96 99
97class QPEApplicationData 100class QPEApplicationData
98{ 101{
99public: 102public:
100 QPEApplicationData ( ) 103 QPEApplicationData ( )
101 : presstimer( 0 ), presswidget( 0 ), rightpressed( false ), kbgrabbed( false ), 104 : presstimer( 0 ), presswidget( 0 ), rightpressed( false ), kbgrabbed( false ),
102 notbusysent( false ), preloaded( false ), forceshow( false ), nomaximize( false ), 105 notbusysent( false ), preloaded( false ), forceshow( false ), nomaximize( false ),
103 keep_running( true ), qcopQok( false ), qpe_main_widget( 0 ) 106 keep_running( true ), qcopQok( false ), qpe_main_widget( 0 )
104 107
105 {} 108 {}
106 109
107 int presstimer; 110 int presstimer;
108 QWidget* presswidget; 111 QWidget* presswidget;
109 QPoint presspos; 112 QPoint presspos;
110 113
111 bool rightpressed : 1; 114 bool rightpressed : 1;
112 bool kbgrabbed : 1; 115 bool kbgrabbed : 1;
113 bool notbusysent : 1; 116 bool notbusysent : 1;
114 bool preloaded : 1; 117 bool preloaded : 1;
115 bool forceshow : 1; 118 bool forceshow : 1;
116 bool nomaximize : 1; 119 bool nomaximize : 1;
117 bool keep_running : 1; 120 bool keep_running : 1;
@@ -212,74 +215,82 @@ public:
212 215
213 void show(QWidget* mw, bool nomax) 216 void show(QWidget* mw, bool nomax)
214 { 217 {
215 setWidgetCaptionFromAppName( mw, appName, QPEApplication::qpeDir() + "apps" ); 218 setWidgetCaptionFromAppName( mw, appName, QPEApplication::qpeDir() + "apps" );
216 nomaximize = nomax; 219 nomaximize = nomax;
217 qpe_main_widget = mw; 220 qpe_main_widget = mw;
218 qcopQok = TRUE; 221 qcopQok = TRUE;
219#ifndef QT_NO_COP 222#ifndef QT_NO_COP
220 223
221 sendQCopQ(); 224 sendQCopQ();
222#endif 225#endif
223 226
224 if ( preloaded ) { 227 if ( preloaded ) {
225 if (forceshow) 228 if (forceshow)
226 show_mx(mw, nomax); 229 show_mx(mw, nomax);
227 } 230 }
228 else if ( keep_running ) { 231 else if ( keep_running ) {
229 show_mx(mw, nomax); 232 show_mx(mw, nomax);
230 } 233 }
231 } 234 }
232 235
233 void loadTextCodecs() 236 void loadTextCodecs()
234 { 237 {
235 QString path = QPEApplication::qpeDir() + "/plugins/textcodecs"; 238 QString path = QPEApplication::qpeDir() + "/plugins/textcodecs";
239#ifdef Q_OS_MACX
240 QDir dir( path, "lib*.dylib" );
241#else
236 QDir dir( path, "lib*.so" ); 242 QDir dir( path, "lib*.so" );
243#endif
237 QStringList list; 244 QStringList list;
238 if ( dir. exists ( )) 245 if ( dir. exists ( ))
239 list = dir.entryList(); 246 list = dir.entryList();
240 QStringList::Iterator it; 247 QStringList::Iterator it;
241 for ( it = list.begin(); it != list.end(); ++it ) { 248 for ( it = list.begin(); it != list.end(); ++it ) {
242 TextCodecInterface *iface = 0; 249 TextCodecInterface *iface = 0;
243 QLibrary *lib = new QLibrary( path + "/" + *it ); 250 QLibrary *lib = new QLibrary( path + "/" + *it );
244 if ( lib->queryInterface( IID_QtopiaTextCodec, (QUnknownInterface**)&iface ) == QS_OK && iface ) { 251 if ( lib->queryInterface( IID_QtopiaTextCodec, (QUnknownInterface**)&iface ) == QS_OK && iface ) {
245 QValueList<int> mibs = iface->mibEnums(); 252 QValueList<int> mibs = iface->mibEnums();
246 for (QValueList<int>::ConstIterator i = mibs.begin(); i != mibs.end(); ++i) { 253 for (QValueList<int>::ConstIterator i = mibs.begin(); i != mibs.end(); ++i) {
247 (void)iface->createForMib(*i); 254 (void)iface->createForMib(*i);
248 // ### it exists now; need to remember if we can delete it 255 // ### it exists now; need to remember if we can delete it
249 } 256 }
250 } 257 }
251 else { 258 else {
252 lib->unload(); 259 lib->unload();
253 delete lib; 260 delete lib;
254 } 261 }
255 } 262 }
256 } 263 }
257 264
258 void loadImageCodecs() 265 void loadImageCodecs()
259 { 266 {
260 QString path = QPEApplication::qpeDir() + "/plugins/imagecodecs"; 267 QString path = QPEApplication::qpeDir() + "/plugins/imagecodecs";
268#ifdef Q_OS_MACX
269 QDir dir( path, "lib*.dylib" );
270#else
261 QDir dir( path, "lib*.so" ); 271 QDir dir( path, "lib*.so" );
272#endif
262 QStringList list; 273 QStringList list;
263 if ( dir. exists ( )) 274 if ( dir. exists ( ))
264 list = dir.entryList(); 275 list = dir.entryList();
265 QStringList::Iterator it; 276 QStringList::Iterator it;
266 for ( it = list.begin(); it != list.end(); ++it ) { 277 for ( it = list.begin(); it != list.end(); ++it ) {
267 ImageCodecInterface *iface = 0; 278 ImageCodecInterface *iface = 0;
268 QLibrary *lib = new QLibrary( path + "/" + *it ); 279 QLibrary *lib = new QLibrary( path + "/" + *it );
269 if ( lib->queryInterface( IID_QtopiaImageCodec, (QUnknownInterface**)&iface ) == QS_OK && iface ) { 280 if ( lib->queryInterface( IID_QtopiaImageCodec, (QUnknownInterface**)&iface ) == QS_OK && iface ) {
270 QStringList formats = iface->keys(); 281 QStringList formats = iface->keys();
271 for (QStringList::ConstIterator i = formats.begin(); i != formats.end(); ++i) { 282 for (QStringList::ConstIterator i = formats.begin(); i != formats.end(); ++i) {
272 (void)iface->installIOHandler(*i); 283 (void)iface->installIOHandler(*i);
273 // ### it exists now; need to remember if we can delete it 284 // ### it exists now; need to remember if we can delete it
274 } 285 }
275 } 286 }
276 else { 287 else {
277 lib->unload(); 288 lib->unload();
278 delete lib; 289 delete lib;
279 } 290 }
280 } 291 }
281 } 292 }
282}; 293};
283 294
284class ResourceMimeFactory : public QMimeSourceFactory 295class ResourceMimeFactory : public QMimeSourceFactory
285{ 296{
@@ -319,118 +330,126 @@ private:
319 mutable QImageDrag *resImage; 330 mutable QImageDrag *resImage;
320}; 331};
321 332
322static int& hack(int& i) 333static int& hack(int& i)
323{ 334{
324#if QT_VERSION <= 230 && defined(QT_NO_CODECS) 335#if QT_VERSION <= 230 && defined(QT_NO_CODECS)
325 // These should be created, but aren't in Qt 2.3.0 336 // These should be created, but aren't in Qt 2.3.0
326 (void)new QUtf8Codec; 337 (void)new QUtf8Codec;
327 (void)new QUtf16Codec; 338 (void)new QUtf16Codec;
328#endif 339#endif
329 return i; 340 return i;
330} 341}
331 342
332static int muted = 0; 343static int muted = 0;
333static int micMuted = 0; 344static int micMuted = 0;
334 345
335static void setVolume( int t = 0, int percent = -1 ) 346static void setVolume( int t = 0, int percent = -1 )
336{ 347{
337 switch ( t ) { 348 switch ( t ) {
338 case 0: { 349 case 0: {
339 Config cfg( "qpe" ); 350 Config cfg( "qpe" );
340 cfg.setGroup( "Volume" ); 351 cfg.setGroup( "Volume" );
341 if ( percent < 0 ) 352 if ( percent < 0 )
342 percent = cfg.readNumEntry( "VolumePercent", 50 ); 353 percent = cfg.readNumEntry( "VolumePercent", 50 );
354#ifndef QT_NO_SOUND
343 int fd = 0; 355 int fd = 0;
344 if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) { 356 if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) {
345 int vol = muted ? 0 : percent; 357 int vol = muted ? 0 : percent;
346 // set both channels to same volume 358 // set both channels to same volume
347 vol |= vol << 8; 359 vol |= vol << 8;
348 ioctl( fd, MIXER_WRITE( 0 ), &vol ); 360 ioctl( fd, MIXER_WRITE( 0 ), &vol );
349 ::close( fd ); 361 ::close( fd );
350 } 362 }
363#endif
351 } 364 }
352 break; 365 break;
353 } 366 }
354} 367}
355 368
356static void setMic( int t = 0, int percent = -1 ) 369static void setMic( int t = 0, int percent = -1 )
357{ 370{
358 switch ( t ) { 371 switch ( t ) {
359 case 0: { 372 case 0: {
360 Config cfg( "qpe" ); 373 Config cfg( "qpe" );
361 cfg.setGroup( "Volume" ); 374 cfg.setGroup( "Volume" );
362 if ( percent < 0 ) 375 if ( percent < 0 )
363 percent = cfg.readNumEntry( "Mic", 50 ); 376 percent = cfg.readNumEntry( "Mic", 50 );
364 377
378#ifndef QT_NO_SOUND
365 int fd = 0; 379 int fd = 0;
366 int mic = micMuted ? 0 : percent; 380 int mic = micMuted ? 0 : percent;
367 if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) { 381 if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) {
368 ioctl( fd, MIXER_WRITE( SOUND_MIXER_MIC ), &mic ); 382 ioctl( fd, MIXER_WRITE( SOUND_MIXER_MIC ), &mic );
369 ::close( fd ); 383 ::close( fd );
370 } 384 }
385#endif
371 } 386 }
372 break; 387 break;
373 } 388 }
374} 389}
375 390
376 391
377static void setBass( int t = 0, int percent = -1 ) 392static void setBass( int t = 0, int percent = -1 )
378{ 393{
379 switch ( t ) { 394 switch ( t ) {
380 case 0: { 395 case 0: {
381 Config cfg( "qpe" ); 396 Config cfg( "qpe" );
382 cfg.setGroup( "Volume" ); 397 cfg.setGroup( "Volume" );
383 if ( percent < 0 ) 398 if ( percent < 0 )
384 percent = cfg.readNumEntry( "BassPercent", 50 ); 399 percent = cfg.readNumEntry( "BassPercent", 50 );
385 400
401#ifndef QT_NO_SOUND
386 int fd = 0; 402 int fd = 0;
387 int bass = percent; 403 int bass = percent;
388 if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) { 404 if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) {
389 ioctl( fd, MIXER_WRITE( SOUND_MIXER_BASS ), &bass ); 405 ioctl( fd, MIXER_WRITE( SOUND_MIXER_BASS ), &bass );
390 ::close( fd ); 406 ::close( fd );
391 } 407 }
408#endif
392 } 409 }
393 break; 410 break;
394 } 411 }
395} 412}
396 413
397 414
398static void setTreble( int t = 0, int percent = -1 ) 415static void setTreble( int t = 0, int percent = -1 )
399{ 416{
400 switch ( t ) { 417 switch ( t ) {
401 case 0: { 418 case 0: {
402 Config cfg( "qpe" ); 419 Config cfg( "qpe" );
403 cfg.setGroup( "Volume" ); 420 cfg.setGroup( "Volume" );
404 if ( percent < 0 ) 421 if ( percent < 0 )
405 percent = cfg.readNumEntry( "TreblePercent", 50 ); 422 percent = cfg.readNumEntry( "TreblePercent", 50 );
406 423
424#ifndef QT_NO_SOUND
407 int fd = 0; 425 int fd = 0;
408 int treble = percent; 426 int treble = percent;
409 if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) { 427 if ( ( fd = open( "/dev/mixer", O_RDWR ) ) >= 0 ) {
410 ioctl( fd, MIXER_WRITE( SOUND_MIXER_TREBLE ), &treble ); 428 ioctl( fd, MIXER_WRITE( SOUND_MIXER_TREBLE ), &treble );
411 ::close( fd ); 429 ::close( fd );
412 } 430 }
431#endif
413 } 432 }
414 break; 433 break;
415 } 434 }
416} 435}
417 436
418 437
419/*! 438/*!
420 \class QPEApplication qpeapplication.h 439 \class QPEApplication qpeapplication.h
421 \brief The QPEApplication class implements various system services 440 \brief The QPEApplication class implements various system services
422 that are available to all Qtopia applications. 441 that are available to all Qtopia applications.
423 442
424 Simply by using QPEApplication instead of QApplication, a standard Qt 443 Simply by using QPEApplication instead of QApplication, a standard Qt
425 application becomes a Qtopia application. It automatically follows 444 application becomes a Qtopia application. It automatically follows
426 style changes, quits and raises, and in the 445 style changes, quits and raises, and in the
427 case of \link docwidget.html document-oriented\endlink applications, 446 case of \link docwidget.html document-oriented\endlink applications,
428 changes the currently displayed document in response to the environment. 447 changes the currently displayed document in response to the environment.
429 448
430 To create a \link docwidget.html document-oriented\endlink 449 To create a \link docwidget.html document-oriented\endlink
431 application use showMainDocumentWidget(); to create a 450 application use showMainDocumentWidget(); to create a
432 non-document-oriented application use showMainWidget(). The 451 non-document-oriented application use showMainWidget(). The
433 keepRunning() function indicates whether the application will 452 keepRunning() function indicates whether the application will
434 continue running after it's processed the last \link qcop.html 453 continue running after it's processed the last \link qcop.html
435 QCop\endlink message. This can be changed using setKeepRunning(). 454 QCop\endlink message. This can be changed using setKeepRunning().
436 455
@@ -1628,53 +1647,59 @@ void QPEApplication::internalSetStyle( const QString &style )
1628 } 1647 }
1629 else if ( style == "Light" ) { 1648 else if ( style == "Light" ) {
1630 setStyle( new LightStyle ); 1649 setStyle( new LightStyle );
1631 } 1650 }
1632#ifndef QT_NO_STYLE_PLATINUM 1651#ifndef QT_NO_STYLE_PLATINUM
1633 else if ( style == "Platinum" ) { 1652 else if ( style == "Platinum" ) {
1634 setStyle( new QPlatinumStyle ); 1653 setStyle( new QPlatinumStyle );
1635 } 1654 }
1636#endif 1655#endif
1637#ifndef QT_NO_STYLE_MOTIF 1656#ifndef QT_NO_STYLE_MOTIF
1638 else if ( style == "Motif" ) { 1657 else if ( style == "Motif" ) {
1639 setStyle( new QMotifStyle ); 1658 setStyle( new QMotifStyle );
1640 } 1659 }
1641#endif 1660#endif
1642#ifndef QT_NO_STYLE_MOTIFPLUS 1661#ifndef QT_NO_STYLE_MOTIFPLUS
1643 else if ( style == "MotifPlus" ) { 1662 else if ( style == "MotifPlus" ) {
1644 setStyle( new QMotifPlusStyle ); 1663 setStyle( new QMotifPlusStyle );
1645 } 1664 }
1646#endif 1665#endif
1647 1666
1648 else { 1667 else {
1649 QStyle *sty = 0; 1668 QStyle *sty = 0;
1650 QString path = QPEApplication::qpeDir ( ) + "/plugins/styles/"; 1669 QString path = QPEApplication::qpeDir ( ) + "/plugins/styles/";
1651 1670
1671#ifdef Q_OS_MACX
1672 if ( style. find ( ".dylib" ) > 0 )
1673 path += style;
1674 else
1675 path = path + "lib" + style. lower ( ) + ".dylib"; // compatibility
1676#else
1652 if ( style. find ( ".so" ) > 0 ) 1677 if ( style. find ( ".so" ) > 0 )
1653 path += style; 1678 path += style;
1654 else 1679 else
1655 path = path + "lib" + style. lower ( ) + ".so"; // compatibility 1680 path = path + "lib" + style. lower ( ) + ".so"; // compatibility
1656 1681#endif
1657 static QLibrary *lastlib = 0; 1682 static QLibrary *lastlib = 0;
1658 static StyleInterface *lastiface = 0; 1683 static StyleInterface *lastiface = 0;
1659 1684
1660 QLibrary *lib = new QLibrary ( path ); 1685 QLibrary *lib = new QLibrary ( path );
1661 StyleInterface *iface = 0; 1686 StyleInterface *iface = 0;
1662 1687
1663 if (( lib-> queryInterface ( IID_Style, ( QUnknownInterface ** ) &iface ) == QS_OK ) && iface ) 1688 if (( lib-> queryInterface ( IID_Style, ( QUnknownInterface ** ) &iface ) == QS_OK ) && iface )
1664 sty = iface-> style ( ); 1689 sty = iface-> style ( );
1665 1690
1666 if ( sty ) { 1691 if ( sty ) {
1667 setStyle ( sty ); 1692 setStyle ( sty );
1668 1693
1669 if ( lastiface ) 1694 if ( lastiface )
1670 lastiface-> release ( ); 1695 lastiface-> release ( );
1671 lastiface = iface; 1696 lastiface = iface;
1672 1697
1673 if ( lastlib ) { 1698 if ( lastlib ) {
1674 lastlib-> unload ( ); 1699 lastlib-> unload ( );
1675 delete lastlib; 1700 delete lastlib;
1676 } 1701 }
1677 lastlib = lib; 1702 lastlib = lib;
1678 } 1703 }
1679 else { 1704 else {
1680 if ( iface ) 1705 if ( iface )
diff --git a/library/qpedecoration_qws.cpp b/library/qpedecoration_qws.cpp
index 933542d..bac1a75 100644
--- a/library/qpedecoration_qws.cpp
+++ b/library/qpedecoration_qws.cpp
@@ -491,53 +491,61 @@ QPEDecoration::QPEDecoration()
491} 491}
492 492
493QPEDecoration::QPEDecoration( const QString &plugin ) 493QPEDecoration::QPEDecoration( const QString &plugin )
494 : QWSDefaultDecoration() 494 : QWSDefaultDecoration()
495{ 495{
496 init ( plugin ); 496 init ( plugin );
497} 497}
498 498
499void QPEDecoration::init ( const QString &plugin ) 499void QPEDecoration::init ( const QString &plugin )
500{ 500{
501 libname = plugin; 501 libname = plugin;
502 502
503 if ( wdlib ) { 503 if ( wdlib ) {
504 wdiface->release(); 504 wdiface->release();
505 wdlib->unload(); 505 wdlib->unload();
506 delete wdlib; 506 delete wdlib;
507 wdlib = 0; 507 wdlib = 0;
508 } else { 508 } else {
509 delete wdiface; 509 delete wdiface;
510 } 510 }
511 511
512 WindowDecorationInterface *iface = 0; 512 WindowDecorationInterface *iface = 0;
513 QString path = QPEApplication::qpeDir() + "/plugins/decorations/"; 513 QString path = QPEApplication::qpeDir() + "/plugins/decorations/";
514 514
515#ifdef Q_OS_MACX
516 if ( plugin.find( ".dylib" ) > 0 ) {
517#else
515 if ( plugin.find( ".so" ) > 0 ) { 518 if ( plugin.find( ".so" ) > 0 ) {
519#endif
516 // full library name supplied 520 // full library name supplied
517 path += plugin; 521 path += plugin;
518 } else { 522 } else {
523#ifdef Q_OS_MACX
524 path += "lib" + plugin.lower() + ".dylib"; // compatibility
525#else
519 path += "lib" + plugin.lower() + ".so"; // compatibility 526 path += "lib" + plugin.lower() + ".so"; // compatibility
527#endif
520 } 528 }
521 529
522 QLibrary *lib = new QLibrary( path ); 530 QLibrary *lib = new QLibrary( path );
523 if ( lib->queryInterface( IID_WindowDecoration, (QUnknownInterface**)&iface ) == QS_OK && iface ) { 531 if ( lib->queryInterface( IID_WindowDecoration, (QUnknownInterface**)&iface ) == QS_OK && iface ) {
524 wdiface = iface; 532 wdiface = iface;
525 wdlib = lib; 533 wdlib = lib;
526 } else { 534 } else {
527 delete lib; 535 delete lib;
528 wdiface = new DefaultWindowDecoration; 536 wdiface = new DefaultWindowDecoration;
529 } 537 }
530 538
531 helpFile = QString(qApp->argv()[0]) + ".html"; 539 helpFile = QString(qApp->argv()[0]) + ".html";
532 QStringList helpPath = Global::helpPath(); 540 QStringList helpPath = Global::helpPath();
533 helpExists = FALSE; 541 helpExists = FALSE;
534 for (QStringList::ConstIterator it=helpPath.begin(); it!=helpPath.end() && !helpExists; ++it) { 542 for (QStringList::ConstIterator it=helpPath.begin(); it!=helpPath.end() && !helpExists; ++it) {
535 helpExists = QFile::exists( *it + "/" + helpFile ); 543 helpExists = QFile::exists( *it + "/" + helpFile );
536 //qDebug ( "Checking %s/%s for help: %d", (*it).latin1(), helpFile.latin1(),helpExists); 544 //qDebug ( "Checking %s/%s for help: %d", (*it).latin1(), helpFile.latin1(),helpExists);
537 } 545 }
538 qpeManager = new QPEManager( this ); 546 qpeManager = new QPEManager( this );
539 547
540 // Qtopia 1.5 compatibility 548 // Qtopia 1.5 compatibility
541 imageOk = *okImage ( 15 ); 549 imageOk = *okImage ( 15 );
542 imageClose = *closeImage ( 15 ); 550 imageClose = *closeImage ( 15 );
543 imageHelp = *helpImage ( 15 ); 551 imageHelp = *helpImage ( 15 );
diff --git a/library/sound.cpp b/library/sound.cpp
index c8704f9..5b67995 100644
--- a/library/sound.cpp
+++ b/library/sound.cpp
@@ -7,49 +7,52 @@
7** GNU General Public License version 2 as published by the Free Software 7** GNU General Public License version 2 as published by the Free Software
8** Foundation and appearing in the file LICENSE.GPL included in the 8** Foundation and appearing in the file LICENSE.GPL included in the
9** packaging of this file. 9** packaging of this file.
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 20
21#include <qpe/resource.h> 21#include <qpe/resource.h>
22#include <qpe/sound.h> 22#include <qpe/sound.h>
23#include <qpe/qcopenvelope_qws.h> 23#include <qpe/qcopenvelope_qws.h>
24 24
25#include <qsound.h> 25#include <qsound.h>
26#include <qfile.h> 26#include <qfile.h>
27 27
28#include <unistd.h> 28#include <unistd.h>
29#include <fcntl.h> 29#include <fcntl.h>
30#include <sys/ioctl.h> 30#include <sys/ioctl.h>
31
32#ifndef QT_NO_SOUND
31#include <sys/soundcard.h> 33#include <sys/soundcard.h>
34#endif
32 35
33#include "config.h" 36#include "config.h"
34#include <qmessagebox.h> 37#include <qmessagebox.h>
35#ifndef QT_NO_SOUND 38#ifndef QT_NO_SOUND
36static int WAVsoundDuration(const QString& filename) 39static int WAVsoundDuration(const QString& filename)
37{ 40{
38 // bad solution 41 // bad solution
39 42
40 // most of this is copied from qsoundqss.cpp 43 // most of this is copied from qsoundqss.cpp
41 44
42 QFile input(filename); 45 QFile input(filename);
43 if ( !input.open(IO_ReadOnly) ) 46 if ( !input.open(IO_ReadOnly) )
44 return 0; 47 return 0;
45 48
46 struct QRiffChunk { 49 struct QRiffChunk {
47 char id[4]; 50 char id[4];
48 Q_UINT32 size; 51 Q_UINT32 size;
49 char data[4/*size*/]; 52 char data[4/*size*/];
50 } chunk; 53 } chunk;
51 54
52 struct { 55 struct {
53 Q_INT16 formatTag; 56 Q_INT16 formatTag;
54 Q_INT16 channels; 57 Q_INT16 channels;
55 Q_INT32 samplesPerSec; 58 Q_INT32 samplesPerSec;
diff --git a/library/storage.cpp b/library/storage.cpp
index dc5cc22..f8b75d0 100644
--- a/library/storage.cpp
+++ b/library/storage.cpp
@@ -8,80 +8,92 @@
8** This file may be distributed and/or modified under the terms of the 8** This file may be distributed and/or modified under the terms of the
9** GNU General Public License version 2 as published by the Free Software 9** GNU General Public License version 2 as published by the Free Software
10** Foundation and appearing in the file LICENSE.GPL included in the 10** Foundation and appearing in the file LICENSE.GPL included in the
11** packaging of this file. 11** packaging of this file.
12** 12**
13** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 13** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
14** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 14** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
15** 15**
16** See http://www.trolltech.com/gpl/ for GPL licensing information. 16** See http://www.trolltech.com/gpl/ for GPL licensing information.
17** 17**
18** Contact info@trolltech.com if any conditions of this licensing are 18** Contact info@trolltech.com if any conditions of this licensing are
19** not clear to you. 19** not clear to you.
20** 20**
21**********************************************************************/ 21**********************************************************************/
22 22
23#include <qpe/storage.h> 23#include <qpe/storage.h>
24#include <qpe/custom.h> 24#include <qpe/custom.h>
25 25
26#include <qfile.h> 26#include <qfile.h>
27#include <qtimer.h> 27#include <qtimer.h>
28#include <qcopchannel_qws.h> 28#include <qcopchannel_qws.h>
29 29
30#include <stdio.h> 30#include <stdio.h>
31 31
32#if defined(_OS_LINUX_) || defined(Q_OS_LINUX) 32#if defined(_OS_LINUX_) || defined(Q_OS_LINUX)
33#include <sys/vfs.h> 33#include <sys/vfs.h>
34#include <mntent.h> 34#include <mntent.h>
35#endif 35#endif
36 36
37#ifdef Q_OS_MACX
38# include <sys/param.h>
39# include <sys/ucred.h>
40# include <sys/mount.h>
41# include <stdio.h> // For strerror()
42# include <errno.h>
43#endif /* Q_OS_MACX */
44
37#include <qstringlist.h> 45#include <qstringlist.h>
38 46
39#include <sys/vfs.h> 47// Shouldn't be here ! (eilers)
40#include <mntent.h> 48// #include <sys/vfs.h>
49// #include <mntent.h>
41 50
42 51
43static bool isCF(const QString& m) 52static bool isCF(const QString& m)
44{ 53{
54
55#ifndef Q_OS_MACX
45 FILE* f = fopen("/var/run/stab", "r"); 56 FILE* f = fopen("/var/run/stab", "r");
46 if (!f) f = fopen("/var/state/pcmcia/stab", "r"); 57 if (!f) f = fopen("/var/state/pcmcia/stab", "r");
47 if (!f) f = fopen("/var/lib/pcmcia/stab", "r"); 58 if (!f) f = fopen("/var/lib/pcmcia/stab", "r");
48 if ( f ) { 59 if ( f ) {
49 char line[1024]; 60 char line[1024];
50 char devtype[80]; 61 char devtype[80];
51 char devname[80]; 62 char devname[80];
52 while ( fgets( line, 1024, f ) ) { 63 while ( fgets( line, 1024, f ) ) {
53 // 0 ide ide-cs 0 hda 3 0 64 // 0 ide ide-cs 0 hda 3 0
54 if ( sscanf(line,"%*d %s %*s %*s %s", devtype, devname )==2 ) 65 if ( sscanf(line,"%*d %s %*s %*s %s", devtype, devname )==2 )
55 { 66 {
56 if ( QString(devtype) == "ide" && m.find(devname)>0 ) { 67 if ( QString(devtype) == "ide" && m.find(devname)>0 ) {
57 fclose(f); 68 fclose(f);
58 return TRUE; 69 return TRUE;
59 } 70 }
60 } 71 }
61 } 72 }
62 fclose(f); 73 fclose(f);
63 } 74 }
75#endif /* Q_OS_MACX */
64 return FALSE; 76 return FALSE;
65} 77}
66 78
67/*! \class StorageInfo storage.h 79/*! \class StorageInfo storage.h
68 \brief The StorageInfo class describes the disks mounted on the file system. 80 \brief The StorageInfo class describes the disks mounted on the file system.
69 81
70 This class provides access to the mount information for the Linux 82 This class provides access to the mount information for the Linux
71 filesystem. Each mount point is represented by the FileSystem class. 83 filesystem. Each mount point is represented by the FileSystem class.
72 To ensure this class has the most up to date size information, call 84 To ensure this class has the most up to date size information, call
73 the update() method. Note that this will automatically be signaled 85 the update() method. Note that this will automatically be signaled
74 by the operating system when a disk has been mounted or unmounted. 86 by the operating system when a disk has been mounted or unmounted.
75 87
76 \ingroup qtopiaemb 88 \ingroup qtopiaemb
77*/ 89*/
78 90
79/*! Constructor that determines the current mount points of the filesystem. 91/*! Constructor that determines the current mount points of the filesystem.
80 The standard \a parent parameters is passed on to QObject. 92 The standard \a parent parameters is passed on to QObject.
81 */ 93 */
82StorageInfo::StorageInfo( QObject *parent ) 94StorageInfo::StorageInfo( QObject *parent )
83 : QObject( parent ) 95 : QObject( parent )
84{ 96{
85 mFileSystems.setAutoDelete( TRUE ); 97 mFileSystems.setAutoDelete( TRUE );
86 channel = new QCopChannel( "QPE/Card", this ); 98 channel = new QCopChannel( "QPE/Card", this );
87 connect( channel, SIGNAL(received(const QCString &, const QByteArray &)), 99 connect( channel, SIGNAL(received(const QCString &, const QByteArray &)),
@@ -183,62 +195,82 @@ void StorageInfo::update()
183 humanname = tr("Internal Memory"); 195 humanname = tr("Internal Memory");
184 else if ( disk == "/dev/mtdblock1" || humanname == "/dev/mtdblock/1" ) 196 else if ( disk == "/dev/mtdblock1" || humanname == "/dev/mtdblock/1" )
185 humanname = tr("Internal Storage"); 197 humanname = tr("Internal Storage");
186 else if ( disk.left(14) == "/dev/mtdblock/" ) 198 else if ( disk.left(14) == "/dev/mtdblock/" )
187 humanname = tr("Internal Storage") + " " + disk; 199 humanname = tr("Internal Storage") + " " + disk;
188 else if ( disk.left(13) == "/dev/mtdblock" ) 200 else if ( disk.left(13) == "/dev/mtdblock" )
189 humanname = tr("Internal Storage") + " " + disk; 201 humanname = tr("Internal Storage") + " " + disk;
190 else if ( disk.left(9) == "/dev/root" ) 202 else if ( disk.left(9) == "/dev/root" )
191 humanname = tr("Internal Storage") + " " + disk; 203 humanname = tr("Internal Storage") + " " + disk;
192 else if ( disk.left(5) == "tmpfs" ) //ipaqs /mnt/ramfs 204 else if ( disk.left(5) == "tmpfs" ) //ipaqs /mnt/ramfs
193 humanname = tr("Internal Memory"); 205 humanname = tr("Internal Memory");
194 FileSystem *fs = new FileSystem( disk, *fsit, humanname, removable, opts ); 206 FileSystem *fs = new FileSystem( disk, *fsit, humanname, removable, opts );
195 mFileSystems.append( fs ); 207 mFileSystems.append( fs );
196 } 208 }
197 emit disksChanged(); 209 emit disksChanged();
198 } else { 210 } else {
199 // just update them 211 // just update them
200 for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i) 212 for (QListIterator<FileSystem> i(mFileSystems); i.current(); ++i)
201 i.current()->update(); 213 i.current()->update();
202 } 214 }
203#endif 215#endif
204} 216}
205 217
206bool deviceTab( const char *device) { 218bool deviceTab( const char *device) {
207 QString name = device; 219 QString name = device;
208 bool hasDevice=false; 220 bool hasDevice=false;
221
222#ifdef Q_OS_MACX
223 // Darwin (MacOS X)
224 struct statfs** mntbufp;
225 int count = 0;
226 if ( ( count = getmntinfo( mntbufp, MNT_WAIT ) ) == 0 ){
227 qWarning("deviceTab: Error in getmntinfo(): %s",strerror( errno ) );
228 hasDevice = false;
229 }
230 for( int i = 0; i < count; i++ ){
231 QString deviceName = mntbufp[i]->f_mntfromname;
232 qDebug(deviceName);
233 if( deviceName.left( name.length() ) == name )
234 hasDevice = true;
235 }
236#else
237 // Linux
209 struct mntent *me; 238 struct mntent *me;
210 FILE *mntfp = setmntent( "/etc/mtab", "r" ); 239 FILE *mntfp = setmntent( "/etc/mtab", "r" );
211 if ( mntfp ) { 240 if ( mntfp ) {
212 while ( (me = getmntent( mntfp )) != 0 ) { 241 while ( (me = getmntent( mntfp )) != 0 ) {
213 QString deviceName = me->mnt_fsname; 242 QString deviceName = me->mnt_fsname;
214// qDebug(deviceName); 243// qDebug(deviceName);
215 if( deviceName.left(name.length()) == name) { 244 if( deviceName.left(name.length()) == name) {
216 hasDevice = true; 245 hasDevice = true;
217 } 246 }
218 } 247 }
219 } 248 }
220 endmntent( mntfp ); 249 endmntent( mntfp );
250#endif /* Q_OS_MACX */
251
252
221 return hasDevice; 253 return hasDevice;
222} 254}
223 255
224/*! 256/*!
225 * @fn static bool StorageInfo::hasCf() 257 * @fn static bool StorageInfo::hasCf()
226 * @brief returns whether device has Cf mounted 258 * @brief returns whether device has Cf mounted
227 * 259 *
228 */ 260 */
229bool StorageInfo::hasCf() 261bool StorageInfo::hasCf()
230{ 262{
231 return deviceTab("/dev/hd"); 263 return deviceTab("/dev/hd");
232} 264}
233 265
234/*! 266/*!
235 * @fn static bool StorageInfo::hasSd() 267 * @fn static bool StorageInfo::hasSd()
236 * @brief returns whether device has SD mounted 268 * @brief returns whether device has SD mounted
237 * 269 *
238 */ 270 */
239bool StorageInfo::hasSd() 271bool StorageInfo::hasSd()
240{ 272{
241 return deviceTab("/dev/mmcd"); 273 return deviceTab("/dev/mmcd");
242} 274}
243 275
244/*! 276/*!
diff --git a/mkspecs/qws/macx-generic-g++/qmake.conf b/mkspecs/qws/macx-generic-g++/qmake.conf
index 3460a40..04f1c8b 100644
--- a/mkspecs/qws/macx-generic-g++/qmake.conf
+++ b/mkspecs/qws/macx-generic-g++/qmake.conf
@@ -3,78 +3,79 @@
3# 3#
4# qmake configuration for macx-g++ with Qt/Embedded 4# qmake configuration for macx-g++ with Qt/Embedded
5# 5#
6 6
7 MAKEFILE_GENERATOR= UNIX 7 MAKEFILE_GENERATOR= UNIX
8 TEMPLATE = app 8 TEMPLATE = app
9 CONFIG += qt warn_on release 9 CONFIG += qt warn_on release
10 QMAKE_EXTENSION_SHLIB= dylib 10 QMAKE_EXTENSION_SHLIB= dylib
11 11
12 QMAKE_CC = $(TB)cc 12 QMAKE_CC = $(TB)cc
13 QMAKE_LEX = flex 13 QMAKE_LEX = flex
14 QMAKE_LEXFLAGS = 14 QMAKE_LEXFLAGS =
15 QMAKE_YACC = yacc 15 QMAKE_YACC = yacc
16 QMAKE_YACCFLAGS = -d 16 QMAKE_YACCFLAGS = -d
17 QMAKE_CFLAGS = -pipe $(CFLAGS_EXTRA) 17 QMAKE_CFLAGS = -pipe $(CFLAGS_EXTRA)
18 QMAKE_CFLAGS_WARN_ON= -Wall -W 18 QMAKE_CFLAGS_WARN_ON= -Wall -W
19 QMAKE_CFLAGS_WARN_OFF= 19 QMAKE_CFLAGS_WARN_OFF=
20 QMAKE_CFLAGS_RELEASE= $(if $(CFLAGS_RELEASE),$(CFLAGS_RELEASE), -O2 -fno-default-inline) 20 QMAKE_CFLAGS_RELEASE= $(if $(CFLAGS_RELEASE),$(CFLAGS_RELEASE), -O2 -fno-default-inline)
21 QMAKE_CFLAGS_DEBUG= -g 21 QMAKE_CFLAGS_DEBUG= -g
22 QMAKE_CFLAGS_SHLIB= -fPIC 22 QMAKE_CFLAGS_SHLIB= -fPIC
23 QMAKE_CFLAGS_YACC= -Wno-unused -Wno-parentheses 23 QMAKE_CFLAGS_YACC= -Wno-unused -Wno-parentheses
24 QMAKE_CFLAGS_THREAD= -D_REENTRANT 24 QMAKE_CFLAGS_THREAD= -D_REENTRANT
25 25
26 QMAKE_CXX = $(TB)c++ 26 QMAKE_CXX = $(TB)c++
27 QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -DQT_NO_QWS_TRANSFORMED -DQWS -fno-exceptions -fno-rtti $(CXXFLAGS_EXTRA) 27 QMAKE_CXXFLAGS = $$QMAKE_CFLAGS -DQT_NO_QWS_TRANSFORMED -DQWS -fno-exceptions -fno-rtti $(CXXFLAGS_EXTRA) -DQ_OS_MACX -DQT_NO_SOUND -DOPIE_NO_OVERRIDE_QT
28 QMAKE_CXXFLAGS_WARN_ON= $$QMAKE_CFLAGS_WARN_ON 28 QMAKE_CXXFLAGS_WARN_ON= $$QMAKE_CFLAGS_WARN_ON
29 QMAKE_CXXFLAGS_WARN_OFF= $$QMAKE_CFLAGS_WARN_OFF 29 QMAKE_CXXFLAGS_WARN_OFF= $$QMAKE_CFLAGS_WARN_OFF
30 QMAKE_CXXFLAGS_RELEASE= $$QMAKE_CFLAGS_RELEASE 30 QMAKE_CXXFLAGS_RELEASE= $$QMAKE_CFLAGS_RELEASE
31 QMAKE_CXXFLAGS_DEBUG= $$QMAKE_CFLAGS_DEBUG 31 QMAKE_CXXFLAGS_DEBUG= $$QMAKE_CFLAGS_DEBUG
32 QMAKE_CXXFLAGS_SHLIB= $$QMAKE_CFLAGS_SHLIB 32 QMAKE_CXXFLAGS_SHLIB= $$QMAKE_CFLAGS_SHLIB
33 QMAKE_CXXFLAGS_YACC= $$QMAKE_CFLAGS_YACC 33 QMAKE_CXXFLAGS_YACC= $$QMAKE_CFLAGS_YACC
34 QMAKE_CXXFLAGS_THREAD= $$QMAKE_CFLAGS_THREAD 34 QMAKE_CXXFLAGS_THREAD= $$QMAKE_CFLAGS_THREAD
35 35
36 QMAKE_INCDIR = 36 QMAKE_INCDIR =
37 QMAKE_LIBDIR = 37 QMAKE_LIBDIR =
38 QMAKE_INCDIR_X11= 38 QMAKE_INCDIR_X11=
39 QMAKE_LIBDIR_X11= 39 QMAKE_LIBDIR_X11=
40 QMAKE_INCDIR_QT = $(QTDIR)/include 40 QMAKE_INCDIR_QT = $(QTDIR)/include
41 QMAKE_LIBDIR_QT = $(QTDIR)/lib 41 QMAKE_LIBDIR_QT = $(QTDIR)/lib
42 QMAKE_INCDIR_OPENGL= /usr/X11R6/include 42 QMAKE_INCDIR_OPENGL= /usr/X11R6/include
43 QMAKE_LIBDIR_OPENGL= /usr/X11R6/lib 43 QMAKE_LIBDIR_OPENGL= /usr/X11R6/lib
44 44
45 QMAKE_LINK = $$QMAKE_CXX 45 QMAKE_LINK = $$QMAKE_CXX
46 QMAKE_LINK_SHLIB= $$QMAKE_CXX 46 QMAKE_LINK_SHLIB= $$QMAKE_CXX
47 QMAKE_LFLAGS = $(LFLAGS_EXTRA) 47 QMAKE_LFLAGS = $(LFLAGS_EXTRA)
48 QMAKE_LFLAGS_RELEASE= 48 QMAKE_LFLAGS_RELEASE=
49 QMAKE_LFLAGS_DEBUG= 49 QMAKE_LFLAGS_DEBUG=
50 QMAKE_LFLAGS_SHLIB= -dynamiclib 50 QMAKE_LFLAGS_SHLIB= -dynamiclib
51QMAKE_LFLAGS_INCREMENTAL = -undefined suppress -flat_namespace 51QMAKE_LFLAGS_INCREMENTAL = -undefined suppress -flat_namespace
52 QMAKE_LFLAGS_PLUGIN= -bundle 52 QMAKE_LFLAGS_PLUGIN= -bundle
53 QMAKE_LFLAGS_SONAME= 53 QMAKE_LFLAGS_SONAME=
54 QMAKE_LFLAGS_THREAD= 54 QMAKE_LFLAGS_THREAD=
55 QMAKE_RPATH = 55 QMAKE_RPATH =
56 56
57 QMAKE_LIBS = $(LIBS_EXTRA) 57 QMAKE_LIBS = $(LIBS_EXTRA)
58 QMAKE_LIBS_X11 = 58 QMAKE_LIBS_X11 =
59 QMAKE_LIBS_X11SM= 59 QMAKE_LIBS_X11SM=
60 QMAKE_LIBS_QT = -lqte 60 QMAKE_LIBS_QT = -lqte
61 #QMAKE_LIBS_QT = libqte.dylib
61 QMAKE_LIBS_QT_THREAD= -lqte-mt 62 QMAKE_LIBS_QT_THREAD= -lqte-mt
62 QMAKE_LIBS_QT_OPENGL= -lqgl 63 QMAKE_LIBS_QT_OPENGL= -lqgl
63 QMAKE_LIBS_THREAD= 64 QMAKE_LIBS_THREAD=
64 65
65 QMAKE_MOC = $(QTDIR)/bin/moc 66 QMAKE_MOC = $(QTDIR)/bin/moc
66 QMAKE_UIC = $(QTDIR)/bin/uic 67 QMAKE_UIC = $(QTDIR)/bin/uic
67 68
68 QMAKE_AR = ar cqs 69 QMAKE_AR = ar cqs
69 QMAKE_RANLIB = 70 QMAKE_RANLIB =
70 71
71 QMAKE_TAR = tar -cf 72 QMAKE_TAR = tar -cf
72 QMAKE_GZIP = gzip -9f 73 QMAKE_GZIP = gzip -9f
73 74
74 QMAKE_COPY = cp -f 75 QMAKE_COPY = cp -f
75 QMAKE_MOVE = mv -f 76 QMAKE_MOVE = mv -f
76 QMAKE_DEL_FILE = rm -f 77 QMAKE_DEL_FILE = rm -f
77 QMAKE_DEL_DIR = rmdir 78 QMAKE_DEL_DIR = rmdir
78 79
79 80
80 81
diff --git a/noncore/applets/networkapplet/networkapplet.pro b/noncore/applets/networkapplet/networkapplet.pro
index ec58455..368f80e 100644
--- a/noncore/applets/networkapplet/networkapplet.pro
+++ b/noncore/applets/networkapplet/networkapplet.pro
@@ -1,15 +1,15 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = networkapplet.h 3HEADERS = networkapplet.h
4SOURCES = networkapplet.cpp 4SOURCES = networkapplet.cpp
5TARGET = networkapplet 5TARGET = networkapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
9LIBS += -lqpe -lopiecore2 -lopieui2 -lopienet2 9LIBS += -lqpe -lopiecore2 -lopieui2 -lopienet2
10VERSION = 0.1.0 10VERSION = 0.1.0
11MOC_DIR = moc 11MOC_DIR = moc
12OBJECTS_DIR = obj 12OBJECTS_DIR = obj
13 13
14 14
15include ( $(OPIEDIR)/include.pro ) 15include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/applets/notesapplet/notesapplet.pro b/noncore/applets/notesapplet/notesapplet.pro
index e4558f7..3075948 100644
--- a/noncore/applets/notesapplet/notesapplet.pro
+++ b/noncore/applets/notesapplet/notesapplet.pro
@@ -1,16 +1,16 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = notes.h notesappletimpl.h 3HEADERS = notes.h notesappletimpl.h
4SOURCES = notes.cpp notesappletimpl.cpp 4SOURCES = notes.cpp notesappletimpl.cpp
5TARGET = notesapplet 5TARGET = notesapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
9LIBS += -lqpe 9LIBS += -lqpe
10VERSION = 1.0.0 10VERSION = 1.0.0
11MOC_DIR=opieobj 11MOC_DIR=opieobj
12OBJECTS_DIR=opieobj 12OBJECTS_DIR=opieobj
13 13
14 14
15 15
16include ( $(OPIEDIR)/include.pro ) 16include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/applets/wirelessapplet/wirelessapplet.pro b/noncore/applets/wirelessapplet/wirelessapplet.pro
index 501327d..aee89d7 100644
--- a/noncore/applets/wirelessapplet/wirelessapplet.pro
+++ b/noncore/applets/wirelessapplet/wirelessapplet.pro
@@ -1,26 +1,26 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = wireless.h wirelessappletimpl.h networkinfo.h mgraph.h advancedconfig.h 3HEADERS = wireless.h wirelessappletimpl.h networkinfo.h mgraph.h advancedconfig.h
4SOURCES = wireless.cpp wirelessappletimpl.cpp networkinfo.cpp mgraph.cpp advancedconfig.cpp 4SOURCES = wireless.cpp wirelessappletimpl.cpp networkinfo.cpp mgraph.cpp advancedconfig.cpp
5INTERFACES = advancedconfigbase.ui 5INTERFACES = advancedconfigbase.ui
6TARGET = wirelessapplet 6TARGET = wirelessapplet
7DESTDIR = $(OPIEDIR)/plugins/applets 7DESTDIR = $(OPIEDIR)/plugins/applets
8INCLUDEPATH += $(OPIEDIR)/include 8INCLUDEPATH += $(OPIEDIR)/include
9DEPENDPATH += ../$(OPIEDIR)/include 9DEPENDPATH += ../$(OPIEDIR)/include
10LIBS += -lqpe 10LIBS += -lqpe
11VERSION = 0.1.0 11VERSION = 0.1.0
12 12
13TRANSLATIONS = ../../../i18n/de/libwirelessapplet.ts \ 13TRANSLATIONS = ../../../i18n/de/libwirelessapplet.ts \
14 ../../../i18n/nl/libwirelessapplet.ts \ 14 ../../../i18n/nl/libwirelessapplet.ts \
15 ../../../i18n/da/libwirelessapplet.ts \ 15 ../../../i18n/da/libwirelessapplet.ts \
16 ../../../i18n/xx/libwirelessapplet.ts \ 16 ../../../i18n/xx/libwirelessapplet.ts \
17 ../../../i18n/en/libwirelessapplet.ts \ 17 ../../../i18n/en/libwirelessapplet.ts \
18 ../../../i18n/es/libwirelessapplet.ts \ 18 ../../../i18n/es/libwirelessapplet.ts \
19 ../../../i18n/fr/libwirelessapplet.ts \ 19 ../../../i18n/fr/libwirelessapplet.ts \
20 ../../../i18n/hu/libwirelessapplet.ts \ 20 ../../../i18n/hu/libwirelessapplet.ts \
21 ../../../i18n/ja/libwirelessapplet.ts \ 21 ../../../i18n/ja/libwirelessapplet.ts \
22 ../../../i18n/ko/libwirelessapplet.ts \ 22 ../../../i18n/ko/libwirelessapplet.ts \
23 ../../../i18n/no/libwirelessapplet.ts \ 23 ../../../i18n/no/libwirelessapplet.ts \
24 ../../../i18n/pl/libwirelessapplet.ts \ 24 ../../../i18n/pl/libwirelessapplet.ts \
25 ../../../i18n/pt/libwirelessapplet.ts \ 25 ../../../i18n/pt/libwirelessapplet.ts \
26 ../../../i18n/pt_BR/libwirelessapplet.ts \ 26 ../../../i18n/pt_BR/libwirelessapplet.ts \
diff --git a/noncore/decorations/flat/flat.pro b/noncore/decorations/flat/flat.pro
index e691339..f3d63ea 100644
--- a/noncore/decorations/flat/flat.pro
+++ b/noncore/decorations/flat/flat.pro
@@ -1,15 +1,15 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS = flat.h 3 HEADERS = flat.h
4 SOURCES = flat.cpp 4 SOURCES = flat.cpp
5 TARGET = flat 5 TARGET = flat
6 DESTDIR = $(OPIEDIR)/plugins/decorations 6 DESTDIR = $(OPIEDIR)/plugins/decorations
7 INCLUDEPATH+= $(OPIEDIR)/include 7 INCLUDEPATH+= $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
9LIBS += -lqpe 9LIBS += -lqpe
10 VERSION = 1.0.0 10 VERSION = 1.0.0
11 11
12 12
13 13
14 14
15include ( $(OPIEDIR)/include.pro ) 15include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/decorations/liquid/liquid.pro b/noncore/decorations/liquid/liquid.pro
index 7c310a6..2afed26 100644
--- a/noncore/decorations/liquid/liquid.pro
+++ b/noncore/decorations/liquid/liquid.pro
@@ -1,14 +1,14 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG = qt embedded release warn_on 2CONFIG = qt plugin embedded release warn_on
3SOURCES = liquid.cpp 3SOURCES = liquid.cpp
4HEADERS = liquid.h 4HEADERS = liquid.h
5LIBS += -lqpe 5LIBS += -lqpe
6INCLUDEPATH += $(OPIEDIR)/include 6INCLUDEPATH += $(OPIEDIR)/include
7DESTDIR = $(OPIEDIR)/plugins/decorations 7DESTDIR = $(OPIEDIR)/plugins/decorations
8TARGET = liquid 8TARGET = liquid
9VERSION = 1.0.0 9VERSION = 1.0.0
10 10
11 11
12 12
13 13
14include ( $(OPIEDIR)/include.pro ) 14include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/decorations/polished/polished.pro b/noncore/decorations/polished/polished.pro
index 1ee940e..d3f3dcc 100644
--- a/noncore/decorations/polished/polished.pro
+++ b/noncore/decorations/polished/polished.pro
@@ -1,15 +1,15 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS = polished.h 3 HEADERS = polished.h
4 SOURCES = polished.cpp 4 SOURCES = polished.cpp
5 TARGET = polished 5 TARGET = polished
6 DESTDIR = $(OPIEDIR)/plugins/decorations 6 DESTDIR = $(OPIEDIR)/plugins/decorations
7 INCLUDEPATH+= $(OPIEDIR)/include 7 INCLUDEPATH+= $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
9LIBS += -lqpe 9LIBS += -lqpe
10 VERSION = 1.0.0 10 VERSION = 1.0.0
11 11
12 12
13 13
14 14
15include ( $(OPIEDIR)/include.pro ) 15include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/net/opietooth/applet/applet.pro b/noncore/net/opietooth/applet/applet.pro
index 23c1d0a..4efcb42 100644
--- a/noncore/net/opietooth/applet/applet.pro
+++ b/noncore/net/opietooth/applet/applet.pro
@@ -1,26 +1,26 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG += qt warn_on release 2CONFIG += qt plugin warn_on release
3HEADERS = bluezapplet.h bluezappletimpl.h 3HEADERS = bluezapplet.h bluezappletimpl.h
4SOURCES = bluezapplet.cpp bluezappletimpl.cpp 4SOURCES = bluezapplet.cpp bluezappletimpl.cpp
5TARGET = bluetoothapplet 5TARGET = bluetoothapplet
6DESTDIR = $(OPIEDIR)/plugins/applets 6DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8INCLUDEPATH += $(OPIEDIR)/noncore/net/opietooth/lib 8INCLUDEPATH += $(OPIEDIR)/noncore/net/opietooth/lib
9DEPENDPATH += $(OPIEDIR)/include 9DEPENDPATH += $(OPIEDIR)/include
10LIBS += -lqpe -lopietooth 10LIBS += -lqpe -lopietooth
11VERSION = 0.0.3 11VERSION = 0.0.3
12 12
13TRANSLATIONS = ../../../../i18n/de/libbluetoothapplet.ts \ 13TRANSLATIONS = ../../../../i18n/de/libbluetoothapplet.ts \
14 ../../../../i18n/nl/libbluetoothapplet.ts \ 14 ../../../../i18n/nl/libbluetoothapplet.ts \
15 ../../../../i18n/da/libbluetoothapplet.ts \ 15 ../../../../i18n/da/libbluetoothapplet.ts \
16 ../../../../i18n/xx/libbluetoothapplet.ts \ 16 ../../../../i18n/xx/libbluetoothapplet.ts \
17 ../../../../i18n/en/libbluetoothapplet.ts \ 17 ../../../../i18n/en/libbluetoothapplet.ts \
18 ../../../../i18n/es/libbluetoothapplet.ts \ 18 ../../../../i18n/es/libbluetoothapplet.ts \
19 ../../../../i18n/fr/libbluetoothapplet.ts \ 19 ../../../../i18n/fr/libbluetoothapplet.ts \
20 ../../../../i18n/hu/libbluetoothapplet.ts \ 20 ../../../../i18n/hu/libbluetoothapplet.ts \
21 ../../../../i18n/ja/libbluetoothapplet.ts \ 21 ../../../../i18n/ja/libbluetoothapplet.ts \
22 ../../../../i18n/ko/libbluetoothapplet.ts \ 22 ../../../../i18n/ko/libbluetoothapplet.ts \
23 ../../../../i18n/no/libbluetoothapplet.ts \ 23 ../../../../i18n/no/libbluetoothapplet.ts \
24 ../../../../i18n/pl/libbluetoothapplet.ts \ 24 ../../../../i18n/pl/libbluetoothapplet.ts \
25 ../../../../i18n/pt/libbluetoothapplet.ts \ 25 ../../../../i18n/pt/libbluetoothapplet.ts \
26 ../../../../i18n/pt_BR/libbluetoothapplet.ts \ 26 ../../../../i18n/pt_BR/libbluetoothapplet.ts \
diff --git a/noncore/settings/networksettings/ppp/ppp.pro b/noncore/settings/networksettings/ppp/ppp.pro
index 84acd0e..dc78eb1 100644
--- a/noncore/settings/networksettings/ppp/ppp.pro
+++ b/noncore/settings/networksettings/ppp/ppp.pro
@@ -1,17 +1,17 @@
1#TEMPLATE = app 1#TEMPLATE = app
2# 2#
3TEMPLATE = lib 3TEMPLATE = lib
4#CONFIG += qt warn_on release 4#CONFIG += qt plugin warn_on release
5 CONFIG += qt warn_on debug 5 CONFIG += qt plugin warn_on debug
6DESTDIR = $(OPIEDIR)/plugins/networksettings 6DESTDIR = $(OPIEDIR)/plugins/networksettings
7 HEADERS = pppmodule.h modem.h modeminfo.h pppdata.h kpppconfig.h pppdata.h runtests.h general.h modemcmds.h conwindow.h accounts.h connect.h edit.h scriptedit.h pppdargs.h iplined.h pwentry.h pppconfig.h interfaceinformationppp.h interfaceppp.h authwidget.h chooserwidget.h devices.h 7 HEADERS = pppmodule.h modem.h modeminfo.h pppdata.h kpppconfig.h pppdata.h runtests.h general.h modemcmds.h conwindow.h accounts.h connect.h edit.h scriptedit.h pppdargs.h iplined.h pwentry.h pppconfig.h interfaceinformationppp.h interfaceppp.h authwidget.h chooserwidget.h devices.h
8 SOURCES = pppmodule.cpp modem.cpp modeminfo.cpp pppdata.cpp runtests.cpp general.cpp modemcmds.cpp conwindow.cpp accounts.cpp connect.cpp edit.cpp scriptedit.cpp pppdargs.cpp iplined.cpp pwentry.cpp pppconfig.cpp interfaceinformationppp.cpp interfaceppp.cpp authwidget.cpp chooserwidget.cpp devices.cpp 8 SOURCES = pppmodule.cpp modem.cpp modeminfo.cpp pppdata.cpp runtests.cpp general.cpp modemcmds.cpp conwindow.cpp accounts.cpp connect.cpp edit.cpp scriptedit.cpp pppdargs.cpp iplined.cpp pwentry.cpp pppconfig.cpp interfaceinformationppp.cpp interfaceppp.cpp authwidget.cpp chooserwidget.cpp devices.cpp
9 INCLUDEPATH+= $(OPIEDIR)/include ../ ../interfaces/ 9 INCLUDEPATH+= $(OPIEDIR)/include ../ ../interfaces/
10 DEPENDPATH+= $(OPIEDIR)/include 10 DEPENDPATH+= $(OPIEDIR)/include
11LIBS += -lqpe -L../interfaces/ -linterfaces 11LIBS += -lqpe -L../interfaces/ -linterfaces
12 TARGET = kppp 12 TARGET = kppp
13 VERSION = 1.0.0 13 VERSION = 1.0.0
14 14
15 15
16 16
17include ( $(OPIEDIR)/include.pro ) 17include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/settings/networksettings/wlan/wlan.pro b/noncore/settings/networksettings/wlan/wlan.pro
index 82a5b2f..098ad1d 100644
--- a/noncore/settings/networksettings/wlan/wlan.pro
+++ b/noncore/settings/networksettings/wlan/wlan.pro
@@ -1,28 +1,28 @@
1# 1#
2TEMPLATE = lib 2TEMPLATE = lib
3#TEMPLATE = app 3#TEMPLATE = app
4CONFIG += qt warn_on release 4CONFIG += qt plugin warn_on release
5 #CONFIG += qt warn_on debug 5 #CONFIG += qt plugin warn_on debug
6DESTDIR = $(OPIEDIR)/plugins/networksettings 6DESTDIR = $(OPIEDIR)/plugins/networksettings
7 HEADERS = infoimp.h wlanmodule.h wextensions.h keyedit.h 7 HEADERS = infoimp.h wlanmodule.h wextensions.h keyedit.h
8 SOURCES = infoimp.cpp wlanmodule.cpp wextensions.cpp keyedit.cpp 8 SOURCES = infoimp.cpp wlanmodule.cpp wextensions.cpp keyedit.cpp
9 INCLUDEPATH+= $(OPIEDIR)/include ../ ../interfaces/ 9 INCLUDEPATH+= $(OPIEDIR)/include ../ ../interfaces/
10 DEPENDPATH+= $(OPIEDIR)/include 10 DEPENDPATH+= $(OPIEDIR)/include
11LIBS += -lqpe -L../interfaces/ -linterfaces -lopienet2 11LIBS += -lqpe -L../interfaces/ -linterfaces -lopienet2
12 INTERFACES= wlan.ui info.ui 12 INTERFACES= wlan.ui info.ui
13 TARGET = wlan 13 TARGET = wlan
14 VERSION = 1.0.0 14 VERSION = 1.0.0
15 15
16#CONFIG += wirelessopts 16#CONFIG += wirelessopts
17 17
18wirelessopts { 18wirelessopts {
19 HEADERS+= wlanimp.h 19 HEADERS+= wlanimp.h
20 SOURCES+= wlanimp.cpp 20 SOURCES+= wlanimp.cpp
21} 21}
22 22
23! wirelessopts { 23! wirelessopts {
24 HEADERS+= wlanimp2.h 24 HEADERS+= wlanimp2.h
25 SOURCES += wlanimp2.cpp 25 SOURCES += wlanimp2.cpp
26} 26}
27 27
28include ( $(OPIEDIR)/include.pro ) 28include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/styles/flat/flat.pro b/noncore/styles/flat/flat.pro
index ed25d5c..2721e14 100644
--- a/noncore/styles/flat/flat.pro
+++ b/noncore/styles/flat/flat.pro
@@ -1,15 +1,15 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS = flat.h 3 HEADERS = flat.h
4 SOURCES = flat.cpp 4 SOURCES = flat.cpp
5 TARGET = flatstyle 5 TARGET = flatstyle
6 DESTDIR = $(OPIEDIR)/plugins/styles 6 DESTDIR = $(OPIEDIR)/plugins/styles
7 INCLUDEPATH+= $(OPIEDIR)/include 7 INCLUDEPATH+= $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
9LIBS += -lqpe 9LIBS += -lqpe
10 VERSION = 1.0.0 10 VERSION = 1.0.0
11 11
12 12
13 13
14 14
15include ( $(OPIEDIR)/include.pro ) 15include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/styles/fresh/fresh.pro b/noncore/styles/fresh/fresh.pro
index 88a8de3..564c5cd 100644
--- a/noncore/styles/fresh/fresh.pro
+++ b/noncore/styles/fresh/fresh.pro
@@ -1,15 +1,15 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt plugin warn_on release
3 HEADERS = fresh.h 3 HEADERS = fresh.h
4 SOURCES = fresh.cpp 4 SOURCES = fresh.cpp
5 TARGET = freshstyle 5 TARGET = freshstyle
6 DESTDIR = $(OPIEDIR)/plugins/styles 6 DESTDIR = $(OPIEDIR)/plugins/styles
7 INCLUDEPATH+= $(OPIEDIR)/include 7 INCLUDEPATH+= $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include 8DEPENDPATH += $(OPIEDIR)/include
9LIBS += -lqpe 9LIBS += -lqpe
10 VERSION = 1.0.0 10 VERSION = 1.0.0
11 11
12 12
13 13
14 14
15include ( $(OPIEDIR)/include.pro ) 15include ( $(OPIEDIR)/include.pro )
diff --git a/noncore/styles/liquid/liquid.pro b/noncore/styles/liquid/liquid.pro
index 9241eba..4e1c575 100644
--- a/noncore/styles/liquid/liquid.pro
+++ b/noncore/styles/liquid/liquid.pro
@@ -1,26 +1,26 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG = qt embedded release warn_on 2CONFIG = qt plugin embedded release warn_on
3SOURCES = liquid.cpp \ 3SOURCES = liquid.cpp \
4 effects.cpp \ 4 effects.cpp \
5 liquidset.cpp \ 5 liquidset.cpp \
6 plugin.cpp 6 plugin.cpp
7 7
8HEADERS = liquid.h \ 8HEADERS = liquid.h \
9 effects.h \ 9 effects.h \
10 liquidset.h \ 10 liquidset.h \
11 plugin.h 11 plugin.h
12 12
13LIBS += -lqpe -lopie 13LIBS += -lqpe -lopie
14INCLUDEPATH += $(OPIEDIR)/include 14INCLUDEPATH += $(OPIEDIR)/include
15DESTDIR = $(OPIEDIR)/plugins/styles 15DESTDIR = $(OPIEDIR)/plugins/styles
16TARGET = liquid 16TARGET = liquid
17VERSION = 1.0.0 17VERSION = 1.0.0
18 18
19TRANSLATIONS = ../../../i18n/de/libliquid.ts \ 19TRANSLATIONS = ../../../i18n/de/libliquid.ts \
20 ../../../i18n/nl/libliquid.ts \ 20 ../../../i18n/nl/libliquid.ts \
21 ../../../i18n/da/libliquid.ts \ 21 ../../../i18n/da/libliquid.ts \
22 ../../../i18n/xx/libliquid.ts \ 22 ../../../i18n/xx/libliquid.ts \
23 ../../../i18n/en/libliquid.ts \ 23 ../../../i18n/en/libliquid.ts \
24 ../../../i18n/es/libliquid.ts \ 24 ../../../i18n/es/libliquid.ts \
25 ../../../i18n/fr/libliquid.ts \ 25 ../../../i18n/fr/libliquid.ts \
26 ../../../i18n/hu/libliquid.ts \ 26 ../../../i18n/hu/libliquid.ts \
diff --git a/noncore/styles/metal/metal.pro b/noncore/styles/metal/metal.pro
index 3bb376d..8633284 100644
--- a/noncore/styles/metal/metal.pro
+++ b/noncore/styles/metal/metal.pro
@@ -1,26 +1,26 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG = qt embedded release warn_on 2CONFIG = qt plugin embedded release warn_on
3SOURCES = metal.cpp plugin.cpp 3SOURCES = metal.cpp plugin.cpp
4 4
5HEADERS = metal.h plugin.h 5HEADERS = metal.h plugin.h
6LIBS += -lqpe 6LIBS += -lqpe
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DESTDIR = $(OPIEDIR)/plugins/styles 8DESTDIR = $(OPIEDIR)/plugins/styles
9TARGET = metal 9TARGET = metal
10VERSION = 1.0.0 10VERSION = 1.0.0
11 11
12TRANSLATIONS = ../../../i18n/de/libmetal.ts \ 12TRANSLATIONS = ../../../i18n/de/libmetal.ts \
13 ../../../i18n/nl/libmetal.ts \ 13 ../../../i18n/nl/libmetal.ts \
14 ../../../i18n/da/libmetal.ts \ 14 ../../../i18n/da/libmetal.ts \
15 ../../../i18n/xx/libmetal.ts \ 15 ../../../i18n/xx/libmetal.ts \
16 ../../../i18n/en/libmetal.ts \ 16 ../../../i18n/en/libmetal.ts \
17 ../../../i18n/es/libmetal.ts \ 17 ../../../i18n/es/libmetal.ts \
18 ../../../i18n/fr/libmetal.ts \ 18 ../../../i18n/fr/libmetal.ts \
19 ../../../i18n/hu/libmetal.ts \ 19 ../../../i18n/hu/libmetal.ts \
20 ../../../i18n/ja/libmetal.ts \ 20 ../../../i18n/ja/libmetal.ts \
21 ../../../i18n/ko/libmetal.ts \ 21 ../../../i18n/ko/libmetal.ts \
22 ../../../i18n/no/libmetal.ts \ 22 ../../../i18n/no/libmetal.ts \
23 ../../../i18n/pl/libmetal.ts \ 23 ../../../i18n/pl/libmetal.ts \
24 ../../../i18n/pt/libmetal.ts \ 24 ../../../i18n/pt/libmetal.ts \
25 ../../../i18n/pt_BR/libmetal.ts \ 25 ../../../i18n/pt_BR/libmetal.ts \
26 ../../../i18n/sl/libmetal.ts \ 26 ../../../i18n/sl/libmetal.ts \
diff --git a/noncore/styles/theme/theme.pro b/noncore/styles/theme/theme.pro
index f7ed324..4f84f3f 100644
--- a/noncore/styles/theme/theme.pro
+++ b/noncore/styles/theme/theme.pro
@@ -1,26 +1,26 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG = qt embedded debug warn_on 2CONFIG = qt plugin embedded debug warn_on
3SOURCES = ogfxeffect.cpp \ 3SOURCES = ogfxeffect.cpp \
4 othemestyle.cpp \ 4 othemestyle.cpp \
5 othemebase.cpp \ 5 othemebase.cpp \
6 themeset.cpp \ 6 themeset.cpp \
7 plugin.cpp 7 plugin.cpp
8 8
9HEADERS = ogfxeffect.h \ 9HEADERS = ogfxeffect.h \
10 othemebase.h \ 10 othemebase.h \
11 othemestyle.h \ 11 othemestyle.h \
12 themeset.h \ 12 themeset.h \
13 plugin.h 13 plugin.h
14 14
15 15
16LIBS += -lqpe 16LIBS += -lqpe
17INCLUDEPATH += $(OPIEDIR)/include 17INCLUDEPATH += $(OPIEDIR)/include
18DESTDIR = $(OPIEDIR)/plugins/styles 18DESTDIR = $(OPIEDIR)/plugins/styles
19TARGET = theme 19TARGET = theme
20VERSION = 1.0.0 20VERSION = 1.0.0
21 21
22TRANSLATIONS = ../../../i18n/de/libtheme.ts \ 22TRANSLATIONS = ../../../i18n/de/libtheme.ts \
23 ../../../i18n/nl/libtheme.ts \ 23 ../../../i18n/nl/libtheme.ts \
24 ../../../i18n/da/libtheme.ts \ 24 ../../../i18n/da/libtheme.ts \
25 ../../../i18n/xx/libtheme.ts \ 25 ../../../i18n/xx/libtheme.ts \
26 ../../../i18n/en/libtheme.ts \ 26 ../../../i18n/en/libtheme.ts \
diff --git a/noncore/todayplugins/fortune/fortune.pro b/noncore/todayplugins/fortune/fortune.pro
index 0a0d5b9..ac503c3 100644
--- a/noncore/todayplugins/fortune/fortune.pro
+++ b/noncore/todayplugins/fortune/fortune.pro
@@ -1,27 +1,27 @@
1TEMPLATE = lib 1TEMPLATE = lib
2#CONFIG -= moc 2#CONFIG -= moc
3CONFIG += qt release 3CONFIG += qt plugin release
4 4
5# Input 5# Input
6HEADERS = fortuneplugin.h fortunepluginimpl.h \ 6HEADERS = fortuneplugin.h fortunepluginimpl.h \
7 fortunepluginwidget.h 7 fortunepluginwidget.h
8SOURCES = fortuneplugin.cpp fortunepluginimpl.cpp \ 8SOURCES = fortuneplugin.cpp fortunepluginimpl.cpp \
9 fortunepluginwidget.cpp 9 fortunepluginwidget.cpp
10 10
11INCLUDEPATH += $(OPIEDIR)/include \ 11INCLUDEPATH += $(OPIEDIR)/include \
12 ../ ../library 12 ../ ../library
13DEPENDPATH += $(OPIEDIR)/include \ 13DEPENDPATH += $(OPIEDIR)/include \
14 ../ ../library 14 ../ ../library
15 15
16LIBS+= -lqpe -lopie 16LIBS+= -lqpe -lopie
17 17
18DESTDIR = $(OPIEDIR)/plugins/today 18DESTDIR = $(OPIEDIR)/plugins/today
19TARGET = todayfortuneplugin 19TARGET = todayfortuneplugin
20 20
21TRANSLATIONS = ../../../i18n/de/libtodayfortuneplugin.ts \ 21TRANSLATIONS = ../../../i18n/de/libtodayfortuneplugin.ts \
22 ../../../i18n/nl/libtodayfortuneplugin.ts \ 22 ../../../i18n/nl/libtodayfortuneplugin.ts \
23 ../../../i18n/xx/libtodayfortuneplugin.ts \ 23 ../../../i18n/xx/libtodayfortuneplugin.ts \
24 ../../../i18n/en/libtodayfortuneplugin.ts \ 24 ../../../i18n/en/libtodayfortuneplugin.ts \
25 ../../../i18n/es/libtodayfortuneplugin.ts \ 25 ../../../i18n/es/libtodayfortuneplugin.ts \
26 ../../../i18n/fr/libtodayfortuneplugin.ts \ 26 ../../../i18n/fr/libtodayfortuneplugin.ts \
27 ../../../i18n/hu/libtodayfortuneplugin.ts \ 27 ../../../i18n/hu/libtodayfortuneplugin.ts \
diff --git a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro
index c34be33..490a8f9 100644
--- a/noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro
+++ b/noncore/todayplugins/stockticker/stocktickerlib/stocktickerlib.pro
@@ -1,27 +1,27 @@
1TEMPLATE = lib 1TEMPLATE = lib
2CONFIG -= moc 2CONFIG -= moc
3CONFIG += qt release 3CONFIG += qt plugin release
4 4
5HEADERS = stocktickerplugin.h stocktickerpluginimpl.h stocktickerpluginwidget.h stocktickerconfig.h \ 5HEADERS = stocktickerplugin.h stocktickerpluginimpl.h stocktickerpluginwidget.h stocktickerconfig.h \
6 ../libstocks/csv.h \ 6 ../libstocks/csv.h \
7 ../libstocks/http.h \ 7 ../libstocks/http.h \
8 ../libstocks/lists.h \ 8 ../libstocks/lists.h \
9 ../libstocks/stocks.h 9 ../libstocks/stocks.h
10SOURCES = stocktickerplugin.cpp stocktickerpluginimpl.cpp stocktickerpluginwidget.cpp stocktickerconfig.cpp \ 10SOURCES = stocktickerplugin.cpp stocktickerpluginimpl.cpp stocktickerpluginwidget.cpp stocktickerconfig.cpp \
11 ../libstocks/csv.c \ 11 ../libstocks/csv.c \
12 ../libstocks/currency.c \ 12 ../libstocks/currency.c \
13 ../libstocks/history.c \ 13 ../libstocks/history.c \
14 ../libstocks/http.c \ 14 ../libstocks/http.c \
15 ../libstocks/lists.c \ 15 ../libstocks/lists.c \
16 ../libstocks/stocks.c 16 ../libstocks/stocks.c
17 17
18INCLUDEPATH += $(OPIEDIR)/include \ 18INCLUDEPATH += $(OPIEDIR)/include \
19 ../ ../library 19 ../ ../library
20DEPENDPATH += $(OPIEDIR)/include \ 20DEPENDPATH += $(OPIEDIR)/include \
21 ../ ../library 21 ../ ../library
22 22
23LIBS+= -lqpe -lopie -lpthread 23LIBS+= -lqpe -lopie -lpthread
24TMAKE_CFLAGS += -D__UNIX__ 24TMAKE_CFLAGS += -D__UNIX__
25 25
26DESTDIR = $(OPIEDIR)/plugins/today 26DESTDIR = $(OPIEDIR)/plugins/today
27TARGET = todaystocktickerplugin 27TARGET = todaystocktickerplugin
diff --git a/noncore/todayplugins/weather/weather.pro b/noncore/todayplugins/weather/weather.pro
index 2833e88..bd4b565 100644
--- a/noncore/todayplugins/weather/weather.pro
+++ b/noncore/todayplugins/weather/weather.pro
@@ -1,27 +1,27 @@
1TEMPLATE = lib 1TEMPLATE = lib
2#CONFIG -= moc 2#CONFIG -= moc
3CONFIG += qt release 3CONFIG += qt plugin release
4 4
5HEADERS = weatherplugin.h \ 5HEADERS = weatherplugin.h \
6 weatherpluginimpl.h \ 6 weatherpluginimpl.h \
7 weatherpluginwidget.h \ 7 weatherpluginwidget.h \
8 weatherconfig.h 8 weatherconfig.h
9 9
10SOURCES = weatherplugin.cpp \ 10SOURCES = weatherplugin.cpp \
11 weatherpluginimpl.cpp \ 11 weatherpluginimpl.cpp \
12 weatherpluginwidget.cpp \ 12 weatherpluginwidget.cpp \
13 weatherconfig.cpp 13 weatherconfig.cpp
14 14
15INCLUDEPATH += $(OPIEDIR)/include \ 15INCLUDEPATH += $(OPIEDIR)/include \
16 ../ ../library 16 ../ ../library
17DEPENDPATH += $(OPIEDIR)/include \ 17DEPENDPATH += $(OPIEDIR)/include \
18 ../ ../library 18 ../ ../library
19 19
20LIBS+= -lqpe -lopie 20LIBS+= -lqpe -lopie
21 21
22DESTDIR = $(OPIEDIR)/plugins/today 22DESTDIR = $(OPIEDIR)/plugins/today
23TARGET = todayweatherplugin 23TARGET = todayweatherplugin
24 24
25TRANSLATIONS = ../../../i18n/de/libtodayweatherplugin.ts \ 25TRANSLATIONS = ../../../i18n/de/libtodayweatherplugin.ts \
26 ../../../i18n/nl/libtodayweatherplugin.ts \ 26 ../../../i18n/nl/libtodayweatherplugin.ts \
27 ../../../i18n/xx/libtodayweatherplugin.ts \ 27 ../../../i18n/xx/libtodayweatherplugin.ts \
diff --git a/noncore/unsupported/mail2/bend/bend.pro b/noncore/unsupported/mail2/bend/bend.pro
index b03f652..61eea5f 100644
--- a/noncore/unsupported/mail2/bend/bend.pro
+++ b/noncore/unsupported/mail2/bend/bend.pro
@@ -1,26 +1,26 @@
1 TEMPLATE =lib 1 TEMPLATE =lib
2 CONFIG +=qt warn_on release 2 CONFIG +=qt plugin warn_on release
3 HEADERS +=bend.h \ 3 HEADERS +=bend.h \
4 bendimpl.h 4 bendimpl.h
5 SOURCES +=bend.cpp \ 5 SOURCES +=bend.cpp \
6 bendimpl.cpp 6 bendimpl.cpp
7 INCLUDEPATH +=$(OPIEDIR)/include ../libmail 7 INCLUDEPATH +=$(OPIEDIR)/include ../libmail
8 LIBS +=-lmail -lqpe 8 LIBS +=-lmail -lqpe
9 TARGET =bend 9 TARGET =bend
10 DESTDIR +=$(OPIEDIR)/plugins/applets/ 10 DESTDIR +=$(OPIEDIR)/plugins/applets/
11 11
12TRANSLATIONS = ../../../i18n/de/libbend.ts \ 12TRANSLATIONS = ../../../i18n/de/libbend.ts \
13 ../../../i18n/nl/libbend.ts \ 13 ../../../i18n/nl/libbend.ts \
14 ../../../i18n/da/libbend.ts \ 14 ../../../i18n/da/libbend.ts \
15 ../../../i18n/xx/libbend.ts \ 15 ../../../i18n/xx/libbend.ts \
16 ../../../i18n/en/libbend.ts \ 16 ../../../i18n/en/libbend.ts \
17 ../../../i18n/es/libbend.ts \ 17 ../../../i18n/es/libbend.ts \
18 ../../../i18n/fr/libbend.ts \ 18 ../../../i18n/fr/libbend.ts \
19 ../../../i18n/hu/libbend.ts \ 19 ../../../i18n/hu/libbend.ts \
20 ../../../i18n/ja/libbend.ts \ 20 ../../../i18n/ja/libbend.ts \
21 ../../../i18n/ko/libbend.ts \ 21 ../../../i18n/ko/libbend.ts \
22 ../../../i18n/no/libbend.ts \ 22 ../../../i18n/no/libbend.ts \
23 ../../../i18n/pl/libbend.ts \ 23 ../../../i18n/pl/libbend.ts \
24 ../../../i18n/pt/libbend.ts \ 24 ../../../i18n/pt/libbend.ts \
25 ../../../i18n/pt_BR/libbend.ts \ 25 ../../../i18n/pt_BR/libbend.ts \
26 ../../../i18n/sl/libbend.ts \ 26 ../../../i18n/sl/libbend.ts \
diff --git a/plugins/Makefile b/plugins/Makefile
index 4863bd0..2515903 100644
--- a/plugins/Makefile
+++ b/plugins/Makefile
@@ -1,4 +1,8 @@
1clean: 1clean:
2 find -name "*.so*" -print0 | xargs -0 rm -f 2ifeq ( CONFIG_TARGET_MACOSX, y )
3 find ./ -name "*.dylib*" -print0 | xargs -0 rm -f
4else
5 find ./ -name "*.so*" -print0 | xargs -0 rm -f
6endif
3 7
4all install ipk lupdate lrelease opie-lupdate opie-lrelease: 8all install ipk lupdate lrelease opie-lupdate opie-lrelease:
diff --git a/qmake/include/qglobal.h b/qmake/include/qglobal.h
index d212bff..94e5607 100644
--- a/qmake/include/qglobal.h
+++ b/qmake/include/qglobal.h
@@ -133,49 +133,56 @@
133# define Q_OS_LYNX 133# define Q_OS_LYNX
134#elif defined(__GNU_HURD__) 134#elif defined(__GNU_HURD__)
135# define Q_OS_HURD 135# define Q_OS_HURD
136#elif defined(__DGUX__) 136#elif defined(__DGUX__)
137# define Q_OS_DGUX 137# define Q_OS_DGUX
138#elif defined(__QNXNTO__) 138#elif defined(__QNXNTO__)
139# define Q_OS_QNX6 139# define Q_OS_QNX6
140#elif defined(__QNX__) 140#elif defined(__QNX__)
141# define Q_OS_QNX 141# define Q_OS_QNX
142#elif defined(_SEQUENT_) 142#elif defined(_SEQUENT_)
143# define Q_OS_DYNIX 143# define Q_OS_DYNIX
144#elif defined(_SCO_DS) /* SCO OpenServer 5 + GCC */ 144#elif defined(_SCO_DS) /* SCO OpenServer 5 + GCC */
145# define Q_OS_SCO 145# define Q_OS_SCO
146#elif defined(__USLC__) /* all SCO platforms + UDK or OUDK */ 146#elif defined(__USLC__) /* all SCO platforms + UDK or OUDK */
147# define Q_OS_UNIXWARE 147# define Q_OS_UNIXWARE
148# define Q_OS_UNIXWARE7 148# define Q_OS_UNIXWARE7
149#elif defined(__svr4__) && defined(i386) /* Open UNIX 8 + GCC */ 149#elif defined(__svr4__) && defined(i386) /* Open UNIX 8 + GCC */
150# define Q_OS_UNIXWARE 150# define Q_OS_UNIXWARE
151# define Q_OS_UNIXWARE7 151# define Q_OS_UNIXWARE7
152#else 152#else
153# error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com" 153# error "Qt has not been ported to this OS - talk to qt-bugs@trolltech.com"
154#endif 154#endif
155 155
156#if defined(Q_OS_MAC9) || defined(Q_OS_MACX) 156#if defined(Q_OS_MAC9) || defined(Q_OS_MACX)
157# define Q_OS_MAC 157/* This hack forces the generater to compile qmake not for maxosx native. It is
158 * compiled for Linux and generates usual makefiles..
159 * Does anyone has a better solution for this ? (eilers)
160 */
161// # define Q_OS_MAC
162#define Q_OS_LINUX
163#warning "boeser Hack !! (se)"
164#undef Q_OS_MACX
158#endif 165#endif
159 166
160#if defined(Q_OS_MAC9) || defined(Q_OS_MSDOS) || defined(Q_OS_OS2) || defined(Q_OS_WIN32) || defined(Q_OS_WIN64) 167#if defined(Q_OS_MAC9) || defined(Q_OS_MSDOS) || defined(Q_OS_OS2) || defined(Q_OS_WIN32) || defined(Q_OS_WIN64)
161# undef Q_OS_UNIX 168# undef Q_OS_UNIX
162#elif !defined(Q_OS_UNIX) 169#elif !defined(Q_OS_UNIX)
163# define Q_OS_UNIX 170# define Q_OS_UNIX
164#endif 171#endif
165 172
166 173
167/* 174/*
168 The compiler, must be one of: (Q_CC_x) 175 The compiler, must be one of: (Q_CC_x)
169 176
170 SYM- Symantec C++ for both PC and Macintosh 177 SYM- Symantec C++ for both PC and Macintosh
171 MPW- MPW C++ 178 MPW- MPW C++
172 MWERKS- Metrowerks CodeWarrior 179 MWERKS- Metrowerks CodeWarrior
173 MSVC- Microsoft Visual C/C++ 180 MSVC- Microsoft Visual C/C++
174 BOR- Borland/Turbo C++ 181 BOR- Borland/Turbo C++
175 WAT- Watcom C++ 182 WAT- Watcom C++
176 GNU- GNU C++ 183 GNU- GNU C++
177 COMEAU- Comeau C++ 184 COMEAU- Comeau C++
178 EDG- Edison Design Group C++ 185 EDG- Edison Design Group C++
179 OC - CenterLine C++ 186 OC - CenterLine C++
180 SUN- Sun WorkShop, Forte Developer, or Sun ONE Studio C++ 187 SUN- Sun WorkShop, Forte Developer, or Sun ONE Studio C++
181 MIPS- MIPSpro C++ 188 MIPS- MIPSpro C++
diff --git a/qt/qt-2.3.7.patch/qte237-all-macosx.patch b/qt/qt-2.3.7.patch/qte237-all-macosx.patch
new file mode 100644
index 0000000..82ed530
--- a/dev/null
+++ b/qt/qt-2.3.7.patch/qte237-all-macosx.patch
@@ -0,0 +1,1161 @@
1diff -ru qte-2.3.7_orig/include/qapplication.h qte-2.3.7/include/qapplication.h
2 --- qte-2.3.7_orig/include/qapplication.hThu Jul 17 03:20:25 2003
3 +++ qte-2.3.7/include/qapplication.hMon Oct 27 14:21:28 2003
4@@ -61,6 +61,10 @@
5 class QSemaphore;
6 #endif
7
8+#if !defined( QT_WEAK_SYMBOL )
9+#define QT_WEAK_SYMBOL
10+#endif
11+
12 // REMOVE IN 3.0 (just here for moc source compatibility)
13 #define QNonBaseApplication QApplication
14
15@@ -85,7 +89,10 @@
16
17 #ifndef QT_NO_STYLE
18 static QStyle &style();
19 - static void setStyle( QStyle* );
20 + static void setStyle( QStyle* ) QT_WEAK_SYMBOL;
21+private:
22 +static void setStyle_NonWeak( QStyle* );
23+public:
24 #endif
25 #if 1/* OBSOLETE */
26 enum ColorMode { NormalColors, CustomColors };
27@@ -106,11 +113,19 @@
28 #ifndef QT_NO_PALETTE
29 static QPalette palette( const QWidget* = 0 );
30 static void setPalette( const QPalette &, bool informWidgets=FALSE,
31 + const char* className = 0 ) QT_WEAK_SYMBOL;
32+private:
33 + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE,
34 const char* className = 0 );
35+public:
36 #endif
37 static QFont font( const QWidget* = 0 );
38 static void setFont( const QFont &, bool informWidgets=FALSE,
39 + const char* className = 0 ) QT_WEAK_SYMBOL;
40+private:
41 + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE,
42 const char* className = 0 );
43 +public:
44 static QFontMetrics fontMetrics();
45
46 QWidget *mainWidget() const;
47@@ -207,7 +222,10 @@
48 void qwsSetCustomColors( QRgb *colortable, int start, int numColors );
49 #ifndef QT_NO_QWS_MANAGER
50 static QWSDecoration &qwsDecoration();
51- static void qwsSetDecoration( QWSDecoration *);
52+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL;
53+private:
54+ static void qwsSetDecoration_NonWeak( QWSDecoration *);
55+public:
56 #endif
57 #endif
58
59Only in qte-2.3.7/include: qconfig-qpe.h
60diff -ru qte-2.3.7_orig/include/qconfig.h qte-2.3.7/include/qconfig.h
61 --- qte-2.3.7_orig/include/qconfig.hFri Jan 26 14:43:06 2001
62 +++ qte-2.3.7/include/qconfig.hWed Oct 29 22:13:16 2003
63@@ -1,3 +1,26 @@
64+// Copied from qconfig-qpe.h
65+/**********************************************************************
66+** Copyright (C) 2000 Trolltech AS. All rights reserved.
67+**
68+** This file is part of Qtopia Environment.
69+**
70+** This file may be distributed and/or modified under the terms of the
71+** GNU General Public License version 2 as published by the Free Software
72+** Foundation and appearing in the file LICENSE.GPL included in the
73+** packaging of this file.
74+**
75+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
76+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
77+**
78+** See http://www.trolltech.com/gpl/ for GPL licensing information.
79+**
80+** Contact info@trolltech.com if any conditions of this licensing are
81+** not clear to you.
82+**
83+**********************************************************************/
84+#ifndef QT_H
85+#endif // QT_H
86+
87 // Empty leaves all features enabled. See doc/html/features.html for choices.
88
89 // Note that disabling some features will produce a libqt that is not
90@@ -8,3 +31,69 @@
91 #ifndef QT_DLL
92 #define QT_DLL // Internal
93 #endif
94+
95+#if defined(QT_QWS_IPAQ) || defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_SL5XXX)
96+# define QT_NO_QWS_CURSOR
97+# define QT_NO_QWS_MOUSE_AUTO
98+#endif
99+#ifndef QT_NO_CODECS
100+#define QT_NO_CODECS
101+#endif
102+#define QT_NO_UNICODETABLES
103+//#define QT_NO_IMAGEIO_BMP
104+#define QT_NO_IMAGEIO_PPM
105+//#define QT_NO_ASYNC_IO
106+//#define QT_NO_ASYNC_IMAGE_IO
107+#define QT_NO_FREETYPE
108+#define QT_NO_BDF
109+//#define QT_NO_FONTDATABASE
110+#define QT_NO_DRAGANDDROP
111+//#define QT_NO_CLIPBOARD
112+#define QT_NO_PROPERTIES
113+#define QT_NO_NETWORKPROTOCOL
114+
115+#define QT_NO_IMAGE_TEXT
116+
117+//#define QT_NO_TOOLTIP
118+#define QT_NO_COLORNAMES
119+#define QT_NO_TRANSFORMATIONS
120+#define QT_NO_TRANSLATION_BUILDER
121+#define QT_NO_COMPLEXTEXT
122+#define QT_NO_PRINTER
123+#define QT_NO_PICTURE
124+//#define QT_NO_ICONVIEW
125+#define QT_NO_DIAL
126+#define QT_NO_SIZEGRIP
127+#define QT_NO_WORKSPACE
128+//#define QT_NO_TABLE
129+//#define QT_NO_ACTION
130+//#define QT_NO_SETTINGS
131+#define QT_NO_STYLE_POCKETPC
132+#ifndef QT_NO_STYLE_AQUA
133+# define QT_NO_STYLE_AQUA
134+#endif
135+#define QT_NO_STYLE_MOTIF
136+#define QT_NO_STYLE_PLATINUM
137+#define QT_NO_FILEDIALOG
138+#define QT_NO_FONTDIALOG
139+#define QT_NO_PRINTDIALOG
140+#define QT_NO_COLORDIALOG
141+#define QT_NO_INPUTDIALOG
142+//#define QT_NO_MESSAGEBOX
143+#define QT_NO_PROGRESSDIALOG
144+//#define QT_NO_TABDIALOG
145+#define QT_NO_WIZARD
146+#define QT_NO_EFFECTS
147+//#define QT_NO_COMPONENT
148+#define QT_NO_DOM
149+#define QT_NO_SEMIMODAL
150+//#define QT_NO_PROGRESSBAR
151+#define QT_NO_SPLITTER
152+
153+//#define QT_NO_QWS_SAVEFONTS
154+//#define QT_NO_QWS_PROPERTIES
155+
156+#define QT_NO_QWS_BEOS_WM_STYLE
157+#define QT_NO_QWS_KDE2_WM_STYLE
158+#define QT_NO_QWS_KDE_WM_STYLE
159+#define QT_NO_QWS_WINDOWS_WM_STYLE
160diff -ru qte-2.3.7_orig/include/qfontdatabase.h qte-2.3.7/include/qfontdatabase.h
161 --- qte-2.3.7_orig/include/qfontdatabase.hThu Jul 17 03:20:25 2003
162 +++ qte-2.3.7/include/qfontdatabase.hMon Oct 27 14:21:28 2003
163@@ -59,6 +59,10 @@
164 class QDiskFont;
165 #endif
166
167+#if !defined( QT_WEAK_SYMBOL )
168+#define QT_WEAK_SYMBOL
169+#endif
170+
171 class QFontDatabasePrivate;
172
173 class Q_EXPORT QFontDatabase
174@@ -67,9 +71,16 @@
175 QFontDatabase();
176
177 QStringList families( bool onlyForLocale = TRUE ) const;
178+
179+
180 QValueList<int> pointSizes( const QString &family,
181 const QString &style = QString::null,
182 - const QString &charSet = QString::null );
183 + const QString &charSet = QString::null ) QT_WEAK_SYMBOL;
184+private:
185+ QValueList<int> pointSizes_NonWeak( const QString &family,
186 + const QString &style,
187 + const QString &charSet );
188+public:
189 QStringList styles( const QString &family,
190 const QString &charSet = QString::null ) const;
191 QStringList charSets( const QString &familyName,
192Only in qte-2.3.7_orig/include: qgifimageformat_p.h
193diff -ru qte-2.3.7_orig/include/qmodules.h qte-2.3.7/include/qmodules.h
194 --- qte-2.3.7_orig/include/qmodules.hFri Aug 31 17:00:56 2001
195 +++ qte-2.3.7/include/qmodules.hWed Oct 29 21:57:53 2003
196@@ -1,14 +1,12 @@
197-#ifndef QT_H
198-#endif // QT_H
199-
200+// These modules are licensed to you
201 #define QT_MODULE_TOOLS
202 #define QT_MODULE_KERNEL
203 #define QT_MODULE_WIDGETS
204 #define QT_MODULE_DIALOGS
205-
206 #define QT_MODULE_ICONVIEW
207 #define QT_MODULE_WORKSPACE
208-#define QT_MODULE_TABLE
209+#define QT_MODULE_NETWORK
210 #define QT_MODULE_CANVAS
211+#define QT_MODULE_TABLE
212 #define QT_MODULE_XML
213-#define QT_MODULE_NETWORK
214+#define QT_MODULE_OPENGL
215Only in qte-2.3.7_orig/include: qxt.h
216Only in qte-2.3.7/lib: libqte.dylib
217Only in qte-2.3.7/lib: libqte.dylib.2
218Only in qte-2.3.7/lib: libqte.dylib.2.3
219Only in qte-2.3.7/lib: libqte.dylib.2.3.7
220Only in qte-2.3.7/src/3rdparty/kernel: qgifimageformat.o
221Only in qte-2.3.7/src/3rdparty/kernel: qpointarray.o
222Only in qte-2.3.7/src/3rdparty/kernel: qpolygonscanner.o
223Only in qte-2.3.7/src/3rdparty/kernel: qregion_qws.o
224Only in qte-2.3.7/src/3rdparty/libpng: png.o
225Only in qte-2.3.7/src/3rdparty/libpng: pngerror.o
226Only in qte-2.3.7/src/3rdparty/libpng: pngget.o
227Only in qte-2.3.7/src/3rdparty/libpng: pngmem.o
228Only in qte-2.3.7/src/3rdparty/libpng: pngpread.o
229Only in qte-2.3.7/src/3rdparty/libpng: pngread.o
230Only in qte-2.3.7/src/3rdparty/libpng: pngrio.o
231Only in qte-2.3.7/src/3rdparty/libpng: pngrtran.o
232Only in qte-2.3.7/src/3rdparty/libpng: pngrutil.o
233Only in qte-2.3.7/src/3rdparty/libpng: pngset.o
234Only in qte-2.3.7/src/3rdparty/libpng: pngtrans.o
235Only in qte-2.3.7/src/3rdparty/libpng: pngwio.o
236Only in qte-2.3.7/src/3rdparty/libpng: pngwrite.o
237Only in qte-2.3.7/src/3rdparty/libpng: pngwtran.o
238Only in qte-2.3.7/src/3rdparty/libpng: pngwutil.o
239Only in qte-2.3.7/src/3rdparty/tools: qbig5codec.o
240Only in qte-2.3.7/src/3rdparty/tools: qeucjpcodec.o
241Only in qte-2.3.7/src/3rdparty/tools: qeuckrcodec.o
242Only in qte-2.3.7/src/3rdparty/tools: qgbkcodec.o
243Only in qte-2.3.7/src/3rdparty/tools: qjiscodec.o
244Only in qte-2.3.7/src/3rdparty/tools: qjpunicode.o
245Only in qte-2.3.7/src/3rdparty/tools: qrtlcodec.o
246Only in qte-2.3.7/src/3rdparty/tools: qsjiscodec.o
247Only in qte-2.3.7/src/3rdparty/tools: qtsciicodec.o
248Only in qte-2.3.7/src/3rdparty/zlib: Makefile
249Only in qte-2.3.7/src/3rdparty/zlib: adler32.o
250Only in qte-2.3.7/src/3rdparty/zlib: compress.o
251Only in qte-2.3.7/src/3rdparty/zlib: crc32.o
252Only in qte-2.3.7/src/3rdparty/zlib: deflate.o
253Only in qte-2.3.7/src/3rdparty/zlib: gzio.o
254Only in qte-2.3.7/src/3rdparty/zlib: infblock.o
255Only in qte-2.3.7/src/3rdparty/zlib: infcodes.o
256Only in qte-2.3.7/src/3rdparty/zlib: inffast.o
257Only in qte-2.3.7/src/3rdparty/zlib: inflate.o
258Only in qte-2.3.7/src/3rdparty/zlib: inftrees.o
259Only in qte-2.3.7/src/3rdparty/zlib: infutil.o
260Only in qte-2.3.7/src/3rdparty/zlib: trees.o
261Only in qte-2.3.7/src/3rdparty/zlib: uncompr.o
262Only in qte-2.3.7/src/3rdparty/zlib: zutil.o
263Only in qte-2.3.7/src: Makefile
264Only in qte-2.3.7/src: allmoc.cpp
265Only in qte-2.3.7/src: allmoc.o
266Only in qte-2.3.7/src/canvas: qcanvas.o
267Only in qte-2.3.7/src/dialogs: qcolordialog.moc
268Only in qte-2.3.7/src/dialogs: qcolordialog.o
269Only in qte-2.3.7/src/dialogs: qfiledialog.moc
270Only in qte-2.3.7/src/dialogs: qfiledialog.o
271Only in qte-2.3.7/src/dialogs: qfontdialog.o
272Only in qte-2.3.7/src/dialogs: qinputdialog.o
273Only in qte-2.3.7/src/dialogs: qmessagebox.o
274Only in qte-2.3.7/src/dialogs: qprintdialog.o
275Only in qte-2.3.7/src/dialogs: qprogressdialog.o
276Only in qte-2.3.7/src/dialogs: qtabdialog.o
277Only in qte-2.3.7/src/dialogs: qwizard.o
278Only in qte-2.3.7/src/iconview: qiconview.o
279Only in qte-2.3.7/src/kernel: qabstractlayout.o
280Only in qte-2.3.7/src/kernel: qaccel.o
281diff -ru qte-2.3.7_orig/src/kernel/qapplication.cpp qte-2.3.7/src/kernel/qapplication.cpp
282 --- qte-2.3.7_orig/src/kernel/qapplication.cppThu Jul 17 03:20:25 2003
283 +++ qte-2.3.7/src/kernel/qapplication.cppMon Oct 27 14:21:28 2003
284@@ -35,6 +35,8 @@
285 **
286 **********************************************************************/
287
288 +#define QT_WEAK_SYMBOL__attribute__(( weak ))
289+
290 #include "qobjectlist.h"
291 #include "qobjectdict.h"
292 #include "qapplication.h"
293@@ -933,11 +935,16 @@
294 #ifndef QT_NO_STYLE
295 void QApplication::setStyle( QStyle *style )
296 {
297 +setStyle_NonWeak ( style );
298+}
299+
300+void QApplication::setStyle_NonWeak( QStyle *style )
301+{
302 QStyle* old = app_style;
303- app_style = style;
304
305 if ( startingUp() ) {
306 delete old;
307 +app_style = style;
308 return;
309 }
310
311@@ -958,6 +965,8 @@
312 old->unPolish( qApp );
313 }
314
315+ app_style = style;
316+
317 // take care of possible palette requirements of certain gui
318 // styles. Do it before polishing the application since the style
319 // might call QApplication::setStyle() itself
320@@ -1184,13 +1193,30 @@
321 \sa QWidget::setPalette(), palette(), QStyle::polish()
322 */
323
324-void QApplication::setPalette( const QPalette &palette, bool informWidgets,
325+void QApplication::setPalette ( const QPalette &palette, bool informWidgets,
326 + const char* className )
327+{
328 +setPalette_NonWeak ( palette, informWidgets, className );
329+}
330+
331+void QApplication::setPalette_NonWeak ( const QPalette &palette, bool informWidgets,
332 const char* className )
333 {
334 QPalette pal = palette;
335 #ifndef QT_NO_STYLE
336- if ( !startingUp() )
337+ if ( !startingUp() ) {
338 qApp->style().polish( pal );// NB: non-const reference
339 +if ( className ) {
340 + // if we just polished a class specific palette (this normally
341 + // only called by qt_fix_tooltips - see below), we better re-
342 + // polish the global palette. Some styles like liquid can get
343 + // confused, because they can not detect if the polished palette
344 + // is the global one or only a class specific one.
345 + // (liquid uses this palette to calculate blending pixmaps)
346 + QPalette p = qApp-> palette ( );
347 + qApp->style().polish ( p );
348 +}
349+ }
350 #endif
351 bool all = FALSE;
352 if ( !className ) {
353@@ -1273,6 +1299,12 @@
354 */
355
356 void QApplication::setFont( const QFont &font, bool informWidgets,
357 + const char* className )
358+{
359 +setFont_NonWeak ( font, informWidgets, className );
360+}
361+
362+void QApplication::setFont_NonWeak( const QFont &font, bool informWidgets,
363 const char* className )
364 {
365 bool all = FALSE;
366diff -ru qte-2.3.7_orig/src/kernel/qapplication.h qte-2.3.7/src/kernel/qapplication.h
367 --- qte-2.3.7_orig/src/kernel/qapplication.hThu Jul 17 03:20:25 2003
368 +++ qte-2.3.7/src/kernel/qapplication.hMon Oct 27 14:21:28 2003
369@@ -61,6 +61,10 @@
370 class QSemaphore;
371 #endif
372
373+#if !defined( QT_WEAK_SYMBOL )
374+#define QT_WEAK_SYMBOL
375+#endif
376+
377 // REMOVE IN 3.0 (just here for moc source compatibility)
378 #define QNonBaseApplication QApplication
379
380@@ -85,7 +89,10 @@
381
382 #ifndef QT_NO_STYLE
383 static QStyle &style();
384 - static void setStyle( QStyle* );
385 + static void setStyle( QStyle* ) QT_WEAK_SYMBOL;
386+private:
387 +static void setStyle_NonWeak( QStyle* );
388+public:
389 #endif
390 #if 1/* OBSOLETE */
391 enum ColorMode { NormalColors, CustomColors };
392@@ -106,11 +113,19 @@
393 #ifndef QT_NO_PALETTE
394 static QPalette palette( const QWidget* = 0 );
395 static void setPalette( const QPalette &, bool informWidgets=FALSE,
396 + const char* className = 0 ) QT_WEAK_SYMBOL;
397+private:
398 + static void setPalette_NonWeak( const QPalette &, bool informWidgets=FALSE,
399 const char* className = 0 );
400+public:
401 #endif
402 static QFont font( const QWidget* = 0 );
403 static void setFont( const QFont &, bool informWidgets=FALSE,
404 + const char* className = 0 ) QT_WEAK_SYMBOL;
405+private:
406 + static void setFont_NonWeak( const QFont &, bool informWidgets=FALSE,
407 const char* className = 0 );
408 +public:
409 static QFontMetrics fontMetrics();
410
411 QWidget *mainWidget() const;
412@@ -207,7 +222,10 @@
413 void qwsSetCustomColors( QRgb *colortable, int start, int numColors );
414 #ifndef QT_NO_QWS_MANAGER
415 static QWSDecoration &qwsDecoration();
416- static void qwsSetDecoration( QWSDecoration *);
417+ static void qwsSetDecoration( QWSDecoration *) QT_WEAK_SYMBOL;
418+private:
419+ static void qwsSetDecoration_NonWeak( QWSDecoration *);
420+public:
421 #endif
422 #endif
423
424Only in qte-2.3.7/src/kernel: qapplication.o
425diff -ru qte-2.3.7_orig/src/kernel/qapplication_qws.cpp qte-2.3.7/src/kernel/qapplication_qws.cpp
426 --- qte-2.3.7_orig/src/kernel/qapplication_qws.cppThu Jul 17 03:20:25 2003
427 +++ qte-2.3.7/src/kernel/qapplication_qws.cppMon Oct 27 14:21:28 2003
428@@ -2804,6 +2804,11 @@
429 */
430 void QApplication::qwsSetDecoration( QWSDecoration *d )
431 {
432 +qwsSetDecoration_NonWeak ( d );
433+}
434+
435+void QApplication::qwsSetDecoration_NonWeak( QWSDecoration *d )
436+{
437 if ( d ) {
438 delete qws_decoration;
439 qws_decoration = d;
440Only in qte-2.3.7/src/kernel: qapplication_qws.cpp~
441Only in qte-2.3.7/src/kernel: qapplication_qws.o
442Only in qte-2.3.7/src/kernel: qasyncimageio.o
443Only in qte-2.3.7/src/kernel: qasyncio.o
444Only in qte-2.3.7/src/kernel: qbitmap.o
445Only in qte-2.3.7/src/kernel: qclipboard.o
446Only in qte-2.3.7/src/kernel: qclipboard_qws.o
447Only in qte-2.3.7/src/kernel: qcolor.o
448Only in qte-2.3.7/src/kernel: qcolor_p.o
449Only in qte-2.3.7/src/kernel: qcolor_qws.o
450Only in qte-2.3.7/src/kernel: qconnection.o
451Only in qte-2.3.7/src/kernel: qcopchannel_qws.moc
452Only in qte-2.3.7/src/kernel: qcopchannel_qws.o
453Only in qte-2.3.7/src/kernel: qcursor.o
454Only in qte-2.3.7/src/kernel: qcursor_qws.o
455Only in qte-2.3.7/src/kernel: qdialog.o
456Only in qte-2.3.7/src/kernel: qdirectpainter_qws.o
457Only in qte-2.3.7/src/kernel: qdnd_qws.o
458Only in qte-2.3.7/src/kernel: qdragobject.o
459Only in qte-2.3.7/src/kernel: qdrawutil.o
460Only in qte-2.3.7/src/kernel: qdropsite.o
461Only in qte-2.3.7/src/kernel: qevent.o
462Only in qte-2.3.7/src/kernel: qfocusdata.o
463Only in qte-2.3.7/src/kernel: qfont.o
464Only in qte-2.3.7/src/kernel: qfont_qws.o
465diff -ru qte-2.3.7_orig/src/kernel/qfontdatabase.cpp qte-2.3.7/src/kernel/qfontdatabase.cpp
466 --- qte-2.3.7_orig/src/kernel/qfontdatabase.cppThu Jul 17 03:20:25 2003
467 +++ qte-2.3.7/src/kernel/qfontdatabase.cppMon Oct 27 14:21:28 2003
468@@ -35,6 +35,8 @@
469 **
470 **********************************************************************/
471
472+#define QT_WEAK_SYMBOL __attribute__(( weak ))
473+
474 #include "qfontdatabase.h"
475
476 #ifndef QT_NO_FONTDATABASE
477@@ -2421,6 +2423,13 @@
478 */
479
480 QValueList<int> QFontDatabase::pointSizes( const QString &family,
481+ const QString &style,
482+ const QString &charSet )
483+{
484 +return pointSizes_NonWeak ( family, style, charSet );
485+}
486+
487+QValueList<int> QFontDatabase::pointSizes_NonWeak ( const QString &family,
488 const QString &style,
489 const QString &charSet )
490 {
491diff -ru qte-2.3.7_orig/src/kernel/qfontdatabase.h qte-2.3.7/src/kernel/qfontdatabase.h
492 --- qte-2.3.7_orig/src/kernel/qfontdatabase.hThu Jul 17 03:20:25 2003
493 +++ qte-2.3.7/src/kernel/qfontdatabase.hMon Oct 27 14:21:28 2003
494@@ -59,6 +59,10 @@
495 class QDiskFont;
496 #endif
497
498+#if !defined( QT_WEAK_SYMBOL )
499+#define QT_WEAK_SYMBOL
500+#endif
501+
502 class QFontDatabasePrivate;
503
504 class Q_EXPORT QFontDatabase
505@@ -67,9 +71,16 @@
506 QFontDatabase();
507
508 QStringList families( bool onlyForLocale = TRUE ) const;
509+
510+
511 QValueList<int> pointSizes( const QString &family,
512 const QString &style = QString::null,
513 - const QString &charSet = QString::null );
514 + const QString &charSet = QString::null ) QT_WEAK_SYMBOL;
515+private:
516+ QValueList<int> pointSizes_NonWeak( const QString &family,
517 + const QString &style,
518 + const QString &charSet );
519+public:
520 QStringList styles( const QString &family,
521 const QString &charSet = QString::null ) const;
522 QStringList charSets( const QString &familyName,
523Only in qte-2.3.7/src/kernel: qfontdatabase.o
524Only in qte-2.3.7/src/kernel: qfontfactorybdf_qws.o
525Only in qte-2.3.7/src/kernel: qfontfactoryttf_qws.o
526Only in qte-2.3.7/src/kernel: qfontmanager_qws.o
527diff -ru qte-2.3.7_orig/src/kernel/qgfx_qws.cpp qte-2.3.7/src/kernel/qgfx_qws.cpp
528 --- qte-2.3.7_orig/src/kernel/qgfx_qws.cppThu Jul 17 03:20:25 2003
529 +++ qte-2.3.7/src/kernel/qgfx_qws.cppMon Oct 27 14:27:25 2003
530@@ -32,7 +32,7 @@
531 #include "qgfx_qws.h"
532
533 #include <stdio.h>
534-#include <dlfcn.h>
535+//#include <dlfcn.h>
536 #include <sys/types.h>
537 #include <dirent.h>
538 #include <stdlib.h>
539Only in qte-2.3.7/src/kernel: qgfx_qws.o
540diff -ru qte-2.3.7_orig/src/kernel/qgfxraster_qws.cpp qte-2.3.7/src/kernel/qgfxraster_qws.cpp
541 --- qte-2.3.7_orig/src/kernel/qgfxraster_qws.cppThu Jul 17 03:20:25 2003
542 +++ qte-2.3.7/src/kernel/qgfxraster_qws.cppMon Oct 27 14:27:25 2003
543@@ -75,7 +75,11 @@
544 # if __BYTE_ORDER == __BIG_ENDIAN
545 # define QWS_BIG_ENDIAN
546 # endif
547+#elif defined(__APPLE__)
548+# define QWS_BIG_ENDIAN
549 #endif
550+// AJ: the above (test for __APPLE__) is very hacky, but I can't
551+// think of something better at the moment.
552
553 // Pull this private function in from qglobal.cpp
554 extern unsigned int qt_int_sqrt( unsigned int n );
555@@ -3770,6 +3774,19 @@
556 b = srcval & 0xff;
557
558 unsigned char * tmp=(unsigned char *)&alphabuf[loopc];
559+# ifdef QWS_BIG_ENDIAN
560 + if(av==255) {
561 + // Do nothing - we already have source values in r,g,b
562 + } else if(av==0) {
563 + r = *(tmp+1);
564 + g = *(tmp+2);
565 + b = *(tmp+3);
566 + } else {
567 + r = ((r-*(tmp+1)) * av) / 256 + *(tmp+1);
568 + g = ((g-*(tmp+2)) * av) / 256 + *(tmp+2);
569 + b = ((b-*(tmp+3)) * av) / 256 + *(tmp+3);
570 + }
571+# else
572 if(av==255) {
573 // Do nothing - we already have source values in r,g,b
574 } else if(av==0) {
575@@ -3781,6 +3798,7 @@
576 g = ((g-*(tmp+1)) * av) / 256 + *(tmp+1);
577 b = ((b-*(tmp+0)) * av) / 256 + *(tmp+0);
578 }
579+# endif
580 *(alphaptr++) = (r << 16) | (g << 8) | b;
581 }
582
583@@ -4204,7 +4222,7 @@
584
585 } else if ( depth == 1 ) {
586 if (srctype==SourceImage) {
587 - static int warn;
588 + static int warn = 0;
589 if ( warn++ < 5 )
590 qDebug( "bitmap alpha-image not implemented" );
591 hImageLineUnclipped( x1, x2, l, srcdata, FALSE );
592@@ -4237,7 +4255,7 @@
593 setAlphaType(IgnoreAlpha);
594 if ( w <= 0 || h <= 0 || !ncliprect ) return;
595 GFX_START(QRect(rx+xoffs, ry+yoffs, w+1, h+1))
596-#ifdef QWS_EXPERIMENTAL_FASTPATH
597+#if 0 // def QWS_EXPERIMENTAL_FASTPATH !! this is crashing HancomWord on OZ !!
598 // ### fix for 8bpp
599 // This seems to be reliable now, at least for 16bpp
600
601Only in qte-2.3.7/src/kernel: qgfxraster_qws.cpp~
602Only in qte-2.3.7/src/kernel: qgfxraster_qws.o
603Only in qte-2.3.7/src/kernel: qguardedptr.o
604Only in qte-2.3.7/src/kernel: qiconset.o
605Only in qte-2.3.7/src/kernel: qimage.o
606Only in qte-2.3.7/src/kernel: qinputcontext_qws.o
607Only in qte-2.3.7/src/kernel: qjpegio.o
608diff -ru qte-2.3.7_orig/src/kernel/qkeyboard_qws.cpp qte-2.3.7/src/kernel/qkeyboard_qws.cpp
609 --- qte-2.3.7_orig/src/kernel/qkeyboard_qws.cppThu Jul 17 03:20:25 2003
610 +++ qte-2.3.7/src/kernel/qkeyboard_qws.cppMon Oct 27 14:42:11 2003
611@@ -69,7 +69,7 @@
612 #if !defined(_OS_QNX6_)
613
614 #include <termios.h>
615-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
616+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
617 #include <sys/kd.h>
618 #include <sys/vt.h>
619 #endif
620@@ -468,10 +468,12 @@
621 void QWSPC101KeyboardHandler::restoreLeds()
622 {
623 char leds;
624+#if !defined(_OS_MACX_)
625 ioctl(0, KDGETLED, &leds);
626 leds = leds & ~LED_CAP;
627 if ( caps ) leds |= LED_CAP;
628 ioctl(0, KDSETLED, leds);
629+#endif
630 }
631
632 class QWSTtyKeyboardHandler : public QWSPC101KeyboardHandler
633@@ -547,7 +549,7 @@
634
635 static void vtSwitchHandler(int /*sig*/)
636 {
637-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
638+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
639 if (vtActive) {
640 qwsServer->enablePainting(false);
641 qt_screen->save();
642@@ -880,7 +882,7 @@
643 if (term && !release) {
644 ctrl = false;
645 alt = false;
646-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
647+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
648 ioctl(kbdFD, VT_ACTIVATE, term);
649 #endif
650 return;
651@@ -1031,7 +1033,7 @@
652 struct termios termdata;
653 tcgetattr( kbdFD, &termdata );
654
655-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
656+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
657 ioctl(kbdFD, KDSKBMODE, K_RAW);
658 #endif
659
660@@ -1047,7 +1049,7 @@
661
662 signal(VTSWITCHSIG, vtSwitchHandler);
663
664-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
665+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
666 struct vt_mode vtMode;
667 ioctl(kbdFD, VT_GETMODE, &vtMode);
668
669@@ -1068,7 +1070,7 @@
670 {
671 if (kbdFD >= 0)
672 {
673-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
674+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
675 ioctl(kbdFD, KDSKBMODE, K_XLATE);
676 #endif
677 tcsetattr(kbdFD, TCSANOW, &origTermData);
678Only in qte-2.3.7/src/kernel: qkeyboard_qws.cpp.rej
679Only in qte-2.3.7/src/kernel: qkeyboard_qws.cpp~
680Only in qte-2.3.7/src/kernel: qkeyboard_qws.moc
681Only in qte-2.3.7/src/kernel: qkeyboard_qws.o
682Only in qte-2.3.7/src/kernel: qlayout.o
683Only in qte-2.3.7/src/kernel: qlayoutengine.o
684Only in qte-2.3.7/src/kernel: qlocalfs.o
685diff -ru qte-2.3.7_orig/src/kernel/qlock_qws.cpp qte-2.3.7/src/kernel/qlock_qws.cpp
686 --- qte-2.3.7_orig/src/kernel/qlock_qws.cppThu Jul 17 03:20:25 2003
687 +++ qte-2.3.7/src/kernel/qlock_qws.cppMon Oct 27 14:27:25 2003
688@@ -38,7 +38,7 @@
689 #include <errno.h>
690
691 #if defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED) \
692- || defined _OS_FREEBSD_
693+ || defined(_OS_FREEBSD_) || defined(_OS_MACX_)
694 /* union semun is defined by including <sys/sem.h> */
695 #else
696 /* according to X/OPEN we have to define it ourselves */
697Only in qte-2.3.7/src/kernel: qlock_qws.o
698Only in qte-2.3.7/src/kernel: qmemorymanager_qws.o
699Only in qte-2.3.7/src/kernel: qmetaobject.o
700Only in qte-2.3.7/src/kernel: qmime.o
701Only in qte-2.3.7/src/kernel: qmngio.o
702Only in qte-2.3.7/src/kernel: qmovie.moc
703Only in qte-2.3.7/src/kernel: qmovie.o
704Only in qte-2.3.7/src/kernel: qnetworkprotocol.o
705Only in qte-2.3.7/src/kernel: qobject.o
706Only in qte-2.3.7/src/kernel: qpaintdevice_qws.o
707Only in qte-2.3.7/src/kernel: qpaintdevicemetrics.o
708Only in qte-2.3.7/src/kernel: qpainter.o
709Only in qte-2.3.7/src/kernel: qpainter_qws.o
710Only in qte-2.3.7/src/kernel: qpalette.o
711Only in qte-2.3.7/src/kernel: qpicture.o
712Only in qte-2.3.7/src/kernel: qpixmap.o
713Only in qte-2.3.7/src/kernel: qpixmap_qws.o
714Only in qte-2.3.7/src/kernel: qpixmapcache.o
715Only in qte-2.3.7/src/kernel: qpngio.o
716Only in qte-2.3.7/src/kernel: qpoint.o
717Only in qte-2.3.7/src/kernel: qprinter.o
718Only in qte-2.3.7/src/kernel: qprinter_qws.o
719Only in qte-2.3.7/src/kernel: qpsprinter.o
720Only in qte-2.3.7/src/kernel: qrect.o
721Only in qte-2.3.7/src/kernel: qregion.o
722Only in qte-2.3.7/src/kernel: qrichtext.o
723Only in qte-2.3.7/src/kernel: qsemimodal.o
724Only in qte-2.3.7/src/kernel: qsharedmemory.o
725Only in qte-2.3.7/src/kernel: qsignal.o
726Only in qte-2.3.7/src/kernel: qsignalmapper.o
727Only in qte-2.3.7/src/kernel: qsimplerichtext.o
728Only in qte-2.3.7/src/kernel: qsize.o
729Only in qte-2.3.7/src/kernel: qsizegrip.o
730Only in qte-2.3.7/src/kernel: qsocketnotifier.o
731Only in qte-2.3.7/src/kernel: qsound.o
732Only in qte-2.3.7/src/kernel: qsound_qws.o
733Only in qte-2.3.7/src/kernel: qsoundqss_qws.moc
734Only in qte-2.3.7/src/kernel: qsoundqss_qws.o
735Only in qte-2.3.7/src/kernel: qstyle.o
736Only in qte-2.3.7/src/kernel: qstylesheet.o
737Only in qte-2.3.7/src/kernel: qthread_unix.moc
738Only in qte-2.3.7/src/kernel: qthread_unix.o
739Only in qte-2.3.7/src/kernel: qtimer.o
740Only in qte-2.3.7/src/kernel: qtranslator.o
741Only in qte-2.3.7/src/kernel: qurl.o
742Only in qte-2.3.7/src/kernel: qurlinfo.o
743Only in qte-2.3.7/src/kernel: qurloperator.o
744Only in qte-2.3.7/src/kernel: qvariant.o
745Only in qte-2.3.7/src/kernel: qwidget.o
746Only in qte-2.3.7/src/kernel: qwidget_qws.o
747diff -ru qte-2.3.7_orig/src/kernel/qwindowsystem_qws.cpp qte-2.3.7/src/kernel/qwindowsystem_qws.cpp
748 --- qte-2.3.7_orig/src/kernel/qwindowsystem_qws.cppThu Jul 17 03:20:26 2003
749 +++ qte-2.3.7/src/kernel/qwindowsystem_qws.cppMon Oct 27 14:27:25 2003
750@@ -844,6 +844,18 @@
751 {
752 }
753
754+static void catchSegvSignal( int )
755+{
756+#ifndef QT_NO_QWS_KEYBOARD
757+ if ( qwsServer )
758 +qwsServer->closeKeyboard();
759+#endif
760+ QWSServer::closedown();
761+ fprintf(stderr, "Segmentation fault.\n");
762+ exit(1);
763+}
764+
765+
766 /*!
767 \class QWSServer qwindowsystem_qws.h
768 \brief Server-specific functionality in Qt/Embedded
769@@ -936,6 +948,7 @@
770 }
771
772 signal(SIGPIPE, ignoreSignal); //we get it when we read
773+ signal(SIGSEGV, catchSegvSignal); //recover the keyboard on crash
774 #endif
775 focusw = 0;
776 mouseGrabber = 0;
777@@ -950,7 +963,7 @@
778
779 #ifndef QT_NO_QWS_MULTIPROCESS
780 if ( !geteuid() ) {
781-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
782+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
783 if( mount(0, "/var/shm", "shm", 0, 0) ) {
784 /* This just confuses people with 2.2 kernels
785 if ( errno != EBUSY )
786Only in qte-2.3.7/src/kernel: qwindowsystem_qws.cpp~
787Only in qte-2.3.7/src/kernel: qwindowsystem_qws.o
788Only in qte-2.3.7/src/kernel: qwmatrix.o
789Only in qte-2.3.7/src/kernel: qwsbeosdecoration_qws.o
790Only in qte-2.3.7/src/kernel: qwscommand_qws.o
791Only in qte-2.3.7/src/kernel: qwscursor_qws.o
792Only in qte-2.3.7/src/kernel: qwsdecoration_qws.o
793Only in qte-2.3.7/src/kernel: qwsdefaultdecoration_qws.o
794Only in qte-2.3.7/src/kernel: qwsevent_qws.o
795Only in qte-2.3.7/src/kernel: qwshydrodecoration_qws.o
796Only in qte-2.3.7/src/kernel: qwskde2decoration_qws.o
797Only in qte-2.3.7/src/kernel: qwskdedecoration_qws.o
798Only in qte-2.3.7/src/kernel: qwsmanager_qws.o
799diff -ru qte-2.3.7_orig/src/kernel/qwsmouse_qws.cpp qte-2.3.7/src/kernel/qwsmouse_qws.cpp
800 --- qte-2.3.7_orig/src/kernel/qwsmouse_qws.cppThu Jul 17 03:20:26 2003
801 +++ qte-2.3.7/src/kernel/qwsmouse_qws.cppMon Oct 27 14:27:25 2003
802@@ -336,7 +336,7 @@
803 tty.c_oflag = 0;
804 tty.c_lflag = 0;
805 tty.c_cflag = f | CREAD | CLOCAL | HUPCL;
806-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
807+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
808 tty.c_line = 0;
809 #endif
810 tty.c_cc[VTIME] = 0;
811@@ -889,7 +889,7 @@
812 tty.c_iflag = IGNBRK | IGNPAR;
813 tty.c_oflag = 0;
814 tty.c_lflag = 0;
815-#if !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
816+#if !defined(_OS_MACX_) && !defined(_OS_FREEBSD_) && !defined(_OS_SOLARIS_)
817 tty.c_line = 0;
818 #endif // _OS_FREEBSD_
819 tty.c_cc[VTIME] = 0;
820Only in qte-2.3.7/src/kernel: qwsmouse_qws.moc
821Only in qte-2.3.7/src/kernel: qwsmouse_qws.o
822Only in qte-2.3.7/src/kernel: qwsproperty_qws.o
823Only in qte-2.3.7/src/kernel: qwsregionmanager_qws.o
824Only in qte-2.3.7/src/kernel: qwssocket_qws.o
825Only in qte-2.3.7/src/kernel: qwswindowsdecoration_qws.o
826Only in qte-2.3.7/src/moc: Makefile
827Only in qte-2.3.7/src/moc: moc
828Only in qte-2.3.7/src/moc: mocgen.o
829Only in qte-2.3.7/src/moc: qbuffer.o
830Only in qte-2.3.7/src/moc: qcollection.o
831Only in qte-2.3.7/src/moc: qcstring.o
832Only in qte-2.3.7/src/moc: qdatastream.o
833Only in qte-2.3.7/src/moc: qdatetime.o
834Only in qte-2.3.7/src/moc: qfile.o
835Only in qte-2.3.7/src/moc: qfile_unix.o
836Only in qte-2.3.7/src/moc: qgarray.o
837Only in qte-2.3.7/src/moc: qgdict.o
838Only in qte-2.3.7/src/moc: qglist.o
839Only in qte-2.3.7/src/moc: qglobal.o
840Only in qte-2.3.7/src/moc: qgvector.o
841Only in qte-2.3.7/src/moc: qiodevice.o
842Only in qte-2.3.7/src/moc: qregexp.o
843Only in qte-2.3.7/src/moc: qstring.o
844Only in qte-2.3.7/src/moc: qtextcodec.o
845Only in qte-2.3.7/src/moc: qtextstream.o
846Only in qte-2.3.7/src/moc: qutfcodec.o
847Only in qte-2.3.7/src/network: qdns.o
848Only in qte-2.3.7/src/network: qftp.o
849Only in qte-2.3.7/src/network: qhostaddress.o
850Only in qte-2.3.7/src/network: qnetwork.o
851Only in qte-2.3.7/src/network: qserversocket.o
852Only in qte-2.3.7/src/network: qsocket.o
853Only in qte-2.3.7/src/network: qsocketdevice.o
854Only in qte-2.3.7/src/network: qsocketdevice_unix.o
855Only in qte-2.3.7/src/table: qtable.o
856Only in qte-2.3.7/src/tools: qbitarray.o
857Only in qte-2.3.7/src/tools: qbuffer.o
858Only in qte-2.3.7/src/tools: qcollection.o
859Only in qte-2.3.7/src/tools: qconfig-qpe.h
860Only in qte-2.3.7/src/tools: qconfig-qpe.h~
861diff -ru qte-2.3.7_orig/src/tools/qconfig.h qte-2.3.7/src/tools/qconfig.h
862 --- qte-2.3.7_orig/src/tools/qconfig.hFri Jan 26 14:43:06 2001
863 +++ qte-2.3.7/src/tools/qconfig.hWed Oct 29 22:13:16 2003
864@@ -1,3 +1,26 @@
865+// Copied from qconfig-qpe.h
866+/**********************************************************************
867+** Copyright (C) 2000 Trolltech AS. All rights reserved.
868+**
869+** This file is part of Qtopia Environment.
870+**
871+** This file may be distributed and/or modified under the terms of the
872+** GNU General Public License version 2 as published by the Free Software
873+** Foundation and appearing in the file LICENSE.GPL included in the
874+** packaging of this file.
875+**
876+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
877+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
878+**
879+** See http://www.trolltech.com/gpl/ for GPL licensing information.
880+**
881+** Contact info@trolltech.com if any conditions of this licensing are
882+** not clear to you.
883+**
884+**********************************************************************/
885+#ifndef QT_H
886+#endif // QT_H
887+
888 // Empty leaves all features enabled. See doc/html/features.html for choices.
889
890 // Note that disabling some features will produce a libqt that is not
891@@ -8,3 +31,69 @@
892 #ifndef QT_DLL
893 #define QT_DLL // Internal
894 #endif
895+
896+#if defined(QT_QWS_IPAQ) || defined(QT_QWS_CASSIOPEIA) || defined(QT_QWS_SL5XXX)
897+# define QT_NO_QWS_CURSOR
898+# define QT_NO_QWS_MOUSE_AUTO
899+#endif
900+#ifndef QT_NO_CODECS
901+#define QT_NO_CODECS
902+#endif
903+#define QT_NO_UNICODETABLES
904+//#define QT_NO_IMAGEIO_BMP
905+#define QT_NO_IMAGEIO_PPM
906+//#define QT_NO_ASYNC_IO
907+//#define QT_NO_ASYNC_IMAGE_IO
908+#define QT_NO_FREETYPE
909+#define QT_NO_BDF
910+//#define QT_NO_FONTDATABASE
911+#define QT_NO_DRAGANDDROP
912+//#define QT_NO_CLIPBOARD
913+#define QT_NO_PROPERTIES
914+#define QT_NO_NETWORKPROTOCOL
915+
916+#define QT_NO_IMAGE_TEXT
917+
918+//#define QT_NO_TOOLTIP
919+#define QT_NO_COLORNAMES
920+#define QT_NO_TRANSFORMATIONS
921+#define QT_NO_TRANSLATION_BUILDER
922+#define QT_NO_COMPLEXTEXT
923+#define QT_NO_PRINTER
924+#define QT_NO_PICTURE
925+//#define QT_NO_ICONVIEW
926+#define QT_NO_DIAL
927+#define QT_NO_SIZEGRIP
928+#define QT_NO_WORKSPACE
929+//#define QT_NO_TABLE
930+//#define QT_NO_ACTION
931+//#define QT_NO_SETTINGS
932+#define QT_NO_STYLE_POCKETPC
933+#ifndef QT_NO_STYLE_AQUA
934+# define QT_NO_STYLE_AQUA
935+#endif
936+#define QT_NO_STYLE_MOTIF
937+#define QT_NO_STYLE_PLATINUM
938+#define QT_NO_FILEDIALOG
939+#define QT_NO_FONTDIALOG
940+#define QT_NO_PRINTDIALOG
941+#define QT_NO_COLORDIALOG
942+#define QT_NO_INPUTDIALOG
943+//#define QT_NO_MESSAGEBOX
944+#define QT_NO_PROGRESSDIALOG
945+//#define QT_NO_TABDIALOG
946+#define QT_NO_WIZARD
947+#define QT_NO_EFFECTS
948+//#define QT_NO_COMPONENT
949+#define QT_NO_DOM
950+#define QT_NO_SEMIMODAL
951+//#define QT_NO_PROGRESSBAR
952+#define QT_NO_SPLITTER
953+
954+//#define QT_NO_QWS_SAVEFONTS
955+//#define QT_NO_QWS_PROPERTIES
956+
957+#define QT_NO_QWS_BEOS_WM_STYLE
958+#define QT_NO_QWS_KDE2_WM_STYLE
959+#define QT_NO_QWS_KDE_WM_STYLE
960+#define QT_NO_QWS_WINDOWS_WM_STYLE
961Only in qte-2.3.7/src/tools: qconfig.h~
962Only in qte-2.3.7/src/tools: qcstring.o
963Only in qte-2.3.7/src/tools: qdatastream.o
964Only in qte-2.3.7/src/tools: qdatetime.o
965Only in qte-2.3.7/src/tools: qdir.o
966Only in qte-2.3.7/src/tools: qdir_unix.o
967Only in qte-2.3.7/src/tools: qfile.o
968Only in qte-2.3.7/src/tools: qfile_unix.o
969Only in qte-2.3.7/src/tools: qfileinfo.o
970Only in qte-2.3.7/src/tools: qfileinfo_unix.o
971Only in qte-2.3.7/src/tools: qgarray.o
972Only in qte-2.3.7/src/tools: qgcache.o
973Only in qte-2.3.7/src/tools: qgdict.o
974Only in qte-2.3.7/src/tools: qglist.o
975Only in qte-2.3.7/src/tools: qglobal.o
976Only in qte-2.3.7/src/tools: qgvector.o
977Only in qte-2.3.7/src/tools: qiodevice.o
978Only in qte-2.3.7/src/tools: qmap.o
979diff -ru qte-2.3.7_orig/src/tools/qmodules.h qte-2.3.7/src/tools/qmodules.h
980 --- qte-2.3.7_orig/src/tools/qmodules.hFri Aug 31 17:00:56 2001
981 +++ qte-2.3.7/src/tools/qmodules.hWed Oct 29 21:57:53 2003
982@@ -1,14 +1,12 @@
983-#ifndef QT_H
984-#endif // QT_H
985-
986+// These modules are licensed to you
987 #define QT_MODULE_TOOLS
988 #define QT_MODULE_KERNEL
989 #define QT_MODULE_WIDGETS
990 #define QT_MODULE_DIALOGS
991-
992 #define QT_MODULE_ICONVIEW
993 #define QT_MODULE_WORKSPACE
994-#define QT_MODULE_TABLE
995+#define QT_MODULE_NETWORK
996 #define QT_MODULE_CANVAS
997+#define QT_MODULE_TABLE
998 #define QT_MODULE_XML
999-#define QT_MODULE_NETWORK
1000+#define QT_MODULE_OPENGL
1001Only in qte-2.3.7/src/tools: qregexp.o
1002Only in qte-2.3.7/src/tools: qstring.o
1003Only in qte-2.3.7/src/tools: qstringlist.o
1004Only in qte-2.3.7/src/tools: qtextcodec.o
1005Only in qte-2.3.7/src/tools: qtextstream.o
1006Only in qte-2.3.7/src/tools: qutfcodec.o
1007Only in qte-2.3.7/src/widgets: qaction.o
1008Only in qte-2.3.7/src/widgets: qbutton.o
1009Only in qte-2.3.7/src/widgets: qbuttongroup.o
1010Only in qte-2.3.7/src/widgets: qcdestyle.o
1011Only in qte-2.3.7/src/widgets: qcheckbox.o
1012Only in qte-2.3.7/src/widgets: qcombobox.o
1013diff -ru qte-2.3.7_orig/src/widgets/qcommonstyle.cpp qte-2.3.7/src/widgets/qcommonstyle.cpp
1014 --- qte-2.3.7_orig/src/widgets/qcommonstyle.cppThu Jul 17 03:20:26 2003
1015 +++ qte-2.3.7/src/widgets/qcommonstyle.cppMon Oct 27 14:21:28 2003
1016@@ -566,7 +566,7 @@
1017 bool enabled, bool active )
1018 {
1019 #ifndef QT_NO_MENUBAR
1020-#ifndef QT_NO_STYLE_SGI
1021+#if 1 // #ifndef QT_NO_STYLE_SGI
1022 if (draw_menu_bar_impl != 0) {
1023 QDrawMenuBarItemImpl impl = draw_menu_bar_impl;
1024 (this->*impl)(p, x, y, w, h, mi, g, enabled, active);
1025Only in qte-2.3.7/src/widgets: qcommonstyle.o
1026Only in qte-2.3.7/src/widgets: qcompactstyle.o
1027Only in qte-2.3.7/src/widgets: qdial.o
1028Only in qte-2.3.7/src/widgets: qeffects.moc
1029Only in qte-2.3.7/src/widgets: qeffects.o
1030Only in qte-2.3.7/src/widgets: qframe.o
1031Only in qte-2.3.7/src/widgets: qgrid.o
1032Only in qte-2.3.7/src/widgets: qgroupbox.o
1033Only in qte-2.3.7/src/widgets: qhbox.o
1034Only in qte-2.3.7/src/widgets: qhbuttongroup.o
1035Only in qte-2.3.7/src/widgets: qheader.o
1036Only in qte-2.3.7/src/widgets: qhgroupbox.o
1037Only in qte-2.3.7/src/widgets: qinterlacestyle.o
1038Only in qte-2.3.7/src/widgets: qlabel.o
1039Only in qte-2.3.7/src/widgets: qlcdnumber.o
1040Only in qte-2.3.7/src/widgets: qlineedit.o
1041Only in qte-2.3.7/src/widgets: qlistbox.o
1042diff -ru qte-2.3.7_orig/src/widgets/qlistview.cpp qte-2.3.7/src/widgets/qlistview.cpp
1043 --- qte-2.3.7_orig/src/widgets/qlistview.cppThu Jul 17 03:20:26 2003
1044 +++ qte-2.3.7/src/widgets/qlistview.cppMon Oct 27 14:21:28 2003
1045@@ -4968,9 +4968,9 @@
1046 l = l->childItem ? l->childItem : l->siblingItem;
1047
1048 if ( l && l->height() )
1049 -s.setHeight( s.height() + 10 * l->height() );
1050- else
1051 -s.setHeight( s.height() + 140 );
1052 +s.setHeight( s.height() + 4 /*10*/ * l->height() );
1053+ else // ^v much too big for handhelds
1054 +s.setHeight( s.height() + 30 /*140*/ );
1055
1056 if ( s.width() > s.height() * 3 )
1057 s.setHeight( s.width() / 3 );
1058Only in qte-2.3.7/src/widgets: qlistview.o
1059Only in qte-2.3.7/src/widgets: qmainwindow.moc
1060Only in qte-2.3.7/src/widgets: qmainwindow.o
1061Only in qte-2.3.7/src/widgets: qmenubar.o
1062Only in qte-2.3.7/src/widgets: qmenudata.o
1063Only in qte-2.3.7/src/widgets: qmotifplusstyle.o
1064Only in qte-2.3.7/src/widgets: qmotifstyle.o
1065Only in qte-2.3.7/src/widgets: qmultilineedit.o
1066Only in qte-2.3.7/src/widgets: qplatinumstyle.o
1067Only in qte-2.3.7/src/widgets: qpopupmenu.o
1068Only in qte-2.3.7/src/widgets: qprogressbar.o
1069Only in qte-2.3.7/src/widgets: qpushbutton.o
1070Only in qte-2.3.7/src/widgets: qradiobutton.o
1071Only in qte-2.3.7/src/widgets: qrangecontrol.o
1072Only in qte-2.3.7/src/widgets: qscrollbar.o
1073Only in qte-2.3.7/src/widgets: qscrollview.o
1074Only in qte-2.3.7/src/widgets: qsgistyle.o
1075Only in qte-2.3.7/src/widgets: qslider.o
1076Only in qte-2.3.7/src/widgets: qspinbox.o
1077Only in qte-2.3.7/src/widgets: qsplitter.o
1078Only in qte-2.3.7/src/widgets: qstatusbar.o
1079Only in qte-2.3.7/src/widgets: qtabbar.o
1080Only in qte-2.3.7/src/widgets: qtableview.o
1081Only in qte-2.3.7/src/widgets: qtabwidget.o
1082Only in qte-2.3.7/src/widgets: qtextbrowser.o
1083Only in qte-2.3.7/src/widgets: qtextview.o
1084Only in qte-2.3.7/src/widgets: qtoolbar.moc
1085Only in qte-2.3.7/src/widgets: qtoolbar.o
1086diff -ru qte-2.3.7_orig/src/widgets/qtoolbutton.cpp qte-2.3.7/src/widgets/qtoolbutton.cpp
1087 --- qte-2.3.7_orig/src/widgets/qtoolbutton.cppThu Jul 17 03:20:27 2003
1088 +++ qte-2.3.7/src/widgets/qtoolbutton.cppMon Oct 27 14:21:28 2003
1089@@ -230,7 +230,7 @@
1090 else
1091 QToolTip::add( this, textLabel );
1092 }
1093 -#endif
1094+#endif
1095 }
1096
1097
1098@@ -324,12 +324,12 @@
1099 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Large, QIconSet::Normal);
1100 w = pm.width();
1101 h = pm.height();
1102 -if ( w < 32 )
1103 - w = 32;
1104 -if ( h < 32 )
1105 - h = 32;
1106 +if ( w < 24 )
1107 + w = 24;
1108 +if ( h < 24 )
1109 + h = 24;
1110 } else {
1111 -w = h = 16;
1112 +w = h = 14;
1113 QPixmap pm = iconSet(TRUE).pixmap(QIconSet::Small, QIconSet::Normal);
1114 w = pm.width();
1115 h = pm.height();
1116Only in qte-2.3.7/src/widgets: qtoolbutton.o
1117Only in qte-2.3.7/src/widgets: qtooltip.moc
1118Only in qte-2.3.7/src/widgets: qtooltip.o
1119Only in qte-2.3.7/src/widgets: qvalidator.o
1120Only in qte-2.3.7/src/widgets: qvbox.o
1121Only in qte-2.3.7/src/widgets: qvbuttongroup.o
1122Only in qte-2.3.7/src/widgets: qvgroupbox.o
1123Only in qte-2.3.7/src/widgets: qwhatsthis.moc
1124Only in qte-2.3.7/src/widgets: qwhatsthis.o
1125Only in qte-2.3.7/src/widgets: qwidgetstack.o
1126Only in qte-2.3.7/src/widgets: qwindowsstyle.o
1127Only in qte-2.3.7/src/workspace: qworkspace.moc
1128Only in qte-2.3.7/src/workspace: qworkspace.o
1129Only in qte-2.3.7/src/xml: qdom.o
1130Only in qte-2.3.7/src/xml: qxml.o
1131Only in qte-2.3.7: src-mt.mk
1132Only in qte-2.3.7: stamp-headers
1133Only in qte-2.3.7/tools: Makefile
1134Only in qte-2.3.7/tools/designer: Makefile
1135Only in qte-2.3.7/tools/designer/designer: Makefile
1136Only in qte-2.3.7/tools/designer/examples/walkthrough: Makefile
1137Only in qte-2.3.7/tools/designer/integration/rc2ui: Makefile
1138Only in qte-2.3.7/tools/designer/tools/createcw: Makefile
1139Only in qte-2.3.7/tools/designer/uic: Makefile
1140Only in qte-2.3.7/tools/designer/util: Makefile
1141Only in qte-2.3.7/tools/makeqpf: Makefile
1142Only in qte-2.3.7/tools/mergetr: Makefile
1143Only in qte-2.3.7/tools/msg2qm: Makefile
1144Only in qte-2.3.7/tools/qconfig: Makefile
1145Only in qte-2.3.7/tools/qembed: Makefile
1146Only in qte-2.3.7/tools/qvfb: Makefile
1147Only in qte-2.3.7/tutorial: Makefile
1148Only in qte-2.3.7/tutorial/t1: Makefile
1149Only in qte-2.3.7/tutorial/t10: Makefile
1150Only in qte-2.3.7/tutorial/t11: Makefile
1151Only in qte-2.3.7/tutorial/t12: Makefile
1152Only in qte-2.3.7/tutorial/t13: Makefile
1153Only in qte-2.3.7/tutorial/t14: Makefile
1154Only in qte-2.3.7/tutorial/t2: Makefile
1155Only in qte-2.3.7/tutorial/t3: Makefile
1156Only in qte-2.3.7/tutorial/t4: Makefile
1157Only in qte-2.3.7/tutorial/t5: Makefile
1158Only in qte-2.3.7/tutorial/t6: Makefile
1159Only in qte-2.3.7/tutorial/t7: Makefile
1160Only in qte-2.3.7/tutorial/t8: Makefile
1161Only in qte-2.3.7/tutorial/t9: Makefile
diff --git a/rsync/config_linux.h b/rsync/config_linux.h
index e5ff3e4..f488b78 100644
--- a/rsync/config_linux.h
+++ b/rsync/config_linux.h
@@ -2,49 +2,49 @@
2/* config.h.in. Generated automatically from configure.in by autoheader 2.13. */ 2/* config.h.in. Generated automatically from configure.in by autoheader 2.13. */
3 3
4/* Define to empty if the keyword does not work. */ 4/* Define to empty if the keyword does not work. */
5/* #undef const */ 5/* #undef const */
6 6
7/* Define to `long' if <sys/types.h> doesn't define. */ 7/* Define to `long' if <sys/types.h> doesn't define. */
8/* #undef off_t */ 8/* #undef off_t */
9 9
10/* Define to `unsigned' if <sys/types.h> doesn't define. */ 10/* Define to `unsigned' if <sys/types.h> doesn't define. */
11/* #undef size_t */ 11/* #undef size_t */
12 12
13/* Define if you have the ANSI C header files. */ 13/* Define if you have the ANSI C header files. */
14#define STDC_HEADERS 1 14#define STDC_HEADERS 1
15 15
16/* Define this if your sockaddr structure contains sin_len */ 16/* Define this if your sockaddr structure contains sin_len */
17/* #undef HAVE_SOCK_SIN_LEN */ 17/* #undef HAVE_SOCK_SIN_LEN */
18 18
19/* How many bits would you like to have in an off_t? */ 19/* How many bits would you like to have in an off_t? */
20#define _FILE_OFFSET_BITS 64 20#define _FILE_OFFSET_BITS 64
21 21
22/* Define to include GNU C library extensions. */ 22/* Define to include GNU C library extensions. */
23#define _GNU_SOURCE 1 23#define _GNU_SOURCE 1
24 24
25/* GNU extension of saving argv[0] to program_invocation_short_name */ 25/* GNU extension of saving argv[0] to program_invocation_short_name */
26#define HAVE_PROGRAM_INVOCATION_NAME 1 26/* #define HAVE_PROGRAM_INVOCATION_NAME 1 */
27 27
28/* Define to a replacement type if intmax_t is not a builtin, or in 28/* Define to a replacement type if intmax_t is not a builtin, or in
29 sys/types.h or stdlib.h or stddef.h */ 29 sys/types.h or stdlib.h or stddef.h */
30/* #undef intmax_t */ 30/* #undef intmax_t */
31 31
32/* The number of bytes in a int. */ 32/* The number of bytes in a int. */
33#define SIZEOF_INT 4 33#define SIZEOF_INT 4
34 34
35/* The number of bytes in a long. */ 35/* The number of bytes in a long. */
36#define SIZEOF_LONG 4 36#define SIZEOF_LONG 4
37 37
38/* The number of bytes in a off_t. */ 38/* The number of bytes in a off_t. */
39#define SIZEOF_OFF_T 8 39#define SIZEOF_OFF_T 8
40 40
41/* The number of bytes in a short. */ 41/* The number of bytes in a short. */
42#define SIZEOF_SHORT 2 42#define SIZEOF_SHORT 2
43 43
44/* The number of bytes in a size_t. */ 44/* The number of bytes in a size_t. */
45#define SIZEOF_SIZE_T 4 45#define SIZEOF_SIZE_T 4
46 46
47/* The number of bytes in a unsigned char. */ 47/* The number of bytes in a unsigned char. */
48#define SIZEOF_UNSIGNED_CHAR 1 48#define SIZEOF_UNSIGNED_CHAR 1
49 49
50/* The number of bytes in a unsigned int. */ 50/* The number of bytes in a unsigned int. */
diff --git a/rsync/trace.h b/rsync/trace.h
index 60a6477..2bb8552 100644
--- a/rsync/trace.h
+++ b/rsync/trace.h
@@ -15,108 +15,98 @@
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Lesser General Public License for more details. 16 * GNU Lesser General Public License for more details.
17 * 17 *
18 * You should have received a copy of the GNU Lesser General Public License 18 * You should have received a copy of the GNU Lesser General Public License
19 * along with this program; if not, write to the Free Software 19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 20 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
21 */ 21 */
22 22
23 23
24/* 24/*
25 * TODO: A function like perror that includes strerror output. Apache 25 * TODO: A function like perror that includes strerror output. Apache
26 * does this by adding flags as well as the severity level which say 26 * does this by adding flags as well as the severity level which say
27 * whether such information should be included. 27 * whether such information should be included.
28 */ 28 */
29 29
30 30
31/* 31/*
32 * trace may be turned off. 32 * trace may be turned off.
33 * 33 *
34 * error is always on, but you can return and continue in some way 34 * error is always on, but you can return and continue in some way
35 * 35 *
36 * fatal terminates the whole process 36 * fatal terminates the whole process
37 */ 37 */
38 38
39void rs_fatal0(char const *s, ...); 39#if defined(HAVE_VARARG_MACROS) && defined(__GNUC__)
40void rs_error0(char const *s, ...); 40/*
41void rs_trace0(char const *s, ...); 41 * TODO: Don't assume this is a gcc thing; rather test in autoconf for
42 42 * support for __FUNCTION__. One simple way might just be to try compiling
43void rs_log0_nofn(int level, char const *fmt, ...); 43 * the definition of one of these functions!
44 44 *
45#ifdef __GNUC__ 45 * TODO: Also look for the C9X predefined identifier `_function', or
46 * whatever it's called.
47 */
46 48
47void rs_log0(int level, char const *fn, char const *fmt, ...) 49void rs_log0(int level, char const *fn, char const *fmt, ...)
48 __attribute__ ((format(printf, 3, 4))); 50 __attribute__ ((format(printf, 3, 4)));
49 51
50#ifdef DO_RS_TRACE 52#ifdef DO_RS_TRACE
51# define rs_trace(fmt, arg...) \ 53# define rs_trace(fmt, arg...) \
52 do { rs_log0(RS_LOG_DEBUG, __FUNCTION__, fmt , ##arg); \ 54 do { rs_log0(RS_LOG_DEBUG, __FUNCTION__, fmt , ##arg); \
53 } while (0) 55 } while (0)
54#else 56#else
55# define rs_trace(s, str...) 57# define rs_trace(fmt, arg...)
56 #endif/* !DO_RS_TRACE */ 58 #endif/* !DO_RS_TRACE */
57 59
58/*
59 * TODO: Don't assume this is a gcc thing; rather test in autoconf for
60 * support for __FUNCTION__ and varargs macros. One simple way might
61 * just be to try compiling the definition of one of these functions!
62 *
63 * TODO: Also look for the C9X predefined identifier `_function', or
64 * whatever it's called.
65 */
66
67#define rs_log(l, s, str...) do { \ 60#define rs_log(l, s, str...) do { \
68 rs_log0((l), __FUNCTION__, (s) , ##str); \ 61 rs_log0((l), __FUNCTION__, (s) , ##str); \
69 } while (0) 62 } while (0)
70 63
71 64
72#define rs_error(s, str...) do { \ 65#define rs_error(s, str...) do { \
73 rs_log0(RS_LOG_ERR, __FUNCTION__, (s) , ##str); \ 66 rs_log0(RS_LOG_ERR, __FUNCTION__, (s) , ##str); \
74 } while (0) 67 } while (0)
75 68
76 69
77#define rs_fatal(s, str...) do { \ 70#define rs_fatal(s, str...) do { \
78 rs_log0(RS_LOG_CRIT, __FUNCTION__, \ 71 rs_log0(RS_LOG_CRIT, __FUNCTION__, \
79 (s) , ##str); \ 72 (s) , ##str); \
80 abort(); \ 73 abort(); \
81 } while (0) 74 } while (0)
82 75
83 76
84#else /************************* ! __GNUC__ */ 77#else /************************* ! __GNUC__ */
85 78# define rs_trace rs_trace0
86# define rs_fatal rs_fatal0 79# define rs_fatal rs_fatal0
87# define rs_error rs_error0 80# define rs_error rs_error0
88# define rs_log rs_log0_nofn 81# define rs_log rs_log0_nofn
89
90# ifdef DO_RS_TRACE
91# define rs_trace rs_trace0
92 # endif /* DO_RS_TRACE */
93 #endif /* ! __GNUC__ */ 82 #endif /* ! __GNUC__ */
94 83
95 84void rs_trace0(char const *s, ...);
85void rs_fatal0(char const *s, ...);
86void rs_error0(char const *s, ...);
96void rs_log0(int level, char const *fn, char const *fmt, ...); 87void rs_log0(int level, char const *fn, char const *fmt, ...);
97 88void rs_log0_nofn(int level, char const *fmt, ...);
98 89
99enum { 90enum {
100 RS_LOG_PRIMASK = 7, /**< Mask to extract priority 91 RS_LOG_PRIMASK = 7, /**< Mask to extract priority
101 part. \internal */ 92 part. \internal */
102 93
103 RS_LOG_NONAME = 8 /**< \b Don't show function name in 94 RS_LOG_NONAME = 8 /**< \b Don't show function name in
104 message. */ 95 message. */
105}; 96};
106 97
107 98
108
109/** 99/**
110 * \macro rs_trace_enabled() 100 * \macro rs_trace_enabled()
111 * 101 *
112 * Call this before putting too much effort into generating trace 102 * Call this before putting too much effort into generating trace
113 * messages. 103 * messages.
114 */ 104 */
115 105
116extern int rs_trace_level; 106extern int rs_trace_level;
117 107
118#ifdef DO_RS_TRACE 108#ifdef DO_RS_TRACE
119# define rs_trace_enabled() ((rs_trace_level & RS_LOG_PRIMASK) >= RS_LOG_DEBUG) 109# define rs_trace_enabled() ((rs_trace_level & RS_LOG_PRIMASK) >= RS_LOG_DEBUG)
120#else 110#else
121# define rs_trace_enabled() 0 111# define rs_trace_enabled() 0
122#endif 112#endif
diff --git a/scripts/kconfig/lkc_proto.h b/scripts/kconfig/lkc_proto.h
index 97c7917..e438bd8 100644
--- a/scripts/kconfig/lkc_proto.h
+++ b/scripts/kconfig/lkc_proto.h
@@ -1,39 +1,39 @@
1 1
2/* confdata.c */ 2/* confdata.c */
3P(conf_parse,void,(const char *name)); 3P(conf_parse,void,(const char *name));
4P(conf_read,int,(const char *name)); 4P(conf_read,int,(const char *name));
5P(conf_write,int,(const char *name)); 5P(conf_write,int,(const char *name));
6 6
7/* menu.c */ 7/* menu.c */
8P(rootmenu,struct menu,); 8extern struct menu rootmenu;
9 9
10P(menu_is_visible,bool,(struct menu *menu)); 10P(menu_is_visible,bool,(struct menu *menu));
11P(menu_get_prompt,const char *,(struct menu *menu)); 11P(menu_get_prompt,const char *,(struct menu *menu));
12P(menu_get_root_menu,struct menu *,(struct menu *menu)); 12P(menu_get_root_menu,struct menu *,(struct menu *menu));
13P(menu_get_parent_menu,struct menu *,(struct menu *menu)); 13P(menu_get_parent_menu,struct menu *,(struct menu *menu));
14 14
15/* symbol.c */ 15/* symbol.c */
16P(symbol_hash,struct symbol *,[SYMBOL_HASHSIZE]); 16P(symbol_hash,struct symbol *,[SYMBOL_HASHSIZE]);
17P(sym_change_count,int,); 17extern int sym_change_count;
18 18
19P(sym_lookup,struct symbol *,(const char *name, int isconst)); 19P(sym_lookup,struct symbol *,(const char *name, int isconst));
20P(sym_find,struct symbol *,(const char *name)); 20P(sym_find,struct symbol *,(const char *name));
21P(sym_type_name,const char *,(enum symbol_type type)); 21P(sym_type_name,const char *,(enum symbol_type type));
22P(sym_calc_value,void,(struct symbol *sym)); 22P(sym_calc_value,void,(struct symbol *sym));
23P(sym_get_type,enum symbol_type,(struct symbol *sym)); 23P(sym_get_type,enum symbol_type,(struct symbol *sym));
24P(sym_tristate_within_range,bool,(struct symbol *sym,tristate tri)); 24P(sym_tristate_within_range,bool,(struct symbol *sym,tristate tri));
25P(sym_set_tristate_value,bool,(struct symbol *sym,tristate tri)); 25P(sym_set_tristate_value,bool,(struct symbol *sym,tristate tri));
26P(sym_toggle_tristate_value,tristate,(struct symbol *sym)); 26P(sym_toggle_tristate_value,tristate,(struct symbol *sym));
27P(sym_string_valid,bool,(struct symbol *sym, const char *newval)); 27P(sym_string_valid,bool,(struct symbol *sym, const char *newval));
28P(sym_string_within_range,bool,(struct symbol *sym, const char *str)); 28P(sym_string_within_range,bool,(struct symbol *sym, const char *str));
29P(sym_set_string_value,bool,(struct symbol *sym, const char *newval)); 29P(sym_set_string_value,bool,(struct symbol *sym, const char *newval));
30P(sym_is_changable,bool,(struct symbol *sym)); 30P(sym_is_changable,bool,(struct symbol *sym));
31P(sym_get_choice_prop,struct property *,(struct symbol *sym)); 31P(sym_get_choice_prop,struct property *,(struct symbol *sym));
32P(sym_get_default_prop,struct property *,(struct symbol *sym)); 32P(sym_get_default_prop,struct property *,(struct symbol *sym));
33P(sym_get_string_value,const char *,(struct symbol *sym)); 33P(sym_get_string_value,const char *,(struct symbol *sym));
34 34
35P(prop_get_type_name,const char *,(enum prop_type type)); 35P(prop_get_type_name,const char *,(enum prop_type type));
36 36
37/* expr.c */ 37/* expr.c */
38P(expr_compare_type,int,(enum expr_type t1, enum expr_type t2)); 38P(expr_compare_type,int,(enum expr_type t1, enum expr_type t2));
39P(expr_print,void,(struct expr *e, void (*fn)(void *, const char *), void *data, int prevtoken)); 39P(expr_print,void,(struct expr *e, void (*fn)(void *, const char *), void *data, int prevtoken));