1 #include "pirpreferencesform.h"
2 #include "ui_pirpreferencesform.h"
3 #include "pirkeysetmanager.h"
5 #include "mainwindow.h"
12 PIRPreferencesForm::PIRPreferencesForm(
14 const PIRKeysetManager *keysetManager)
16 ui(new Ui::PIRPreferencesForm),
18 useDefaultForVolume(false)
22 mainWindow = dynamic_cast<MainWindow *>(parent);
24 setAttribute(Qt::WA_Maemo5StackedWindow);
25 setWindowFlags(windowFlags() | Qt::Window);
27 setupMacroComboBox(ui->macroKbdComboBox);
28 setupMacroComboBox(ui->macroBtnComboBox);
30 QSettings settings("pietrzak.org", "Pierogi");
32 settings.beginGroup("Preferences");
34 if (settings.contains("defaultKeysetName"))
36 keysetManager->findKeysetID(
37 settings.value("defaultKeysetMake").toString(),
38 settings.value("defaultKeysetName").toString(),
41 QString displayName = settings.value("defaultKeysetMake").toString();
42 displayName.append(" ");
43 displayName.append(settings.value("defaultKeysetName").toString());
45 ui->defaultKeysetNameLabel->setText(displayName);
46 ui->useDefaultCheckBox->setEnabled(true);
49 if (settings.contains("useDefaultForVolume"))
51 useDefaultForVolume = settings.value("useDefaultForVolume").toBool();
53 if (useDefaultForVolume)
55 ui->useDefaultCheckBox->setChecked(true);
59 if (settings.contains("useAltMain"))
61 if (settings.value("useAltMain").toBool())
63 ui->altMainCheckBox->setChecked(true);
64 mainWindow->useAltMainPanel();
68 if (settings.contains("macroKbdFocus"))
71 int index = mainWindow->findMacroPack(
72 settings.value("macroKbdFocus").toString());
74 int index = settings.value("macroKbdFocus").toInt();
76 ui->macroKbdComboBox->setCurrentIndex(index);
77 mainWindow->setMacroKbdFocus(index);
81 mainWindow->setMacroKbdFocus(0);
84 if (settings.contains("macroBtnFocus"))
87 int index = mainWindow->findMacroPack(
88 settings.value("macroBtnFocus").toString());
90 int index = settings.value("macroBtnFocus").toInt();
92 ui->macroBtnComboBox->setCurrentIndex(index);
93 mainWindow->setMacroBtnFocus(index);
97 mainWindow->setMacroBtnFocus(0);
104 PIRPreferencesForm::~PIRPreferencesForm()
110 void PIRPreferencesForm::on_setDefaultButton_clicked()
112 QString make = mainWindow->getCurrentMake();
113 QString name = mainWindow->getCurrentName();
114 defaultKeyset = mainWindow->getCurrentKeyset();
115 ui->useDefaultCheckBox->setEnabled(true);
117 QString displayName = make;
118 displayName.append(" ");
119 displayName.append(name);
120 ui->defaultKeysetNameLabel->setText(displayName);
122 QSettings settings("pietrzak.org", "Pierogi");
123 settings.beginGroup("Preferences");
124 settings.setValue("defaultKeysetMake", make);
125 settings.setValue("defaultKeysetName", name);
128 mainWindow->enableButtons();
131 void PIRPreferencesForm::on_clearDefaultButton_clicked()
134 ui->defaultKeysetNameLabel->setText("None");
135 ui->useDefaultCheckBox->setEnabled(false);
137 QSettings settings("pietrzak.org", "Pierogi");
138 settings.beginGroup("Preferences");
139 settings.remove("defaultKeysetMake");
140 settings.remove("defaultKeysetName");
143 mainWindow->enableButtons();
147 void PIRPreferencesForm::on_useDefaultCheckBox_stateChanged(int arg1)
149 QSettings settings("pietrzak.org", "Pierogi");
150 settings.beginGroup("Preferences");
152 if (arg1 == Qt::Checked)
154 useDefaultForVolume = true;
155 settings.setValue("useDefaultForVolume", true);
159 useDefaultForVolume = false;
160 settings.setValue("useDefaultForVolume", false);
165 mainWindow->enableButtons();
169 void PIRPreferencesForm::on_altMainCheckBox_stateChanged(
172 QSettings settings("pietrzak.org", "Pierogi");
174 settings.beginGroup("Preferences");
176 if (arg1 == Qt::Checked)
178 settings.setValue("useAltMain", true);
180 mainWindow->useAltMainPanel();
184 settings.setValue("useAltMain", false);
186 mainWindow->useMainPanel();
193 void PIRPreferencesForm::on_macroKbdComboBox_activated(int index)
195 QSettings settings("pietrzak.org", "Pierogi");
196 settings.beginGroup("Preferences");
197 settings.setValue("macroKbdFocus", index);
200 mainWindow->setMacroKbdFocus(index);
204 void PIRPreferencesForm::on_macroBtnComboBox_activated(int index)
206 QSettings settings("pietrzak.org", "Pierogi");
207 settings.beginGroup("Preferences");
208 settings.setValue("macroBtnFocus", index);
211 mainWindow->setMacroBtnFocus(index);
212 mainWindow->updateUserButtons();
216 void PIRPreferencesForm::setupMacroComboBox(
219 // Crappy hardcoded list. Need to replace this...
220 cb->addItem("Standard Controls");
221 cb->addItem("User Defined Keyboard Macros");
222 cb->addItem("Reverse Multitap Keboard Macros");