Advanced Settings Panel
[pierogi] / dialogs / pircreatecommanddialog.cpp
1 #include "pircreatecommanddialog.h"
2 #include "ui_pircreatecommanddialog.h"
3
4 #include "mainwindow.h"
5
6 extern PIRKeynameMgr keynameMgr;
7
8 /*
9 PIRCreateCommandDialog::PIRCreateCommandDialog(QWidget *parent) :
10   QDialog(parent),
11   ui(new Ui::PIRCreateCommandDialog)
12 {
13   ui->setupUi(this);
14 }
15 */
16
17
18 PIRCreateCommandDialog::PIRCreateCommandDialog()
19   : QDialog(0),
20     ui(new Ui::PIRCreateCommandDialog)
21 {
22   ui->setupUi(this);
23
24   setupPowerKeys(ui->powerKeysComboBox);
25   setupNumericKeys(ui->numericKeysComboBox);
26   setupChannelKeys(ui->channelKeysComboBox);
27   setupVolumeKeys(ui->volumeKeysComboBox);
28   setupMenuKeys(ui->menuKeysComboBox);
29   setupMediaKeys(ui->mediaKeysComboBox);
30   setupInputKeys(ui->inputKeysComboBox);
31   keynameMgr.populateComboBox(ui->allKeysComboBox);
32 }
33
34
35 PIRCreateCommandDialog::~PIRCreateCommandDialog()
36 {
37   delete ui;
38 }
39
40
41 QComboBox *PIRCreateCommandDialog::getKeysetComboBox()
42 {
43   return ui->keysetComboBox;
44 }
45
46
47 CommandType PIRCreateCommandDialog::getCommandType()
48 {
49   switch (ui->commandTypeComboBox->currentIndex())
50   {
51   case 0:
52     return Keyset_Command;
53
54   case 1:
55     return Key_Command;
56
57   case 2:
58     return Pause_Command;
59
60   default:
61     return No_Command;
62   }
63 }
64
65
66 QString PIRCreateCommandDialog::getKeysetName()
67 {
68   return ui->keysetComboBox->itemText(
69     ui->keysetComboBox->currentIndex());
70 }
71
72
73 unsigned int PIRCreateCommandDialog::getKeysetID()
74 {
75   return ui->keysetComboBox->itemData(
76     ui->keysetComboBox->currentIndex()).toInt();
77 }
78
79
80 PIRKeyName PIRCreateCommandDialog::getKeyName()
81 {
82   switch (ui->keyCategoryComboBox->currentIndex())
83   {
84   case 0:
85     return (PIRKeyName) ui->powerKeysComboBox->itemData(
86       ui->powerKeysComboBox->currentIndex()).toInt();
87
88   case 1:
89     return (PIRKeyName) ui->numericKeysComboBox->itemData(
90       ui->numericKeysComboBox->currentIndex()).toInt();
91
92   case 2:
93     return (PIRKeyName) ui->channelKeysComboBox->itemData(
94       ui->channelKeysComboBox->currentIndex()).toInt();
95
96   case 3:
97     return (PIRKeyName) ui->volumeKeysComboBox->itemData(
98       ui->volumeKeysComboBox->currentIndex()).toInt();
99
100   case 4:
101     return (PIRKeyName) ui->menuKeysComboBox->itemData(
102       ui->menuKeysComboBox->currentIndex()).toInt();
103
104   case 5:
105     return (PIRKeyName) ui->mediaKeysComboBox->itemData(
106       ui->mediaKeysComboBox->currentIndex()).toInt();
107
108   case 6:
109     return (PIRKeyName) ui->inputKeysComboBox->itemData(
110       ui->inputKeysComboBox->currentIndex()).toInt();
111
112   case 7:
113     return (PIRKeyName) ui->allKeysComboBox->itemData(
114       ui->allKeysComboBox->currentIndex()).toInt();
115
116   default:
117     return Unmapped_Key;
118   }
119 }
120
121
122 unsigned int PIRCreateCommandDialog::getTimeToWait()
123 {
124   return ui->pauseTimeSpinBox->value();
125 }
126
127
128 void PIRCreateCommandDialog::setupPowerKeys(
129   QComboBox *cb)
130 {
131   setupKey(cb, Power_Key);
132   setupKey(cb, PowerOn_Key);
133   setupKey(cb, PowerOff_Key);
134 }
135
136
137 void PIRCreateCommandDialog::setupNumericKeys(
138   QComboBox *cb)
139 {
140   setupKey(cb, Zero_Key);
141   setupKey(cb, One_Key);
142   setupKey(cb, Two_Key);
143   setupKey(cb, Three_Key);
144   setupKey(cb, Four_Key);
145   setupKey(cb, Five_Key);
146   setupKey(cb, Six_Key);
147   setupKey(cb, Seven_Key);
148   setupKey(cb, Eight_Key);
149   setupKey(cb, Nine_Key);
150   setupKey(cb, Enter_Key);
151   setupKey(cb, Clear_Key);
152   setupKey(cb, PlusOneHundred_Key);
153   setupKey(cb, Dash_Key);
154   setupKey(cb, DoubleDigit_Key);
155 }
156
157
158 void PIRCreateCommandDialog::setupChannelKeys(
159   QComboBox *cb)
160 {
161   setupKey(cb, ChannelUp_Key);
162   setupKey(cb, ChannelDown_Key);
163   setupKey(cb, PrevChannel_Key);
164 }
165
166
167 void PIRCreateCommandDialog::setupVolumeKeys(
168   QComboBox *cb)
169 {
170   setupKey(cb, VolumeUp_Key);
171   setupKey(cb, VolumeDown_Key);
172   setupKey(cb, Mute_Key);
173   setupKey(cb, Surround_Key);
174   setupKey(cb, RearVolumeUp_Key);
175   setupKey(cb, RearVolumeDown_Key);
176   setupKey(cb, CenterVolumeUp_Key);
177   setupKey(cb, CenterVolumeDown_Key);
178   setupKey(cb, WooferUp_Key);
179   setupKey(cb, WooferDown_Key);
180 }
181
182
183 void PIRCreateCommandDialog::setupMenuKeys(
184   QComboBox *cb)
185 {
186   setupKey(cb, Menu_Key);
187   setupKey(cb, Up_Key);
188   setupKey(cb, Down_Key);
189   setupKey(cb, Left_Key);
190   setupKey(cb, Right_Key);
191   setupKey(cb, Select_Key);
192   setupKey(cb, Exit_Key);
193   setupKey(cb, Guide_Key);
194 }
195
196
197 void PIRCreateCommandDialog::setupMediaKeys(
198   QComboBox *cb)
199 {
200   setupKey(cb, Play_Key);
201   setupKey(cb, Pause_Key);
202   setupKey(cb, Stop_Key);
203   setupKey(cb, FastForward_Key);
204   setupKey(cb, Rewind_Key);
205   setupKey(cb, PlayX2_Key);
206   setupKey(cb, Next_Key);
207   setupKey(cb, Previous_Key);
208   setupKey(cb, StepForward_Key);
209   setupKey(cb, StepBack_Key);
210   setupKey(cb, Advance_Key);
211   setupKey(cb, Replay_Key);
212   setupKey(cb, Eject_Key);
213   setupKey(cb, Random_Key);
214   setupKey(cb, Repeat_Key);
215   setupKey(cb, RepeatAB_Key);
216   setupKey(cb, Slow_Key);
217   setupKey(cb, SlowPlus_Key);
218   setupKey(cb, SlowMinus_Key);
219 }
220
221
222 void PIRCreateCommandDialog::setupInputKeys(
223   QComboBox *cb)
224 {
225   setupKey(cb, Input_Key);
226   setupKey(cb, CDInput_Key);
227   setupKey(cb, PhonoInput_Key);
228   setupKey(cb, TunerInput_Key);
229   setupKey(cb, LineInput_Key);
230   setupKey(cb, TapeInput_Key);
231   setupKey(cb, AntennaInput_Key);
232   setupKey(cb, Antenna2Input_Key);
233   setupKey(cb, PCInput_Key);
234   setupKey(cb, CompositeInput_Key);
235   setupKey(cb, Composite2Input_Key);
236   setupKey(cb, SVideoInput_Key);
237   setupKey(cb, SVideo2Input_Key);
238   setupKey(cb, ComponentInput_Key);
239   setupKey(cb, Component2Input_Key);
240   setupKey(cb, HDMIInput_Key);
241   setupKey(cb, HDMI2Input_Key);
242   setupKey(cb, HDMI3Input_Key);
243   setupKey(cb, ScartInput_Key);
244   setupKey(cb, AuxInput_Key);
245   setupKey(cb, MDInput_Key);
246   setupKey(cb, LDInput_Key);
247   setupKey(cb, DVDInput_Key);
248   setupKey(cb, VCRInput_Key);
249   setupKey(cb, HDDInput_Key);
250   setupKey(cb, CableInput_Key);
251   setupKey(cb, SatInput_Key);
252   setupKey(cb, DVRInput_Key);
253   setupKey(cb, OpticalInput_Key);
254   setupKey(cb, DigitalCoaxInput_Key);
255   setupKey(cb, USBInput_Key);
256 }
257
258
259 void PIRCreateCommandDialog::setupKey(
260   QComboBox *cb,
261   PIRKeyName keyName)
262 {
263   cb->addItem(
264     keynameMgr.getKeynameString(keyName),
265     QVariant(keyName));
266 }
267
268
269 void PIRCreateCommandDialog::init()
270 {
271   ui->commandTypeComboBox->setCurrentIndex(0);
272   ui->commandEditorStackedWidget->setCurrentIndex(0);
273 }