2 // C++ Implementation: settings
4 // Author: Oliver Groß <z.o.gross@gmx.de>, (C) 2008
6 // Copyright: See COPYING file that comes with this distribution
9 #include <QColorDialog>
12 CSettings::CSettings(QWidget
* parent
) : QDialog(parent
) {
14 colorSelectButtons
.setExclusive(false);
15 colorSelectButtons
.addButton(ui
.mainFullColorButton
, 1 + UI_COLOR_BRUSH_FULL
);
16 colorSelectButtons
.addButton(ui
.mainChargedColorButton
, 1 + UI_COLOR_BRUSH_CHARGED
);
17 colorSelectButtons
.addButton(ui
.mainEmptyColorButton
, 1 + UI_COLOR_BRUSH_EMPTY
);
18 colorSelectButtons
.addButton(ui
.textColorButton
, 1 + UI_COLOR_PEN
);
19 colorSelectButtons
.addButton(ui
.textFullColorButton
, 1 + UI_COLOR_PEN_FULL
);
20 colorSelectButtons
.addButton(ui
.poleColorButton
, 1 + UI_COLOR_BRUSH_POLE
);
21 colorSelectButtons
.addButton(ui
.poleFullColorButton
, 1 + UI_COLOR_BRUSH_POLE_FULL
);
22 connect(&colorSelectButtons
, SIGNAL(buttonClicked(int)), this, SLOT(editColor(int)));
25 CSettings::~CSettings() {}
27 void CSettings::applySettings() {
28 m_Settings
->handleCritical
= ui
.criticalGroup
->isChecked();
29 m_Settings
->criticalCapacity
= ui
.criticalCapacitySpin
->value();
31 m_Settings
->executeCommand
= ui
.criticalCommandRadio
->isChecked();
32 m_Settings
->criticalCommand
= ui
.criticalCommandEdit
->text();
34 m_Settings
->confirmCommand
= ui
.confirmCommandBox
->isChecked();
35 m_Settings
->confirmWithTimeout
= ui
.timeoutCheck
->isChecked();
36 m_Settings
->timeoutValue
= ui
.timeoutSpin
->value();
38 for (int i
= 0; i
< UI_COUNT_COLORS
; i
++)
39 m_Settings
->colors
[i
] = colors
[i
];
41 m_Settings
->mergeBatterys
= ui
.mergeBatteryCheck
->isChecked();
43 m_Settings
->showBalloon
= ui
.showBalloonCheck
->isChecked();
44 m_Settings
->pollingRate
= ui
.pollingRateSpin
->value();
47 bool CSettings::execute(Settings
* settings
) {
48 ui
.criticalGroup
->setChecked(settings
->handleCritical
);
49 ui
.criticalCapacitySpin
->setValue(settings
->criticalCapacity
);
51 if (settings
->executeCommand
)
52 ui
.criticalCommandRadio
->setChecked(true);
54 ui
.criticalWarningRadio
->setChecked(true);
56 ui
.criticalCommandEdit
->setText(settings
->criticalCommand
);
57 ui
.confirmCommandBox
->setChecked(settings
->confirmCommand
);
58 ui
.timeoutCheck
->setChecked(settings
->confirmWithTimeout
);
59 ui
.timeoutSpin
->setValue(settings
->timeoutValue
);
62 QPixmap
colorIcon(24, 24);
64 for (int i
= 0; i
< UI_COUNT_COLORS
; i
++) {
65 colorIcon
.fill(settings
->colors
[i
]);
66 colorSelectButtons
.button(i
+1)->setIcon(colorIcon
);
67 colors
[i
] = settings
->colors
[i
];
70 ui
.mergeBatteryCheck
->setChecked(settings
->mergeBatterys
);
72 ui
.pollingRateSpin
->setValue(settings
->pollingRate
);
73 ui
.showBalloonCheck
->setChecked(settings
->showBalloon
);
75 m_Settings
= settings
;
85 void CSettings::editColor(int id
) {
86 QColor color
= QColorDialog::getColor(QColor(colors
[id
-1]), this);
87 if (color
.isValid()) {
88 QPixmap
colorIcon(24, 24);
89 colorIcon
.fill(color
);
91 colorSelectButtons
.button(id
)->setIcon(QIcon(colorIcon
));
92 colors
[id
-1] = color
.rgb();