-rw-r--r-- | noncore/apps/opie-console/profile.cpp | 47 | ||||
-rw-r--r-- | noncore/apps/opie-console/profile.h | 1 |
2 files changed, 48 insertions, 0 deletions
diff --git a/noncore/apps/opie-console/profile.cpp b/noncore/apps/opie-console/profile.cpp index b730218..cdf595e 100644 --- a/noncore/apps/opie-console/profile.cpp +++ b/noncore/apps/opie-console/profile.cpp @@ -1,59 +1,106 @@ #include "profile.h" Profile::Profile() { } Profile::Profile( const QString& name, const QString& iolayerName, int background, int foreground, int terminal ) : m_name( name ), m_ioLayer( iolayerName ), m_back( background ), m_fore( foreground ), m_terminal( terminal ) { } Profile::Profile( const Profile& prof ) { (*this) = prof; } +bool Profile::operator==( const Profile& prof ) { + if ( m_name == prof.m_name ) return true; + + return false; +} Profile &Profile::operator=( const Profile& prof ) { m_name = prof.m_name; m_ioLayer = prof.m_ioLayer; m_back = prof.m_back; m_fore = prof.m_fore; m_terminal = prof.m_terminal; + m_conf = prof.m_conf; return *this; } Profile::~Profile() { } QString Profile::name()const { return m_name; } QString Profile::ioLayerName()const { return m_ioLayer; } int Profile::foreground()const { return m_fore; } int Profile::background()const { return m_back; } int Profile::terminal()const { return m_terminal; } void Profile::setName( const QString& str ) { m_name = str; } void Profile::setIOLayer( const QString& name ) { m_ioLayer = name; } void Profile::setBackground( int back ) { m_back = back; } void Profile::setForeground( int fore ) { m_fore = fore; } void Profile::setTerminal( int term ) { m_terminal = term; } +/* config stuff */ +void Profile::clearConf() { + m_conf.clear(); +} +void Profile::writeEntry( const QString& key, const QString& value ) { + m_conf.replace( key, value ); +} +void Profile::writeEntry( const QString& key, int num ) { + writeEntry( key, QString::number( num ) ); +} +void Profile::writeEntry( const QString& key, bool b ) { + writeEntry( key, QString::number(b) ); +} +void Profile::writeEntry( const QString& key, const QStringList& lis, const QChar& sep ) { + writeEntry( key, lis.join(sep) ); +} +QString Profile::readEntry( const QString& key, const QString& deflt )const { + QMap<QString, QString>::ConstIterator it; + it = m_conf.find( key ); + + if ( it != m_conf.end() ) + return it.data(); + + return deflt; +} +int Profile::readNumEntry( const QString& key, int def )const { + QMap<QString, QString>::ConstIterator it; + it = m_conf.find( key ); + + if ( it != m_conf.end() ) { + bool ok; + int val = it.data().toInt(&ok); + + if (ok) + return val; + } + return def; +} +bool Profile::readBoolEntry( const QString& key, bool def )const { + return readNumEntry( key, def ); +} diff --git a/noncore/apps/opie-console/profile.h b/noncore/apps/opie-console/profile.h index 8adc0bd..eff2be1 100644 --- a/noncore/apps/opie-console/profile.h +++ b/noncore/apps/opie-console/profile.h @@ -1,66 +1,67 @@ #ifndef OPIE_PROFILE_H #define OPIE_PROFILE_H #include <qmap.h> #include <qstring.h> #include <qstringlist.h> #include <qvaluelist.h> /** * A session will be generated from a saved * profile. A profile contains the iolayername * a name. * We can generate a Session from a Profile * No configuration is contained here.... */ class Profile { public: typedef QValueList<Profile> ValueList; enum Color { Black = 0, White, Gray }; enum Terminal {VT102 = 0 }; enum Font { Micro = 0, Small, Medium }; Profile(); Profile( const QString& name, const QString& iolayerName, int background, int foreground, int terminal); Profile( const Profile& ); Profile &operator=( const Profile& ); + bool operator==( const Profile& prof ); ~Profile(); QString name()const; QString ioLayerName()const; int foreground()const; int background()const; int terminal()const; /* * config stuff */ QMap<QString, QString> conf(); void clearConf(); void writeEntry( const QString& key, const QString& value ); void writeEntry( const QString& key, int num ); void writeEntry( const QString& key, bool b ); void writeEntry( const QString& key, const QStringList&, const QChar& ); QString readEntry( const QString& key, const QString& deflt = QString::null)const; int readNumEntry( const QString& key, int = -1 )const; bool readBoolEntry( const QString& key, bool = FALSE )const; void setName( const QString& ); void setIOLayer( const QString& ); void setBackground( int back ); void setForeground( int fore ); void setTerminal( int term ); private: QMap<QString, QString> m_conf; QString m_name; QString m_ioLayer; int m_back; int m_fore; int m_terminal; }; #endif |