diff options
Diffstat (limited to 'libkdepim/kconfigpropagator.h')
-rw-r--r-- | libkdepim/kconfigpropagator.h | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/libkdepim/kconfigpropagator.h b/libkdepim/kconfigpropagator.h deleted file mode 100644 index 3e52eb7c4..000000000 --- a/libkdepim/kconfigpropagator.h +++ /dev/null @@ -1,165 +0,0 @@ -/* - This file is part of libtdepim. - - Copyright (c) 2003 Cornelius Schumacher <schumacher@kde.org> - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public - License as published by the Free Software Foundation; either - version 2 of the License, or (at your option) any later version. - - This library 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., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. -*/ -#ifndef KCONFIGPROPAGATOR_H -#define KCONFIGPROPAGATOR_H - -#include <tqstring.h> -#include <tqvaluelist.h> -#include <tqdom.h> -#include <tqptrlist.h> - -#include <tdepimmacros.h> - -class KConfigSkeleton; -class KConfigSkeletonItem; - -class KDE_EXPORT KConfigPropagator -{ - public: - - /** - Create KConfigPropagator object without associated source configuration. - */ - KConfigPropagator(); - /** - Create KConfigPropagator object. - - @param skeleton KConfigSkeleton object used as source for the propagation - @param kcfgFile file name of kcfg file containing the propagation rules - */ - KConfigPropagator( KConfigSkeleton *skeleton, const TQString &kcfgFile ); - virtual ~KConfigPropagator() {} - - KConfigSkeleton *skeleton() { return mSkeleton; } - - /* - Commit changes according to propagation rules. - */ - void commit(); - - class KDE_EXPORT Condition - { - public: - Condition() : isValid( false ) {} - - TQString file; - TQString group; - TQString key; - TQString value; - - bool isValid; - }; - - class KDE_EXPORT Rule - { - public: - typedef TQValueList<Rule> List; - - Rule() : hideValue( false ) {} - - TQString sourceFile; - TQString sourceGroup; - TQString sourceEntry; - - TQString targetFile; - TQString targetGroup; - TQString targetEntry; - - Condition condition; - - bool hideValue; - }; - - class KDE_EXPORT Change - { - public: - typedef TQPtrList<Change> List; - - Change( const TQString &title ) : mTitle( title ) {} - virtual ~Change(); - - void setTitle( const TQString &title ) { mTitle = title; } - TQString title() const { return mTitle; } - - virtual TQString arg1() const { return TQString(); } - virtual TQString arg2() const { return TQString(); } - - virtual void apply() = 0; - - private: - TQString mTitle; - }; - - class KDE_EXPORT ChangeConfig : public Change - { - public: - ChangeConfig(); - ~ChangeConfig() {} - - TQString arg1() const; - TQString arg2() const; - - void apply(); - - TQString file; - TQString group; - TQString name; - TQString label; - TQString value; - bool hideValue; - }; - - void updateChanges(); - - Change::List changes(); - - Rule::List rules(); - - protected: - void init(); - - /** - Implement this function in a subclass if you want to add changes which - can't be expressed as propagations in the kcfg file. - */ - virtual void addCustomChanges( Change::List & ) {} - - KConfigSkeletonItem *findItem( const TQString &group, const TQString &name ); - - TQString itemValueAsString( KConfigSkeletonItem * ); - - void readKcfgFile(); - - Rule parsePropagation( const TQDomElement &e ); - Condition parseCondition( const TQDomElement &e ); - - void parseConfigEntryPath( const TQString &path, TQString &file, - TQString &group, TQString &entry ); - - private: - KConfigSkeleton *mSkeleton; - TQString mKcfgFile; - - Rule::List mRules; - Change::List mChanges; -}; - -#endif |