summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show 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
@@ -9,108 +9,102 @@ $(TOPDIR)/gen.pro : $(TOPDIR)/.config
# added for threaded version
ifneq ($(CONFIG_THREADED),)
echo CONFIG += thread >> $@
else
echo CONFIG -= thread >> $@
endif
# added for auto stripped build
ifneq ($(CONFIG_STRIP),)
echo CONFIG += strip >> $@
endif
ifneq ($(CONFIG_DEBUG),)
echo CONFIG += debug >> $@
echo CONFIG -= release >> $@
echo DEFINES += "QT_COMPONENT_DEBUG=2" >> $@
echo DEFINES += QT_DEBUG >> $@
else
echo CONFIG -= debug >> $@
echo CONFIG += release >> $@
echo DEFINES += "OPIE_NO_DEBUG" >> $@
endif
ifeq ($(CONFIG_STATIC),y)
echo !contains\( TARGET,qpe \) \{ >> $@
echo CONFIG += staticlib >> $@
echo \} >> $@
endif
ifeq ($(filter 3.%,$(QTE_VERSION)),) # not qt3
echo CONFIG -= qt3 >> $@
else
echo CONFIG += qt3 >> $@
endif
ifneq ($(CONFIG_QUICK_LAUNCH),)
echo contains\( CONFIG, quick-app \) \{ >> $@
echo CONFIG -= staticlib >> $@
echo CONFIG -= quick-app >> $@
echo CONFIG += quick-app-lib >> $@
echo QUICKLAUNCH_PATH = $(CONFIG_QUICKLAUNCH_PATH) >> $@
echo \} >> $@
else
echo contains\( CONFIG, quick-app \) \{ >> $@
echo CONFIG -= quick-app >> $@
echo CONFIG += quick-app-bin >> $@
echo \} >> $@
endif
ifeq ($(CONFIG_SQL_PIM_BACKEND),y)
echo ENABLE_SQL_PIM_BACKEND=$(CONFIG_SQL_PIM_BACKEND) >> $@
else
echo ENABLE_SQL_PIM_BACKEND=n >> $@
endif
-ifeq ($(CONFIG_OPIE_NO_OVERRIDE_QT),y)
- echo CONFIG += no-override >> $@
-endif
ifeq ($(CONFIG_OPIELOGIN_USEPAM),y)
echo CONFIG += OPIELOGIN_USEPAM >> $@
endif
ifeq ($(CONFIG_LIBQPE_WITHROHFEEDBACK),y)
echo CONFIG += LIBQPE_WITHROHFEEDBACK >> $@
endif
-ifeq ($(CONFIG_OPIE_NO_ERASERECT_FIX),y)
- echo DEFINES += OPIE_NO_ERASE_RECT_HACKFIX >> $@
-endif
ifeq ($(CONFIG_OPIE_NO_BUILTIN_SHUTDOWN),y)
echo DEFINES += OPIE_NO_BUILTIN_SHUTDOWN >> $@
endif
ifeq ($(CONFIG_OPIE_NO_BUILTIN_CALIBRATE),y)
echo DEFINES += OPIE_NO_BUILTIN_CALIBRATE >> $@
endif
ifeq ($(CONFIG_USE_REALTIME_AUDIO_THREAD),y)
echo DEFINES += USE_REALTIME_AUDIO_THREAD >> $@
endif
ifeq ($(CONFIG_USE_FILE_NOTIFICATION),y)
echo DEFINES += USE_FILE_NOTIFICATION >> $@
endif
ifeq ($(CONFIG_QT_QWS_ALLOW_CLOCK),y)
echo DEFINES += QT_QWS_ALLOW_OVERCLOCK >> $@
endif
ifeq ($(CONFIG_OPIE_NEW_ALLOC),y)
echo DEFINES += OPIE_NEW_MALLOC >> $@
endif
ifeq ($(CONFIG_OPIE_NO_SOUND_PCM_READ_BITS),y)
echo DEFINES += OPIE_NO_SOUND_PCM_READ_BITS >> $@
endif
echo DEFINES += OPIE_SOUND_FRAGMENT_SHIFT=$(CONFIG_OPIE_SOUND_FRAGMENT_SHIFT) >> $@
ifeq ($(CONFIG_OPIE_WE_VERSION_OVERRIDE),y)
echo DEFINES += OPIE_WE_VERSION=$(CONFIG_OPIE_WE_VERSION) >> $@
endif
ifeq ($(CONFIG_OPIE_TASKBAR_LOCK_KEY_STATE),y)
echo DEFINES += OPIE_TASKBAR_LOCK_KEY_STATE >> $@
endif
# Write LIB dirs and INC dirs...
ifeq ($(CONFIG_LIBETPAN_DEP),y)
echo LIBETPAN_LIB_DIR = $(CONFIG_LIBETPAN_LIB_DIR) >> $@
echo LIBETPAN_INC_DIR = $(CONFIG_LIBETPAN_INC_DIR) >> $@
endif
ifeq ($(CONFIG_LIBPCAP_DEP),y)
echo LIBPCAP_LIB_DIR = $(CONFIG_LIBPCAP_LIB_DIR) >> $@
echo LIBPCAP_INC_DIR = $(CONFIG_LIBPCAP_INC_DIR) >> $@
endif
ifeq ($(CONFIG_LIBSQLITE_DEP),y)
echo LIBSQLITE_LIB_DIR = $(CONFIG_LIBSQLITE_LIB_DIR) >> $@
echo LIBSQLITE_INC_DIR = $(CONFIG_LIBSQLITE_INC_DIR) >> $@
endif
ifeq ($(CONFIG_LIBXINE_DEP),y)
echo LIBXINE_LIB_DIR = $(CONFIG_LIBXINE_LIB_DIR) >> $@
echo LIBXINE_INC_DIR = $(CONFIG_LIBXINE_INC_DIR) >> $@
endif
ifeq ($(CONFIG_LIBBLUEZ_DEP),y)
echo LIBBLUEZ_LIB_DIR = $(CONFIG_LIBBLUEZ_LIB_DIR) >> $@
echo LIBBLUEZ_INC_DIR = $(CONFIG_LIBBLUEZ_INC_DIR) >> $@
diff --git a/config.in b/config.in
index 323ca51..f913aad 100644
--- a/config.in
+++ b/config.in
@@ -78,104 +78,96 @@ config QUICKLAUNCH_PATH
default "./quicklauncher" if TARGET_X86
default "/opt/QtPalmtop/bin/quicklauncher" if ! TARGET_X86
config SPECFILE
string
default "qws/linux-generic-g++" if TARGET_X86 && (! X11)
default "linux-g++" if TARGET_X86 && X11
default "qws/linux-sharp-g++" if TARGET_SHARP && (! X11)
default "linux-g++" if TARGET_SHARP && X11
default "qws/linux-ipaq-g++" if TARGET_IPAQ && (! X11)
default "linux-g++" if TARGET_IPAQ && X11
default "qws/linux-ramses-g++" if TARGET_RAMSES && (! X11)
default "linux-g++" if TARGET_RAMSES && X11
default "qws/linux-simpad-g++" if TARGET_SIMPAD && (! X11)
default "linux-g++" if TARGET_SIMPAD && X11
default "qws/linux-yopy-g++" if TARGET_YOPY && (! X11)
default "qws/macx-generic-g++" if TARGET_MACOSX && (! X11)
default "qws/linux-oe-g++" if TARGET_OE && (!X11)
config CUSTOMFILE
string
default "custom-ipaq.h" if TARGET_IPAQ
default "custom-sharp.h" if TARGET_SHARP
default "custom-ramses.h" if TARGET_RAMSES
default "custom-ipaq.h" if TARGET_SIMPAD
default "custom-yopy.h" if TARGET_YOPY
config OPTIMIZATIONS
string "Optimization flags"
depends OPTIMIZE
default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_IPAQ
default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_YOPY
default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SHARP
default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_RAMSES
default "-march=armv4 -mtune=strongarm1100 -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_SIMPAD
default "-march=armv5te -mtune=xscale -mapcs-32 -fexpensive-optimizations -fomit-frame-pointer -O2" if TARGET_C700
config EXPERIMENTAL
bool "Prompt for development and/or incomplete items"
default y
config USE_CCACHE
bool "Use ccache, if available?"
default y
endmenu
menu "Configuration"
-config OPIE_NO_OVERRIDE_QT
- boolean "Build Opie against an unpatched version of Qt"
- default n
-
-config OPIE_NO_ERASERECT_FIX
- boolean "Disable Fixup eraseRect for HancomMobileWord,neocal.. to make libopiecore work on Sharps libqpe"
- default n
-
config OPIE_NO_BUILTIN_SHUTDOWN
boolean "Disable the built in shutdown application"
default y
config OPIE_NO_BUILTIN_CALIBRATE
boolean "Disable the built in calibrate application"
default y if TARGET_YOPY
default n if ! TARGET_YOPY
config OPIE_SOUND_FRAGMENT_SHIFT
string "The sound fragment used in Opie Player I"
default "14" if TARGET_IPAQ
default "16" if ! TARGET_IPAQ
config USE_REALTIME_AUDIO_THREAD
boolean "Use a realtime thread in Opie Player I"
default y if TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP
default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP)
config QT_QWS_ALLOW_OVERCLOCK
boolean "Allow the user to overclock the device"
depends TARGET_RAMSES
default n
config USE_FILE_NOTIFICATION
boolean "Substitute (some) polling interfaces with OFileNotifier"
default y
config OPIE_NEW_ALLOC
boolean "Use malloc and free for the implementation"
default y if TARGET_RAMSES || TARGET_IPAQ || TARGET_SIMPAD || TARGET_SHARP
default n if ! (TARGET_IPAQ || TARGET_SIMPAD || TARGET_RAMSES || TARGET_SHARP)
config OPIE_TASKBAR_LOCK_KEY_STATE
boolean "Have a KeyLock state indicator on the taskbar"
default y if TARGET_SHARP
default n if !TARGET_SHARP
config LIBQPE_WITHROHFEEDBACK
boolean "Build libqpe with Right-On-Hold feedback"
default y
config OPIE_NO_SOUND_PCM_READ_BITS
boolean "There is not a pcm_read_bits io control"
default y if TARGET_SHARP
default n if ! TARGET_SHARP
endmenu
diff --git a/library/library.pro b/library/library.pro
index 04e125f..95c18a2 100644
--- a/library/library.pro
+++ b/library/library.pro
@@ -14,132 +14,126 @@ HEADERS = calendar.h \
qdawg.h \
datebookmonth.h \
fileselector.h \
fileselector_p.h \
imageedit.h \
qcopenvelope_qws.h \
qpedecoration_qws.h \
qpeapplication.h \
qpestyle.h \
qpedialog.h \
lightstyle.h \
config.h \
applnk.h \
sound.h \
tzselect.h \
qmath.h \
datebookdb.h \
alarmserver.h \
process.h \
password.h \
timestring.h \
fontfactoryinterface.h \
fontdatabase.h \
power.h \
storage.h \
qpemessagebox.h \
timeconversion.h \
qpedebug.h \
qpemenubar.h \
qpetoolbar.h \
backend/categories.h \
stringutil.h \
backend/palmtoprecord.h \
backend/task.h \
backend/event.h \
backend/contact.h\
categorymenu.h \
categoryedit_p.h \
categoryselect.h \
categorywidget.h \
ir.h \
backend/vobject_p.h \
findwidget_p.h \
finddialog.h \
lnkproperties.h \
windowdecorationinterface.h \
textcodecinterface.h \
imagecodecinterface.h \
- qt_override_p.h \
qpeglobal.h
SOURCES = calendar.cpp \
global.cpp \
xmlreader.cpp \
mimetype.cpp \
menubutton.cpp \
network.cpp \
networkinterface.cpp \
filemanager.cpp \
fontmanager.cpp \
qdawg.cpp \
datebookmonth.cpp \
fileselector.cpp \
imageedit.cpp \
resource.cpp \
qpedecoration_qws.cpp \
qcopenvelope_qws.cpp \
qpeapplication.cpp \
qpestyle.cpp \
qpedialog.cpp \
lightstyle.cpp \
config.cpp \
applnk.cpp \
sound.cpp \
tzselect.cpp \
qmath.c \
datebookdb.cpp \
alarmserver.cpp \
password.cpp \
process.cpp \
process_unix.cpp \
timestring.cpp \
fontdatabase.cpp \
power.cpp \
storage.cpp \
qpemessagebox.cpp \
backend/timeconversion.cpp \
qpedebug.cpp \
qpemenubar.cpp \
qpetoolbar.cpp \
backend/categories.cpp \
backend/stringutil.cpp \
backend/palmtoprecord.cpp \
backend/task.cpp \
backend/event.cpp \
backend/contact.cpp \
categorymenu.cpp \
categoryedit_p.cpp \
categoryselect.cpp \
categorywidget.cpp \
ir.cpp \
backend/vcc_yacc.cpp \
backend/vobject.cpp \
findwidget_p.cpp \
finddialog.cpp \
lnkproperties.cpp \
- qt_override.cpp \
widget_showing.cpp
# Qt 3 compatibility
HEADERS += quuid.h qcom.h qlibrary.h qlibrary_p.h
SOURCES += quuid.cpp qlibrary.cpp qlibrary_unix.cpp
INCLUDEPATH += $(OPIEDIR)/include backend
LIBS += -ldl -lcrypt -lm
INTERFACES = passwordbase_p.ui categoryeditbase_p.ui findwidgetbase_p.ui lnkpropertiesbase_p.ui
TARGET = qpe
DESTDIR = $(OPIEDIR)/lib$(PROJMAK)
VERSION = 1.5.0.1
include( $(OPIEDIR)/include.pro )
-contains( CONFIG, no-override ){
- DEFINES += OPIE_NO_OVERRIDE_QT
-}
-
contains( CONFIG, LIBQPE_WITHROHFEEDBACK ){
DEFINES += OPIE_WITHROHFEEDBACK
SOURCES += backend/rohfeedback.cpp
HEADERS += backend/rohfeedback.h
}
diff --git a/library/qpeapplication.cpp b/library/qpeapplication.cpp
index 1c5ced3..2bd7cbe 100644
--- a/library/qpeapplication.cpp
+++ b/library/qpeapplication.cpp
@@ -51,97 +51,96 @@
#include <qevent.h>
#include <qtooltip.h>
#include <qsignal.h>
#include <qmainwindow.h>
#include <qwidgetlist.h>
#include <qpixmapcache.h>
#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
#define QTOPIA_INTERNAL_INITAPP
#include "qpeapplication.h"
#include "qpestyle.h"
#include "styleinterface.h"
#if QT_VERSION >= 0x030000
#include <qstylefactory.h>
#else
#include <qplatinumstyle.h>
#include <qwindowsstyle.h>
#include <qmotifstyle.h>
#include <qmotifplusstyle.h>
#include "lightstyle.h"
#include <qpe/qlibrary.h>
#endif
#include "global.h"
#include "resource.h"
#if QT_VERSION <= 230 && defined(QT_NO_CODECS)
#include "qutfcodec.h"
#endif
#include "config.h"
#include "network.h"
#ifdef QWS
#include "fontmanager.h"
#include "fontdatabase.h"
#endif
#include "alarmserver.h"
#include "applnk.h"
#include "qpemenubar.h"
#include "textcodecinterface.h"
#include "imagecodecinterface.h"
#include <qtopia/qpeglobal.h>
#include <unistd.h>
#include <sys/file.h>
#include <sys/ioctl.h>
#ifndef QT_NO_SOUND
#include <sys/soundcard.h>
#endif
-#include "qt_override_p.h"
#include <backend/rohfeedback.h>
static bool useBigPixmaps = 0;
class HackWidget : public QWidget
{
public:
bool needsOk()
{ return (getWState() & WState_Reserved1 ); }
QRect normalGeometry()
{ return topData()->normalGeometry; };
};
class QPEApplicationData
{
public:
QPEApplicationData ( ) :
presstimer( 0 ), presswidget( 0 ), rightpressed( false ), kbgrabbed( false ),
notbusysent( false ), preloaded( false ), forceshow( false ), nomaximize( false ),
keep_running( true ), qcopQok( false ),
fontFamily( "Vera" ), fontSize( 10 ), smallIconSize( 14 ),
bigIconSize( 32 ), qpe_main_widget( 0 )
{
Config cfg( "qpe" );
cfg.setGroup( "Appearance" );
useBigPixmaps = cfg.readBoolEntry( "useBigPixmaps", false );
fontFamily = cfg.readEntry( "FontFamily", "Vera" );
fontSize = cfg.readNumEntry( "FontSize", 10 );
smallIconSize = cfg.readNumEntry( "SmallIconSize", 14 );
bigIconSize = cfg.readNumEntry( "BigIconSize", 32 );
#ifdef OPIE_WITHROHFEEDBACK
RoH = 0;
#endif
}
int presstimer;
QWidget* presswidget;
QPoint presspos;
#ifdef OPIE_WITHROHFEEDBACK
Opie::Internal::RoHFeedback *RoH;
#endif
bool rightpressed : 1;
bool kbgrabbed : 1;
bool notbusysent : 1;
@@ -1307,178 +1306,139 @@ extern void qws_clearLoadedFonts();
#endif
void QPEApplication::setCurrentMode( int x, int y, int depth )
{
// Reset the caches
#if QT_VERSION > 236
qws_clearLoadedFonts();
#endif
QPixmapCache::clear();
// Change the screen mode
qt_screen->setMode(x, y, depth);
if ( qApp->type() == GuiServer ) {
#if QT_VERSION > 236
// Reconfigure the GuiServer
qwsServer->beginDisplayReconfigure();
qwsServer->endDisplayReconfigure();
#endif
// Get all the running apps to reset
QCopEnvelope env( "QPE/System", "reset()" );
}
}
void QPEApplication::reset() {
// Reconnect to the screen
qt_screen->disconnect();
qt_screen->connect( QString::null );
// Redraw everything
applyStyle();
}
#if (QT_VERSION < 238) && defined Q_OS_MACX
bool qt_left_hand_scrollbars = false;
#else
extern bool qt_left_hand_scrollbars QPE_WEAK_SYMBOL;
#endif
/*!
\internal
*/
void QPEApplication::applyStyle()
{
Config config( "qpe" );
config.setGroup( "Appearance" );
#if QT_VERSION > 233
-#if !defined(OPIE_NO_OVERRIDE_QT)
- // don't block ourselves ...
- Opie::force_appearance = 0;
-
- static QString appname = Opie::binaryName ( );
-
- QStringList ex = config. readListEntry ( "NoStyle", ';' );
- int nostyle = 0;
- for ( QStringList::Iterator it = ex. begin ( ); it != ex. end ( ); ++it ) {
- if ( QRegExp (( *it ). mid ( 1 ), false, true ). find ( appname, 0 ) >= 0 ) {
- nostyle = ( *it ). left ( 1 ). toInt ( 0, 32 );
- break;
- }
- }
-#else
- int nostyle = 0;
-#endif
-
// Widget style
QString style = config.readEntry( "Style", "FlatStyle" );
- // don't set a custom style
- if ( nostyle & Opie::Force_Style )
- style = "FlatStyle";
-
internalSetStyle ( style );
// Colors - from /etc/colors/Liquid.scheme
QColor bgcolor( config.readEntry( "Background", "#E0E0E0" ) );
QColor btncolor( config.readEntry( "Button", "#96c8fa" ) );
QPalette pal( btncolor, bgcolor );
QString color = config.readEntry( "Highlight", "#73adef" );
pal.setColor( QColorGroup::Highlight, QColor( color ) );
color = config.readEntry( "HighlightedText", "#FFFFFF" );
pal.setColor( QColorGroup::HighlightedText, QColor( color ) );
color = config.readEntry( "Text", "#000000" );
pal.setColor( QColorGroup::Text, QColor( color ) );
color = config.readEntry( "ButtonText", "#000000" );
pal.setColor( QPalette::Active, QColorGroup::ButtonText, QColor( color ) );
color = config.readEntry( "Base", "#FFFFFF" );
pal.setColor( QColorGroup::Base, QColor( color ) );
pal.setColor( QPalette::Disabled, QColorGroup::Text,
pal.color( QPalette::Active, QColorGroup::Background ).dark() );
setPalette( pal, TRUE );
// Set the ScrollBar on the 'right' side but only if the weak symbol is present
if (&qt_left_hand_scrollbars )
qt_left_hand_scrollbars = config.readBoolEntry( "LeftHand", false );
// Window Decoration
QString dec = config.readEntry( "Decoration", "Flat" );
- // don't set a custom deco
- if ( nostyle & Opie::Force_Decoration )
- dec = "";
-
-
if ( dec != d->decorationName ) {
qwsSetDecoration( new QPEDecoration( dec ) );
d->decorationName = dec;
}
// Font
QString ff = config.readEntry( "FontFamily", font().family() );
int fs = config.readNumEntry( "FontSize", font().pointSize() );
- // don't set a custom font
- if ( nostyle & Opie::Force_Font ) {
- ff = "Vera";
- fs = 10;
- }
-
setFont ( QFont ( ff, fs ), true );
-
-#if !defined(OPIE_NO_OVERRIDE_QT)
- // revert to global blocking policy ...
- Opie::force_appearance = config. readBoolEntry ( "ForceStyle", false ) ? Opie::Force_All : Opie::Force_None;
- Opie::force_appearance &= ~nostyle;
-#endif
#endif
}
void QPEApplication::systemMessage( const QCString& msg, const QByteArray& data )
{
#ifdef Q_WS_QWS
QDataStream stream( data, IO_ReadOnly );
if ( msg == "applyStyle()" ) {
applyStyle();
}
else if ( msg == "toggleApplicationMenu()" ) {
QWidget *active = activeWindow ( );
if ( active ) {
QPEMenuToolFocusManager *man = QPEMenuToolFocusManager::manager ( );
bool oldactive = man-> isActive ( );
man-> setActive( !man-> isActive() );
if ( !oldactive && !man-> isActive ( )) { // no menubar to toggle -> try O-Menu
QCopEnvelope e ( "QPE/TaskBar", "toggleStartMenu()" );
}
}
}
else if ( msg == "setDefaultRotation(int)" ) {
if ( type() == GuiServer ) {
int r;
stream >> r;
setDefaultRotation( r );
}
}
else if ( msg == "setCurrentMode(int,int,int)" ) { // Added: 2003-06-11 by Tim Ansell <mithro@mithis.net>
if ( type() == GuiServer ) {
int x, y, depth;
stream >> x;
stream >> y;
stream >> depth;
setCurrentMode( x, y, depth );
}
}
else if ( msg == "reset()" ) {
if ( type() != GuiServer )
reset();
}
else if ( msg == "setCurrentRotation(int)" ) {
int r;
stream >> r;
setCurrentRotation( r );
diff --git a/library/qpeapplication.h b/library/qpeapplication.h
index 849d5b3..167fe69 100644
--- a/library/qpeapplication.h
+++ b/library/qpeapplication.h
@@ -121,101 +121,96 @@ public:
void showMainWidget( QWidget*, bool nomax=FALSE );
void showMainDocumentWidget( QWidget*, bool nomax=FALSE );
static void showDialog( QDialog*, bool nomax=FALSE ) QPE_WEAK_SYMBOL;
static int execDialog ( QDialog*, bool nomax=FALSE ) QPE_WEAK_SYMBOL;
static void showWidget( QWidget*, bool nomax=FALSE ) QPE_WEAK_SYMBOL;
/* Merge setTempScreenSaverMode */
#ifdef QTOPIA_INTERNAL_INITAPP
void initApp( int argv, char **argv );
#endif
static void setKeepRunning();
bool keepRunning() const;
bool keyboardGrabbed() const;
int exec();
signals:
void clientMoused();
void timeChanged();
void clockChanged( bool pm );
void micChanged( bool muted );
void volumeChanged( bool muted );
void appMessage( const QCString& msg, const QByteArray& data);
void weekChanged( bool startOnMonday );
void dateFormatChanged( DateFormat );
void flush();
void reload();
/* linkChanged signal */
private slots:
void systemMessage( const QCString &msg, const QByteArray &data );
void pidMessage( const QCString &msg, const QByteArray &data );
void removeSenderFromStylusDict();
void hideOrQuit();
protected:
bool qwsEventFilter( QWSEvent * );
void internalSetStyle( const QString &style );
void prepareForTermination(bool willrestart);
virtual void restart();
virtual void shutdown();
bool eventFilter( QObject *, QEvent * );
void timerEvent( QTimerEvent * );
bool raiseAppropriateWindow();
virtual void tryQuit();
-#ifndef OPIE_NO_ERASE_RECT_HACKFIX
- #if QT_VERSION > 233
- virtual void polish ( QWidget * ); // this is actually implemented in qt_override.cpp (!)
- #endif
-#endif
private:
void mapToDefaultAction( QWSKeyEvent *ke, int defKey );
void processQCopFile();
#if defined(Q_WS_QWS) && !defined(QT_NO_COP)
QCopChannel *sysChannel;
QCopChannel *pidChannel;
#endif
QPEApplicationData *d;
bool reserved_sh;
};
enum Transformation { Rot0, Rot90, Rot180, Rot270 }; /* from qgfxtransformed_qws.cpp */
inline int TransToDeg ( Transformation t )
{
int d = static_cast<int>( t );
return d * 90;
}
inline Transformation DegToTrans ( int d )
{
Transformation t = static_cast<Transformation>( d / 90 );
return t;
}
/*
* Set current rotation of Opie, and rotation for newly started apps.
* Differs from setDefaultRotation in that 1) it rotates currently running apps,
* and 2) does not set deforient or save orientation to qpe.conf.
*/
inline void QPEApplication::setCurrentRotation( int r )
{
// setTransformation has been introduced in Qt/Embedded 2.3.4 snapshots
// for compatibility with the SharpROM use fallback to setDefaultTransformation()
#if QT_VERSION > 233
Transformation e = DegToTrans( r );
::setenv( "QWS_DISPLAY", QString( "Transformed:Rot%1:0" ).arg( r ).latin1(), 1 );
qApp->desktop()->qwsDisplay()->setTransformation( e );
#else
setDefaultRotation( r );
#endif
}
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 @@
-
-#include <qpe/qpeapplication.h>
-#include <qfontdatabase.h>
-
-#include <unistd.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <limits.h>
-#include <sys/param.h> // for toolchains with old libc headers
-
-#include <qtopia/qpeglobal.h>
-#include "qt_override_p.h"
-
-#if QT_VERSION > 233
-
-#ifndef OPIE_NO_ERASE_RECT_HACKFIX
-struct color_fix_t {
- char *m_app;
- char *m_class;
- char *m_name;
- QColorGroup::ColorRole m_set;
- QColorGroup::ColorRole m_get;
-};
-
-
-
-static const color_fix_t apps_that_need_special_colors [] = {
- { "HancomMobileWord", "HTextEdit", 0, QColorGroup::Background, QColorGroup::Base },
- { "neocal", "Display", 0, QColorGroup::Background, QColorGroup::Base },
-
- { 0, 0, 0, QColorGroup::Base, QColorGroup::Base }
-};
-
-#endif
-
-#ifndef OPIE_NO_OVERRIDE_QT
-
-static const char * const apps_that_need_pointsizes_times_10 [] = {
- "HancomMobileWord",
- "hancomsheet",
- "HancomPresenterViewer",
-
- 0
-};
-
-
-
-
-int Opie::force_appearance = 0;
-
-
-// Return the *real* name of the binary - not just a quick guess
-// by looking at argv [0] (which could be anything)
-
-static void binaryNameFree ( )
-{
- ::free ((void *) Opie::binaryName ( )); // we need to cast away the const here
-}
-
-const char *Opie::binaryName ( )
-{
- static const char *appname = 0;
-
- if ( !appname ) {
- char dst [PATH_MAX + 1];
- int l = ::readlink ( "/proc/self/exe", dst, PATH_MAX );
-
- if ( l <= 0 )
- l = 0;
-
- dst [l] = 0;
- const char *b = ::strrchr ( dst, '/' );
- appname = ::strdup ( b ? b + 1 : dst );
-
- ::atexit ( binaryNameFree );
- }
- return appname;
-}
-
-#else
-int Opie::force_appearance = 0;
-#endif
-
-// Fix for a toolchain incompatibility (binaries compiled with
-// old tcs using shared libs compiled with newer tcs)
-
-extern "C" {
-
-extern void __gmon_start__ ( ) QPE_WEAK_SYMBOL;
-extern void __gmon_start__ ( )
-{
-}
-
-}
-
-
-#ifndef OPIE_NO_ERASE_RECT_HACKFIX
-// Fix for apps, that use QPainter::eraseRect() which doesn't work with styles
-// that set a background pixmap (it would be easier to fix eraseRect(), but
-// TT made it an inline ...)
-
-void QPEApplication::polish ( QWidget *w )
-{
-#ifndef OPIE_NO_OVERRIDE_QT
- for ( const color_fix_t *ptr = apps_that_need_special_colors; ptr-> m_app; ptr++ ) {
- if (( ::strcmp ( Opie::binaryName ( ), ptr-> m_app ) == 0 ) &&
- ( ptr-> m_class ? w-> inherits ( ptr-> m_class ) : true ) &&
- ( ptr-> m_name ? ( ::strcmp ( w-> name ( ), ptr-> m_name ) == 0 ) : true )) {
- QPalette pal = w-> palette ( );
- pal. setColor ( ptr-> m_set, pal. color ( QPalette::Active, ptr-> m_get ));
- w-> setPalette ( pal );
- }
- }
-#endif
- QApplication::polish ( w );
-}
-#endif
-
-
-#ifndef OPIE_NO_OVERRIDE_QT
-// Fix for the binary incompatibility that TT introduced in Qt/E 2.3.4 -- point sizes
-// were multiplied by 10 (which was incorrect)
-
-QValueList <int> QFontDatabase::pointSizes ( QString const &family, QString const &style, QString const &charset )
-{
- QValueList <int> sl = pointSizes_NonWeak ( family, style, charset );
-
- for ( const char * const *ptr = apps_that_need_pointsizes_times_10; *ptr; ptr++ ) {
- if ( ::strcmp ( Opie::binaryName ( ), *ptr ) == 0 ) {
- for ( QValueList <int>::Iterator it = sl. begin ( ); it != sl. end ( ); ++it )
- *it *= 10;
- }
- }
- return sl;
-}
-
-
-// Various style/font/color related overrides for weak symbols in Qt/E,
-// which allows us to force the usage of the global Opie appearance.
-
-void QApplication::setStyle ( QStyle *style )
-{
- if ( Opie::force_appearance & Opie::Force_Style )
- delete style;
- else
- QApplication::setStyle_NonWeak ( style );
-}
-
-void QApplication::setPalette ( const QPalette &pal, bool informWidgets, const char *className )
-{
- if (!( Opie::force_appearance & Opie::Force_Style ))
- QApplication::setPalette_NonWeak ( pal, informWidgets, className );
-}
-
-void QApplication::setFont ( const QFont &fnt, bool informWidgets, const char *className )
-{
- if (!( Opie::force_appearance & Opie::Force_Font ))
- QApplication::setFont_NonWeak ( fnt, informWidgets, className );
-}
-
-
-void QApplication::qwsSetDecoration ( QWSDecoration *deco )
-{
- if ( Opie::force_appearance & Opie::Force_Decoration )
- delete deco;
- else
- QApplication::qwsSetDecoration_NonWeak ( deco );
-}
-#endif
-#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 @@
-#ifndef __QT_OVERRIDE_H__
-#define __QT_OVERRIDE_H__
-
-#if QT_VERSION > 233
-
-namespace Opie {
-
-enum ForceAppearance {
- Force_Style = 0x01,
- Force_Font = 0x02,
- Force_Decoration = 0x04,
-
- Force_All = 0xff,
- Force_None = 0x00,
-};
-
-extern const char *binaryName ( );
-
-extern int force_appearance;
-
-}
-
-#endif // (QT_VERSION >233)
-
-#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
@@ -248,258 +248,184 @@ QWidget *Appearance::createColorTab ( QWidget *parent, Config &cfg )
connect( m_color_list, SIGNAL( highlighted(int) ), this, SLOT( colorClicked(int) ) );
QWhatsThis::add( m_color_list, tr( "Color schemes are a collection of colors which are used for various parts of the display.\n\nClick here to select an available scheme." ) );
m_color_list-> insertItem ( new ColorListItem ( tr( "Current scheme" ), cfg ));
QString path = QPEApplication::qpeDir ( );
path.append( "/etc/colors/" );
QStringList sl = QDir ( path ). entryList ( "*.scheme" );
for ( QStringList::Iterator it = sl. begin ( ); it != sl. end ( ); ++it )
{
QString name = (*it). left ((*it). find ( ".scheme" ));
QString pathstr = path;
pathstr.append( *it );
Config config ( pathstr, Config::File );
config. setGroup ( "Colors" );
m_color_list-> insertItem ( new ColorListItem ( name, config ));
}
m_color_list-> setCurrentItem ( 0 );
QPushButton* tempButton = new QPushButton( tab, "editSchemeButton" );
tempButton->setText( tr( "Edit..." ) );
connect( tempButton, SIGNAL( clicked() ), this, SLOT( editSchemeClicked() ) );
gridLayout->addWidget( tempButton, 0, 1 );
QWhatsThis::add( tempButton, tr( "Click here to change the colors in the current color scheme." ) );
tempButton = new QPushButton( tab, "deleteSchemeButton" );
tempButton->setText( tr( "Delete" ) );
connect( tempButton, SIGNAL( clicked() ), this, SLOT( deleteSchemeClicked() ) );
gridLayout->addWidget( tempButton, 1, 1 );
QWhatsThis::add( tempButton, tr( "Click here to delete the color scheme selected in the list to the left." ) );
tempButton = new QPushButton( tab, "saveSchemeButton" );
tempButton->setText( tr( "Save" ) );
connect( tempButton, SIGNAL( clicked() ), this, SLOT( saveSchemeClicked() ) );
gridLayout->addWidget( tempButton, 2, 1 );
QWhatsThis::add( tempButton, tr( "Click here to name and save the current color scheme." ) );
return tab;
}
QWidget *Appearance::createAdvancedTab ( QWidget *parent, Config &cfg )
{
QWidget *tab = new QWidget ( parent );
QVBoxLayout *vertLayout = new QVBoxLayout( tab, 3, 3 );
- QGridLayout *lay = new QGridLayout ( vertLayout, 0, 0, 3, 0 );
-
- m_force = new QCheckBox ( tr( "Force styling for all applications." ), tab );
- m_force-> setChecked ( cfg. readBoolEntry ( "ForceStyle" ));
- lay-> addMultiCellWidget ( m_force, 0, 0, 0, 1 );
- QWhatsThis::add( m_force, tr( "Click here to allow all applications to use global appearance settings." ) );
-
- QLabel *l = new QLabel ( tab );
- l-> setText ( QString ( "<p>%1</p>" ). arg ( tr( "Disable styling for these applications ( <b>*</b> can be used as a wildcard):" )));
- lay-> addMultiCellWidget ( l, 1, 1, 0, 1 );
- 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." ) );
-
- m_except = new QListView ( tab );
- m_except-> addColumn ( Resource::loadIconSet ( "appearance" ), "", 24 );
- m_except-> addColumn ( Resource::loadIconSet ( "font" ), "", 24 );
- m_except-> addColumn ( Resource::loadIconSet ( "appearance/deco" ), "", 24 );
- m_except-> addColumn ( tr( "Binary file(s)" ));
- m_except-> setColumnAlignment ( 0, AlignCenter );
- m_except-> setColumnAlignment ( 1, AlignCenter );
- m_except-> setColumnAlignment ( 2, AlignCenter );
- m_except-> setAllColumnsShowFocus ( true );
- m_except-> setMinimumHeight ( 30 );
- m_except-> header ( )-> setClickEnabled ( false );
- m_except-> header ( )-> setResizeEnabled ( false );
- m_except-> header ( )-> setMovingEnabled ( false );
- m_except-> setSorting ( -1 );
- lay-> addMultiCellWidget ( m_except, 2, 6, 0, 0 );
- 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." ) );
-
- connect ( m_except, SIGNAL( clicked(QListViewItem*,const QPoint&,int)), this, SLOT( clickedExcept(QListViewItem*,const QPoint&,int)));
-
- QToolButton *tb = new QToolButton ( tab );
- tb-> setIconSet ( Resource::loadIconSet ( "appearance/add" ));
- tb-> setFocusPolicy ( QWidget::StrongFocus );
- lay-> addWidget ( tb, 2, 1 );
- connect ( tb, SIGNAL( clicked()), this, SLOT( addExcept()));
- QWhatsThis::add( tb, tr( "Click here to add an application to the list above." ) );
-
- tb = new QToolButton ( tab );
- tb-> setIconSet ( Resource::loadIconSet ( "editdelete" ));
- tb-> setFocusPolicy ( QWidget::StrongFocus );
- lay-> addWidget ( tb, 3, 1 );
- connect ( tb, SIGNAL( clicked()), this, SLOT( delExcept()));
- QWhatsThis::add( tb, tr( "Click here to delete the currently selected application." ) );
-
- tb = new QToolButton ( tab );
- tb-> setIconSet ( Resource::loadIconSet ( "up" ));
- tb-> setFocusPolicy ( QWidget::StrongFocus );
- lay-> addWidget ( tb, 4, 1 );
- connect ( tb, SIGNAL( clicked()), this, SLOT( upExcept()));
- QWhatsThis::add( tb, tr( "Click here to move the currently selected application up in the list." ) );
-
- tb = new QToolButton ( tab );
- tb-> setIconSet ( Resource::loadIconSet ( "down" ));
- tb-> setFocusPolicy ( QWidget::StrongFocus );
- lay-> addWidget ( tb, 5, 1 );
- connect ( tb, SIGNAL( clicked()), this, SLOT( downExcept()));
- QWhatsThis::add( tb, tr( "Click here to move the currently selected application down in the list." ) );
-
- lay-> setRowStretch ( 6, 10 );
- lay-> setColStretch ( 0, 10 );
-
- QStringList sl = cfg. readListEntry ( "NoStyle", ';' );
- QListViewItem *lvit = 0;
- for ( QStringList::Iterator it = sl. begin ( ); it != sl. end ( ); ++it )
- {
- int fl = ( *it ). left ( 1 ). toInt ( 0, 32 );
-
- lvit = new ExceptListItem ( m_except, lvit, ( *it ). mid ( 1 ), fl & 0x01, fl & 0x02, fl & 0x04 );
- }
-
-
- vertLayout-> addSpacing ( 3 );
- QFrame *f = new QFrame ( tab );
- f-> setFrameStyle ( QFrame::HLine | QFrame::Sunken );
- vertLayout-> addWidget ( f );
- vertLayout-> addSpacing ( 3 );
-
-
QGridLayout* gridLayout = new QGridLayout ( vertLayout, 0, 0, 3, 0 );
int style = cfg. readNumEntry ( "TabStyle", 2 ) - 1;
bool tabtop = ( cfg. readEntry ( "TabPosition", "Top" ) == "Top" );
QLabel* label = new QLabel( tr( "Tab style:" ), tab );
gridLayout-> addWidget ( label, 0, 0 );
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" ) );
QButtonGroup* btngrp = new QButtonGroup( tab, "buttongroup" );
btngrp-> hide ( );
btngrp-> setExclusive ( true );
m_tabstyle_list = new QComboBox ( false, tab, "tabstyle" );
m_tabstyle_list-> insertItem ( tr( "Tabs" ));
m_tabstyle_list-> insertItem ( tr( "Tabs w/icons" ));
m_tabstyle_list-> insertItem ( tr( "Drop down list" ));
m_tabstyle_list-> insertItem ( tr( "Drop down list w/icons" ));
m_tabstyle_list-> setCurrentItem ( style );
gridLayout-> addMultiCellWidget ( m_tabstyle_list, 0, 0, 1, 2 );
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" ) );
m_tabstyle_top = new QRadioButton( tr( "Top" ), tab, "tabpostop" );
btngrp-> insert ( m_tabstyle_top );
gridLayout-> addWidget( m_tabstyle_top, 1, 1 );
QWhatsThis::add( m_tabstyle_top, tr( "Click here so that tabs appear at the top of the window." ) );
m_tabstyle_bottom = new QRadioButton( tr( "Bottom" ), tab, "tabposbottom" );
btngrp-> insert ( m_tabstyle_bottom );
gridLayout-> addWidget( m_tabstyle_bottom, 1, 2 );
QWhatsThis::add( m_tabstyle_bottom, tr( "Click here so that tabs appear at the bottom of the window." ) );
m_tabstyle_top-> setChecked ( tabtop );
m_tabstyle_bottom-> setChecked ( !tabtop );
m_original_tabstyle = style;
m_original_tabpos = tabtop;
vertLayout-> addSpacing ( 3 );
QHBoxLayout *rotLay = new QHBoxLayout ( vertLayout, 3 );
QLabel* rotlabel = new QLabel( tr( "Rotation direction:" ), tab );
m_rotdir_cw = new QRadioButton( tab, "rotdir_cw" );
QPixmap cw1 = Resource::loadIconSet("redo"). pixmap( );
m_rotdir_ccw = new QRadioButton( tab, "rotdir_ccw" );
QImage ccwImage = cw1. convertToImage( ). mirror( 1, 0 );
QPixmap ccw1;
m_rotdir_flip = new QRadioButton( tab, "rotdir_flip" );
QPixmap flip1 = Resource::loadIconSet("pass"). pixmap( );
QButtonGroup* rotbtngrp = new QButtonGroup( tab, "rotbuttongroup" );
rotbtngrp-> hide ( );
rotbtngrp-> setExclusive ( true );
rotbtngrp-> insert ( m_rotdir_cw );
rotbtngrp-> insert ( m_rotdir_ccw );
rotbtngrp-> insert ( m_rotdir_flip );
ccw1. convertFromImage( ccwImage );
m_rotdir_cw-> setPixmap( cw1 );
m_rotdir_ccw-> setPixmap( ccw1 );
m_rotdir_flip-> setPixmap( flip1 );
rotLay-> addWidget ( rotlabel, 0 );
rotLay-> addWidget ( m_rotdir_cw, 0 );
rotLay-> addWidget ( m_rotdir_ccw, 0 );
rotLay-> addWidget ( m_rotdir_flip, 0 );
int rotDirection = cfg.readNumEntry( "rotatedir" );
ODirection rot = CW;
if (rotDirection == -1)
{
rot = ODevice::inst ( )-> direction ( );
}
else
{
rot = (ODirection)rotDirection;
}
m_rotdir_cw-> setChecked ( rot == CW );
m_rotdir_ccw-> setChecked ( rot == CCW );
m_rotdir_flip-> setChecked ( rot == Flip );
+
+ /*
+ * add a spacing
+ */
+ vertLayout->addItem( new QSpacerItem( 1, 1, QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding ) );
return tab;
}
Appearance::Appearance( QWidget* parent, const char* name, WFlags )
: QDialog ( parent, name, true, WStyle_ContextHelp )
{
setCaption( tr( "Appearance Settings" ) );
Config config( "qpe" );
config.setGroup( "Appearance" );
QVBoxLayout *top = new QVBoxLayout ( this, 3, 3 );
m_sample = new SampleWindow ( this );
m_sample-> setDecoration ( new DefaultWindowDecoration ( ) );
QWhatsThis::add( m_sample, tr( "This is a preview window. Look here to see your new appearance as options are changed." ) );
OTabWidget* tw = new OTabWidget ( this, "tabwidget", OTabWidget::Global, OTabWidget::Bottom );
QWidget *styletab;
m_color_list = 0;
tw-> addTab ( styletab = createStyleTab ( tw, config ), "appearance", tr( "Style" ));
tw-> addTab ( createFontTab ( tw, config ), "font", tr( "Font" ));
tw-> addTab ( createColorTab ( tw, config ), "appearance/color", tr( "Colors" ) );
tw-> addTab ( createDecoTab ( tw, config ), "appearance/deco", tr( "Windows" ) );
tw-> addTab ( m_advtab = createAdvancedTab ( tw, config ), "SettingsIcon", tr( "Advanced" ) );
top-> addWidget ( tw, 10 );
top-> addWidget ( m_sample, 1 );
tw-> setCurrentTab ( styletab );
connect ( tw, SIGNAL( currentChanged(QWidget*)), this, SLOT( tabChanged(QWidget*)));
m_style_changed = m_font_changed = m_color_changed = m_deco_changed = false;
}
Appearance::~Appearance()
{}
void Appearance::tabChanged ( QWidget *w )
{
if ( w == m_advtab )
{
m_sample-> hide ( );
updateGeometry ( ); // shouldn't be necessary ...
@@ -522,113 +448,96 @@ void Appearance::accept ( )
if ( item )
config.writeEntry( "Style", item-> key ( ));
}
if ( m_deco_changed )
{
DecoListItem *item = (DecoListItem *) m_deco_list-> item ( m_deco_list-> currentItem ( ));
if ( item )
config.writeEntry( "Decoration", item-> key ( ));
}
if (( newtabstyle != m_original_tabstyle ) || ( newtabpos != m_original_tabpos ))
{
config. writeEntry ( "TabStyle", newtabstyle + 1 );
config. writeEntry ( "TabPosition", newtabpos ? "Top" : "Bottom" );
}
if ( m_font_changed )
{
config. writeEntry ( "FontFamily", m_fontselect-> fontFamily ( ));
config. writeEntry ( "FontStyle", m_fontselect-> fontStyle ( ));
config. writeEntry ( "FontSize", m_fontselect-> fontSize ( ));
}
if ( m_color_changed )
{
ColorListItem *item = (ColorListItem *) m_color_list-> item ( m_color_list-> currentItem ( ));
if ( item )
item-> save ( config );
}
ODirection rot;
if (m_rotdir_ccw-> isChecked ( ))
{
rot = CCW;
}
else if (m_rotdir_cw-> isChecked ( ))
{
rot = CW;
}
else
{
rot = Flip;
}
config. writeEntry ( "rotatedir", (int)rot );
- m_except-> setFocus ( ); // if the focus was on the embedded line-edit, we have to move it away first, so the contents are updated
-
- QStringList sl;
- QString exceptstr;
- for ( ExceptListItem *it = (ExceptListItem *) m_except-> firstChild ( ); it; it = (ExceptListItem *) it-> nextSibling ( ))
- {
- int fl = 0;
- fl |= ( it-> noStyle ( ) ? 0x01 : 0 );
- fl |= ( it-> noFont ( ) ? 0x02 : 0 );
- fl |= ( it-> noDeco ( ) ? 0x04 : 0 );
- exceptstr = QString::number ( fl, 32 );
- exceptstr.append( it-> pattern ( ));
- sl << exceptstr;
- }
- config. writeEntry ( "NoStyle", sl, ';' );
- config. writeEntry ( "ForceStyle", m_force-> isChecked ( ));
-
config. write ( ); // need to flush the config info first
Global::applyStyle ( );
QDialog::accept ( );
}
void Appearance::done ( int r )
{
QDialog::done ( r );
close ( );
}
void Appearance::styleClicked ( int index )
{
StyleListItem *sli = (StyleListItem *) m_style_list-> item ( index );
m_style_settings-> setEnabled ( sli ? sli-> hasSettings ( ) : false );
if ( m_sample && sli && sli-> style ( ))
{
int ci = m_color_list ? m_color_list-> currentItem ( ) : -1;
m_sample-> setStyle2 ( sli-> style ( ), ci < 0 ? palette ( ) : ((ColorListItem *) m_color_list-> item ( ci ))-> palette ( ));
}
m_style_changed |= ( index != m_original_style );
}
void Appearance::styleSettingsClicked ( )
{
StyleListItem *item = (StyleListItem *) m_style_list-> item ( m_style_list-> currentItem ( ));
if ( item && item-> hasSettings ( ))
{
QDialog *d = new QDialog ( this, "SETTINGS-DLG", true );
QVBoxLayout *vbox = new QVBoxLayout ( d, 3, 0 );
QWidget *w = item-> settings ( d );
if ( w )
{
vbox-> addWidget ( w );
d-> setCaption ( w-> caption ( ));
bool accepted = ( QPEApplication::execDialog ( d ) == QDialog::Accepted );
if ( item-> setSettings ( accepted ))
@@ -736,157 +645,48 @@ void Appearance::saveSchemeClicked()
filestr.append( schemename );
filestr.append( ".scheme" );
QFile file ( filestr );
if ( !file. exists ( ))
{
QPalette p = item-> palette ( );
Config config ( file.name(), Config::File );
config. setGroup( "Colors" );
item-> save ( config );
config. write ( ); // need to flush the config info first
m_color_list-> insertItem ( new ColorListItem ( schemename, config ));
}
else
{
QMessageBox::information ( this, tr( "Save scheme" ), tr( "Scheme does already exist." ));
}
}
delete d;
}
void Appearance::deleteSchemeClicked()
{
ColorListItem *item = (ColorListItem *) m_color_list-> item ( m_color_list-> currentItem ( ));
if ( !item )
return;
if ( m_color_list-> currentItem ( ) > 0 )
{
if ( QPEMessageBox::confirmDelete ( this, tr( "Delete scheme" ), item-> text ( ) ) )
{
QString filestr = QPEApplication::qpeDir ( );
filestr.append( "/etc/colors/" );
filestr.append( item-> text ( ) );
filestr.append( ".scheme" );
QFile::remove ( filestr );
delete item;
}
}
else
{
QMessageBox::information( this, tr( "Delete scheme" ), tr( "Unable to delete current scheme." ));
}
}
-
-
-void Appearance::addExcept ( )
-{
- ExceptListItem *it = new ExceptListItem ( m_except, 0, tr( "<new>" ), true, true, true );
- m_except-> ensureItemVisible ( it );
- m_except-> setSelected ( it, true );
-}
-
-void Appearance::delExcept ( )
-{
- if ( m_except-> selectedItem ( ))
- {
- m_except-> setFocus ( );
- delete m_except-> selectedItem ( );
- }
-}
-
-void Appearance::upExcept ( )
-{
- ExceptListItem *it = (ExceptListItem *) m_except-> selectedItem ( );
-
- if ( it && it-> itemAbove ( ))
- it-> itemAbove ( )-> moveItem ( it );
-}
-
-void Appearance::downExcept ( )
-{
- ExceptListItem *it = (ExceptListItem *) m_except-> selectedItem ( );
-
- if ( it && it-> itemBelow ( ))
- it-> moveItem ( it-> itemBelow ( ));
-}
-
-class ExEdit : public QLineEdit
-{
-public:
- ExEdit ( ExceptListItem *item )
- : QLineEdit ( item-> listView ( )-> viewport ( ), "exedit" ), it ( item )
- {
- setFrame ( false );
-
- QRect r = it-> listView ( )-> itemRect ( it );
-
- int x = it-> listView ( )-> header ( )-> cellPos ( 3 ) - 1;
- int y = r. y ( );
- int w = it-> listView ( )-> viewport ( )-> width ( ) - x;
- int h = r. height ( ); // + 2;
-
- setText ( it-> pattern ( ));
- setGeometry ( x, y, w, h );
-
- odebug << "ExEdit: [" << it->text(2).latin1() << "] at "
- << x << "," << y << " " << w << "," << h << oendl;
-
- m_out = true;
-
- show ( );
- setFocus ( );
- selectAll ( );
- end ( true );
- }
-
- virtual void focusOutEvent ( QFocusEvent * )
- {
- hide ( );
- if ( m_out )
- it-> setPattern ( text ( ));
- delete this;
- }
-
- virtual void keyPressEvent ( QKeyEvent *e )
- {
- if ( e-> key ( ) == Key_Return )
- it-> listView ( )-> setFocus ( );
- else if ( e-> key ( ) == Key_Escape )
- {
- m_out = false;
- it-> listView ( )-> setFocus ( );
- }
- else
- QLineEdit::keyPressEvent ( e );
- }
-
-private:
- ExceptListItem *it;
- bool m_out;
-};
-
-void Appearance::clickedExcept ( QListViewItem *item, const QPoint &, int c )
-{
- if ( !item || c < 0 || c > 3 )
- return;
-
- ExceptListItem *it = (ExceptListItem *) item;
-
- if ( c == 0 )
- it-> setNoStyle ( !it-> noStyle ( ));
- else if ( c == 1 )
- it-> setNoFont ( !it-> noFont ( ));
- else if ( c == 2 )
- it-> setNoDeco ( !it-> noDeco ( ));
- else if ( c == 3 )
- {
- m_except-> ensureItemVisible ( it );
- new ExEdit ( it );
- }
-}
-
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
@@ -33,100 +33,92 @@
#include <qpe/fontdatabase.h>
#include <qdialog.h>
using Opie::Ui::OFontSelector;
class QCheckBox;
class QComboBox;
class QLabel;
class QLineEdit;
class QListBox;
class QMultiLineEdit;
class QPushButton;
class QRadioButton;
class QToolButton;
class SampleWindow;
namespace Opie {namespace Ui {class OFontSelector;}}
class QListView;
class QListViewItem;
class Config;
class Appearance : public QDialog
{
Q_OBJECT
public:
Appearance( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
~Appearance();
static QString appName() { return QString::fromLatin1("appearance"); }
protected:
virtual void accept ( );
virtual void done ( int r );
protected slots:
void styleClicked ( int );
void styleSettingsClicked ( );
void decoClicked ( int );
void fontClicked ( const QFont & );
void colorClicked ( int );
void editSchemeClicked();
void saveSchemeClicked();
void deleteSchemeClicked();
void tabChanged ( QWidget * );
- void addExcept ( );
- void delExcept ( );
- void upExcept ( );
- void downExcept ( );
- void clickedExcept ( QListViewItem *, const QPoint &, int );
-
private:
void changeText();
QWidget *createStyleTab ( QWidget *parent, Config &cfg );
QWidget *createDecoTab ( QWidget *parent, Config &cfg );
QWidget *createFontTab ( QWidget *parent, Config &cfg );
QWidget *createColorTab ( QWidget *parent, Config &cfg );
QWidget *createAdvancedTab ( QWidget *parent, Config &cfg );
private:
bool m_style_changed;
bool m_font_changed;
bool m_scheme_changed;
bool m_deco_changed;
bool m_color_changed;
int m_original_style;
int m_original_deco;
int m_original_tabstyle;
bool m_original_tabpos;
QListBox * m_style_list;
QPushButton * m_style_settings;
QListBox * m_deco_list;
QListBox * m_color_list;
Opie::Ui::OFontSelector *m_fontselect;
SampleWindow *m_sample;
QComboBox * m_tabstyle_list;
QRadioButton *m_tabstyle_top;
QRadioButton *m_tabstyle_bottom;
QRadioButton *m_rotdir_cw;
QRadioButton *m_rotdir_ccw;
QRadioButton *m_rotdir_flip;
QWidget * m_advtab;
- QListView * m_except;
- QCheckBox * m_force;
};
#endif