Advanced Settings Panel
[pierogi] / forms / pirmainform.cpp
1 #include "pirmainform.h"
2 #include "ui_pirmainform.h"
3
4 #include "mainwindow.h"
5 #include "pirkeysetmanager.h"
6
7 // Ugly global:
8 extern PIRMakeMgr makeManager;
9
10
11 PIRMainForm::PIRMainForm(
12   MainWindow *mw)
13   : QWidget(0),
14     ui(new Ui::PIRMainForm),
15     mainWindow(mw),
16     defaultID(0)
17 {
18   ui->setupUi(this);
19 }
20
21 PIRMainForm::~PIRMainForm()
22 {
23   delete ui;
24 }
25
26
27 void PIRMainForm::enableButtons(
28   const PIRKeysetManager *keyset,
29   unsigned int id)
30 {
31   // No default id:
32   defaultID = 0;
33
34   emit powerEnabled(keyset->hasKey(id, Power_Key));
35   emit volumeUpEnabled(keyset->hasKey(id, VolumeUp_Key));
36   emit volumeDownEnabled(keyset->hasKey(id, VolumeDown_Key));
37   emit channelUpEnabled(keyset->hasKey(id, ChannelUp_Key));
38   emit channelDownEnabled(keyset->hasKey(id, ChannelDown_Key));
39   emit muteEnabled(keyset->hasKey(id, Mute_Key));
40
41   emit keysetMakeChanged(makeManager.getMakeString(keyset->getMake(id)));
42   emit keysetNameChanged(keyset->getDisplayName(id));
43 }
44
45
46 void PIRMainForm::enableButtons(
47   const PIRKeysetManager *keyset,
48   unsigned int cID,
49   unsigned int dID)
50 {
51   defaultID = dID;
52
53   emit powerEnabled(keyset->hasKey(cID, Power_Key));
54   emit volumeUpEnabled(keyset->hasKey(dID, VolumeUp_Key));
55   emit volumeDownEnabled(keyset->hasKey(dID, VolumeDown_Key));
56   emit channelUpEnabled(keyset->hasKey(cID, ChannelUp_Key));
57   emit channelDownEnabled(keyset->hasKey(cID, ChannelDown_Key));
58   emit muteEnabled(keyset->hasKey(dID, Mute_Key));
59
60   emit keysetMakeChanged(makeManager.getMakeString(keyset->getMake(cID)));
61   emit keysetNameChanged(keyset->getDisplayName(cID));
62 }
63
64
65 void PIRMainForm::on_powerButton_pressed()
66 {
67   mainWindow->startRepeating(Power_Key);
68 }
69
70 void PIRMainForm::on_powerButton_released()
71 {
72   mainWindow->stopRepeating();
73 }
74
75 void PIRMainForm::on_mainChannelUpButton_pressed()
76 {
77   mainWindow->startRepeating(ChannelUp_Key);
78 }
79
80 void PIRMainForm::on_mainChannelUpButton_released()
81 {
82   mainWindow->stopRepeating();
83 }
84
85 void PIRMainForm::on_mainChannelDownButton_pressed()
86 {
87   mainWindow->startRepeating(ChannelDown_Key);
88 }
89
90 void PIRMainForm::on_mainChannelDownButton_released()
91 {
92   mainWindow->stopRepeating();
93 }
94
95 void PIRMainForm::on_mainVolumeUp_pressed()
96 {
97   if (defaultID)
98   {
99     mainWindow->startRepeating(VolumeUp_Key, defaultID);
100   }
101   else
102   {
103     mainWindow->startRepeating(VolumeUp_Key);
104   }
105 }
106
107 void PIRMainForm::on_mainVolumeUp_released()
108 {
109   mainWindow->stopRepeating();
110 }
111
112 void PIRMainForm::on_mainVolumeDownButton_pressed()
113 {
114   if (defaultID)
115   {
116     mainWindow->startRepeating(VolumeDown_Key, defaultID);
117   }
118   else
119   {
120     mainWindow->startRepeating(VolumeDown_Key);
121   }
122 }
123
124 void PIRMainForm::on_mainVolumeDownButton_released()
125 {
126   mainWindow->stopRepeating();
127 }
128
129 void PIRMainForm::on_muteButton_pressed()
130 {
131   if (defaultID)
132   {
133     mainWindow->startRepeating(Mute_Key, defaultID);
134   }
135   else
136   {
137     mainWindow->startRepeating(Mute_Key);
138   }
139 }
140
141 void PIRMainForm::on_muteButton_released()
142 {
143   mainWindow->stopRepeating();
144 }