From 4aed2c8219774f5d797760606b8489a92ddc5163 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebase@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- ksplashml/themeengine/objkstheme.h | 70 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 ksplashml/themeengine/objkstheme.h (limited to 'ksplashml/themeengine/objkstheme.h') diff --git a/ksplashml/themeengine/objkstheme.h b/ksplashml/themeengine/objkstheme.h new file mode 100644 index 000000000..9685d4529 --- /dev/null +++ b/ksplashml/themeengine/objkstheme.h @@ -0,0 +1,70 @@ +/*************************************************************************** + * Copyright Brian Ledbetter 2001-2003 * + * Copyright Ravikiran Rajagopal 2003 * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License (version 2) as * + * published by the Free Software Foundation. (The original KSplash/ML * + * codebase (upto version 0.95.3) is BSD-licensed.) * + * * + ***************************************************************************/ + +#ifndef __OBJKSTHEME_H__ +#define __OBJKSTHEME_H__ + +#include + +#include +#include + +class KConfig; +/** + * @short Theme reader. + * A Theme is read in from the file + * /share/apps/ksplash/Themes//Theme.rc + * This controls the behavior, graphics, and appearance + * of KSplash completely, and offers a friendlier way + * of installing custom splash screens. + */ +class KDE_EXPORT ObjKsTheme : public QObject +{ + Q_OBJECT +public: + explicit ObjKsTheme( const QString& ); + virtual ~ObjKsTheme(); + + void loadCmdLineArgs( KCmdLineArgs * ); + + QString theme() const { return( mActiveTheme ); } + QString themeEngine() const { return( mThemeEngine ); } + KConfig *themeConfig() const { return( mThemeConfig ); } + QString themeDir() const { return( mThemeDir ); } + bool loColor() const { return( mLoColor ); } + bool testing() const { return( mTesting ); } + bool managedMode() const { return( mManagedMode ); } + QString icon( int i ) { return (m_icons[i-1].isNull()?(QString::null):m_icons[i-1]); } + QString text( int i ) { return (m_text[i-1].isNull()?(QString::null):m_text[i-1]); } + QString locateThemeData( const QString &resource ); + int xineramaScreen() const { return mXineramaScreen; } + +protected: + bool loadThemeRc( const QString&, bool ); + bool loadLocalConfig( const QString&, bool ); + bool loadKConfig( KConfig *, const QString&, bool ); + +private: + QString mActiveTheme, mThemeDir; + KConfig *mThemeConfig; + + int mXineramaScreen; + bool mLoColor, mTesting, mManagedMode; + QString mThemeEngine; + QString mThemePrefix; + + QStringList m_icons, m_text; + + class ObjKsThemePrivate; + ObjKsThemePrivate *d; +}; + +#endif -- cgit v1.2.1