1 ////////////////////////////////////////
3 ////////////////////////////////////////
7 ////////////////////////////////////////////////////////////////////////////////
8 JrugrCfg
*JrugrCfg::load (const QString
&fname
) {
9 JrugrCfg
*res
= new JrugrCfg();
11 QSettings
qcfg(fname
, QSettings::IniFormat
);
13 qcfg
.beginGroup("KeyLayout");
14 res
->model
= qcfg
.value("model").toString();
15 if (res
->model
.isEmpty()) res
->model
= "pc104";
16 if (!qcfg
.value("layout").toString().isEmpty()) {
18 l
= qcfg
.value("layout").toString().split(","),
19 v
= qcfg
.value("variant").toString().split(",");
21 for (int f
= 0; f
< l
.size(); ++f
) {
23 if (v
.size() < f
) lu
.variant
= ""; else lu
.variant
= v
[f
];
24 res
->layouts
.append(lu
);
29 res
->layouts
.append(lu
);
31 if (!qcfg
.value("option").toString().isEmpty()) res
->options
= qcfg
.value("option").toString().split(",");
33 res
->workMode
= (JWorkMode
)qcfg
.value("workMode", ONLY_INDICATION
).toInt();
34 if (res
->workMode
< ONLY_INDICATION
|| res
->workMode
> USE_XKB
) res
->workMode
= ONLY_INDICATION
;
36 res
->switching
= (JSwitchMode
)qcfg
.value("switching", GLOBAL_LAYOUT
).toInt();
37 if (res
->switching
< GLOBAL_LAYOUT
|| res
->switching
> DESK_LAYOUT
) res
->switching
= GLOBAL_LAYOUT
;
39 res
->showFlag
= qcfg
.value("showflag", true).toBool();
40 res
->useSU
= qcfg
.value("useSU", true).toBool();
41 res
->mplayerHack
= qcfg
.value("mplayerHack", false).toBool();
47 bool JrugrCfg::save (const QString
&fname
) const {
49 QSettings
qcfg(fname
, QSettings::IniFormat
);
50 QString layout
, variant
;
52 qcfg
.beginGroup("KeyLayout");
53 qcfg
.setValue("model", model
);
55 for (int f
= 0; f
< layouts
.size(); ++f
) {
56 layout
+= layouts
[f
].layout
;
57 if (f
< layouts
.size()-1) layout
+= ",";
58 variant
+= layouts
[f
].variant
;
59 if (f
< layouts
.size()-1) variant
+= ",";
61 qcfg
.setValue("layout", layout
);
62 qcfg
.setValue("variant", variant
);
63 qcfg
.setValue("workMode", workMode
);
64 qcfg
.setValue("showflag", showFlag
);
65 qcfg
.setValue("switching", switching
);
66 qcfg
.setValue("useSU", useSU
);
67 qcfg
.setValue("mplayerHack", mplayerHack
);
68 qcfg
.setValue("option", options
.join(","));