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) |