summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/profile.h
blob: 5652ac5c200249a92c9ff928d68600df22440fa4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#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
 * Configuration is contained here too
 */
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()const;
    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 );
    void setConf( const QMap<QString, QString>& );
private:
    QMap<QString, QString> m_conf;
    QString m_name;
    QString m_ioLayer;
    int m_back;
    int m_fore;
    int m_terminal;
};

#endif