Save initial settings

This commit is contained in:
Jonas Kvinge
2020-10-01 22:04:38 +02:00
parent 48ee471def
commit 390fd64a74
19 changed files with 107 additions and 71 deletions

View File

@@ -65,8 +65,6 @@ GlobalShortcutsSettingsPage::GlobalShortcutsSettingsPage(SettingsDialog *dialog)
ui_->list->header()->setSectionResizeMode(QHeaderView::ResizeToContents);
setWindowIcon(IconLoader::Load("keyboard"));
settings_.beginGroup(kSettingsGroup);
connect(ui_->list, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)), SLOT(ItemClicked(QTreeWidgetItem*)));
connect(ui_->radio_none, SIGNAL(clicked()), SLOT(NoneClicked()));
connect(ui_->radio_default, SIGNAL(clicked()), SLOT(DefaultClicked()));
@@ -102,6 +100,10 @@ bool GlobalShortcutsSettingsPage::IsEnabled() const {
void GlobalShortcutsSettingsPage::Load() {
QSettings s;
if (!s.contains(kSettingsGroup)) set_changed();
s.beginGroup(kSettingsGroup);
GlobalShortcuts *manager = dialog()->global_shortcuts_manager();
if (!initialised_) {
@@ -128,32 +130,32 @@ void GlobalShortcutsSettingsPage::Load() {
else {
qLog(Debug) << "X11 backend is unavailable.";
ui_->widget_x11->hide();
settings_.setValue("use_x11", false);
s.setValue("use_x11", false);
}
for (const GlobalShortcuts::Shortcut &s : manager->shortcuts().values()) {
for (const GlobalShortcuts::Shortcut &i : manager->shortcuts().values()) {
Shortcut shortcut;
shortcut.s = s;
shortcut.key = s.action->shortcut();
shortcut.item = new QTreeWidgetItem(ui_->list, QStringList() << s.action->text() << s.action->shortcut().toString(QKeySequence::NativeText));
shortcut.item->setData(0, Qt::UserRole, s.id);
shortcuts_[s.id] = shortcut;
shortcut.s = i;
shortcut.key = i.action->shortcut();
shortcut.item = new QTreeWidgetItem(ui_->list, QStringList() << i.action->text() << i.action->shortcut().toString(QKeySequence::NativeText));
shortcut.item->setData(0, Qt::UserRole, i.id);
shortcuts_[i.id] = shortcut;
}
ui_->list->sortItems(0, Qt::AscendingOrder);
ItemClicked(ui_->list->topLevelItem(0));
}
for (const Shortcut &s : shortcuts_.values()) {
SetShortcut(s.s.id, s.s.action->shortcut());
for (const Shortcut &shortcut : shortcuts_.values()) {
SetShortcut(shortcut.s.id, shortcut.s.action->shortcut());
}
bool use_gsd = settings_.value("use_gsd", true).toBool();
bool use_gsd = s.value("use_gsd", true).toBool();
if (ui_->widget_gsd->isVisibleTo(this)) {
ui_->checkbox_gsd->setChecked(use_gsd);
}
bool use_x11 = settings_.value("use_x11", false).toBool();
bool use_x11 = s.value("use_x11", false).toBool();
if (ui_->widget_x11->isVisibleTo(this)) {
ui_->checkbox_x11->setChecked(use_x11);
}
@@ -174,20 +176,27 @@ void GlobalShortcutsSettingsPage::Load() {
ui_->label_macos_mavericks->setVisible(macos_version >= 9);
#endif // Q_OS_MACOS
s.endGroup();
Init(ui_->layout_globalshortcutssettingspage->parentWidget());
}
void GlobalShortcutsSettingsPage::Save() {
for (const Shortcut &s : shortcuts_.values()) {
s.s.action->setShortcut(s.key);
s.s.shortcut->setKey(s.key);
settings_.setValue(s.s.id, s.key.toString());
QSettings s;
s.beginGroup(kSettingsGroup);
for (const Shortcut &shortcut : shortcuts_.values()) {
shortcut.s.action->setShortcut(shortcut.key);
shortcut.s.shortcut->setKey(shortcut.key);
s.setValue(shortcut.s.id, shortcut.key.toString());
}
settings_.setValue("use_gsd", ui_->checkbox_gsd->isChecked());
settings_.setValue("use_x11", ui_->checkbox_x11->isChecked());
s.setValue("use_gsd", ui_->checkbox_gsd->isChecked());
s.setValue("use_x11", ui_->checkbox_x11->isChecked());
s.endGroup();
dialog()->global_shortcuts_manager()->ReloadSettings();