summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/profile.h
blob: eeda1b671724861f5fc712ac72822d09b3c2d7cf (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
69
70
71
72
73
74
75
76
77
78
79
#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,
                 Green,
                 Orange};
    enum Terminal {VT102 = 0, VT100,
                   Ansi,
                   Linux,
                   XTerm };
    enum Font { Micro = 0,  Small, Medium };
    Profile();
    Profile( const QString& name,
             const QCString& iolayerName,
             const QCString& termName,
             int background,
             int foreground,
             int terminal);
    Profile( const Profile& );
    Profile &operator=( const Profile& );
    bool operator==( const Profile& prof );

    ~Profile();
    QString name()const;
    QCString ioLayerName()const;
    QCString terminalName()const;
    bool autoConnect()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 QCString& );
    void setTerminalName( const QCString& );
    void setAutoConnect( const bool );
    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;
    QCString m_ioLayer, m_term;
    bool m_autoConnect;
    int m_back;
    int m_fore;
    int m_terminal;
};

#endif