summaryrefslogtreecommitdiff
path: root/libopie2/opiecore
authormickeyl <mickeyl>2003-12-01 22:44:38 (UTC)
committer mickeyl <mickeyl>2003-12-01 22:44:38 (UTC)
commit7a7683d435cfbb4fa2d6ed99fd4a94d388402aec (patch) (side-by-side diff)
tree1a34de131d935f34dd2622e3606ba664a7783e24 /libopie2/opiecore
parenta4a47fca8badeca2b1aae51b39295ccdc8782c4f (diff)
downloadopie-7a7683d435cfbb4fa2d6ed99fd4a94d388402aec.zip
opie-7a7683d435cfbb4fa2d6ed99fd4a94d388402aec.tar.gz
opie-7a7683d435cfbb4fa2d6ed99fd4a94d388402aec.tar.bz2
slowly start to refactor & cleanup libopie2 before merging it with libopie1
Diffstat (limited to 'libopie2/opiecore') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiecore/libopiecore2.control2
-rw-r--r--libopie2/opiecore/oconfig.cpp4
-rw-r--r--libopie2/opiecore/oconfig.h6
-rw-r--r--libopie2/opiecore/odebug.cpp3
-rw-r--r--libopie2/opiecore/oglobal.cpp9
-rw-r--r--libopie2/opiecore/oglobal.h18
-rw-r--r--libopie2/opiecore/oglobalsettings.cpp1
-rw-r--r--libopie2/opiecore/opiecore.pro2
8 files changed, 27 insertions, 18 deletions
diff --git a/libopie2/opiecore/libopiecore2.control b/libopie2/opiecore/libopiecore2.control
index 7dec1b9..956d24f 100644
--- a/libopie2/opiecore/libopiecore2.control
+++ b/libopie2/opiecore/libopiecore2.control
@@ -1,11 +1,11 @@
Package: libopiecore2
Files: $OPIEDIR/lib/libopiecore2.so.*
Priority: optional
Section: opie/system
Maintainer: Opie Team <opie@handhelds.org>
Architecture: arm
-Version: 1.8.1-$SUB_VERSION.2
+Version: 1.8.2-$SUB_VERSION.2
Depends: libqpe1
Provides: libopiecore2
Description: Opie library 2.0 CORE
diff --git a/libopie2/opiecore/oconfig.cpp b/libopie2/opiecore/oconfig.cpp
index dc4d0b3..fb5eabb 100644
--- a/libopie2/opiecore/oconfig.cpp
+++ b/libopie2/opiecore/oconfig.cpp
@@ -1,201 +1,203 @@
/*
                This file is part of the Opie Project
(C) 2003 Michael Lauer <mickey@tm.informatik.uni-frankfurt.de>
Inspired by the config classes from the KDE Project which are
=. (C) 1997 Matthias Kalle Dalheimer <kalle@kde.org>
.=l.
           .>+-=
 _;:,     .>    :=|. This program is free software; you can
.> <`_,   >  .   <= redistribute it and/or modify it under
:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
.="- .-=="i,     .._ License as published by the Free Software
 - .   .-<_>     .<> Foundation; either version 2 of the License,
     ._= =}       : or (at your option) any later version.
    .%`+i>       _;_.
    .i_,=:_.      -<s. This program is distributed in the hope that
     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
    : ..    .:,     . . . without even the implied warranty of
    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
..}^=.=       =       ; Library General Public License for more
++=   -.     .`     .: details.
 :     =  ...= . :.=-
 -.   .:....=;==+<; You should have received a copy of the GNU
  -_. . .   )=.  = Library General Public License along with
    --        :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
/* QT */
#include <qfont.h>
#include <qcolor.h>
/* OPIE */
#include <opie2/oconfig.h>
OConfig::OConfig( const QString &name, Domain domain )
- :OpieConfig( name, domain )
+ :Config( name, domain )
{
+ qDebug( "OConfig::OConfig()" );
}
OConfig::~OConfig()
{
+ qDebug( "OConfig::~OConfig()" );
}
QColor OConfig::readColorEntry( const QString& key, const QColor* pDefault ) const
{
QColor aRetColor;
int nRed = 0, nGreen = 0, nBlue = 0;
QString aValue = readEntry( key );
if( !aValue.isEmpty() )
{
if ( aValue.at(0) == '#' )
{
aRetColor.setNamedColor(aValue);
}
else
{
bool bOK;
// find first part (red)
int nIndex = aValue.find( ',' );
if( nIndex == -1 )
{
// return a sensible default -- Bernd
if( pDefault )
aRetColor = *pDefault;
return aRetColor;
}
nRed = aValue.left( nIndex ).toInt( &bOK );
// find second part (green)
int nOldIndex = nIndex;
nIndex = aValue.find( ',', nOldIndex+1 );
if( nIndex == -1 )
{
// return a sensible default -- Bernd
if( pDefault )
aRetColor = *pDefault;
return aRetColor;
}
nGreen = aValue.mid( nOldIndex+1,
nIndex-nOldIndex-1 ).toInt( &bOK );
// find third part (blue)
nBlue = aValue.right( aValue.length()-nIndex-1 ).toInt( &bOK );
aRetColor.setRgb( nRed, nGreen, nBlue );
}
}
else {
if( pDefault )
aRetColor = *pDefault;
}
return aRetColor;
}
// FIXME: The whole font handling has to be revised for Opie
QFont OConfig::readFontEntry( const QString& key, const QFont* pDefault ) const
{
/*
QFont aRetFont;
QString aValue = readEntry( key );
if( !aValue.isNull() ) {
if ( aValue.contains( ',' ) > 5 ) {
// KDE3 and upwards entry
if ( !aRetFont.fromString( aValue ) && pDefault )
aRetFont = *pDefault;
}
else {
// backward compatibility with older font formats
// ### remove KDE 3.1 ?
// find first part (font family)
int nIndex = aValue.find( ',' );
if( nIndex == -1 ){
if( pDefault )
aRetFont = *pDefault;
return aRetFont;
}
aRetFont.setFamily( aValue.left( nIndex ) );
// find second part (point size)
int nOldIndex = nIndex;
nIndex = aValue.find( ',', nOldIndex+1 );
if( nIndex == -1 ){
if( pDefault )
aRetFont = *pDefault;
return aRetFont;
}
aRetFont.setPointSize( aValue.mid( nOldIndex+1,
nIndex-nOldIndex-1 ).toInt() );
// find third part (style hint)
nOldIndex = nIndex;
nIndex = aValue.find( ',', nOldIndex+1 );
if( nIndex == -1 ){
if( pDefault )
aRetFont = *pDefault;
return aRetFont;
}
aRetFont.setStyleHint( (QFont::StyleHint)aValue.mid( nOldIndex+1, nIndex-nOldIndex-1 ).toUInt() );
// find fourth part (char set)
nOldIndex = nIndex;
nIndex = aValue.find( ',', nOldIndex+1 );
if( nIndex == -1 ){
if( pDefault )
aRetFont = *pDefault;
return aRetFont;
}
QString chStr=aValue.mid( nOldIndex+1,
nIndex-nOldIndex-1 );
// find fifth part (weight)
nOldIndex = nIndex;
nIndex = aValue.find( ',', nOldIndex+1 );
if( nIndex == -1 ){
if( pDefault )
aRetFont = *pDefault;
return aRetFont;
}
aRetFont.setWeight( aValue.mid( nOldIndex+1,
nIndex-nOldIndex-1 ).toUInt() );
// find sixth part (font bits)
uint nFontBits = aValue.right( aValue.length()-nIndex-1 ).toUInt();
aRetFont.setItalic( nFontBits & 0x01 );
aRetFont.setUnderline( nFontBits & 0x02 );
aRetFont.setStrikeOut( nFontBits & 0x04 );
aRetFont.setFixedPitch( nFontBits & 0x08 );
aRetFont.setRawMode( nFontBits & 0x20 );
}
}
else
{
if( pDefault )
aRetFont = *pDefault;
}
return aRetFont;
*/
return QFont("Helvetica",10);
}
diff --git a/libopie2/opiecore/oconfig.h b/libopie2/opiecore/oconfig.h
index 75aa170..444d280 100644
--- a/libopie2/opiecore/oconfig.h
+++ b/libopie2/opiecore/oconfig.h
@@ -1,140 +1,140 @@
/*
                This file is part of the Opie Project
(C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
Inspired by the config classes from the KDE Project which are
=. (C) 1997 Matthias Kalle Dalheimer <kalle@kde.org>
.=l.
           .>+-=
 _;:,     .>    :=|. This program is free software; you can
.> <`_,   >  .   <= redistribute it and/or modify it under
:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
.="- .-=="i,     .._ License as published by the Free Software
 - .   .-<_>     .<> Foundation; either version 2 of the License,
     ._= =}       : or (at your option) any later version.
    .%`+i>       _;_.
    .i_,=:_.      -<s. This program is distributed in the hope that
     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
    : ..    .:,     . . . without even the implied warranty of
    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
..}^=.=       =       ; Library General Public License for more
++=   -.     .`     .: details.
 :     =  ...= . :.=-
 -.   .:....=;==+<; You should have received a copy of the GNU
  -_. . .   )=.  = Library General Public License along with
    --        :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef OCONFIG_H
#define OCONFIG_H
//FIXME: Implement for X11 or reuse libqpe/Config there also?
//FIXME: Or rather use QSettings also for libqpe?
-#include "opieconfig.h"
+#include <qpe/config.h>
class QColor;
class QFont;
/**
* A Configuration class based on the Qtopia @ref Config class
* featuring additional handling of color and font entries
*/
-class OConfig : public OpieConfig
+class OConfig : public Config
{
public:
/**
* Constructs a OConfig object with a @a name.
*/
OConfig( const QString &name, Domain domain = User );
/**
* Destructs the OConfig object.
*
* Writes back any dirty configuration entries, and destroys
* dynamically created objects.
*/
virtual ~OConfig();
/**
* @returns the name of the current group.
* The current group is used for searching keys and accessing entries.
*/
- const QString& group() { return OpieConfig::group(); };
+ const QString& group() { return git.key(); };
/**
* @returns a @ref QColor entry or a @a default value if the key is not found.
*/
QColor readColorEntry( const QString& key, const QColor* pDefault ) const;
/**
* @returns a @ref QFont value or a @a default value if the key is not found.
*/
QFont readFontEntry( const QString& key, const QFont* pDefault ) const;
};
/**
* @brief Helper class for easier use of OConfig groups.
*
* Careful programmers always set the group of a
* @ref OConfig object to the group they want to read from
* and set it back to the old one of afterwards. This is usually
* written as:
* <pre>
*
* QString oldgroup config()->group();
* config()->setGroup( "TheGroupThatIWant" );
* ...
* config()->writeEntry( "Blah", "Blubb" );
*
* config()->setGroup( oldgroup );
* </pre>
*
* In order to facilitate this task, you can use
* OConfigGroupSaver. Simply construct such an object ON THE STACK
* when you want to switch to a new group. Then, when the object goes
* out of scope, the group will automatically be restored. If you
* want to use several different groups within a function or method,
* you can still use OConfigGroupSaver: Simply enclose all work with
* one group (including the creation of the OConfigGroupSaver object)
* in one block.
*
* @author Matthias Kalle Dalheimer <Kalle@kde.org>
* @version $Id$
* @see OConfig
*/
class OConfigGroupSaver
{
public:
/**
* Constructor.
* Create the object giving a @config object and a @a group to become
* the current group.
*/
OConfigGroupSaver( OConfig* config, QString group ) :_config(config), _oldgroup(config->group() )
{ _config->setGroup( group ); }
OConfigGroupSaver( OConfig* config, const char *group ) :_config(config), _oldgroup(config->group())
{ _config->setGroup( group ); }
OConfigGroupSaver( OConfig* config, const QCString &group ) : _config(config), _oldgroup(config->group())
{ _config->setGroup( group ); }
/**
* Destructor.
* Restores the last current group.
*/
~OConfigGroupSaver() { _config->setGroup( _oldgroup ); }
OConfig* config() { return _config; };
private:
OConfig* _config;
QString _oldgroup;
OConfigGroupSaver( const OConfigGroupSaver& );
OConfigGroupSaver& operator=( const OConfigGroupSaver& );
};
#endif // OCONFIG_H
diff --git a/libopie2/opiecore/odebug.cpp b/libopie2/opiecore/odebug.cpp
index b2a37bc..4505ce7 100644
--- a/libopie2/opiecore/odebug.cpp
+++ b/libopie2/opiecore/odebug.cpp
@@ -1,198 +1,197 @@
/*
This file is part of the Opie Project
(C) 2003 Michael 'Mickey' Lauer (mickey@tm.informatik.uni-frankfurt.de)
- Inspired by the KDE debug classes, which are
- (C) 1997 Matthias Kalle Dalheimer (kalle@kde.org)
(C) 2002 Holger Freyther (freyther@kde.org)
+ (C) 1997 Matthias Kalle Dalheimer (kalle@kde.org)
=.
.=l.
           .>+-=
 _;:,     .>    :=|. This program is free software; you can
.> <`_,   >  .   <= redistribute it and/or modify it under
:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
.="- .-=="i,     .._ License as published by the Free Software
 - .   .-<_>     .<> Foundation; either version 2 of the License,
     ._= =}       : or (at your option) any later version.
    .%`+i>       _;_.
    .i_,=:_.      -<s. This program is distributed in the hope that
     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
    : ..    .:,     . . . without even the implied warranty of
    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
..}^=.=       =       ; Library General Public License for more
++=   -.     .`     .: details.
 :     =  ...= . :.=-
 -.   .:....=;==+<; You should have received a copy of the GNU
  -_. . .   )=.  = Library General Public License along with
    --        :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
// Include this header without OPIE_NO_DEBUG defined to avoid having the oDebugInfo
// functions inlined to noops (which would then conflict with their definition here).
#include <opie2/odebug.h>
#ifdef OPIE_NO_DEBUG
#undef odDebug
#undef odBacktrace
#endif
/* OPIE */
#include <opie2/oapplication.h>
#include <opie2/oglobalsettings.h>
#include <opie2/oconfig.h>
/* QT */
#include <qbrush.h>
#include <qdatetime.h>
#include <qfile.h>
#include <qhostaddress.h>
#include <qmessagebox.h>
#include <qintdict.h>
#include <qpoint.h>
#include <qrect.h>
#include <qregion.h>
#include <qsize.h>
#include <qsocketdevice.h>
#include <qstring.h>
#include <qstringlist.h>
#include <qtextstream.h>
/* UNIX */
#include <stdlib.h> // abort
#include <unistd.h> // getpid
#include <stdarg.h> // vararg stuff
#include <ctype.h> // isprint
#include <syslog.h>
#include <errno.h>
#include <string.h>
#ifndef OPIE_NO_BACKTRACE
#include <execinfo.h>
#endif
/*======================================================================================
* debug levels
*======================================================================================*/
enum DebugLevels {
ODEBUG_INFO = 0,
ODEBUG_WARN = 1,
ODEBUG_ERROR = 2,
ODEBUG_FATAL = 3
};
/*======================================================================================
* oDebug private data
*======================================================================================*/
/*======================================================================================
* the main debug function
*======================================================================================*/
static void oDebugBackend( unsigned short level, unsigned int area, const char *data)
{
//qDebug( "oDebugBackend: Level=%d, Area=%d, Data=%s", level, area, data );
// ML: OPIE doesn't use areacodes at the moment. See the KDE debug classes for an
// ML: example use. I think it's not necessary to implement such a strategy here.
// ML: Comments?
int priority = 0;
QString caption;
QString lev;
switch( level )
{
case ODEBUG_INFO: lev = "(Info)"; caption = "Info"; priority = LOG_INFO; break;
case ODEBUG_WARN: lev = "(Warn)"; caption = "Warning"; priority = LOG_WARNING; break;
case ODEBUG_FATAL: lev = "(Fatal)"; caption = "Fatal Error"; priority = LOG_CRIT; break;
default: qDebug( "oDebugBackend: Warning: Unknown debug level! - defaulting to ODEBUG_ERROR." );
case ODEBUG_ERROR: lev = "(Error)"; caption = "Error"; priority = LOG_ERR; break;
}
short output = OGlobalSettings::debugMode();
if (!oApp && (output == 1))
{
qDebug( "oDebugBackend: Warning: no oapplication object - can't use MsgBox" );
output = 2; // need an application object to use MsgBox
}
// gcc 2.9x is dumb and sucks... can you hear it?
//QString areaName = (oApp) ? oApp->appName() : "<unknown>";
QString areaName;
if ( oApp ) areaName = oApp->appName();
else areaName = "<unknown>";
// Output
switch( output )
{
case -1: // ignore
{
return;
}
case 0: // File
{
QString outputFilename = OGlobalSettings::debugOutput();
const int BUFSIZE = 4096;
char buf[BUFSIZE] = "";
buf[BUFSIZE-1] = '\0';
int nSize;
nSize = snprintf( buf, BUFSIZE-1, "%s: %s", (const char*) areaName, data);
QFile outputFile( outputFilename );
if ( outputFile.open( IO_WriteOnly | IO_Append ) )
{
if ( ( nSize == -1 ) || ( nSize >= BUFSIZE ) )
{
outputFile.writeBlock( buf, BUFSIZE-1 );
}
else
{
outputFile.writeBlock( buf, nSize );
}
}
else
{
qDebug( "ODebug: can't write to file '%s' (%s)", (const char*) outputFilename, strerror(errno) );
}
break;
} // automatic close of file here
case 1: // Message Box
{
// Since we are in opiecore here, we cannot use OMsgBox and use
// QMessageBox instead
caption += QString("(") + areaName + ")";
QMessageBox::warning( 0L, caption, data, ("&OK") ); // tr?
break;
}
case 2: // Shell
{
FILE *output = stderr;
fprintf( output, "%s: ", (const char*) areaName );
fputs( data, output);
break;
}
case 3: // syslog
{
syslog( priority, "%s", data);
break;
}
case 4: // socket
{
QString destination = OGlobalSettings::debugOutput();
if ( destination && destination.find(":") != -1 )
{
diff --git a/libopie2/opiecore/oglobal.cpp b/libopie2/opiecore/oglobal.cpp
index f6071be..ae2fcb6 100644
--- a/libopie2/opiecore/oglobal.cpp
+++ b/libopie2/opiecore/oglobal.cpp
@@ -1,36 +1,43 @@
/*
                This file is part of the Opie Project
              Copyright (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
=.
.=l.
           .>+-=
 _;:,     .>    :=|. This program is free software; you can
.> <`_,   >  .   <= redistribute it and/or modify it under
:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
.="- .-=="i,     .._ License as published by the Free Software
 - .   .-<_>     .<> Foundation; either version 2 of the License,
     ._= =}       : or (at your option) any later version.
    .%`+i>       _;_.
    .i_,=:_.      -<s. This program is distributed in the hope that
     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
    : ..    .:,     . . . without even the implied warranty of
    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
..}^=.=       =       ; Library General Public License for more
++=   -.     .`     .: details.
 :     =  ...= . :.=-
 -.   .:....=;==+<; You should have received a copy of the GNU
  -_. . .   )=.  = Library General Public License along with
    --        :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <opie2/oglobal.h>
+OConfig* OGlobal::_config = 0;
+
OConfig* OGlobal::config()
{
- return globalconfig;
+ if ( !OGlobal::_config )
+ {
+ qDebug( "OGlobal::creating global configuration instance." );
+ OGlobal::_config = new OConfig( "global" );
+ }
+ return OGlobal::_config;
}
diff --git a/libopie2/opiecore/oglobal.h b/libopie2/opiecore/oglobal.h
index 23cedde..2dc4f9e 100644
--- a/libopie2/opiecore/oglobal.h
+++ b/libopie2/opiecore/oglobal.h
@@ -1,49 +1,49 @@
/*
                This file is part of the Opie Project
-
-              Copyright (C) 2003 Michael 'Mickey' Lauer <mickey@tm.informatik.uni-frankfurt.de>
+              Copyright (C) 2003 Michael 'Mickey' Lauer <mickey@Vanille.de>
=.
.=l.
           .>+-=
 _;:,     .>    :=|. This program is free software; you can
.> <`_,   >  .   <= redistribute it and/or modify it under
:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
.="- .-=="i,     .._ License as published by the Free Software
 - .   .-<_>     .<> Foundation; either version 2 of the License,
     ._= =}       : or (at your option) any later version.
    .%`+i>       _;_.
    .i_,=:_.      -<s. This program is distributed in the hope that
     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
    : ..    .:,     . . . without even the implied warranty of
    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
..}^=.=       =       ; Library General Public License for more
++=   -.     .`     .: details.
 :     =  ...= . :.=-
 -.   .:....=;==+<; You should have received a copy of the GNU
  -_. . .   )=.  = Library General Public License along with
    --        :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef OGLOBAL_H
#define OGLOBAL_H
-#include <qpe/global.h>
#include <opie2/oconfig.h>
-static OConfig *globalconfig = new OConfig( "global" );
-
-//FIXME: Is it wise or even necessary to inherit OGlobal from Global?
-// once we totally skip libqpe it should ideally swallow Global -zecke
+//FIXME Is it wise or even necessary to inherit OGlobal from Global?
+// once we totally skip libqpe it should ideally swallow Global -zecke
+// You're right. I deleted global as the base class. -mickeyl
-class OGlobal : public Global
+class OGlobal
{
public:
- // do we want to put that into OApplication as in KApplication -zecke
+ //FIXME Do we want to put that into OApplication as in KApplication? -zecke
+ // We already have a per-application config in OApplication
+ // ( accessed through oApp->config() ), but this one is the global one! -mickeyl
static OConfig* config();
+ static OConfig* _config;
};
#endif // OGLOBAL_H
diff --git a/libopie2/opiecore/oglobalsettings.cpp b/libopie2/opiecore/oglobalsettings.cpp
index 1799529..66adbd0 100644
--- a/libopie2/opiecore/oglobalsettings.cpp
+++ b/libopie2/opiecore/oglobalsettings.cpp
@@ -1,232 +1,233 @@
/*
                This file is part of the Opie Project
              Copyright (C) 2003 Michael Lauer <mickey@tm.informatik.uni-frankfurt.de>
Inspired by the KDE globalsettings which are
Copyright (C) 2000 David Faure <faure@kde.org>
=.
.=l.
           .>+-=
 _;:,     .>    :=|. This program is free software; you can
.> <`_,   >  .   <= redistribute it and/or modify it under
:`=1 )Y*s>-.--   : the terms of the GNU Library General Public
.="- .-=="i,     .._ License as published by the Free Software
 - .   .-<_>     .<> Foundation; either version 2 of the License,
     ._= =}       : or (at your option) any later version.
    .%`+i>       _;_.
    .i_,=:_.      -<s. This program is distributed in the hope that
     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
    : ..    .:,     . . . without even the implied warranty of
    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU
..}^=.=       =       ; Library General Public License for more
++=   -.     .`     .: details.
 :     =  ...= . :.=-
 -.   .:....=;==+<; You should have received a copy of the GNU
  -_. . .   )=.  = Library General Public License along with
    --        :-=` this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
/* OPIE */
#include <opie2/oglobalsettings.h>
#include <opie2/oconfig.h>
#include <opie2/oglobal.h>
/* QT */
+#include <qobject.h>
#include <qdir.h>
#include <qpixmap.h>
#include <qfontinfo.h>
/* UNIX */
#include <stdlib.h>
QString* OGlobalSettings::s_desktopPath = 0;
QString* OGlobalSettings::s_autostartPath = 0;
QString* OGlobalSettings::s_trashPath = 0;
QString* OGlobalSettings::s_documentPath = 0;
QFont *OGlobalSettings::_generalFont = 0;
QFont *OGlobalSettings::_fixedFont = 0;
QFont *OGlobalSettings::_toolBarFont = 0;
QFont *OGlobalSettings::_menuFont = 0;
QFont *OGlobalSettings::_windowTitleFont = 0;
QFont *OGlobalSettings::_taskbarFont = 0;
QColor *OGlobalSettings::OpieGray = 0;
QColor *OGlobalSettings::OpieHighlight = 0;
QColor *OGlobalSettings::OpieAlternate = 0;
OGlobalSettings::OMouseSettings *OGlobalSettings::s_mouseSettings = 0;
//FIXME: Add manipulators to the accessors
int OGlobalSettings::dndEventDelay()
{
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs( c, "General" );
return c->readNumEntry("DndDelay", 2);
}
bool OGlobalSettings::singleClick()
{
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs( c, "OPIE" );
return c->readBoolEntry("SingleClick", OPIE_DEFAULT_SINGLECLICK);
}
bool OGlobalSettings::insertTearOffHandle()
{
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs( c, "OPIE" );
return c->readBoolEntry("InsertTearOffHandle", OPIE_DEFAULT_INSERTTEAROFFHANDLES);
}
bool OGlobalSettings::changeCursorOverIcon()
{
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs( c, "OPIE" );
return c->readBoolEntry("ChangeCursor", OPIE_DEFAULT_CHANGECURSOR);
}
bool OGlobalSettings::visualActivate()
{
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs( c, "OPIE" );
return c->readBoolEntry("VisualActivate", OPIE_DEFAULT_VISUAL_ACTIVATE);
}
unsigned int OGlobalSettings::visualActivateSpeed()
{
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs( c, "OPIE" );
return
c->readNumEntry(
"VisualActivateSpeed",
OPIE_DEFAULT_VISUAL_ACTIVATE_SPEED
);
}
int OGlobalSettings::autoSelectDelay()
{
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs( c, "OPIE" );
return c->readNumEntry("AutoSelectDelay", OPIE_DEFAULT_AUTOSELECTDELAY);
}
OGlobalSettings::Completion OGlobalSettings::completionMode()
{
int completion;
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs( c, "General" );
completion = c->readNumEntry("completionMode", -1);
if ((completion < (int) CompletionNone) ||
(completion > (int) CompletionPopupAuto))
{
completion = (int) CompletionPopup; // Default
}
return (Completion) completion;
}
bool OGlobalSettings::showContextMenusOnPress ()
{
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs (c, "ContextMenus");
return cgs.config()->readBoolEntry("ShowOnPress", true);
}
int OGlobalSettings::contextMenuKey ()
{
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs (c, "Shortcuts");
//OShortcut cut (cgs.config()->readEntry ("PopupMenuContext", "Menu"));
//return cut.keyCodeQt();
return 0; // FIXME
}
OGlobalSettings::Debug OGlobalSettings::debugMode()
{
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs( c, "General" );
int debug = c->readNumEntry( "debugMode", -1 );
if ( (debug < (int) DebugNone) || (debug > (int) DebugSocket) )
{
debug = (int) DebugStdErr; // Default
}
return (Debug) debug;
}
QString OGlobalSettings::debugOutput()
{
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs( c, "General" );
QString deflt = QString::null;
switch( debugMode() )
{
case DebugNone: break; // no additional information needed
case DebugFiles: deflt = "/var/log/opiedebug.log"; break; // file to save output in
case DebugMsgBox: break; // no additional information needed
case DebugStdErr: break; // no additional information needed
case DebugSysLog: break; // no additional information needed
case DebugSocket: deflt = "127.0.0.1:8913"; break; // address to send packets to
}
return c->readEntry( "debugOutput"+ QString::number(debugMode()), deflt );
}
QColor OGlobalSettings::toolBarHighlightColor()
{
initColors();
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs( c, QString::fromLatin1("Toolbar style") );
return c->readColorEntry("HighlightColor", OpieHighlight);
}
QColor OGlobalSettings::inactiveTitleColor()
{
if (!OpieGray) OpieGray = new QColor(220, 220, 220);
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs( c, QString::fromLatin1("WM") );
return c->readColorEntry( "inactiveBackground", OpieGray );
}
QColor OGlobalSettings::inactiveTextColor()
{
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs( c, QString::fromLatin1("WM") );
return c->readColorEntry( "inactiveForeground", &Qt::darkGray );
}
QColor OGlobalSettings::activeTitleColor()
{
initColors();
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs( c, QString::fromLatin1("WM") );
return c->readColorEntry( "activeBackground", OpieHighlight);
}
QColor OGlobalSettings::activeTextColor()
{
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs( c, QString::fromLatin1("WM") );
return c->readColorEntry( "activeForeground", &Qt::white );
}
int OGlobalSettings::contrast()
{
OConfig *c = OGlobal::config();
OConfigGroupSaver cgs( c, QString::fromLatin1("OPIE") );
return c->readNumEntry( "contrast", 7 );
}
diff --git a/libopie2/opiecore/opiecore.pro b/libopie2/opiecore/opiecore.pro
index fe5800e..5d630ea 100644
--- a/libopie2/opiecore/opiecore.pro
+++ b/libopie2/opiecore/opiecore.pro
@@ -1,43 +1,43 @@
TEMPLATE = lib
CONFIG += qt warn_on debug
DESTDIR = $(OPIEDIR)/lib
HEADERS = oapplication.h \
opieapplication.h \
oconfig.h \
opieconfig.h \
ocompletionbase.h \
ocompletion.h \
odebug.h \
oglobal.h \
oglobalsettings.h \
osortablevaluelist.h
SOURCES = oapplication.cpp \
opieapplication.cpp \
oconfig.cpp \
opieconfig.cpp \
ocompletionbase.cpp \
ocompletion.cpp \
odebug.cpp \
oglobal.cpp \
oglobalsettings.cpp
INTERFACES =
TARGET = opiecore2
-VERSION = 1.8.1
+VERSION = 1.8.2
INCLUDEPATH += $(OPIEDIR)/include
DEPENDPATH += $(OPIEDIR)/include
MOC_DIR = moc
OBJECTS_DIR = obj
!contains( platform, x11 ) {
LIBS = -lqpe
include ( $(OPIEDIR)/include.pro )
}
contains( platform, x11 ) {
LIBS = -L$(OPIEDIR)/lib -Wl,-rpath,$(OPIEDIR)/lib
}