Changeset View
Changeset View
Standalone View
Standalone View
src/Gui/SettingsDialog/GeneralOptionsPage.cpp
Show All 16 Lines | |||||
17 | * Boston, MA 02110-1301, USA. | 17 | * Boston, MA 02110-1301, USA. | ||
18 | */ | 18 | */ | ||
19 | 19 | | |||
20 | #include "GeneralOptionsPage.h" | 20 | #include "GeneralOptionsPage.h" | ||
21 | 21 | | |||
22 | #include "SpectacleConfig.h" | 22 | #include "SpectacleConfig.h" | ||
23 | 23 | | |||
24 | #include <KLocalizedString> | 24 | #include <KLocalizedString> | ||
25 | #include <KTitleWidget> | ||||
25 | 26 | | |||
27 | #include <QButtonGroup> | ||||
26 | #include <QCheckBox> | 28 | #include <QCheckBox> | ||
27 | #include <QFormLayout> | 29 | #include <QFormLayout> | ||
28 | #include <QGroupBox> | 30 | #include <QRadioButton> | ||
31 | #include <QSpacerItem> | ||||
29 | 32 | | |||
30 | GeneralOptionsPage::GeneralOptionsPage(QWidget *parent) : | 33 | GeneralOptionsPage::GeneralOptionsPage(QWidget *parent) : | ||
31 | SettingsPage(parent) | 34 | SettingsPage(parent) | ||
32 | { | 35 | { | ||
33 | QFormLayout *mainLayout = new QFormLayout(this); | 36 | QFormLayout *mainLayout = new QFormLayout(this); | ||
34 | setLayout(mainLayout); | 37 | setLayout(mainLayout); | ||
35 | 38 | | |||
36 | // Rectangular Region settings | 39 | // Rectangular Region settings | ||
40 | KTitleWidget *titleWidget = new KTitleWidget(this); | ||||
41 | titleWidget->setText(i18n("Rectangular Region:")); | ||||
42 | titleWidget->setLevel(2); | ||||
43 | mainLayout->addRow(titleWidget); | ||||
37 | 44 | | |||
38 | // use light background | 45 | // use light background | ||
39 | mUseLightBackground = new QCheckBox(i18n("Use light background"), this); | 46 | mUseLightBackground = new QCheckBox(i18n("Use light background"), this); | ||
40 | connect(mUseLightBackground, &QCheckBox::toggled, this, &GeneralOptionsPage::markDirty); | 47 | connect(mUseLightBackground, &QCheckBox::toggled, this, &GeneralOptionsPage::markDirty); | ||
41 | mainLayout->addRow(i18n("Rectangular Region:"), mUseLightBackground); | 48 | mainLayout->addRow(i18n("General:"), mUseLightBackground); | ||
42 | | ||||
43 | // remember Rectangular Region box | | |||
44 | mRememberRect = new QCheckBox(i18n("Remember selected area"), this); | | |||
45 | connect(mRememberRect, &QCheckBox::toggled, this, &GeneralOptionsPage::markDirty); | | |||
46 | mainLayout->addRow(QString(), mRememberRect); | | |||
47 | 49 | | |||
48 | // show magnifier | 50 | // show magnifier | ||
49 | mShowMagnifier = new QCheckBox(i18n("Show magnifier"), this); | 51 | mShowMagnifier = new QCheckBox(i18n("Show magnifier"), this); | ||
50 | connect(mShowMagnifier, &QCheckBox::toggled, this, &GeneralOptionsPage::markDirty); | 52 | connect(mShowMagnifier, &QCheckBox::toggled, this, &GeneralOptionsPage::markDirty); | ||
51 | mainLayout->addRow(QString(), mShowMagnifier); | 53 | mainLayout->addRow(QString(), mShowMagnifier); | ||
52 | 54 | | |||
55 | mainLayout->addItem(new QSpacerItem(0, 18, QSizePolicy::Fixed, QSizePolicy::Fixed)); | ||||
56 | | ||||
57 | // remember Rectangular Region box | ||||
58 | QButtonGroup* rememberGroup = new QButtonGroup(this); | ||||
59 | rememberGroup->setExclusive(true); | ||||
ngraham: This string should be "Always"
(and rename the new variables accordingly, too) | |||||
60 | QRadioButton* neverButton = new QRadioButton(i18n("Never"), this); | ||||
This string should be "Until Spectacle is closed" (and rename the new variables accordingly, too) ngraham: This string should be "Until Spectacle is closed"
(and rename the new variables accordingly… | |||||
61 | mRememberAlways = new QRadioButton(i18n("Always"), this); | ||||
62 | mRememberUntilClosed = new QRadioButton(i18n("Until Spectacle is closed"), this); | ||||
63 | rememberGroup->addButton(neverButton); | ||||
64 | rememberGroup->addButton(mRememberAlways); | ||||
65 | rememberGroup->addButton(mRememberUntilClosed); | ||||
66 | neverButton->setChecked(true); | ||||
67 | connect(rememberGroup, static_cast<void(QButtonGroup::*)(QAbstractButton *, bool)>(&QButtonGroup::buttonToggled), this, &GeneralOptionsPage::markDirty); | ||||
68 | mainLayout->addRow(i18n("Remember selected area:"), neverButton); | ||||
69 | mainLayout->addRow(QString(), mRememberAlways); | ||||
70 | mainLayout->addRow(QString(), mRememberUntilClosed ); | ||||
71 | | ||||
53 | // read in the data | 72 | // read in the data | ||
54 | resetChanges(); | 73 | resetChanges(); | ||
55 | } | 74 | } | ||
56 | 75 | | |||
57 | void GeneralOptionsPage::markDirty() | 76 | void GeneralOptionsPage::markDirty() | ||
58 | { | 77 | { | ||
59 | mChangesMade = true; | 78 | mChangesMade = true; | ||
60 | } | 79 | } | ||
61 | 80 | | |||
62 | void GeneralOptionsPage::saveChanges() | 81 | void GeneralOptionsPage::saveChanges() | ||
63 | { | 82 | { | ||
64 | SpectacleConfig *cfgManager = SpectacleConfig::instance(); | 83 | SpectacleConfig *cfgManager = SpectacleConfig::instance(); | ||
65 | 84 | | |||
66 | cfgManager->setUseLightRegionMaskColour(mUseLightBackground->checkState() == Qt::Checked); | 85 | cfgManager->setUseLightRegionMaskColour(mUseLightBackground->checkState() == Qt::Checked); | ||
67 | cfgManager->setRememberLastRectangularRegion(mRememberRect->checkState() == Qt::Checked); | 86 | cfgManager->setRememberLastRectangularRegion(mRememberUntilClosed->isChecked() || mRememberAlways->isChecked()); | ||
87 | cfgManager->setAlwaysRememberRegion (mRememberAlways->isChecked()); | ||||
68 | cfgManager->setShowMagnifierChecked(mShowMagnifier->checkState() == Qt::Checked); | 88 | cfgManager->setShowMagnifierChecked(mShowMagnifier->checkState() == Qt::Checked); | ||
69 | 89 | | |||
70 | mChangesMade = false; | 90 | mChangesMade = false; | ||
71 | } | 91 | } | ||
72 | 92 | | |||
73 | void GeneralOptionsPage::resetChanges() | 93 | void GeneralOptionsPage::resetChanges() | ||
74 | { | 94 | { | ||
75 | SpectacleConfig *cfgManager = SpectacleConfig::instance(); | 95 | SpectacleConfig *cfgManager = SpectacleConfig::instance(); | ||
76 | 96 | | |||
77 | mUseLightBackground->setChecked(cfgManager->useLightRegionMaskColour()); | 97 | mUseLightBackground->setChecked(cfgManager->useLightRegionMaskColour()); | ||
78 | mRememberRect->setChecked(cfgManager->rememberLastRectangularRegion()); | 98 | mRememberUntilClosed->setChecked(cfgManager->rememberLastRectangularRegion()); | ||
99 | mRememberAlways->setChecked(cfgManager->alwaysRememberRegion()); | ||||
79 | mShowMagnifier->setChecked(cfgManager->showMagnifierChecked()); | 100 | mShowMagnifier->setChecked(cfgManager->showMagnifierChecked()); | ||
80 | 101 | | |||
81 | mChangesMade = false; | 102 | mChangesMade = false; | ||
82 | } | 103 | } |
This string should be "Always"
(and rename the new variables accordingly, too)