You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
1.4 KiB
63 lines
1.4 KiB
//
|
|
//
|
|
// C++ Interface: $MODULE$
|
|
//
|
|
// Description:
|
|
//
|
|
//
|
|
// Author: Gav Wood <gav@kde.org>, (C) 2003
|
|
//
|
|
// Copyright: See COPYING file that comes with this distribution
|
|
//
|
|
//
|
|
#ifndef MODES_H
|
|
#define MODES_H
|
|
|
|
#include <tqstring.h>
|
|
#include <tqmap.h>
|
|
#include <tqpair.h>
|
|
#include <tqvaluelist.h>
|
|
|
|
#include "mode.h"
|
|
|
|
/**
|
|
@author Gav Wood
|
|
*/
|
|
|
|
class TDEConfig;
|
|
|
|
typedef TQValueList<Mode> ModeList;
|
|
|
|
class Modes : protected TQMap<TQString, TQMap<TQString, Mode> >
|
|
{
|
|
void purgeAllModes(TDEConfig &theConfig);
|
|
TQMap<TQString, TQString> theDefaults;
|
|
|
|
public:
|
|
void loadFromConfig(TDEConfig &theConfig);
|
|
void saveToConfig(TDEConfig &theConfig);
|
|
void generateNulls(const TQStringList &theRemotes);
|
|
|
|
const Mode &getMode(const TQString &remote, const TQString &mode) const;
|
|
ModeList getModes(const TQString &remote) const;
|
|
const Mode getDefault(const TQString &remote) const;
|
|
bool isDefault(const Mode &mode) const;
|
|
|
|
/**
|
|
* Call when you've changed a previously getMode'd mode and you want the changes
|
|
* to be recorded
|
|
**/
|
|
void updateMode(const Mode &mode) { operator[](mode.remote())[mode.name()] = mode; }
|
|
void setDefault(const Mode &mode) { theDefaults[mode.remote()] = mode.name(); }
|
|
void erase(const Mode &mode);
|
|
void add(const Mode &mode);
|
|
|
|
// dont use this without renaming all the modes in the actions!!!
|
|
void rename(Mode &mode, const TQString name);
|
|
|
|
Modes();
|
|
~Modes();
|
|
};
|
|
|
|
#endif
|