56
// Hide for now: lightdm does not support those yet :/
57
ui->autoLoginSessionLabel->hide();
58
ui->autoLoginSession->hide();
59
ui->autoLoginTimeoutLabel->hide();
60
ui->autoLoginTimeout->hide();
53
62
// Hide for now: implementation is not complete
54
63
ui->serverWidget->hide();
56
ui->autoLoginUser->setModel(new QLightDM::UsersModel(this));
65
ExtraRowProxyModel* usersModel = new ExtraRowProxyModel(this);
66
usersModel->setSourceModel(new QLightDM::UsersModel(this));
67
int guestId = usersModel->appendRow();
68
usersModel->setRowText(guestId, 0, i18n("Guest"));
69
usersModel->setRowData(guestId, 0, GUEST_NAME, QLightDM::UsersModel::NameRole);
70
ui->autoLoginUser->setModel(usersModel);
57
72
ui->autoLoginSession->setModel(new QLightDM::SessionsModel(this));
77
92
KConfig config((LIGHTDM_CONFIG_DIR "/lightdm.conf"));
79
ui->allowGuest->setChecked(config.group("SeatDefaults").readEntry("allow-guest", true));
94
KConfigGroup seatDefaultsGroup = config.group("SeatDefaults");
95
ui->allowGuest->setChecked(seatDefaultsGroup.readEntry("allow-guest", true));
81
KConfigGroup lightdmGroup = config.group("LightDM");
82
QString user = lightdmGroup.readEntry("autologin-user");
97
QString user = seatDefaultsGroup.readEntry("autologin-user");
98
if (user.isEmpty() && seatDefaultsGroup.readEntry("autologin-guest", false)) {
99
// from user (string), guest (bool) to combobox user
83
102
if (!user.isEmpty()) {
84
103
setCurrentItemFromData(ui->autoLoginUser, QLightDM::UsersModel::NameRole, user);
86
105
ui->autoLogin->setChecked(!user.isEmpty());
88
QString session = lightdmGroup.readEntry("autologin-session");
107
QString session = seatDefaultsGroup.readEntry("autologin-session");
89
108
if (!session.isEmpty()) {
90
109
setCurrentItemFromData(ui->autoLoginSession, QLightDM::SessionsModel::IdRole, session);
92
ui->autoLoginTimeout->setValue(lightdmGroup.readEntry("autologin-user-timeout", 0) / 60);
111
ui->autoLoginTimeout->setValue(seatDefaultsGroup.readEntry("autologin-user-timeout", 0) / 60);
94
113
ui->enableXdmcp->setChecked(config.group("XDMCPServer").readEntry("enabled", false));
95
114
ui->enableVnc->setChecked(config.group("VNCServer").readEntry("enabled", false));
98
117
QVariantMap CoreConfig::save()
100
119
QVariantMap args;
101
args["core/LightDM/autologin-user"] = ui->autoLogin->isChecked()
102
? currentItemData(ui->autoLoginUser, QLightDM::UsersModel::NameRole)
104
args["core/LightDM/autologin-session"] = currentItemData(ui->autoLoginSession, QLightDM::SessionsModel::IdRole);
105
args["core/LightDM/autologin-user-timeout"] = ui->autoLoginTimeout->value() * 60;
120
if (ui->autoLogin->isChecked()) {
121
// from combobox user to user (string), guest (bool)
122
QString user = currentItemData(ui->autoLoginUser, QLightDM::UsersModel::NameRole).toString();
124
if (user == GUEST_NAME) {
130
args["core/SeatDefaults/autologin-user"] = user;
131
args["core/SeatDefaults/autologin-guest"] = guest;
132
// If LightDM gains support for these settings before us, we should not overwrite them
133
//args["core/SeatDefaults/autologin-session"] = currentItemData(ui->autoLoginSession, QLightDM::SessionsModel::IdRole);
134
//args["core/SeatDefaults/autologin-user-timeout"] = ui->autoLoginTimeout->value() * 60;
136
args["core/SeatDefaults/autologin-user"] = QString();
137
args["core/SeatDefaults/autologin-guest"] = false;
106
139
args["core/SeatDefaults/allow-guest"] = ui->allowGuest->isChecked();
107
140
args["core/XDMCPServer/enabled"] = ui->enableXdmcp->isChecked();
108
141
args["core/VNCServer/enabled"] = ui->enableVnc->isChecked();