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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
/*
rdphostpref.h, handles preferences for RDP hosts
Copyright (C) 2003 Arend van Beelen jr.
This program is free software; you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
This program 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 General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if
not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301 USA
For any questions, comments or whatever, you may mail me at: arend@auton.nl
*/
#ifndef RDPHOSTPREF_H
#define RDPHOSTPREF_H
#include "hostpreferences.h"
static const QString rdpKeymaps[] = { "ar",
"cs",
"da",
"de",
"de-ch",
"en-gb",
"en-us",
"es",
"et",
"fi",
"fr",
"fr-be",
"fr-ca",
"fr-ch",
"hr",
"hu",
"is",
"it",
"ja",
"lt",
"lv",
"mk",
"nl",
"nl-be",
"no",
"pl",
"pt",
"pt-br",
"ru",
"sl",
"sv",
"th",
"tr" };
static const int rdpNumKeymaps = 33;
static const int rdpDefaultKeymap = 6; // en-us
inline int keymap2int(const QString &keymap)
{
int layout;
for(layout = 0; layout < rdpNumKeymaps; layout++)
{
if(keymap == rdpKeymaps[layout])
{
break;
}
}
if(layout == rdpNumKeymaps)
{
layout = rdpDefaultKeymap;
}
return layout;
}
inline QString int2keymap(int layout)
{
if(layout < 0 || layout >= rdpNumKeymaps)
{
return rdpKeymaps[rdpDefaultKeymap];
}
return rdpKeymaps[layout];
}
class RdpHostPref : public HostPref
{
protected:
friend class HostPreferences;
int m_width;
int m_height;
int m_colorDepth;
QString m_layout;
bool m_askOnConnect;
bool m_useKWallet;
virtual void load();
virtual void setDefaults();
virtual void save();
virtual void remove();
public:
static const QString RdpType;
RdpHostPref(KConfig *conf, const QString &host=QString::null,
const QString &type=QString::null);
virtual ~RdpHostPref();
virtual QString prefDescription() const;
void setWidth(int w);
int width() const;
void setHeight(int h);
int height() const;
void setColorDepth(int depth);
int colorDepth() const;
void setLayout(const QString &l);
QString layout() const;
void setAskOnConnect(bool ask);
bool askOnConnect() const;
bool useKWallet() const;
void setUseKWallet(bool);
};
#endif
|