summaryrefslogtreecommitdiff
authorzecke <zecke>2005-02-08 22:59:18 (UTC)
committer zecke <zecke>2005-02-08 22:59:18 (UTC)
commitf24d8318de30b47ec8f877293fd175deaa0b914c (patch) (unidiff)
tree980c18e803b7b85573e1ab11a9ade2b281273d3e
parent7cff42233a2e0e2761f54fea89db785c7b519c94 (diff)
downloadopie-f24d8318de30b47ec8f877293fd175deaa0b914c.zip
opie-f24d8318de30b47ec8f877293fd175deaa0b914c.tar.gz
opie-f24d8318de30b47ec8f877293fd175deaa0b914c.tar.bz2
-Kill the need to compile Opie against a patched version of Qt/E
Remove the setStyle and setFont overrides as a result remove settings from the buildsystem and the Apperance GUI We do this as we won't run NeoCal or TKC Apps on a GCC3 (now default compiler) libqpe, to run these applications one can use oz-compat
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--Rules.make6
-rw-r--r--config.in8
-rw-r--r--library/library.pro6
-rw-r--r--library/qpeapplication.cpp40
-rw-r--r--library/qpeapplication.h5
-rw-r--r--library/qt_override.cpp170
-rw-r--r--library/qt_override_p.h25
-rw-r--r--noncore/settings/appearance2/appearance.cpp210
-rw-r--r--noncore/settings/appearance2/appearance.h8
9 files changed, 5 insertions, 473 deletions
diff --git a/Rules.make b/Rules.make
index 3fbce76..64237cf 100644
--- a/Rules.make
+++ b/Rules.make
@@ -25,76 +25,70 @@ else
25 echo CONFIG -= debug >> $@ 25 echo CONFIG -= debug >> $@
26 echo CONFIG += release >> $@ 26 echo CONFIG += release >> $@
27 echo DEFINES += "OPIE_NO_DEBUG" >> $@ 27 echo DEFINES += "OPIE_NO_DEBUG" >> $@
28endif 28endif
29ifeq ($(CONFIG_STATIC),y) 29ifeq ($(CONFIG_STATIC),y)
30 echo !contains\( TARGET,qpe \) \{ >> $@ 30 echo !contains\( TARGET,qpe \) \{ >> $@
31 echo CONFIG += staticlib >> $@ 31 echo CONFIG += staticlib >> $@
32 echo \} >> $@ 32 echo \} >> $@
33endif 33endif
34ifeq ($(filter 3.%,$(QTE_VERSION)),) # not qt3 34ifeq ($(filter 3.%,$(QTE_VERSION)),) # not qt3
35 echo CONFIG -= qt3 >> $@ 35 echo CONFIG -= qt3 >> $@
36else 36else
37 echo CONFIG += qt3 >> $@ 37 echo CONFIG += qt3 >> $@
38endif 38endif
39ifneq ($(CONFIG_QUICK_LAUNCH),) 39ifneq ($(CONFIG_QUICK_LAUNCH),)
40 echo contains\( CONFIG, quick-app \) \{ >> $@ 40 echo contains\( CONFIG, quick-app \) \{ >> $@
41 echo CONFIG -= staticlib >> $@ 41 echo CONFIG -= staticlib >> $@
42 echo CONFIG -= quick-app >> $@ 42 echo CONFIG -= quick-app >> $@
43 echo CONFIG += quick-app-lib >> $@ 43 echo CONFIG += quick-app-lib >> $@
44 echo QUICKLAUNCH_PATH = $(CONFIG_QUICKLAUNCH_PATH) >> $@ 44 echo QUICKLAUNCH_PATH = $(CONFIG_QUICKLAUNCH_PATH) >> $@
45 echo \} >> $@ 45 echo \} >> $@
46else 46else
47 echo contains\( CONFIG, quick-app \) \{ >> $@ 47 echo contains\( CONFIG, quick-app \) \{ >> $@
48 echo CONFIG -= quick-app >> $@ 48 echo CONFIG -= quick-app >> $@
49 echo CONFIG += quick-app-bin >> $@ 49 echo CONFIG += quick-app-bin >> $@
50 echo \} >> $@ 50 echo \} >> $@
51endif 51endif
52ifeq ($(CONFIG_SQL_PIM_BACKEND),y) 52ifeq ($(CONFIG_SQL_PIM_BACKEND),y)
53 echo ENABLE_SQL_PIM_BACKEND=$(CONFIG_SQL_PIM_BACKEND) >> $@ 53 echo ENABLE_SQL_PIM_BACKEND=$(CONFIG_SQL_PIM_BACKEND) >> $@
54else 54else
55 echo ENABLE_SQL_PIM_BACKEND=n >> $@ 55 echo ENABLE_SQL_PIM_BACKEND=n >> $@
56endif 56endif
57ifeq ($(CONFIG_OPIE_NO_OVERRIDE_QT),y)
58 echo CONFIG += no-override >> $@
59endif
60ifeq ($(CONFIG_OPIELOGIN_USEPAM),y) 57ifeq ($(CONFIG_OPIELOGIN_USEPAM),y)
61 echo CONFIG += OPIELOGIN_USEPAM >> $@ 58 echo CONFIG += OPIELOGIN_USEPAM >> $@
62endif 59endif
63ifeq ($(CONFIG_LIBQPE_WITHROHFEEDBACK),y) 60ifeq ($(CONFIG_LIBQPE_WITHROHFEEDBACK),y)
64 echo CONFIG += LIBQPE_WITHROHFEEDBACK >> $@ 61 echo CONFIG += LIBQPE_WITHROHFEEDBACK >> $@
65endif 62endif
66ifeq ($(CONFIG_OPIE_NO_ERASERECT_FIX),y)
67 echo DEFINES += OPIE_NO_ERASE_RECT_HACKFIX >> $@
68endif
69ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y) 63ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y)
70 echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@ 64 echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@
71endif 65endif
72ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y) 66ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y)
73 echo DEFINES += OPIE_NO_BUILTIN_CALIBRATE >> $@ 67 echo DEFINES += OPIE_NO_BUILTIN_CALIBRATE >> $@
74endif 68endif
75ifeq ($(CONFIG_USE_REALTIME_AUDIO_THREAD),y) 69ifeq ($(CONFIG_USE_REALTIME_AUDIO_THREAD),y)
76 echo DEFINES += USE_REALTIME_AUDIO_THREAD >> $@ 70 echo DEFINES += USE_REALTIME_AUDIO_THREAD >> $@
77endif 71endif
78ifeq ($(CONFIG_USE_FILE_NOTIFICATION),y) 72ifeq ($(CONFIG_USE_FILE_NOTIFICATION),y)
79 echo DEFINES += USE_FILE_NOTIFICATION >> $@ 73 echo DEFINES += USE_FILE_NOTIFICATION >> $@
80endif 74endif
81ifeq ($(CONFIG_QT_QWS_ALLOW_CLOCK),y) 75ifeq ($(CONFIG_QT_QWS_ALLOW_CLOCK),y)
82 echo DEFINES += QT_QWS_ALLOW_OVERCLOCK >> $@ 76 echo DEFINES += QT_QWS_ALLOW_OVERCLOCK >> $@
83endif 77endif
84ifeq ($(CONFIG_OPIE_NEW_ALLOC),y) 78ifeq ($(CONFIG_OPIE_NEW_ALLOC),y)
85 echo DEFINES += OPIE_NEW_MALLOC >> $@ 79 echo DEFINES += OPIE_NEW_MALLOC >> $@
86endif 80endif
87ifeq ($(CONFIG_OPIE_NO_SOUND_PCM_READ_BITS),y) 81ifeq ($(CONFIG_OPIE_NO_SOUND_PCM_READ_BITS),y)
88 echo DEFINES += OPIE_NO_SOUND_PCM_READ_BITS >> $@ 82 echo DEFINES += OPIE_NO_SOUND_PCM_READ_BITS >> $@
89endif 83endif
90 echo DEFINES += OPIE_SOUND_FRAGMENT_SHIFT=$(CONFIG_OPIE_SOUND_FRAGMENT_SHIFT) >> $@ 84 echo DEFINES += OPIE_SOUND_FRAGMENT_SHIFT=$(CONFIG_OPIE_SOUND_FRAGMENT_SHIFT) >> $@
91ifeq ($(CONFIG_OPIE_WE_VERSION_OVERRIDE),y) 85ifeq ($(CONFIG_OPIE_WE_VERSION_OVERRIDE),y)
92 echo DEFINES += OPIE_WE_VERSION=$(CONFIG_OPIE_WE_VERSION) >> $@ 86 echo DEFINES += OPIE_WE_VERSION=$(CONFIG_OPIE_WE_VERSION) >> $@
93endif 87endif
94ifeq ($(CONFIG_OPIE_TASKBAR_LOCK_KEY_STATE),y) 88ifeq ($(CONFIG_OPIE_TASKBAR_LOCK_KEY_STATE),y)
95 echo DEFINES += OPIE_TASKBAR_LOCK_KEY_STATE >> $@ 89 echo DEFINES += OPIE_TASKBAR_LOCK_KEY_STATE >> $@
96 endif 90 endif
97# Write LIB dirs and INC dirs... 91# Write LIB dirs and INC dirs...
98ifeq ($(CONFIG_LIBETPAN_DEP),y) 92ifeq ($(CONFIG_LIBETPAN_DEP),y)
99 echo LIBETPAN_LIB_DIR = $(CONFIG_LIBETPAN_LIB_DIR) >> $@ 93 echo LIBETPAN_LIB_DIR = $(CONFIG_LIBETPAN_LIB_DIR) >> $@
100 echo LIBETPAN_INC_DIR = $(CONFIG_LIBETPAN_INC_DIR) >> $@ 94 echo LIBETPAN_INC_DIR = $(CONFIG_LIBETPAN_INC_DIR) >> $@
diff --git a/config.in b/config.in
index 323ca51..f913aad 100644
--- a/config.in
+++ b/config.in
@@ -94,72 +94,64 @@ config SPECFILE
94 default "qws/macx-generic-g++" if TARGET_MACOSX && (! X11) 94 default "qws/macx-generic-g++" if TARGET_MACOSX && (! X11)
95 default "qws/linux-oe-g++" if TARGET_OE && (!X11) 95 default "qws/linux-oe-g++" if TARGET_OE && (!X11)
96 96
97config CUSTOMFILE 97config CUSTOMFILE
98 string 98 string
99 default "custom-ipaq.h" if TARGET_IPAQ 99 default "custom-ipaq.h" if TARGET_IPAQ
100 default "custom-sharp.h" if TARGET_SHARP 100 default "custom-sharp.h" if TARGET_SHARP
101 default "custom-ramses.h" if TARGET_RAMSES 101 default "custom-ramses.h" if TARGET_RAMSES
102 default "custom-ipaq.h" if TARGET_SIMPAD 102 default "custom-ipaq.h" if TARGET_SIMPAD
103 default "custom-yopy.h" if TARGET_YOPY 103 default "custom-yopy.h" if TARGET_YOPY
104 104
105config OPTIMIZATIONS 105config OPTIMIZATIONS
106 string "Optimization flags" 106 string "Optimization flags"
107 depends OPTIMIZE 107 depends OPTIMIZE
108 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_IPAQ 108 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_IPAQ
109 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_YOPY 109 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_YOPY
110 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SHARP 110 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SHARP
111 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_RAMSES 111 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_RAMSES
112 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SIMPAD 112 default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SIMPAD
113 default "-march=armv5te -mtune=xscale -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_C700 113 default "-march=armv5te -mtune=xscale -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_C700
114 114
115config EXPERIMENTAL 115config EXPERIMENTAL
116 bool "Prompt for development and/or incomplete items" 116 bool "Prompt for development and/or incomplete items"
117 default y 117 default y
118 118
119config USE_CCACHE 119config USE_CCACHE
120 bool "Use ccache, if available?" 120 bool "Use ccache, if available?"
121 default y 121 default y
122 122
123endmenu 123endmenu
124 124
125menu "Configuration" 125menu "Configuration"
126config OPIE_NO_OVERRIDE_QT
127 boolean "Build Opie against an unpatched version of Qt"
128 default n
129
130config OPIE_NO_ERASERECT_FIX
131 boolean "Disable Fixup eraseRect for HancomMobileWord,neocal.. to make libopiecore work on Sharps libqpe"
132 default n
133
134config OPIE_NO_BUILTIN_SHUTDOWN 126config OPIE_NO_BUILTIN_SHUTDOWN
135 boolean "Disable the built in shutdown application" 127 boolean "Disable the built in shutdown application"
136 default y 128 default y
137 129
138config OPIE_NO_BUILTIN_CALIBRATE 130config OPIE_NO_BUILTIN_CALIBRATE
139 boolean "Disable the built in calibrate application" 131 boolean "Disable the built in calibrate application"
140 default y if TARGET_YOPY 132 default y if TARGET_YOPY
141 default n if ! TARGET_YOPY 133 default n if ! TARGET_YOPY
142 134
143config OPIE_SOUND_FRAGMENT_SHIFT 135config OPIE_SOUND_FRAGMENT_SHIFT
144 string "The sound fragment used in Opie Player I" 136 string "The sound fragment used in Opie Player I"
145 default "14" if TARGET_IPAQ 137 default "14" if TARGET_IPAQ
146 default "16" if ! TARGET_IPAQ 138 default "16" if ! TARGET_IPAQ
147 139
148config USE_REALTIME_AUDIO_THREAD 140config USE_REALTIME_AUDIO_THREAD
149 boolean "Use a realtime thread in Opie Player I" 141 boolean "Use a realtime thread in Opie Player I"
150 default y if TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP 142 default y if TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP
151 default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP) 143 default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP)
152 144
153config QT_QWS_ALLOW_OVERCLOCK 145config QT_QWS_ALLOW_OVERCLOCK
154 boolean "Allow the user to overclock the device" 146 boolean "Allow the user to overclock the device"
155 depends TARGET_RAMSES 147 depends TARGET_RAMSES
156 default n 148 default n
157 149
158config USE_FILE_NOTIFICATION 150config USE_FILE_NOTIFICATION
159 boolean "Substitute (some) polling interfaces with OFileNotifier" 151 boolean "Substitute (some) polling interfaces with OFileNotifier"
160 default y 152 default y
161 153
162config OPIE_NEW_ALLOC 154config OPIE_NEW_ALLOC
163 boolean "Use malloc and free for the implementation" 155 boolean "Use malloc and free for the implementation"
164 default y if TARGET_RAMSES || TARGET_IPAQ || TARGET_SIMPAD || TARGET_SHARP 156 default y if TARGET_RAMSES || TARGET_IPAQ || TARGET_SIMPAD || TARGET_SHARP
165 default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP) 157 default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP)
diff --git a/library/library.pro b/library/library.pro
index 04e125f..95c18a2 100644
--- a/library/library.pro
+++ b/library/library.pro
@@ -30,116 +30,110 @@ HEADERS = calendar.h \
30 datebookdb.h \ 30 datebookdb.h \
31 alarmserver.h \ 31 alarmserver.h \
32 process.h \ 32 process.h \
33 password.h \ 33 password.h \
34 timestring.h \ 34 timestring.h \
35 fontfactoryinterface.h \ 35 fontfactoryinterface.h \
36 fontdatabase.h \ 36 fontdatabase.h \
37 power.h \ 37 power.h \
38 storage.h \ 38 storage.h \
39 qpemessagebox.h \ 39 qpemessagebox.h \
40 timeconversion.h \ 40 timeconversion.h \
41 qpedebug.h \ 41 qpedebug.h \
42 qpemenubar.h \ 42 qpemenubar.h \
43 qpetoolbar.h \ 43 qpetoolbar.h \
44 backend/categories.h \ 44 backend/categories.h \
45 stringutil.h \ 45 stringutil.h \
46 backend/palmtoprecord.h \ 46 backend/palmtoprecord.h \
47 backend/task.h \ 47 backend/task.h \
48 backend/event.h \ 48 backend/event.h \
49 backend/contact.h\ 49 backend/contact.h\
50 categorymenu.h \ 50 categorymenu.h \
51 categoryedit_p.h \ 51 categoryedit_p.h \
52 categoryselect.h \ 52 categoryselect.h \
53 categorywidget.h \ 53 categorywidget.h \
54 ir.h \ 54 ir.h \
55 backend/vobject_p.h \ 55 backend/vobject_p.h \
56 findwidget_p.h \ 56 findwidget_p.h \
57 finddialog.h \ 57 finddialog.h \
58 lnkproperties.h \ 58 lnkproperties.h \
59 windowdecorationinterface.h \ 59 windowdecorationinterface.h \
60 textcodecinterface.h \ 60 textcodecinterface.h \
61 imagecodecinterface.h \ 61 imagecodecinterface.h \
62 qt_override_p.h \
63 qpeglobal.h 62 qpeglobal.h
64 63
65 SOURCES= calendar.cpp \ 64 SOURCES= calendar.cpp \
66 global.cpp \ 65 global.cpp \
67 xmlreader.cpp \ 66 xmlreader.cpp \
68 mimetype.cpp \ 67 mimetype.cpp \
69 menubutton.cpp \ 68 menubutton.cpp \
70 network.cpp \ 69 network.cpp \
71 networkinterface.cpp \ 70 networkinterface.cpp \
72 filemanager.cpp \ 71 filemanager.cpp \
73 fontmanager.cpp \ 72 fontmanager.cpp \
74 qdawg.cpp \ 73 qdawg.cpp \
75 datebookmonth.cpp \ 74 datebookmonth.cpp \
76 fileselector.cpp \ 75 fileselector.cpp \
77 imageedit.cpp \ 76 imageedit.cpp \
78 resource.cpp \ 77 resource.cpp \
79 qpedecoration_qws.cpp \ 78 qpedecoration_qws.cpp \
80 qcopenvelope_qws.cpp \ 79 qcopenvelope_qws.cpp \
81 qpeapplication.cpp \ 80 qpeapplication.cpp \
82 qpestyle.cpp \ 81 qpestyle.cpp \
83 qpedialog.cpp \ 82 qpedialog.cpp \
84 lightstyle.cpp \ 83 lightstyle.cpp \
85 config.cpp \ 84 config.cpp \
86 applnk.cpp \ 85 applnk.cpp \
87 sound.cpp \ 86 sound.cpp \
88 tzselect.cpp \ 87 tzselect.cpp \
89 qmath.c \ 88 qmath.c \
90 datebookdb.cpp \ 89 datebookdb.cpp \
91 alarmserver.cpp \ 90 alarmserver.cpp \
92 password.cpp \ 91 password.cpp \
93 process.cpp \ 92 process.cpp \
94 process_unix.cpp \ 93 process_unix.cpp \
95 timestring.cpp \ 94 timestring.cpp \
96 fontdatabase.cpp \ 95 fontdatabase.cpp \
97 power.cpp \ 96 power.cpp \
98 storage.cpp \ 97 storage.cpp \
99 qpemessagebox.cpp \ 98 qpemessagebox.cpp \
100 backend/timeconversion.cpp \ 99 backend/timeconversion.cpp \
101 qpedebug.cpp \ 100 qpedebug.cpp \
102 qpemenubar.cpp \ 101 qpemenubar.cpp \
103 qpetoolbar.cpp \ 102 qpetoolbar.cpp \
104 backend/categories.cpp \ 103 backend/categories.cpp \
105 backend/stringutil.cpp \ 104 backend/stringutil.cpp \
106 backend/palmtoprecord.cpp \ 105 backend/palmtoprecord.cpp \
107 backend/task.cpp \ 106 backend/task.cpp \
108 backend/event.cpp \ 107 backend/event.cpp \
109 backend/contact.cpp \ 108 backend/contact.cpp \
110 categorymenu.cpp \ 109 categorymenu.cpp \
111 categoryedit_p.cpp \ 110 categoryedit_p.cpp \
112 categoryselect.cpp \ 111 categoryselect.cpp \
113 categorywidget.cpp \ 112 categorywidget.cpp \
114 ir.cpp \ 113 ir.cpp \
115 backend/vcc_yacc.cpp \ 114 backend/vcc_yacc.cpp \
116 backend/vobject.cpp \ 115 backend/vobject.cpp \
117 findwidget_p.cpp \ 116 findwidget_p.cpp \
118 finddialog.cpp \ 117 finddialog.cpp \
119 lnkproperties.cpp \ 118 lnkproperties.cpp \
120 qt_override.cpp \
121 widget_showing.cpp 119 widget_showing.cpp
122 120
123 121
124 122
125# Qt 3 compatibility 123# Qt 3 compatibility
126HEADERS += quuid.h qcom.h qlibrary.h qlibrary_p.h 124HEADERS += quuid.h qcom.h qlibrary.h qlibrary_p.h
127SOURCES += quuid.cpp qlibrary.cpp qlibrary_unix.cpp 125SOURCES += quuid.cpp qlibrary.cpp qlibrary_unix.cpp
128INCLUDEPATH += $(OPIEDIR)/include backend 126INCLUDEPATH += $(OPIEDIR)/include backend
129 LIBS += -ldl -lcrypt -lm 127 LIBS += -ldl -lcrypt -lm
130INTERFACES = 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
131 TARGET = qpe 129 TARGET = qpe
132 DESTDIR = $(OPIEDIR)/lib$(PROJMAK) 130 DESTDIR = $(OPIEDIR)/lib$(PROJMAK)
133 VERSION = 1.5.0.1 131 VERSION = 1.5.0.1
134 132
135include( $(OPIEDIR)/include.pro ) 133include( $(OPIEDIR)/include.pro )
136 134
137contains( CONFIG, no-override ){
138 DEFINES += OPIE_NO_OVERRIDE_QT
139}
140
141contains( CONFIG, LIBQPE_WITHROHFEEDBACK ){ 135contains( CONFIG, LIBQPE_WITHROHFEEDBACK ){
142 DEFINES += OPIE_WITHROHFEEDBACK 136 DEFINES += OPIE_WITHROHFEEDBACK
143 SOURCES += backend/rohfeedback.cpp 137 SOURCES += backend/rohfeedback.cpp
144 HEADERS += backend/rohfeedback.h 138 HEADERS += backend/rohfeedback.h
145} 139}
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index 1c5ced3..2bd7cbe 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -67,65 +67,64 @@
67#include <qwindowsstyle.h> 67#include <qwindowsstyle.h>
68#include <qmotifstyle.h> 68#include <qmotifstyle.h>
69#include <qmotifplusstyle.h> 69#include <qmotifplusstyle.h>
70#include "lightstyle.h" 70#include "lightstyle.h"
71 71
72#include <qpe/qlibrary.h> 72#include <qpe/qlibrary.h>
73#endif 73#endif
74#include "global.h" 74#include "global.h"
75#include "resource.h" 75#include "resource.h"
76#if QT_VERSION <= 230 && defined(QT_NO_CODECS) 76#if QT_VERSION <= 230 && defined(QT_NO_CODECS)
77#include "qutfcodec.h" 77#include "qutfcodec.h"
78#endif 78#endif
79#include "config.h" 79#include "config.h"
80#include "network.h" 80#include "network.h"
81#ifdef QWS 81#ifdef QWS
82#include "fontmanager.h" 82#include "fontmanager.h"
83#include "fontdatabase.h" 83#include "fontdatabase.h"
84#endif 84#endif
85 85
86#include "alarmserver.h" 86#include "alarmserver.h"
87#include "applnk.h" 87#include "applnk.h"
88#include "qpemenubar.h" 88#include "qpemenubar.h"
89#include "textcodecinterface.h" 89#include "textcodecinterface.h"
90#include "imagecodecinterface.h" 90#include "imagecodecinterface.h"
91#include <qtopia/qpeglobal.h> 91#include <qtopia/qpeglobal.h>
92 92
93#include <unistd.h> 93#include <unistd.h>
94#include <sys/file.h> 94#include <sys/file.h>
95#include <sys/ioctl.h> 95#include <sys/ioctl.h>
96#ifndef QT_NO_SOUND 96#ifndef QT_NO_SOUND
97#include <sys/soundcard.h> 97#include <sys/soundcard.h>
98#endif 98#endif
99#include "qt_override_p.h"
100 99
101#include <backend/rohfeedback.h> 100#include <backend/rohfeedback.h>
102 101
103 102
104static bool useBigPixmaps = 0; 103static bool useBigPixmaps = 0;
105 104
106class HackWidget : public QWidget 105class HackWidget : public QWidget
107{ 106{
108public: 107public:
109 bool needsOk() 108 bool needsOk()
110 { return (getWState() & WState_Reserved1 ); } 109 { return (getWState() & WState_Reserved1 ); }
111 110
112 QRect normalGeometry() 111 QRect normalGeometry()
113 { return topData()->normalGeometry; }; 112 { return topData()->normalGeometry; };
114}; 113};
115 114
116class QPEApplicationData 115class QPEApplicationData
117{ 116{
118public: 117public:
119 QPEApplicationData ( ) : 118 QPEApplicationData ( ) :
120 presstimer( 0 ), presswidget( 0 ), rightpressed( false ), kbgrabbed( false ), 119 presstimer( 0 ), presswidget( 0 ), rightpressed( false ), kbgrabbed( false ),
121 notbusysent( false ), preloaded( false ), forceshow( false ), nomaximize( false ), 120 notbusysent( false ), preloaded( false ), forceshow( false ), nomaximize( false ),
122 keep_running( true ), qcopQok( false ), 121 keep_running( true ), qcopQok( false ),
123 fontFamily( "Vera" ), fontSize( 10 ), smallIconSize( 14 ), 122 fontFamily( "Vera" ), fontSize( 10 ), smallIconSize( 14 ),
124 bigIconSize( 32 ), qpe_main_widget( 0 ) 123 bigIconSize( 32 ), qpe_main_widget( 0 )
125 { 124 {
126 Config cfg( "qpe" ); 125 Config cfg( "qpe" );
127 cfg.setGroup( "Appearance" ); 126 cfg.setGroup( "Appearance" );
128 useBigPixmaps = cfg.readBoolEntry( "useBigPixmaps", false ); 127 useBigPixmaps = cfg.readBoolEntry( "useBigPixmaps", false );
129 fontFamily = cfg.readEntry( "FontFamily", "Vera" ); 128 fontFamily = cfg.readEntry( "FontFamily", "Vera" );
130 fontSize = cfg.readNumEntry( "FontSize", 10 ); 129 fontSize = cfg.readNumEntry( "FontSize", 10 );
131 smallIconSize = cfg.readNumEntry( "SmallIconSize", 14 ); 130 smallIconSize = cfg.readNumEntry( "SmallIconSize", 14 );
@@ -1323,146 +1322,107 @@ void QPEApplication::setCurrentMode( int x, int y, int depth )
1323 qwsServer->beginDisplayReconfigure(); 1322 qwsServer->beginDisplayReconfigure();
1324 qwsServer->endDisplayReconfigure(); 1323 qwsServer->endDisplayReconfigure();
1325#endif 1324#endif
1326 // Get all the running apps to reset 1325 // Get all the running apps to reset
1327 QCopEnvelope env( "QPE/System", "reset()" ); 1326 QCopEnvelope env( "QPE/System", "reset()" );
1328 } 1327 }
1329} 1328}
1330 1329
1331void QPEApplication::reset() { 1330void QPEApplication::reset() {
1332 // Reconnect to the screen 1331 // Reconnect to the screen
1333 qt_screen->disconnect(); 1332 qt_screen->disconnect();
1334 qt_screen->connect( QString::null ); 1333 qt_screen->connect( QString::null );
1335 1334
1336 // Redraw everything 1335 // Redraw everything
1337 applyStyle(); 1336 applyStyle();
1338} 1337}
1339 1338
1340#if (QT_VERSION < 238) && defined Q_OS_MACX 1339#if (QT_VERSION < 238) && defined Q_OS_MACX
1341bool qt_left_hand_scrollbars = false; 1340bool qt_left_hand_scrollbars = false;
1342#else 1341#else
1343extern bool qt_left_hand_scrollbars QPE_WEAK_SYMBOL; 1342extern bool qt_left_hand_scrollbars QPE_WEAK_SYMBOL;
1344#endif 1343#endif
1345 1344
1346/*! 1345/*!
1347 \internal 1346 \internal
1348*/ 1347*/
1349void QPEApplication::applyStyle() 1348void QPEApplication::applyStyle()
1350{ 1349{
1351 Config config( "qpe" ); 1350 Config config( "qpe" );
1352 config.setGroup( "Appearance" ); 1351 config.setGroup( "Appearance" );
1353 1352
1354#if QT_VERSION > 233 1353#if QT_VERSION > 233
1355#if !defined(OPIE_NO_OVERRIDE_QT)
1356 // don't block ourselves ...
1357 Opie::force_appearance = 0;
1358
1359 static QString appname = Opie::binaryName ( );
1360
1361 QStringList ex = config. readListEntry ( "NoStyle", ';' );
1362 int nostyle = 0;
1363 for ( QStringList::Iterator it = ex. begin ( ); it != ex. end ( ); ++it ) {
1364 if ( QRegExp (( *it ). mid ( 1 ), false, true ). find ( appname, 0 ) >= 0 ) {
1365 nostyle = ( *it ). left ( 1 ). toInt ( 0, 32 );
1366 break;
1367 }
1368 }
1369#else
1370 int nostyle = 0;
1371#endif
1372
1373 // Widget style 1354 // Widget style
1374 QString style = config.readEntry( "Style", "FlatStyle" ); 1355 QString style = config.readEntry( "Style", "FlatStyle" );
1375 1356
1376 // don't set a custom style
1377 if ( nostyle & Opie::Force_Style )
1378 style = "FlatStyle";
1379
1380 internalSetStyle ( style ); 1357 internalSetStyle ( style );
1381 1358
1382 // Colors - from /etc/colors/Liquid.scheme 1359 // Colors - from /etc/colors/Liquid.scheme
1383 QColor bgcolor( config.readEntry( "Background", "#E0E0E0" ) ); 1360 QColor bgcolor( config.readEntry( "Background", "#E0E0E0" ) );
1384 QColor btncolor( config.readEntry( "Button", "#96c8fa" ) ); 1361 QColor btncolor( config.readEntry( "Button", "#96c8fa" ) );
1385 QPalette pal( btncolor, bgcolor ); 1362 QPalette pal( btncolor, bgcolor );
1386 QString color = config.readEntry( "Highlight", "#73adef" ); 1363 QString color = config.readEntry( "Highlight", "#73adef" );
1387 pal.setColor( QColorGroup::Highlight, QColor( color ) ); 1364 pal.setColor( QColorGroup::Highlight, QColor( color ) );
1388 color = config.readEntry( "HighlightedText", "#FFFFFF" ); 1365 color = config.readEntry( "HighlightedText", "#FFFFFF" );
1389 pal.setColor( QColorGroup::HighlightedText, QColor( color ) ); 1366 pal.setColor( QColorGroup::HighlightedText, QColor( color ) );
1390 color = config.readEntry( "Text", "#000000" ); 1367 color = config.readEntry( "Text", "#000000" );
1391 pal.setColor( QColorGroup::Text, QColor( color ) ); 1368 pal.setColor( QColorGroup::Text, QColor( color ) );
1392 color = config.readEntry( "ButtonText", "#000000" ); 1369 color = config.readEntry( "ButtonText", "#000000" );
1393 pal.setColor( QPalette::Active, QColorGroup::ButtonText, QColor( color ) ); 1370 pal.setColor( QPalette::Active, QColorGroup::ButtonText, QColor( color ) );
1394 color = config.readEntry( "Base", "#FFFFFF" ); 1371 color = config.readEntry( "Base", "#FFFFFF" );
1395 pal.setColor( QColorGroup::Base, QColor( color ) ); 1372 pal.setColor( QColorGroup::Base, QColor( color ) );
1396 1373
1397 pal.setColor( QPalette::Disabled, QColorGroup::Text, 1374 pal.setColor( QPalette::Disabled, QColorGroup::Text,
1398 pal.color( QPalette::Active, QColorGroup::Background ).dark() ); 1375 pal.color( QPalette::Active, QColorGroup::Background ).dark() );
1399 1376
1400 setPalette( pal, TRUE ); 1377 setPalette( pal, TRUE );
1401 1378
1402 1379
1403 // Set the ScrollBar on the 'right' side but only if the weak symbol is present 1380 // Set the ScrollBar on the 'right' side but only if the weak symbol is present
1404 if (&qt_left_hand_scrollbars ) 1381 if (&qt_left_hand_scrollbars )
1405 qt_left_hand_scrollbars = config.readBoolEntry( "LeftHand", false ); 1382 qt_left_hand_scrollbars = config.readBoolEntry( "LeftHand", false );
1406 1383
1407 // Window Decoration 1384 // Window Decoration
1408 QString dec = config.readEntry( "Decoration", "Flat" ); 1385 QString dec = config.readEntry( "Decoration", "Flat" );
1409 1386
1410 // don't set a custom deco
1411 if ( nostyle & Opie::Force_Decoration )
1412 dec = "";
1413
1414
1415 if ( dec != d->decorationName ) { 1387 if ( dec != d->decorationName ) {
1416 qwsSetDecoration( new QPEDecoration( dec ) ); 1388 qwsSetDecoration( new QPEDecoration( dec ) );
1417 d->decorationName = dec; 1389 d->decorationName = dec;
1418 } 1390 }
1419 1391
1420 // Font 1392 // Font
1421 QString ff = config.readEntry( "FontFamily", font().family() ); 1393 QString ff = config.readEntry( "FontFamily", font().family() );
1422 int fs = config.readNumEntry( "FontSize", font().pointSize() ); 1394 int fs = config.readNumEntry( "FontSize", font().pointSize() );
1423 1395
1424 // don't set a custom font
1425 if ( nostyle & Opie::Force_Font ) {
1426 ff = "Vera";
1427 fs = 10;
1428 }
1429
1430 setFont ( QFont ( ff, fs ), true ); 1396 setFont ( QFont ( ff, fs ), true );
1431
1432#if !defined(OPIE_NO_OVERRIDE_QT)
1433 // revert to global blocking policy ...
1434 Opie::force_appearance = config. readBoolEntry ( "ForceStyle", false ) ? Opie::Force_All : Opie::Force_None;
1435 Opie::force_appearance &= ~nostyle;
1436#endif
1437#endif 1397#endif
1438} 1398}
1439 1399
1440void QPEApplication::systemMessage( const QCString& msg, const QByteArray& data ) 1400void QPEApplication::systemMessage( const QCString& msg, const QByteArray& data )
1441{ 1401{
1442#ifdef Q_WS_QWS 1402#ifdef Q_WS_QWS
1443 QDataStream stream( data, IO_ReadOnly ); 1403 QDataStream stream( data, IO_ReadOnly );
1444 if ( msg == "applyStyle()" ) { 1404 if ( msg == "applyStyle()" ) {
1445 applyStyle(); 1405 applyStyle();
1446 } 1406 }
1447 else if ( msg == "toggleApplicationMenu()" ) { 1407 else if ( msg == "toggleApplicationMenu()" ) {
1448 QWidget *active = activeWindow ( ); 1408 QWidget *active = activeWindow ( );
1449 1409
1450 if ( active ) { 1410 if ( active ) {
1451 QPEMenuToolFocusManager *man = QPEMenuToolFocusManager::manager ( ); 1411 QPEMenuToolFocusManager *man = QPEMenuToolFocusManager::manager ( );
1452 bool oldactive = man-> isActive ( ); 1412 bool oldactive = man-> isActive ( );
1453 1413
1454 man-> setActive( !man-> isActive() ); 1414 man-> setActive( !man-> isActive() );
1455 1415
1456 if ( !oldactive && !man-> isActive ( )) { // no menubar to toggle -> try O-Menu 1416 if ( !oldactive && !man-> isActive ( )) { // no menubar to toggle -> try O-Menu
1457 QCopEnvelope e ( "QPE/TaskBar", "toggleStartMenu()" ); 1417 QCopEnvelope e ( "QPE/TaskBar", "toggleStartMenu()" );
1458 } 1418 }
1459 } 1419 }
1460 } 1420 }
1461 else if ( msg == "setDefaultRotation(int)" ) { 1421 else if ( msg == "setDefaultRotation(int)" ) {
1462 if ( type() == GuiServer ) { 1422 if ( type() == GuiServer ) {
1463 int r; 1423 int r;
1464 stream >> r; 1424 stream >> r;
1465 setDefaultRotation( r ); 1425 setDefaultRotation( r );
1466 } 1426 }
1467 } 1427 }
1468 else if ( msg == "setCurrentMode(int,int,int)" ) { // Added: 2003-06-11 by Tim Ansell <mithro@mithis.net> 1428 else if ( msg == "setCurrentMode(int,int,int)" ) { // Added: 2003-06-11 by Tim Ansell <mithro@mithis.net>
diff --git a/library/qpeapplication.h b/library/qpeapplication.h
index 849d5b3..167fe69 100644
--- a/library/qpeapplication.h
+++ b/library/qpeapplication.h
@@ -137,69 +137,64 @@ public:
137 137
138 int exec(); 138 int exec();
139 139
140signals: 140signals:
141 void clientMoused(); 141 void clientMoused();
142 void timeChanged(); 142 void timeChanged();
143 void clockChanged( bool pm ); 143 void clockChanged( bool pm );
144 void micChanged( bool muted ); 144 void micChanged( bool muted );
145 void volumeChanged( bool muted ); 145 void volumeChanged( bool muted );
146 void appMessage( const QCString& msg, const QByteArray& data); 146 void appMessage( const QCString& msg, const QByteArray& data);
147 void weekChanged( bool startOnMonday ); 147 void weekChanged( bool startOnMonday );
148 void dateFormatChanged( DateFormat ); 148 void dateFormatChanged( DateFormat );
149 void flush(); 149 void flush();
150 void reload(); 150 void reload();
151 /* linkChanged signal */ 151 /* linkChanged signal */
152 152
153private slots: 153private slots:
154 void systemMessage( const QCString &msg, const QByteArray &data ); 154 void systemMessage( const QCString &msg, const QByteArray &data );
155 void pidMessage( const QCString &msg, const QByteArray &data ); 155 void pidMessage( const QCString &msg, const QByteArray &data );
156 void removeSenderFromStylusDict(); 156 void removeSenderFromStylusDict();
157 void hideOrQuit(); 157 void hideOrQuit();
158 158
159protected: 159protected:
160 bool qwsEventFilter( QWSEvent * ); 160 bool qwsEventFilter( QWSEvent * );
161 void internalSetStyle( const QString &style ); 161 void internalSetStyle( const QString &style );
162 void prepareForTermination(bool willrestart); 162 void prepareForTermination(bool willrestart);
163 virtual void restart(); 163 virtual void restart();
164 virtual void shutdown(); 164 virtual void shutdown();
165 bool eventFilter( QObject *, QEvent * ); 165 bool eventFilter( QObject *, QEvent * );
166 void timerEvent( QTimerEvent * ); 166 void timerEvent( QTimerEvent * );
167 bool raiseAppropriateWindow(); 167 bool raiseAppropriateWindow();
168 virtual void tryQuit(); 168 virtual void tryQuit();
169#ifndef OPIE_NO_ERASE_RECT_HACKFIX
170 #if QT_VERSION > 233
171 virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!)
172 #endif
173#endif
174private: 169private:
175 void mapToDefaultAction( QWSKeyEvent *ke, int defKey ); 170 void mapToDefaultAction( QWSKeyEvent *ke, int defKey );
176 void processQCopFile(); 171 void processQCopFile();
177 172
178#if defined(Q_WS_QWS) && !defined(QT_NO_COP) 173#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
179 QCopChannel *sysChannel; 174 QCopChannel *sysChannel;
180 QCopChannel *pidChannel; 175 QCopChannel *pidChannel;
181#endif 176#endif
182 QPEApplicationData *d; 177 QPEApplicationData *d;
183 178
184 bool reserved_sh; 179 bool reserved_sh;
185 180
186}; 181};
187 182
188 183
189 184
190enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */ 185enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */
191 186
192inline int TransToDeg ( Transformation t ) 187inline int TransToDeg ( Transformation t )
193{ 188{
194 int d = static_cast<int>( t ); 189 int d = static_cast<int>( t );
195 return d * 90; 190 return d * 90;
196} 191}
197 192
198inline Transformation DegToTrans ( int d ) 193inline Transformation DegToTrans ( int d )
199{ 194{
200 Transformation t = static_cast<Transformation>( d / 90 ); 195 Transformation t = static_cast<Transformation>( d / 90 );
201 return t; 196 return t;
202} 197}
203 198
204/* 199/*
205 * Set current rotation of Opie, and rotation for newly started apps. 200 * Set current rotation of Opie, and rotation for newly started apps.
diff --git a/library/qt_override.cpp b/library/qt_override.cpp
deleted file mode 100644
index a0d753b..0000000
--- a/library/qt_override.cpp
+++ b/dev/null
@@ -1,170 +0,0 @@
1
2#include <qpe/qpeapplication.h>
3#include <qfontdatabase.h>
4
5#include <unistd.h>
6#include <stdlib.h>
7#include <stdio.h>
8#include <limits.h>
9#include <sys/param.h> // for toolchains with old libc headers
10
11#include <qtopia/qpeglobal.h>
12#include "qt_override_p.h"
13
14#if QT_VERSION > 233
15
16#ifndef OPIE_NO_ERASE_RECT_HACKFIX
17struct color_fix_t {
18 char *m_app;
19 char *m_class;
20 char *m_name;
21 QColorGroup::ColorRole m_set;
22 QColorGroup::ColorRole m_get;
23};
24
25
26
27static const color_fix_t apps_that_need_special_colors [] = {
28 { "HancomMobileWord", "HTextEdit", 0, QColorGroup::Background, QColorGroup::Base },
29 { "neocal", "Display", 0, QColorGroup::Background, QColorGroup::Base },
30
31 { 0, 0, 0, QColorGroup::Base, QColorGroup::Base }
32};
33
34#endif
35
36#ifndef OPIE_NO_OVERRIDE_QT
37
38static const char * const apps_that_need_pointsizes_times_10 [] = {
39 "HancomMobileWord",
40 "hancomsheet",
41 "HancomPresenterViewer",
42
43 0
44};
45
46
47
48
49int Opie::force_appearance = 0;
50
51
52// Return the *real* name of the binary - not just a quick guess
53// by looking at argv [0] (which could be anything)
54
55static void binaryNameFree ( )
56{
57 ::free ((void *) Opie::binaryName ( )); // we need to cast away the const here
58}
59
60const char *Opie::binaryName ( )
61{
62 static const char *appname = 0;
63
64 if ( !appname ) {
65 char dst [PATH_MAX + 1];
66 int l = ::readlink ( "/proc/self/exe", dst, PATH_MAX );
67
68 if ( l <= 0 )
69 l = 0;
70
71 dst [l] = 0;
72 const char *b = ::strrchr ( dst, '/' );
73 appname = ::strdup ( b ? b + 1 : dst );
74
75 ::atexit ( binaryNameFree );
76 }
77 return appname;
78}
79
80#else
81int Opie::force_appearance = 0;
82#endif
83
84// Fix for a toolchain incompatibility (binaries compiled with
85// old tcs using shared libs compiled with newer tcs)
86
87extern "C" {
88
89extern void __gmon_start__ ( ) QPE_WEAK_SYMBOL;
90extern void __gmon_start__ ( )
91{
92}
93
94}
95
96
97#ifndef OPIE_NO_ERASE_RECT_HACKFIX
98// Fix for apps, that use QPainter::eraseRect() which doesn't work with styles
99// that set a background pixmap (it would be easier to fix eraseRect(), but
100// TT made it an inline ...)
101
102void QPEApplication::polish ( QWidget *w )
103{
104#ifndef OPIE_NO_OVERRIDE_QT
105 for ( const color_fix_t *ptr = apps_that_need_special_colors; ptr-> m_app; ptr++ ) {
106 if (( ::strcmp ( Opie::binaryName ( ), ptr-> m_app ) == 0 ) &&
107 ( ptr-> m_class ? w-> inherits ( ptr-> m_class ) : true ) &&
108 ( ptr-> m_name ? ( ::strcmp ( w-> name ( ), ptr-> m_name ) == 0 ) : true )) {
109 QPalette pal = w-> palette ( );
110 pal. setColor ( ptr-> m_set, pal. color ( QPalette::Active, ptr-> m_get ));
111 w-> setPalette ( pal );
112 }
113 }
114#endif
115 QApplication::polish ( w );
116}
117#endif
118
119
120#ifndef OPIE_NO_OVERRIDE_QT
121// Fix for the binary incompatibility that TT introduced in Qt/E 2.3.4 -- point sizes
122// were multiplied by 10 (which was incorrect)
123
124QValueList <int> QFontDatabase::pointSizes ( QString const &family, QString const &style, QString const &charset )
125{
126 QValueList <int> sl = pointSizes_NonWeak ( family, style, charset );
127
128 for ( const char * const *ptr = apps_that_need_pointsizes_times_10; *ptr; ptr++ ) {
129 if ( ::strcmp ( Opie::binaryName ( ), *ptr ) == 0 ) {
130 for ( QValueList <int>::Iterator it = sl. begin ( ); it != sl. end ( ); ++it )
131 *it *= 10;
132 }
133 }
134 return sl;
135}
136
137
138// Various style/font/color related overrides for weak symbols in Qt/E,
139// which allows us to force the usage of the global Opie appearance.
140
141void QApplication::setStyle ( QStyle *style )
142{
143 if ( Opie::force_appearance & Opie::Force_Style )
144 delete style;
145 else
146 QApplication::setStyle_NonWeak ( style );
147}
148
149void QApplication::setPalette ( const QPalette &pal, bool informWidgets, const char *className )
150{
151 if (!( Opie::force_appearance & Opie::Force_Style ))
152 QApplication::setPalette_NonWeak ( pal, informWidgets, className );
153}
154
155void QApplication::setFont ( const QFont &fnt, bool informWidgets, const char *className )
156{
157 if (!( Opie::force_appearance & Opie::Force_Font ))
158 QApplication::setFont_NonWeak ( fnt, informWidgets, className );
159}
160
161
162void QApplication::qwsSetDecoration ( QWSDecoration *deco )
163{
164 if ( Opie::force_appearance & Opie::Force_Decoration )
165 delete deco;
166 else
167 QApplication::qwsSetDecoration_NonWeak ( deco );
168}
169#endif
170#endif
diff --git a/library/qt_override_p.h b/library/qt_override_p.h
deleted file mode 100644
index cb05d15..0000000
--- a/library/qt_override_p.h
+++ b/dev/null
@@ -1,25 +0,0 @@
1#ifndef __QT_OVERRIDE_H__
2#define __QT_OVERRIDE_H__
3
4#if QT_VERSION > 233
5
6namespace Opie {
7
8enum ForceAppearance {
9 Force_Style = 0x01,
10 Force_Font = 0x02,
11 Force_Decoration = 0x04,
12
13 Force_All = 0xff,
14 Force_None = 0x00,
15};
16
17extern const char *binaryName ( );
18
19extern int force_appearance;
20
21}
22
23#endif // (QT_VERSION >233)
24
25#endif
diff --git a/noncore/settings/appearance2/appearance.cpp b/noncore/settings/appearance2/appearance.cpp
index 088171c..d649ed6 100644
--- a/noncore/settings/appearance2/appearance.cpp
+++ b/noncore/settings/appearance2/appearance.cpp
@@ -264,143 +264,64 @@ QWidget *Appearance::createColorTab ( QWidget *parent, Config &cfg )
264 264
265 m_color_list-> insertItem ( new ColorListItem ( name, config )); 265 m_color_list-> insertItem ( new ColorListItem ( name, config ));
266 } 266 }
267 267
268 m_color_list-> setCurrentItem ( 0 ); 268 m_color_list-> setCurrentItem ( 0 );
269 269
270 QPushButton* tempButton = new QPushButton( tab, "editSchemeButton" ); 270 QPushButton* tempButton = new QPushButton( tab, "editSchemeButton" );
271 tempButton->setText( tr( "Edit..." ) ); 271 tempButton->setText( tr( "Edit..." ) );
272 connect( tempButton, SIGNAL( clicked() ), this, SLOT( editSchemeClicked() ) ); 272 connect( tempButton, SIGNAL( clicked() ), this, SLOT( editSchemeClicked() ) );
273 gridLayout->addWidget( tempButton, 0, 1 ); 273 gridLayout->addWidget( tempButton, 0, 1 );
274 QWhatsThis::add( tempButton, tr( "Click here to change the colors in the current color scheme." ) ); 274 QWhatsThis::add( tempButton, tr( "Click here to change the colors in the current color scheme." ) );
275 275
276 tempButton = new QPushButton( tab, "deleteSchemeButton" ); 276 tempButton = new QPushButton( tab, "deleteSchemeButton" );
277 tempButton->setText( tr( "Delete" ) ); 277 tempButton->setText( tr( "Delete" ) );
278 connect( tempButton, SIGNAL( clicked() ), this, SLOT( deleteSchemeClicked() ) ); 278 connect( tempButton, SIGNAL( clicked() ), this, SLOT( deleteSchemeClicked() ) );
279 gridLayout->addWidget( tempButton, 1, 1 ); 279 gridLayout->addWidget( tempButton, 1, 1 );
280 QWhatsThis::add( tempButton, tr( "Click here to delete the color scheme selected in the list to the left." ) ); 280 QWhatsThis::add( tempButton, tr( "Click here to delete the color scheme selected in the list to the left." ) );
281 281
282 tempButton = new QPushButton( tab, "saveSchemeButton" ); 282 tempButton = new QPushButton( tab, "saveSchemeButton" );
283 tempButton->setText( tr( "Save" ) ); 283 tempButton->setText( tr( "Save" ) );
284 connect( tempButton, SIGNAL( clicked() ), this, SLOT( saveSchemeClicked() ) ); 284 connect( tempButton, SIGNAL( clicked() ), this, SLOT( saveSchemeClicked() ) );
285 gridLayout->addWidget( tempButton, 2, 1 ); 285 gridLayout->addWidget( tempButton, 2, 1 );
286 QWhatsThis::add( tempButton, tr( "Click here to name and save the current color scheme." ) ); 286 QWhatsThis::add( tempButton, tr( "Click here to name and save the current color scheme." ) );
287 287
288 return tab; 288 return tab;
289} 289}
290 290
291QWidget *Appearance::createAdvancedTab ( QWidget *parent, Config &cfg ) 291QWidget *Appearance::createAdvancedTab ( QWidget *parent, Config &cfg )
292{ 292{
293 QWidget *tab = new QWidget ( parent ); 293 QWidget *tab = new QWidget ( parent );
294 QVBoxLayout *vertLayout = new QVBoxLayout( tab, 3, 3 ); 294 QVBoxLayout *vertLayout = new QVBoxLayout( tab, 3, 3 );
295 295
296 QGridLayout *lay = new QGridLayout ( vertLayout, 0, 0, 3, 0 );
297
298 m_force = new QCheckBox ( tr( "Force styling for all applications." ), tab );
299 m_force-> setChecked ( cfg. readBoolEntry ( "ForceStyle" ));
300 lay-> addMultiCellWidget ( m_force, 0, 0, 0, 1 );
301 QWhatsThis::add( m_force, tr( "Click here to allow all applications to use global appearance settings." ) );
302
303 QLabel *l = new QLabel ( tab );
304 l-> setText ( QString ( "<p>%1</p>" ). arg ( tr( "Disable styling for these applications ( <b>*</b> can be used as a wildcard):" )));
305 lay-> addMultiCellWidget ( l, 1, 1, 0, 1 );
306 QWhatsThis::add( l, tr( "If some applications do not display correctly with the global appearance settings, certain features can be turned off for that application.\n\nThis area allows you to select an application and which settings you wish to disable." ) );
307
308 m_except = new QListView ( tab );
309 m_except-> addColumn ( Resource::loadIconSet ( "appearance" ), "", 24 );
310 m_except-> addColumn ( Resource::loadIconSet ( "font" ), "", 24 );
311 m_except-> addColumn ( Resource::loadIconSet ( "appearance/deco" ), "", 24 );
312 m_except-> addColumn ( tr( "Binary file(s)" ));
313 m_except-> setColumnAlignment ( 0, AlignCenter );
314 m_except-> setColumnAlignment ( 1, AlignCenter );
315 m_except-> setColumnAlignment ( 2, AlignCenter );
316 m_except-> setAllColumnsShowFocus ( true );
317 m_except-> setMinimumHeight ( 30 );
318 m_except-> header ( )-> setClickEnabled ( false );
319 m_except-> header ( )-> setResizeEnabled ( false );
320 m_except-> header ( )-> setMovingEnabled ( false );
321 m_except-> setSorting ( -1 );
322 lay-> addMultiCellWidget ( m_except, 2, 6, 0, 0 );
323 QWhatsThis::add( m_except, tr( "If some applications do not display correctly with the global appearance settings, certain features can be turned off for that application.\n\nThis area allows you to select an application and which settings you wish to disable." ) );
324
325 connect ( m_except, SIGNAL( clicked(QListViewItem*,const QPoint&,int)), this, SLOT( clickedExcept(QListViewItem*,const QPoint&,int)));
326
327 QToolButton *tb = new QToolButton ( tab );
328 tb-> setIconSet ( Resource::loadIconSet ( "appearance/add" ));
329 tb-> setFocusPolicy ( QWidget::StrongFocus );
330 lay-> addWidget ( tb, 2, 1 );
331 connect ( tb, SIGNAL( clicked()), this, SLOT( addExcept()));
332 QWhatsThis::add( tb, tr( "Click here to add an application to the list above." ) );
333
334 tb = new QToolButton ( tab );
335 tb-> setIconSet ( Resource::loadIconSet ( "editdelete" ));
336 tb-> setFocusPolicy ( QWidget::StrongFocus );
337 lay-> addWidget ( tb, 3, 1 );
338 connect ( tb, SIGNAL( clicked()), this, SLOT( delExcept()));
339 QWhatsThis::add( tb, tr( "Click here to delete the currently selected application." ) );
340
341 tb = new QToolButton ( tab );
342 tb-> setIconSet ( Resource::loadIconSet ( "up" ));
343 tb-> setFocusPolicy ( QWidget::StrongFocus );
344 lay-> addWidget ( tb, 4, 1 );
345 connect ( tb, SIGNAL( clicked()), this, SLOT( upExcept()));
346 QWhatsThis::add( tb, tr( "Click here to move the currently selected application up in the list." ) );
347
348 tb = new QToolButton ( tab );
349 tb-> setIconSet ( Resource::loadIconSet ( "down" ));
350 tb-> setFocusPolicy ( QWidget::StrongFocus );
351 lay-> addWidget ( tb, 5, 1 );
352 connect ( tb, SIGNAL( clicked()), this, SLOT( downExcept()));
353 QWhatsThis::add( tb, tr( "Click here to move the currently selected application down in the list." ) );
354
355 lay-> setRowStretch ( 6, 10 );
356 lay-> setColStretch ( 0, 10 );
357
358 QStringList sl = cfg. readListEntry ( "NoStyle", ';' );
359 QListViewItem *lvit = 0;
360 for ( QStringList::Iterator it = sl. begin ( ); it != sl. end ( ); ++it )
361 {
362 int fl = ( *it ). left ( 1 ). toInt ( 0, 32 );
363
364 lvit = new ExceptListItem ( m_except, lvit, ( *it ). mid ( 1 ), fl & 0x01, fl & 0x02, fl & 0x04 );
365 }
366
367
368 vertLayout-> addSpacing ( 3 );
369 QFrame *f = new QFrame ( tab );
370 f-> setFrameStyle ( QFrame::HLine | QFrame::Sunken );
371 vertLayout-> addWidget ( f );
372 vertLayout-> addSpacing ( 3 );
373
374
375 QGridLayout* gridLayout = new QGridLayout ( vertLayout, 0, 0, 3, 0 ); 296 QGridLayout* gridLayout = new QGridLayout ( vertLayout, 0, 0, 3, 0 );
376 297
377 int style = cfg. readNumEntry ( "TabStyle", 2 ) - 1; 298 int style = cfg. readNumEntry ( "TabStyle", 2 ) - 1;
378 bool tabtop = ( cfg. readEntry ( "TabPosition", "Top" ) == "Top" ); 299 bool tabtop = ( cfg. readEntry ( "TabPosition", "Top" ) == "Top" );
379 300
380 QLabel* label = new QLabel( tr( "Tab style:" ), tab ); 301 QLabel* label = new QLabel( tr( "Tab style:" ), tab );
381 gridLayout-> addWidget ( label, 0, 0 ); 302 gridLayout-> addWidget ( label, 0, 0 );
382 QWhatsThis::add( label, tr( "Click here to select a desired style for tabbed dialogs (such as this application). The styles available are:\n\n1. Tabs - normal tabs with text labels only\n2. Tabs w/icons - tabs with icons for each tab, text label only appears on current tab\n3. Drop down list - a vertical listing of tabs\n4. Drop down list w/icons - a vertical listing of tabs with icons" ) ); 303 QWhatsThis::add( label, tr( "Click here to select a desired style for tabbed dialogs (such as this application). The styles available are:\n\n1. Tabs - normal tabs with text labels only\n2. Tabs w/icons - tabs with icons for each tab, text label only appears on current tab\n3. Drop down list - a vertical listing of tabs\n4. Drop down list w/icons - a vertical listing of tabs with icons" ) );
383 304
384 QButtonGroup* btngrp = new QButtonGroup( tab, "buttongroup" ); 305 QButtonGroup* btngrp = new QButtonGroup( tab, "buttongroup" );
385 btngrp-> hide ( ); 306 btngrp-> hide ( );
386 btngrp-> setExclusive ( true ); 307 btngrp-> setExclusive ( true );
387 308
388 m_tabstyle_list = new QComboBox ( false, tab, "tabstyle" ); 309 m_tabstyle_list = new QComboBox ( false, tab, "tabstyle" );
389 m_tabstyle_list-> insertItem ( tr( "Tabs" )); 310 m_tabstyle_list-> insertItem ( tr( "Tabs" ));
390 m_tabstyle_list-> insertItem ( tr( "Tabs w/icons" )); 311 m_tabstyle_list-> insertItem ( tr( "Tabs w/icons" ));
391 m_tabstyle_list-> insertItem ( tr( "Drop down list" )); 312 m_tabstyle_list-> insertItem ( tr( "Drop down list" ));
392 m_tabstyle_list-> insertItem ( tr( "Drop down list w/icons" )); 313 m_tabstyle_list-> insertItem ( tr( "Drop down list w/icons" ));
393 m_tabstyle_list-> setCurrentItem ( style ); 314 m_tabstyle_list-> setCurrentItem ( style );
394 gridLayout-> addMultiCellWidget ( m_tabstyle_list, 0, 0, 1, 2 ); 315 gridLayout-> addMultiCellWidget ( m_tabstyle_list, 0, 0, 1, 2 );
395 QWhatsThis::add( m_tabstyle_list, tr( "Click here to select a desired style for tabbed dialogs (such as this application). The styles available are:\n\n1. Tabs - normal tabs with text labels only\n2. Tabs w/icons - tabs with icons for each tab, text label only appears on current tab\n3. Drop down list - a vertical listing of tabs\n4. Drop down list w/icons - a vertical listing of tabs with icons" ) ); 316 QWhatsThis::add( m_tabstyle_list, tr( "Click here to select a desired style for tabbed dialogs (such as this application). The styles available are:\n\n1. Tabs - normal tabs with text labels only\n2. Tabs w/icons - tabs with icons for each tab, text label only appears on current tab\n3. Drop down list - a vertical listing of tabs\n4. Drop down list w/icons - a vertical listing of tabs with icons" ) );
396 317
397 m_tabstyle_top = new QRadioButton( tr( "Top" ), tab, "tabpostop" ); 318 m_tabstyle_top = new QRadioButton( tr( "Top" ), tab, "tabpostop" );
398 btngrp-> insert ( m_tabstyle_top ); 319 btngrp-> insert ( m_tabstyle_top );
399 gridLayout-> addWidget( m_tabstyle_top, 1, 1 ); 320 gridLayout-> addWidget( m_tabstyle_top, 1, 1 );
400 QWhatsThis::add( m_tabstyle_top, tr( "Click here so that tabs appear at the top of the window." ) ); 321 QWhatsThis::add( m_tabstyle_top, tr( "Click here so that tabs appear at the top of the window." ) );
401 322
402 m_tabstyle_bottom = new QRadioButton( tr( "Bottom" ), tab, "tabposbottom" ); 323 m_tabstyle_bottom = new QRadioButton( tr( "Bottom" ), tab, "tabposbottom" );
403 btngrp-> insert ( m_tabstyle_bottom ); 324 btngrp-> insert ( m_tabstyle_bottom );
404 gridLayout-> addWidget( m_tabstyle_bottom, 1, 2 ); 325 gridLayout-> addWidget( m_tabstyle_bottom, 1, 2 );
405 QWhatsThis::add( m_tabstyle_bottom, tr( "Click here so that tabs appear at the bottom of the window." ) ); 326 QWhatsThis::add( m_tabstyle_bottom, tr( "Click here so that tabs appear at the bottom of the window." ) );
406 327
@@ -426,64 +347,69 @@ QWidget *Appearance::createAdvancedTab ( QWidget *parent, Config &cfg )
426 rotbtngrp-> hide ( ); 347 rotbtngrp-> hide ( );
427 rotbtngrp-> setExclusive ( true ); 348 rotbtngrp-> setExclusive ( true );
428 rotbtngrp-> insert ( m_rotdir_cw ); 349 rotbtngrp-> insert ( m_rotdir_cw );
429 rotbtngrp-> insert ( m_rotdir_ccw ); 350 rotbtngrp-> insert ( m_rotdir_ccw );
430 rotbtngrp-> insert ( m_rotdir_flip ); 351 rotbtngrp-> insert ( m_rotdir_flip );
431 352
432 ccw1. convertFromImage( ccwImage ); 353 ccw1. convertFromImage( ccwImage );
433 m_rotdir_cw-> setPixmap( cw1 ); 354 m_rotdir_cw-> setPixmap( cw1 );
434 m_rotdir_ccw-> setPixmap( ccw1 ); 355 m_rotdir_ccw-> setPixmap( ccw1 );
435 m_rotdir_flip-> setPixmap( flip1 ); 356 m_rotdir_flip-> setPixmap( flip1 );
436 357
437 rotLay-> addWidget ( rotlabel, 0 ); 358 rotLay-> addWidget ( rotlabel, 0 );
438 rotLay-> addWidget ( m_rotdir_cw, 0 ); 359 rotLay-> addWidget ( m_rotdir_cw, 0 );
439 rotLay-> addWidget ( m_rotdir_ccw, 0 ); 360 rotLay-> addWidget ( m_rotdir_ccw, 0 );
440 rotLay-> addWidget ( m_rotdir_flip, 0 ); 361 rotLay-> addWidget ( m_rotdir_flip, 0 );
441 362
442 int rotDirection = cfg.readNumEntry( "rotatedir" ); 363 int rotDirection = cfg.readNumEntry( "rotatedir" );
443 ODirection rot = CW; 364 ODirection rot = CW;
444 365
445 if (rotDirection == -1) 366 if (rotDirection == -1)
446 { 367 {
447 rot = ODevice::inst ( )-> direction ( ); 368 rot = ODevice::inst ( )-> direction ( );
448 } 369 }
449 else 370 else
450 { 371 {
451 rot = (ODirection)rotDirection; 372 rot = (ODirection)rotDirection;
452 } 373 }
453 374
454 m_rotdir_cw-> setChecked ( rot == CW ); 375 m_rotdir_cw-> setChecked ( rot == CW );
455 m_rotdir_ccw-> setChecked ( rot == CCW ); 376 m_rotdir_ccw-> setChecked ( rot == CCW );
456 m_rotdir_flip-> setChecked ( rot == Flip ); 377 m_rotdir_flip-> setChecked ( rot == Flip );
457 378
379
380 /*
381 * add a spacing
382 */
383 vertLayout->addItem( new QSpacerItem( 1, 1, QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding ) );
458 return tab; 384 return tab;
459} 385}
460 386
461 387
462Appearance::Appearance( QWidget* parent, const char* name, WFlags ) 388Appearance::Appearance( QWidget* parent, const char* name, WFlags )
463 : QDialog ( parent, name, true, WStyle_ContextHelp ) 389 : QDialog ( parent, name, true, WStyle_ContextHelp )
464{ 390{
465 setCaption( tr( "Appearance Settings" ) ); 391 setCaption( tr( "Appearance Settings" ) );
466 392
467 Config config( "qpe" ); 393 Config config( "qpe" );
468 config.setGroup( "Appearance" ); 394 config.setGroup( "Appearance" );
469 395
470 QVBoxLayout *top = new QVBoxLayout ( this, 3, 3 ); 396 QVBoxLayout *top = new QVBoxLayout ( this, 3, 3 );
471 397
472 m_sample = new SampleWindow ( this ); 398 m_sample = new SampleWindow ( this );
473 399
474 m_sample-> setDecoration ( new DefaultWindowDecoration ( ) ); 400 m_sample-> setDecoration ( new DefaultWindowDecoration ( ) );
475 QWhatsThis::add( m_sample, tr( "This is a preview window. Look here to see your new appearance as options are changed." ) ); 401 QWhatsThis::add( m_sample, tr( "This is a preview window. Look here to see your new appearance as options are changed." ) );
476 402
477 OTabWidget* tw = new OTabWidget ( this, "tabwidget", OTabWidget::Global, OTabWidget::Bottom ); 403 OTabWidget* tw = new OTabWidget ( this, "tabwidget", OTabWidget::Global, OTabWidget::Bottom );
478 QWidget *styletab; 404 QWidget *styletab;
479 405
480 m_color_list = 0; 406 m_color_list = 0;
481 407
482 tw-> addTab ( styletab = createStyleTab ( tw, config ), "appearance", tr( "Style" )); 408 tw-> addTab ( styletab = createStyleTab ( tw, config ), "appearance", tr( "Style" ));
483 tw-> addTab ( createFontTab ( tw, config ), "font", tr( "Font" )); 409 tw-> addTab ( createFontTab ( tw, config ), "font", tr( "Font" ));
484 tw-> addTab ( createColorTab ( tw, config ), "appearance/color", tr( "Colors" ) ); 410 tw-> addTab ( createColorTab ( tw, config ), "appearance/color", tr( "Colors" ) );
485 tw-> addTab ( createDecoTab ( tw, config ), "appearance/deco", tr( "Windows" ) ); 411 tw-> addTab ( createDecoTab ( tw, config ), "appearance/deco", tr( "Windows" ) );
486 tw-> addTab ( m_advtab = createAdvancedTab ( tw, config ), "SettingsIcon", tr( "Advanced" ) ); 412 tw-> addTab ( m_advtab = createAdvancedTab ( tw, config ), "SettingsIcon", tr( "Advanced" ) );
487 413
488 top-> addWidget ( tw, 10 ); 414 top-> addWidget ( tw, 10 );
489 top-> addWidget ( m_sample, 1 ); 415 top-> addWidget ( m_sample, 1 );
@@ -538,81 +464,64 @@ void Appearance::accept ( )
538 464
539 if ( m_font_changed ) 465 if ( m_font_changed )
540 { 466 {
541 config. writeEntry ( "FontFamily", m_fontselect-> fontFamily ( )); 467 config. writeEntry ( "FontFamily", m_fontselect-> fontFamily ( ));
542 config. writeEntry ( "FontStyle", m_fontselect-> fontStyle ( )); 468 config. writeEntry ( "FontStyle", m_fontselect-> fontStyle ( ));
543 config. writeEntry ( "FontSize", m_fontselect-> fontSize ( )); 469 config. writeEntry ( "FontSize", m_fontselect-> fontSize ( ));
544 } 470 }
545 471
546 472
547 if ( m_color_changed ) 473 if ( m_color_changed )
548 { 474 {
549 ColorListItem *item = (ColorListItem *) m_color_list-> item ( m_color_list-> currentItem ( )); 475 ColorListItem *item = (ColorListItem *) m_color_list-> item ( m_color_list-> currentItem ( ));
550 476
551 if ( item ) 477 if ( item )
552 item-> save ( config ); 478 item-> save ( config );
553 } 479 }
554 480
555 ODirection rot; 481 ODirection rot;
556 if (m_rotdir_ccw-> isChecked ( )) 482 if (m_rotdir_ccw-> isChecked ( ))
557 { 483 {
558 rot = CCW; 484 rot = CCW;
559 } 485 }
560 else if (m_rotdir_cw-> isChecked ( )) 486 else if (m_rotdir_cw-> isChecked ( ))
561 { 487 {
562 rot = CW; 488 rot = CW;
563 } 489 }
564 else 490 else
565 { 491 {
566 rot = Flip; 492 rot = Flip;
567 } 493 }
568 config. writeEntry ( "rotatedir", (int)rot ); 494 config. writeEntry ( "rotatedir", (int)rot );
569 495
570 m_except-> setFocus ( ); // if the focus was on the embedded line-edit, we have to move it away first, so the contents are updated
571
572 QStringList sl;
573 QString exceptstr;
574 for ( ExceptListItem *it = (ExceptListItem *) m_except-> firstChild ( ); it; it = (ExceptListItem *) it-> nextSibling ( ))
575 {
576 int fl = 0;
577 fl |= ( it-> noStyle ( ) ? 0x01 : 0 );
578 fl |= ( it-> noFont ( ) ? 0x02 : 0 );
579 fl |= ( it-> noDeco ( ) ? 0x04 : 0 );
580 exceptstr = QString::number ( fl, 32 );
581 exceptstr.append( it-> pattern ( ));
582 sl << exceptstr;
583 }
584 config. writeEntry ( "NoStyle", sl, ';' );
585 config. writeEntry ( "ForceStyle", m_force-> isChecked ( ));
586
587 config. write ( ); // need to flush the config info first 496 config. write ( ); // need to flush the config info first
588 Global::applyStyle ( ); 497 Global::applyStyle ( );
589 498
590 QDialog::accept ( ); 499 QDialog::accept ( );
591} 500}
592 501
593void Appearance::done ( int r ) 502void Appearance::done ( int r )
594{ 503{
595 QDialog::done ( r ); 504 QDialog::done ( r );
596 close ( ); 505 close ( );
597} 506}
598 507
599 508
600void Appearance::styleClicked ( int index ) 509void Appearance::styleClicked ( int index )
601{ 510{
602 StyleListItem *sli = (StyleListItem *) m_style_list-> item ( index ); 511 StyleListItem *sli = (StyleListItem *) m_style_list-> item ( index );
603 m_style_settings-> setEnabled ( sli ? sli-> hasSettings ( ) : false ); 512 m_style_settings-> setEnabled ( sli ? sli-> hasSettings ( ) : false );
604 513
605 if ( m_sample && sli && sli-> style ( )) 514 if ( m_sample && sli && sli-> style ( ))
606 { 515 {
607 int ci = m_color_list ? m_color_list-> currentItem ( ) : -1; 516 int ci = m_color_list ? m_color_list-> currentItem ( ) : -1;
608 517
609 m_sample-> setStyle2 ( sli-> style ( ), ci < 0 ? palette ( ) : ((ColorListItem *) m_color_list-> item ( ci ))-> palette ( )); 518 m_sample-> setStyle2 ( sli-> style ( ), ci < 0 ? palette ( ) : ((ColorListItem *) m_color_list-> item ( ci ))-> palette ( ));
610 } 519 }
611 520
612 m_style_changed |= ( index != m_original_style ); 521 m_style_changed |= ( index != m_original_style );
613} 522}
614 523
615void Appearance::styleSettingsClicked ( ) 524void Appearance::styleSettingsClicked ( )
616{ 525{
617 StyleListItem *item = (StyleListItem *) m_style_list-> item ( m_style_list-> currentItem ( )); 526 StyleListItem *item = (StyleListItem *) m_style_list-> item ( m_style_list-> currentItem ( ));
618 527
@@ -752,141 +661,32 @@ void Appearance::saveSchemeClicked()
752 else 661 else
753 { 662 {
754 QMessageBox::information ( this, tr( "Save scheme" ), tr( "Scheme does already exist." )); 663 QMessageBox::information ( this, tr( "Save scheme" ), tr( "Scheme does already exist." ));
755 } 664 }
756 } 665 }
757 delete d; 666 delete d;
758} 667}
759 668
760void Appearance::deleteSchemeClicked() 669void Appearance::deleteSchemeClicked()
761{ 670{
762 ColorListItem *item = (ColorListItem *) m_color_list-> item ( m_color_list-> currentItem ( )); 671 ColorListItem *item = (ColorListItem *) m_color_list-> item ( m_color_list-> currentItem ( ));
763 672
764 if ( !item ) 673 if ( !item )
765 return; 674 return;
766 675
767 if ( m_color_list-> currentItem ( ) > 0 ) 676 if ( m_color_list-> currentItem ( ) > 0 )
768 { 677 {
769 if ( QPEMessageBox::confirmDelete ( this, tr( "Delete scheme" ), item-> text ( ) ) ) 678 if ( QPEMessageBox::confirmDelete ( this, tr( "Delete scheme" ), item-> text ( ) ) )
770 { 679 {
771 QString filestr = QPEApplication::qpeDir ( ); 680 QString filestr = QPEApplication::qpeDir ( );
772 filestr.append( "/etc/colors/" ); 681 filestr.append( "/etc/colors/" );
773 filestr.append( item-> text ( ) ); 682 filestr.append( item-> text ( ) );
774 filestr.append( ".scheme" ); 683 filestr.append( ".scheme" );
775 QFile::remove ( filestr ); 684 QFile::remove ( filestr );
776 delete item; 685 delete item;
777 } 686 }
778 } 687 }
779 else 688 else
780 { 689 {
781 QMessageBox::information( this, tr( "Delete scheme" ), tr( "Unable to delete current scheme." )); 690 QMessageBox::information( this, tr( "Delete scheme" ), tr( "Unable to delete current scheme." ));
782 } 691 }
783} 692}
784
785
786void Appearance::addExcept ( )
787{
788 ExceptListItem *it = new ExceptListItem ( m_except, 0, tr( "<new>" ), true, true, true );
789 m_except-> ensureItemVisible ( it );
790 m_except-> setSelected ( it, true );
791}
792
793void Appearance::delExcept ( )
794{
795 if ( m_except-> selectedItem ( ))
796 {
797 m_except-> setFocus ( );
798 delete m_except-> selectedItem ( );
799 }
800}
801
802void Appearance::upExcept ( )
803{
804 ExceptListItem *it = (ExceptListItem *) m_except-> selectedItem ( );
805
806 if ( it && it-> itemAbove ( ))
807 it-> itemAbove ( )-> moveItem ( it );
808}
809
810void Appearance::downExcept ( )
811{
812 ExceptListItem *it = (ExceptListItem *) m_except-> selectedItem ( );
813
814 if ( it && it-> itemBelow ( ))
815 it-> moveItem ( it-> itemBelow ( ));
816}
817
818class ExEdit : public QLineEdit
819{
820public:
821 ExEdit ( ExceptListItem *item )
822 : QLineEdit ( item-> listView ( )-> viewport ( ), "exedit" ), it ( item )
823 {
824 setFrame ( false );
825
826 QRect r = it-> listView ( )-> itemRect ( it );
827
828 int x = it-> listView ( )-> header ( )-> cellPos ( 3 ) - 1;
829 int y = r. y ( );
830 int w = it-> listView ( )-> viewport ( )-> width ( ) - x;
831 int h = r. height ( ); // + 2;
832
833 setText ( it-> pattern ( ));
834 setGeometry ( x, y, w, h );
835
836 odebug << "ExEdit: [" << it->text(2).latin1() << "] at "
837 << x << "," << y << " " << w << "," << h << oendl;
838
839 m_out = true;
840
841 show ( );
842 setFocus ( );
843 selectAll ( );
844 end ( true );
845 }
846
847 virtual void focusOutEvent ( QFocusEvent * )
848 {
849 hide ( );
850 if ( m_out )
851 it-> setPattern ( text ( ));
852 delete this;
853 }
854
855 virtual void keyPressEvent ( QKeyEvent *e )
856 {
857 if ( e-> key ( ) == Key_Return )
858 it-> listView ( )-> setFocus ( );
859 else if ( e-> key ( ) == Key_Escape )
860 {
861 m_out = false;
862 it-> listView ( )-> setFocus ( );
863 }
864 else
865 QLineEdit::keyPressEvent ( e );
866 }
867
868private:
869 ExceptListItem *it;
870 bool m_out;
871};
872
873void Appearance::clickedExcept ( QListViewItem *item, const QPoint &, int c )
874{
875 if ( !item || c < 0 || c > 3 )
876 return;
877
878 ExceptListItem *it = (ExceptListItem *) item;
879
880 if ( c == 0 )
881 it-> setNoStyle ( !it-> noStyle ( ));
882 else if ( c == 1 )
883 it-> setNoFont ( !it-> noFont ( ));
884 else if ( c == 2 )
885 it-> setNoDeco ( !it-> noDeco ( ));
886 else if ( c == 3 )
887 {
888 m_except-> ensureItemVisible ( it );
889 new ExEdit ( it );
890 }
891}
892
diff --git a/noncore/settings/appearance2/appearance.h b/noncore/settings/appearance2/appearance.h
index 134a918..de2f1ab 100644
--- a/noncore/settings/appearance2/appearance.h
+++ b/noncore/settings/appearance2/appearance.h
@@ -49,84 +49,76 @@ class QToolButton;
49class SampleWindow; 49class SampleWindow;
50namespace Opie {namespace Ui {class OFontSelector;}} 50namespace Opie {namespace Ui {class OFontSelector;}}
51class QListView; 51class QListView;
52class QListViewItem; 52class QListViewItem;
53class Config; 53class Config;
54 54
55class Appearance : public QDialog 55class Appearance : public QDialog
56{ 56{
57 Q_OBJECT 57 Q_OBJECT
58 58
59public: 59public:
60 Appearance( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 ); 60 Appearance( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
61 ~Appearance(); 61 ~Appearance();
62 static QString appName() { return QString::fromLatin1("appearance"); } 62 static QString appName() { return QString::fromLatin1("appearance"); }
63 63
64protected: 64protected:
65 virtual void accept ( ); 65 virtual void accept ( );
66 virtual void done ( int r ); 66 virtual void done ( int r );
67 67
68protected slots: 68protected slots:
69 void styleClicked ( int ); 69 void styleClicked ( int );
70 void styleSettingsClicked ( ); 70 void styleSettingsClicked ( );
71 void decoClicked ( int ); 71 void decoClicked ( int );
72 void fontClicked ( const QFont & ); 72 void fontClicked ( const QFont & );
73 void colorClicked ( int ); 73 void colorClicked ( int );
74 74
75 void editSchemeClicked(); 75 void editSchemeClicked();
76 void saveSchemeClicked(); 76 void saveSchemeClicked();
77 void deleteSchemeClicked(); 77 void deleteSchemeClicked();
78 78
79 void tabChanged ( QWidget * ); 79 void tabChanged ( QWidget * );
80 80
81 void addExcept ( );
82 void delExcept ( );
83 void upExcept ( );
84 void downExcept ( );
85 void clickedExcept ( QListViewItem *, const QPoint &, int );
86
87private: 81private:
88 void changeText(); 82 void changeText();
89 83
90 QWidget *createStyleTab ( QWidget *parent, Config &cfg ); 84 QWidget *createStyleTab ( QWidget *parent, Config &cfg );
91 QWidget *createDecoTab ( QWidget *parent, Config &cfg ); 85 QWidget *createDecoTab ( QWidget *parent, Config &cfg );
92 QWidget *createFontTab ( QWidget *parent, Config &cfg ); 86 QWidget *createFontTab ( QWidget *parent, Config &cfg );
93 QWidget *createColorTab ( QWidget *parent, Config &cfg ); 87 QWidget *createColorTab ( QWidget *parent, Config &cfg );
94 QWidget *createAdvancedTab ( QWidget *parent, Config &cfg ); 88 QWidget *createAdvancedTab ( QWidget *parent, Config &cfg );
95 89
96private: 90private:
97 bool m_style_changed; 91 bool m_style_changed;
98 bool m_font_changed; 92 bool m_font_changed;
99 bool m_scheme_changed; 93 bool m_scheme_changed;
100 bool m_deco_changed; 94 bool m_deco_changed;
101 bool m_color_changed; 95 bool m_color_changed;
102 96
103 int m_original_style; 97 int m_original_style;
104 int m_original_deco; 98 int m_original_deco;
105 int m_original_tabstyle; 99 int m_original_tabstyle;
106 bool m_original_tabpos; 100 bool m_original_tabpos;
107 101
108 QListBox * m_style_list; 102 QListBox * m_style_list;
109 QPushButton * m_style_settings; 103 QPushButton * m_style_settings;
110 104
111 QListBox * m_deco_list; 105 QListBox * m_deco_list;
112 106
113 QListBox * m_color_list; 107 QListBox * m_color_list;
114 108
115 Opie::Ui::OFontSelector *m_fontselect; 109 Opie::Ui::OFontSelector *m_fontselect;
116 110
117 SampleWindow *m_sample; 111 SampleWindow *m_sample;
118 112
119 QComboBox * m_tabstyle_list; 113 QComboBox * m_tabstyle_list;
120 QRadioButton *m_tabstyle_top; 114 QRadioButton *m_tabstyle_top;
121 QRadioButton *m_tabstyle_bottom; 115 QRadioButton *m_tabstyle_bottom;
122 116
123 QRadioButton *m_rotdir_cw; 117 QRadioButton *m_rotdir_cw;
124 QRadioButton *m_rotdir_ccw; 118 QRadioButton *m_rotdir_ccw;
125 QRadioButton *m_rotdir_flip; 119 QRadioButton *m_rotdir_flip;
126 120
127 QWidget * m_advtab; 121 QWidget * m_advtab;
128 QListView * m_except;
129 QCheckBox * m_force;
130}; 122};
131 123
132#endif 124#endif