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> | ||
29 | 31 | | |||
30 | GeneralOptionsPage::GeneralOptionsPage(QWidget *parent) : | 32 | GeneralOptionsPage::GeneralOptionsPage(QWidget *parent) : | ||
31 | SettingsPage(parent) | 33 | SettingsPage(parent) | ||
32 | { | 34 | { | ||
33 | QFormLayout *mainLayout = new QFormLayout(this); | 35 | QFormLayout *mainLayout = new QFormLayout(this); | ||
34 | setLayout(mainLayout); | 36 | setLayout(mainLayout); | ||
35 | 37 | | |||
36 | // Rectangular Region settings | 38 | // Rectangular Region settings | ||
39 | KTitleWidget *titleWidget = new KTitleWidget(this); | ||||
40 | titleWidget->setText(i18n("Rectangular Region:")); | ||||
41 | titleWidget->setLevel(2); | ||||
42 | mainLayout->addRow(titleWidget); | ||||
37 | 43 | | |||
38 | // use light background | 44 | // use light background | ||
39 | mUseLightBackground = new QCheckBox(i18n("Use light background"), this); | 45 | mUseLightBackground = new QCheckBox(i18n("Use light background"), this); | ||
40 | connect(mUseLightBackground, &QCheckBox::toggled, this, &GeneralOptionsPage::markDirty); | 46 | connect(mUseLightBackground, &QCheckBox::toggled, this, &GeneralOptionsPage::markDirty); | ||
41 | mainLayout->addRow(i18n("Rectangular Region:"), mUseLightBackground); | 47 | 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 | 48 | | |||
48 | // show magnifier | 49 | // show magnifier | ||
49 | mShowMagnifier = new QCheckBox(i18n("Show magnifier"), this); | 50 | mShowMagnifier = new QCheckBox(i18n("Show magnifier"), this); | ||
50 | connect(mShowMagnifier, &QCheckBox::toggled, this, &GeneralOptionsPage::markDirty); | 51 | connect(mShowMagnifier, &QCheckBox::toggled, this, &GeneralOptionsPage::markDirty); | ||
51 | mainLayout->addRow(QString(), mShowMagnifier); | 52 | mainLayout->addRow(QString(), mShowMagnifier); | ||
52 | 53 | | |||
54 | // remember Rectangular Region box | ||||
55 | QButtonGroup* rememberGroup = new QButtonGroup(this); | ||||
56 | rememberGroup->setExclusive(true); | ||||
57 | QRadioButton* neverButton = new QRadioButton(i18n("Never"), this); | ||||
58 | mRememberAlways = new QRadioButton(i18n("Always"), this); | ||||
ngraham: This string should be "Always"
(and rename the new variables accordingly, too) | |||||
59 | mRememberUntilClosed = new QRadioButton(i18n("Until Spectacle is closed"), 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… | |||||
60 | rememberGroup->addButton(neverButton); | ||||
61 | rememberGroup->addButton(mRememberAlways); | ||||
62 | rememberGroup->addButton(mRememberUntilClosed); | ||||
63 | neverButton->setChecked(true); | ||||
64 | connect(rememberGroup, static_cast<void(QButtonGroup::*)(QAbstractButton *, bool)>(&QButtonGroup::buttonToggled), this, &GeneralOptionsPage::markDirty); | ||||
65 | mainLayout->addRow(i18n("Remember selected area:"), neverButton); | ||||
66 | mainLayout->addRow(QString(), mRememberAlways); | ||||
67 | mainLayout->addRow(QString(), mRememberUntilClosed ); | ||||
68 | | ||||
53 | // read in the data | 69 | // read in the data | ||
54 | resetChanges(); | 70 | resetChanges(); | ||
55 | } | 71 | } | ||
56 | 72 | | |||
57 | void GeneralOptionsPage::markDirty() | 73 | void GeneralOptionsPage::markDirty() | ||
58 | { | 74 | { | ||
59 | mChangesMade = true; | 75 | mChangesMade = true; | ||
60 | } | 76 | } | ||
61 | 77 | | |||
62 | void GeneralOptionsPage::saveChanges() | 78 | void GeneralOptionsPage::saveChanges() | ||
63 | { | 79 | { | ||
64 | SpectacleConfig *cfgManager = SpectacleConfig::instance(); | 80 | SpectacleConfig *cfgManager = SpectacleConfig::instance(); | ||
65 | 81 | | |||
66 | cfgManager->setUseLightRegionMaskColour(mUseLightBackground->checkState() == Qt::Checked); | 82 | cfgManager->setUseLightRegionMaskColour(mUseLightBackground->checkState() == Qt::Checked); | ||
67 | cfgManager->setRememberLastRectangularRegion(mRememberRect->checkState() == Qt::Checked); | 83 | cfgManager->setRememberLastRectangularRegion(mRememberUntilClosed->isChecked() || mRememberAlways->isChecked()); | ||
84 | cfgManager->setAlwaysRememberRegion (mRememberAlways->isChecked()); | ||||
68 | cfgManager->setShowMagnifierChecked(mShowMagnifier->checkState() == Qt::Checked); | 85 | cfgManager->setShowMagnifierChecked(mShowMagnifier->checkState() == Qt::Checked); | ||
69 | 86 | | |||
70 | mChangesMade = false; | 87 | mChangesMade = false; | ||
71 | } | 88 | } | ||
72 | 89 | | |||
73 | void GeneralOptionsPage::resetChanges() | 90 | void GeneralOptionsPage::resetChanges() | ||
74 | { | 91 | { | ||
75 | SpectacleConfig *cfgManager = SpectacleConfig::instance(); | 92 | SpectacleConfig *cfgManager = SpectacleConfig::instance(); | ||
76 | 93 | | |||
77 | mUseLightBackground->setChecked(cfgManager->useLightRegionMaskColour()); | 94 | mUseLightBackground->setChecked(cfgManager->useLightRegionMaskColour()); | ||
78 | mRememberRect->setChecked(cfgManager->rememberLastRectangularRegion()); | 95 | mRememberUntilClosed->setChecked(cfgManager->rememberLastRectangularRegion()); | ||
96 | mRememberAlways->setChecked(cfgManager->alwaysRememberRegion()); | ||||
79 | mShowMagnifier->setChecked(cfgManager->showMagnifierChecked()); | 97 | mShowMagnifier->setChecked(cfgManager->showMagnifierChecked()); | ||
80 | 98 | | |||
81 | mChangesMade = false; | 99 | mChangesMade = false; | ||
82 | } | 100 | } |
This string should be "Always"
(and rename the new variables accordingly, too)