src/settingseditor/settingseditor.cpp

changeset 202
b05af0bab735
parent 48
3c10f0e2fbe0
child 218
63125c36de73
equal deleted inserted replaced
201:5d201ee4a9c3 202:b05af0bab735
1 #include <QSettings> 1 #include <QSettings>
2 #include <QMdiArea>
2 #include "gl/common.h" 3 #include "gl/common.h"
3 #include "keyboardshortcutseditor.h" 4 #include "keyboardshortcutseditor.h"
4 #include "settingseditor.h" 5 #include "settingseditor.h"
5 #include "ui_settingseditor.h" 6 #include "ui_settingseditor.h"
6 7
15 libraries{settings, this}, 16 libraries{settings, this},
16 librariesEditor{settings, this}, 17 librariesEditor{settings, this},
17 defaultKeyboardShortcuts{defaultKeyboardShortcuts} 18 defaultKeyboardShortcuts{defaultKeyboardShortcuts}
18 { 19 {
19 this->ui.setupUi(this); 20 this->ui.setupUi(this);
21 this->ui.keyboardShortcutsView->setModel(new KeyboardShortcutsEditor{parent, this});
22 this->ui.viewModeButtonGroup->setId(this->ui.viewModeTabs, int{QMdiArea::TabbedView});
23 this->ui.viewModeButtonGroup->setId(this->ui.viewModeSubWindows, int{QMdiArea::SubWindowView});
20 this->loadLocales(); 24 this->loadLocales();
21 this->setDefaults(); 25 this->setDefaults();
22 QVBoxLayout* layout = new QVBoxLayout{this}; 26 QVBoxLayout* layout = new QVBoxLayout{this};
23 layout->addWidget(&librariesEditor); 27 layout->addWidget(&librariesEditor);
24 this->ui.tabLdrawLibraries->setLayout(layout); 28 this->ui.tabLdrawLibraries->setLayout(layout);
25 connect( 29 connect(
26 this, 30 this,
27 &SettingsEditor::accepted, 31 &SettingsEditor::accepted,
28 this, 32 this,
29 &SettingsEditor::handleAccepted); 33 &SettingsEditor::handleAccepted);
30 this->ui.keyboardShortcutsView->setModel(new KeyboardShortcutsEditor{parent, this});
31 } 34 }
32 35
33 SettingsEditor::~SettingsEditor() 36 SettingsEditor::~SettingsEditor()
34 { 37 {
35 delete &this->ui; 38 delete &this->ui;
41 this->settings->setMainColor(this->ui.mainColorButton->selectedColor()); 44 this->settings->setMainColor(this->ui.mainColorButton->selectedColor());
42 this->settings->setBackgroundColor(this->ui.backgroundColorButton->selectedColor()); 45 this->settings->setBackgroundColor(this->ui.backgroundColorButton->selectedColor());
43 this->settings->setSelectedColor(this->ui.selectedColorButton->selectedColor()); 46 this->settings->setSelectedColor(this->ui.selectedColorButton->selectedColor());
44 this->settings->setLineThickness(static_cast<GLfloat>(this->ui.lineThickness->value())); 47 this->settings->setLineThickness(static_cast<GLfloat>(this->ui.lineThickness->value()));
45 this->settings->setLineAntiAliasing(this->ui.lineAntiAliasing->isChecked()); 48 this->settings->setLineAntiAliasing(this->ui.lineAntiAliasing->isChecked());
49 const int viewMode = this->ui.viewModeButtonGroup->checkedId();
50 if (viewMode != -1) {
51 this->settings->setViewMode(viewMode);
52 }
46 this->librariesEditor.saveSettings(this->settings); 53 this->librariesEditor.saveSettings(this->settings);
47 } 54 }
48 55
49 void SettingsEditor::loadLocales() 56 void SettingsEditor::loadLocales()
50 { 57 {
74 this->ui.mainColorButton->setSelectedColor(this->settings->mainColor()); 81 this->ui.mainColorButton->setSelectedColor(this->settings->mainColor());
75 this->ui.backgroundColorButton->setSelectedColor(this->settings->backgroundColor()); 82 this->ui.backgroundColorButton->setSelectedColor(this->settings->backgroundColor());
76 this->ui.selectedColorButton->setSelectedColor(this->settings->selectedColor()); 83 this->ui.selectedColorButton->setSelectedColor(this->settings->selectedColor());
77 this->ui.lineThickness->setValue(static_cast<double>(this->settings->lineThickness())); 84 this->ui.lineThickness->setValue(static_cast<double>(this->settings->lineThickness()));
78 this->ui.lineAntiAliasing->setChecked(this->settings->lineAntiAliasing()); 85 this->ui.lineAntiAliasing->setChecked(this->settings->lineAntiAliasing());
86 auto* const viewModeButton = this->ui.viewModeButtonGroup->button(this->settings->viewMode());
87 if (viewModeButton != nullptr) {
88 viewModeButton->setChecked(true);
89 }
79 } 90 }
80 91
81 void SettingsEditor::setCurrentLanguage(const QString& localeCode) 92 void SettingsEditor::setCurrentLanguage(const QString& localeCode)
82 { 93 {
83 for (int i = 0; i < this->ui.language->count(); i += 1) 94 for (int i = 0; i < this->ui.language->count(); i += 1)

mercurial