fixed version string and fixed .gitignore
[qbat.git] / settings.cpp
blob54cce496e87c211f52912b84d66c610547107d25
1 //
2 // C++ Implementation: settings
3 //
4 // Author: Oliver Groß <z.o.gross@gmx.de>, (C) 2008
5 //
6 // Copyright: See COPYING file that comes with this distribution
7 //
8 #include "settings.h"
9 #include <QColorDialog>
11 namespace qbat {
12 CSettings::CSettings(QWidget * parent) : QDialog(parent) {
13 ui.setupUi(this);
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() {
28 void CSettings::applySettings() {
29 m_Settings->criticalCapacity = ui.criticalCapacitySpin->value();
30 m_Settings->executeCommand = ui.criticalCommandRadio->isChecked();
31 m_Settings->mergeBatterys = ui.mergeBatteryCheck->isChecked();
32 m_Settings->pollingRate = ui.pollingRateSpin->value();
34 for (int i = 0; i < UI_COUNT_COLORS; i++)
35 m_Settings->colors[i] = colors[i];
37 emit settingsChanged();
40 bool CSettings::execute(Settings * settings) {
41 ui.criticalCapacitySpin->setValue(settings->criticalCapacity);
42 ui.criticalCommandRadio->setChecked(settings->executeCommand);
43 ui.mergeBatteryCheck->setChecked(settings->mergeBatterys);
44 ui.pollingRateSpin->setValue(settings->pollingRate);
47 QPixmap colorIcon(24, 24);
49 for (int i = 0; i < UI_COUNT_COLORS; i++) {
50 colorIcon.fill(settings->colors[i]);
51 colorSelectButtons.button(i+1)->setIcon(colorIcon);
52 colors[i] = settings->colors[i];
56 m_Settings = settings;
58 if (exec()) {
59 applySettings();
60 return true;
62 else
63 return false;
66 void CSettings::editColor(int id) {
67 QColor color = QColorDialog::getColor(QColor(colors[id-1]), this);
68 if (color.isValid()) {
69 QPixmap colorIcon(24, 24);
70 colorIcon.fill(color);
72 colorSelectButtons.button(id)->setIcon(QIcon(colorIcon));
73 colors[id-1] = color.rgb();