From d724312c55dabe2c72175e88abf694880312fac4 Mon Sep 17 00:00:00 2001
From: John Pietrzak
Date: Wed, 29 Feb 2012 20:10:29 -0500
Subject: [PATCH] New GUI, many changes
This commit includes a new, more flexible GUI based around the concept of
"control panels", a new control panel for Air Conditioners, many new keysets,
and a variety of smaller bug fixes.
---
doc/about.html | 2 +-
doc/documentation.html | 148 +-
forms/piradjustform.cpp | 202 +++
forms/piradjustform.h | 83 ++
forms/piradjustform.ui | 638 +++++++++
forms/pirairconditionerform.cpp | 157 +++
forms/pirairconditionerform.h | 71 +
forms/pirairconditionerform.ui | 438 ++++++
forms/pirfavoritesform.cpp | 111 ++
forms/pirfavoritesform.h | 44 +
forms/pirfavoritesform.ui | 50 +
forms/pirinputform.cpp | 158 +++
forms/pirinputform.h | 71 +
forms/pirinputform.ui | 396 ++++++
forms/pirkeypadform.cpp | 202 +++
forms/pirkeypadform.h | 84 ++
forms/pirkeypadform.ui | 534 ++++++++
forms/pirmainform.cpp | 100 ++
forms/pirmainform.h | 57 +
forms/pirmainform.ui | 392 ++++++
forms/pirmedia2form.cpp | 202 +++
forms/pirmedia2form.h | 83 ++
forms/pirmedia2form.ui | 516 +++++++
forms/pirmediaform.cpp | 159 +++
forms/pirmediaform.h | 72 +
forms/pirmediaform.ui | 518 +++++++
forms/pirmenuform.cpp | 126 ++
forms/pirmenuform.h | 63 +
forms/pirmenuform.ui | 348 +++++
forms/pirtvform.cpp | 202 +++
forms/pirtvform.h | 83 ++
forms/pirtvform.ui | 558 ++++++++
forms/pirutilityform.cpp | 171 +++
forms/pirutilityform.h | 72 +
forms/pirutilityform.ui | 438 ++++++
keysets/aoc.cpp | 55 +
keysets/aoc.h | 18 +
keysets/arcam.cpp | 56 +
keysets/arcam.h | 18 +
keysets/dell.cpp | 51 +
keysets/dell.h | 18 +
keysets/dse.cpp | 142 ++
keysets/dse.h | 28 +
keysets/dynex.cpp | 72 +
keysets/dynex.h | 18 +
keysets/foxtel.cpp | 74 +
keysets/foxtel.h | 10 +
keysets/harmankardon.cpp | 472 +++++++
keysets/harmankardon.h | 88 ++
keysets/kathrein.cpp | 195 +++
keysets/kathrein.h | 38 +
keysets/lg.cpp | 10 +-
keysets/logitech.cpp | 76 ++
keysets/logitech.h | 10 +
keysets/panasonic.cpp | 14 +-
keysets/samsung.cpp | 20 +-
keysets/sharp.cpp | 18 +-
keysets/sony.cpp | 130 ++
keysets/sony.h | 31 +
keysets/starsat.cpp | 71 +
keysets/starsat.h | 18 +
keysets/viewsat.cpp | 92 ++
keysets/viewsat.h | 28 +
keysets/wd.cpp | 27 +
keysets/wd.h | 10 +
main.cpp | 1 -
mainwindow.cpp | 857 ++----------
mainwindow.h | 353 +----
mainwindow.ui | 2162 +-----------------------------
pierogi.pro | 73 +-
pierogi.pro.user | 10 +-
pirkeynames.h | 11 +
pirkeysetmanager.cpp | 57 +-
pirkeysetmanager.h | 8 +-
pirkeysetmetadata.cpp | 24 +-
pirkeysetmetadata.h | 11 +-
pirkeysetwidgetitem.cpp | 17 +-
pirkeysetwidgetitem.h | 10 +-
pirmakenames.cpp | 9 +
pirmakenames.h | 9 +
pirpanelmanager.cpp | 381 ++++++
pirpanelmanager.h | 98 ++
pirpanelnames.h | 19 +
pirpanelselectionform.cpp | 84 ++
pirpanelselectionform.h | 41 +
pirpanelselectionform.ui | 123 ++
pirsecondaryform.cpp | 705 ----------
pirsecondaryform.h | 230 ----
pirsecondaryform.ui | 2074 ----------------------------
pirselectdeviceform.cpp | 118 ++
pirselectdeviceform.h | 51 +
pirselectdeviceform.ui | 61 +
pirselectkeysetform.cpp | 32 +-
pirselectkeysetform.h | 4 +-
pirselectkeysetform.ui | 27 -
protocols/aiwaprotocol.cpp | 2 +-
protocols/dishprotocol.cpp | 2 +-
protocols/jvcprotocol.cpp | 2 +-
protocols/kathreinprotocol.cpp | 151 +++
protocols/kathreinprotocol.h | 36 +
protocols/nokia32protocol.cpp | 251 ++++
protocols/nokia32protocol.h | 60 +
protocols/sharpprotocol.cpp | 2 +-
protocols/sircprotocol.cpp | 2 +-
qtc_packaging/debian_fremantle/changelog | 11 +
qtc_packaging/debian_fremantle/control | 4 +-
106 files changed, 11309 insertions(+), 6331 deletions(-)
create mode 100644 forms/piradjustform.cpp
create mode 100644 forms/piradjustform.h
create mode 100644 forms/piradjustform.ui
create mode 100644 forms/pirairconditionerform.cpp
create mode 100644 forms/pirairconditionerform.h
create mode 100644 forms/pirairconditionerform.ui
create mode 100644 forms/pirfavoritesform.cpp
create mode 100644 forms/pirfavoritesform.h
create mode 100644 forms/pirfavoritesform.ui
create mode 100644 forms/pirinputform.cpp
create mode 100644 forms/pirinputform.h
create mode 100644 forms/pirinputform.ui
create mode 100644 forms/pirkeypadform.cpp
create mode 100644 forms/pirkeypadform.h
create mode 100644 forms/pirkeypadform.ui
create mode 100644 forms/pirmainform.cpp
create mode 100644 forms/pirmainform.h
create mode 100644 forms/pirmainform.ui
create mode 100644 forms/pirmedia2form.cpp
create mode 100644 forms/pirmedia2form.h
create mode 100644 forms/pirmedia2form.ui
create mode 100644 forms/pirmediaform.cpp
create mode 100644 forms/pirmediaform.h
create mode 100644 forms/pirmediaform.ui
create mode 100644 forms/pirmenuform.cpp
create mode 100644 forms/pirmenuform.h
create mode 100644 forms/pirmenuform.ui
create mode 100644 forms/pirtvform.cpp
create mode 100644 forms/pirtvform.h
create mode 100644 forms/pirtvform.ui
create mode 100644 forms/pirutilityform.cpp
create mode 100644 forms/pirutilityform.h
create mode 100644 forms/pirutilityform.ui
create mode 100644 keysets/aoc.cpp
create mode 100644 keysets/aoc.h
create mode 100644 keysets/arcam.cpp
create mode 100644 keysets/arcam.h
create mode 100644 keysets/dell.cpp
create mode 100644 keysets/dell.h
create mode 100644 keysets/dse.cpp
create mode 100644 keysets/dse.h
create mode 100644 keysets/dynex.cpp
create mode 100644 keysets/dynex.h
create mode 100644 keysets/harmankardon.cpp
create mode 100644 keysets/harmankardon.h
create mode 100644 keysets/kathrein.cpp
create mode 100644 keysets/kathrein.h
create mode 100644 keysets/starsat.cpp
create mode 100644 keysets/starsat.h
create mode 100644 keysets/viewsat.cpp
create mode 100644 keysets/viewsat.h
create mode 100644 pirpanelmanager.cpp
create mode 100644 pirpanelmanager.h
create mode 100644 pirpanelnames.h
create mode 100644 pirpanelselectionform.cpp
create mode 100644 pirpanelselectionform.h
create mode 100644 pirpanelselectionform.ui
delete mode 100644 pirsecondaryform.cpp
delete mode 100644 pirsecondaryform.h
delete mode 100644 pirsecondaryform.ui
create mode 100644 pirselectdeviceform.cpp
create mode 100644 pirselectdeviceform.h
create mode 100644 pirselectdeviceform.ui
create mode 100644 protocols/kathreinprotocol.cpp
create mode 100644 protocols/kathreinprotocol.h
create mode 100644 protocols/nokia32protocol.cpp
create mode 100644 protocols/nokia32protocol.h
diff --git a/doc/about.html b/doc/about.html
index 7cfaa7f..d534987 100644
--- a/doc/about.html
+++ b/doc/about.html
@@ -9,7 +9,7 @@ Pierogi UIRC
A Universal Infrared Remote Control
-Version 1.0 - A Fistful of Pierogis
+Version 1.1 - For a Few Pierogies More
diff --git a/doc/documentation.html b/doc/documentation.html
index a793cd1..29e7cf7 100644
--- a/doc/documentation.html
+++ b/doc/documentation.html
@@ -40,39 +40,39 @@ the features of Pierogi is provided below.
Using Pierogi
-The current Pierogi design is built around a tabbed window, each tab containing
-a group of related buttons. Depending on the keyset that has been selected,
-some of these buttons will be active, others inactive. Active buttons are ones
-which have been associated with a command in the current keyset. Pressing an
+The current Pierogi design is built around a series of control panels, with
+each panel containing a group of related buttons. Depending on the keyset
+chosen, some of these buttons will be active, others inactive. Pressing an
active button will begin repeating the associated command; letting up on the
button will stop the command.
-Keysets can be chosen using the "Select Keyset" option in the drop-down menu.
-If you have a particular keyset you use often, it can be stored in the
-"favorites" tab for quick access.
+Keysets can be chosen using either the "Select Keyset by Name" or "Select
+Keyset by Device" options in the drop-down menu. If you have a particular
+keyset you use often, it can be stored in the "favorites" panel for quick
+access.
Main Window
-Main Tab
+Main Panel
-The Main tab contains just the power, volume, mute, and channel buttons.
+
The Main panel contains just the power, volume, mute, and channel buttons.
It is intended to be a quick way to get to the most important, commonly used
-controls. The name of the current keyset is also provided in this tab.
+controls. The name of the current keyset is also provided in this panel.
-Utility Tab
+Utility Panel
-The Utility tab contains a selection of commonly useful controls, such as
+
The Utility panel contains a selection of commonly useful controls, such as
"Sleep", "Input", "Closed Captions / Subtitles", and the color buttons.
-This tab is intended to be a quick way to reach the most frequently used
+This panel is intended to be a quick way to reach the most frequently used
buttons; as such, the selection may be updated in future versions of Pierogi.
-Keypad Tab
+Keypad Panel
-This tab provides a numeric keypad and a handful of associated commands,
+
This panel provides a numeric keypad and a handful of associated commands,
intended mainly for use with televisions. The "Prev Channel" button should
take you to the previously selected channel, if any. The "Dash" button
should allow you to specify a digital subchannel, as in "16-4". The "+100"
@@ -82,82 +82,116 @@ Double Digit" button is used on very old televisions that normally expect
channels to be represented by just a single digit; pressing this should
allow you to enter a second digit.
-Menu Tab
+Menu Panel
-This tab contains buttons used to enter and exit a menu, navigate within
+
This panel contains buttons used to enter and exit a menu, navigate within
a menu, and select menu entries. The "Menu" button is meant to enter the
main system menu of a given device; "Guide" is a content-related menu available
on many modern devices; and "Disc Menu" is used to access the menu interface
provided with DVD and Blu-Ray media.
-Media Tab
+Media Panel
-Many of the most important playback commands are represented on this tab.
+
Many of the most important playback commands are represented on this panel.
"Play", "Pause", and "Stop" are the most common ones, along with "Reverse"
(often called rewind) and "Fast Forward". A variety of other less common
navigation controls are included, along with the "Eject" command.
-Favorite Tab
+Media2 Panel
-As there are numerous keysets available in Pierogi, a "Favorite" tab has
-been implemented. To add a favorite keyset to the tab, first select that
-keyset from the "Select Keyset" window. Then, navigate to the Favorite tab
-and press "Add Current Keyset".
+This is another panel of media buttons, containing a mix of commands useful
+for DVD players, VCRs, audio devices, and possibly other devices. The content
+of this page may change in the future.
+
+TV Panel
-Once you have added some keysets to the favorites list, you can tell
-Pierogi to use one by simply selecting that keyset from the list.
+This panel contains several more TV-oriented buttons, including controls for
+picture-in-picture, teletext, and some graphics and audio controls. The
+content of this page is subject to change.
-A keyset can be removed from the list by selecting it and pressing
-"Remove Selected Keyset".
+Input Panel
-Also note that the volume control keys on the top left side of the N900 can
-be used to step through the list of favorite keysets, no matter what tab
-you are currently using.
+Many devices have multiple sources for their data, whether it be television
+signals piped in over the air or through a cable, or audio from a variety of
+stereo components. It is unlikely that Pierogi will ever be able to list all
+of the various possible input buttons, but this panel contains a few of them.
+Adjust Panel
+
+
+A handful of the various audio and video adjustment buttons are placed in
+this panel.
+
-Select Keyset Window
+Air Conditioner Panel
-The Select Keyset window presents a list of all the keysets currently
-available in Pierogi. As this list is fairly long, buttons have been added
-at the top of the window that allows you to choose the make and/or type of
-device you are trying to control; all keysets not associated with the chosen
-make or type will be hidden. To use a keyset, simply select it from the list,
-and then close the window (by pressing the return arrow at the top right of
-the screen).
+
+This panel includes several controls commonly found on remotes used for
+air conditioners.
+
-Secondary Buttons Window
+Favorites Panel
-TV Tab
+
+As there are numerous keysets available in Pierogi, a "Favorites" panel has
+been implemented. To add a favorite keyset to the panel, first select that
+keyset from either the "Select Keyset by Name" or "Select Keyset by Device"
+windows. Then, navigate to the Favorites panel and press "Add Current Keyset".
+
-This page contains several more TV-oriented buttons, including controls for
-picture-in-picture, teletext, and some graphics and audio controls. The
-content of this page is subject to change.
+
+Once you have added some keysets to the favorites list, you can tell
+Pierogi to use one by simply selecting that keyset from the list. You can
+also switch between keysets on the favorites list by pressing either of the
+volume control keys on the top left side of the N900; this allows you to
+change the keyset regardless of which panel is currently visible.
+
-Media2 Tab
+
+A keyset can be removed from the list by selecting it and pressing
+"Remove Selected Keyset".
+
-This is another page of media buttons, containing a mix of commands useful
-for DVD players, VCRs, audio devices, and possibly other devices. The content
-of this page may change in the future.
-Input Tab
+Select Keyset by Name Window
-Many devices have multiple sources for their data, whether it be television
-signals piped in over the air or through a cable, or audio from a variety of
-stereo components. It is unlikely that Pierogi will ever be able to list all
-of the various possible input buttons, but this tab contains a few of them.
+The Select Keyset by Name window presents a list of all the keysets currently
+available in Pierogi. As this list is fairly long, a button has been added
+at the top of the window that allows you to filter the list by the make of the
+device you are trying to control; all keysets not associated with the chosen
+make will be hidden. To use a keyset, simply select it from the list,
+and then close the window (by pressing the return arrow at the top right of
+the screen).
-Adjust Tab
+
+Select Keyset by Device Window
+
+
+Similar to the Select by Name window, this window provides a list of the
+devices known to work with Pierogi. This list can be filtered either by
+the make or the type of device. Choosing an entry from this list will
+activate the keyset associated with the chosen device.
+
+
+
+Please note that this is nowhere near an exhaustive list of the devices
+Pierogi can control!
+
+
+
+Manage Panels Window
-A handful of the various audio and video adjustment buttons are placed on
-this tab. Actual volume controls will likely remain on the main window,
-however.
+Each of the panels available in Pierogi can be switched on or off using this
+window. Simply set a check in the panel's checkbox to make it available in
+the main window, and un-check it to make the panel go away.
+
Design Rationale
Here I collect my thoughts on the how and why of creating Pierogi.
diff --git a/forms/piradjustform.cpp b/forms/piradjustform.cpp
new file mode 100644
index 0000000..6889e78
--- /dev/null
+++ b/forms/piradjustform.cpp
@@ -0,0 +1,202 @@
+#include "piradjustform.h"
+#include "ui_piradjustform.h"
+
+#include "mainwindow.h"
+#include "pirkeysetmanager.h"
+
+PIRAdjustForm::PIRAdjustForm(MainWindow *mw) :
+ QWidget(0),
+ ui(new Ui::PIRAdjustForm),
+ mainWindow(mw)
+{
+ ui->setupUi(this);
+}
+
+PIRAdjustForm::~PIRAdjustForm()
+{
+ delete ui;
+}
+
+
+void PIRAdjustForm::enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id)
+{
+ emit bassUpEnabled(keyset->hasKey(id, BassUp_Key));
+ emit trebleUpEnabled(keyset->hasKey(id, TrebleUp_Key));
+ emit enhancedBassEnabled(keyset->hasKey(id, EnhancedBass_Key));
+ emit noiseReductionEnabled(keyset->hasKey(id, NoiseReduction_Key));
+ emit bassDownEnabled(keyset->hasKey(id, BassDown_Key));
+ emit trebleDownEnabled(keyset->hasKey(id, TrebleDown_Key));
+ emit balanceLeftEnabled(keyset->hasKey(id, BalanceLeft_Key));
+ emit balanceRightEnabled(keyset->hasKey(id, BalanceRight_Key));
+ emit surroundEnabled(keyset->hasKey(id, Surround_Key));
+ emit colorUpEnabled(keyset->hasKey(id, ColorUp_Key));
+ emit brightnessUpEnabled(keyset->hasKey(id, BrightnessUp_Key));
+ emit contrastUpEnabled(keyset->hasKey(id, ContrastUp_Key));
+ emit zoomEnabled(keyset->hasKey(id, Zoom_Key));
+ emit colorDownEnabled(keyset->hasKey(id, ColorDown_Key));
+ emit brightnessDownEnabled(keyset->hasKey(id, BrightnessDown_Key));
+ emit contrastDownEnabled(keyset->hasKey(id, ContrastDown_Key));
+}
+
+
+void PIRAdjustForm::on_bassUpButton_pressed()
+{
+ mainWindow->startRepeating(BassUp_Key);
+}
+
+void PIRAdjustForm::on_bassUpButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAdjustForm::on_trebleUpButton_pressed()
+{
+ mainWindow->startRepeating(TrebleUp_Key);
+}
+
+void PIRAdjustForm::on_trebleUpButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAdjustForm::on_enhancedBassButton_pressed()
+{
+ mainWindow->startRepeating(EnhancedBass_Key);
+}
+
+void PIRAdjustForm::on_enhancedBassButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAdjustForm::on_noiseReductionButton_pressed()
+{
+ mainWindow->startRepeating(NoiseReduction_Key);
+}
+
+void PIRAdjustForm::on_noiseReductionButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAdjustForm::on_bassDownButton_pressed()
+{
+ mainWindow->startRepeating(BassDown_Key);
+}
+
+void PIRAdjustForm::on_bassDownButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAdjustForm::on_trebleDownButton_pressed()
+{
+ mainWindow->startRepeating(TrebleDown_Key);
+}
+
+void PIRAdjustForm::on_trebleDownButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAdjustForm::on_balanceLeftButton_pressed()
+{
+ mainWindow->startRepeating(BalanceLeft_Key);
+}
+
+void PIRAdjustForm::on_balanceLeftButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAdjustForm::on_balanceRightButton_pressed()
+{
+ mainWindow->startRepeating(BalanceRight_Key);
+}
+
+void PIRAdjustForm::on_balanceRightButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAdjustForm::on_surroundButton_pressed()
+{
+ mainWindow->startRepeating(Surround_Key);
+}
+
+void PIRAdjustForm::on_surroundButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAdjustForm::on_colorUpButton_pressed()
+{
+ mainWindow->startRepeating(ColorUp_Key);
+}
+
+void PIRAdjustForm::on_colorUpButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAdjustForm::on_brightnessUpButton_pressed()
+{
+ mainWindow->startRepeating(BrightnessUp_Key);
+}
+
+void PIRAdjustForm::on_brightnessUpButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAdjustForm::on_contrastUpButton_pressed()
+{
+ mainWindow->startRepeating(ContrastUp_Key);
+}
+
+void PIRAdjustForm::on_contrastUpButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAdjustForm::on_zoomButton_pressed()
+{
+ mainWindow->startRepeating(Zoom_Key);
+}
+
+void PIRAdjustForm::on_zoomButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAdjustForm::on_colorDownButton_pressed()
+{
+ mainWindow->startRepeating(ColorDown_Key);
+}
+
+void PIRAdjustForm::on_colorDownButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAdjustForm::on_brightnessDownButton_pressed()
+{
+ mainWindow->startRepeating(BrightnessDown_Key);
+}
+
+void PIRAdjustForm::on_brightnessDownButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAdjustForm::on_contrastDownButton_pressed()
+{
+ mainWindow->startRepeating(ContrastDown_Key);
+}
+
+void PIRAdjustForm::on_contrastDownButton_released()
+{
+ mainWindow->stopRepeating();
+}
diff --git a/forms/piradjustform.h b/forms/piradjustform.h
new file mode 100644
index 0000000..043825b
--- /dev/null
+++ b/forms/piradjustform.h
@@ -0,0 +1,83 @@
+#ifndef PIRADJUSTFORM_H
+#define PIRADJUSTFORM_H
+
+#include
+
+class MainWindow;
+class PIRKeysetManager;
+
+namespace Ui {
+class PIRAdjustForm;
+}
+
+class PIRAdjustForm : public QWidget
+{
+ Q_OBJECT
+
+public:
+ PIRAdjustForm(MainWindow *mw);
+ ~PIRAdjustForm();
+
+ void enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id);
+
+signals:
+ void bassUpEnabled(bool);
+ void trebleUpEnabled(bool);
+ void enhancedBassEnabled(bool);
+ void noiseReductionEnabled(bool);
+ void bassDownEnabled(bool);
+ void trebleDownEnabled(bool);
+ void balanceLeftEnabled(bool);
+ void balanceRightEnabled(bool);
+ void surroundEnabled(bool);
+ void colorUpEnabled(bool);
+ void brightnessUpEnabled(bool);
+ void contrastUpEnabled(bool);
+ void zoomEnabled(bool);
+ void colorDownEnabled(bool);
+ void brightnessDownEnabled(bool);
+ void contrastDownEnabled(bool);
+
+private slots:
+ void on_bassUpButton_pressed();
+ void on_bassUpButton_released();
+ void on_trebleUpButton_pressed();
+ void on_trebleUpButton_released();
+ void on_enhancedBassButton_pressed();
+ void on_enhancedBassButton_released();
+ void on_noiseReductionButton_pressed();
+ void on_noiseReductionButton_released();
+ void on_bassDownButton_pressed();
+ void on_bassDownButton_released();
+ void on_trebleDownButton_pressed();
+ void on_trebleDownButton_released();
+ void on_balanceLeftButton_pressed();
+ void on_balanceLeftButton_released();
+ void on_balanceRightButton_pressed();
+ void on_balanceRightButton_released();
+ void on_colorUpButton_pressed();
+ void on_colorUpButton_released();
+ void on_brightnessUpButton_pressed();
+ void on_brightnessUpButton_released();
+ void on_contrastUpButton_pressed();
+ void on_contrastUpButton_released();
+ void on_colorDownButton_pressed();
+ void on_colorDownButton_released();
+ void on_brightnessDownButton_pressed();
+ void on_brightnessDownButton_released();
+ void on_contrastDownButton_pressed();
+ void on_contrastDownButton_released();
+ void on_surroundButton_pressed();
+ void on_surroundButton_released();
+ void on_zoomButton_pressed();
+ void on_zoomButton_released();
+
+private:
+ Ui::PIRAdjustForm *ui;
+
+ MainWindow *mainWindow;
+};
+
+#endif // PIRADJUSTFORM_H
diff --git a/forms/piradjustform.ui b/forms/piradjustform.ui
new file mode 100644
index 0000000..eee3fbb
--- /dev/null
+++ b/forms/piradjustform.ui
@@ -0,0 +1,638 @@
+
+
+ PIRAdjustForm
+
+
+
+ 0
+ 0
+ 800
+ 480
+
+
+
+ Form
+
+
+
+ 8
+
+
+ 0
+
+
+ 8
+
+
+ 8
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Bass
+
+
+
+ :/icons/arrow_top_icon&48.png:/icons/arrow_top_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Treble
+
+
+
+ :/icons/arrow_top_icon&48.png:/icons/arrow_top_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Enhanced Bass
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Noise Reduction
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Bass
+
+
+
+ :/icons/arrow_bottom_icon&48.png:/icons/arrow_bottom_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Treble
+
+
+
+ :/icons/arrow_bottom_icon&48.png:/icons/arrow_bottom_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Balance
+
+
+
+ :/icons/arrow_left_icon&48.png:/icons/arrow_left_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Balance
+
+
+
+ :/icons/arrow_right_icon&48.png:/icons/arrow_right_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Surround
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Color
+
+
+
+ :/icons/arrow_top_icon&48.png:/icons/arrow_top_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Brightness
+
+
+
+ :/icons/arrow_top_icon&48.png:/icons/arrow_top_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Contrast
+
+
+
+ :/icons/arrow_top_icon&48.png:/icons/arrow_top_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Zoom
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Color
+
+
+
+ :/icons/arrow_bottom_icon&48.png:/icons/arrow_bottom_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Brightness
+
+
+
+ :/icons/arrow_bottom_icon&48.png:/icons/arrow_bottom_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Contrast
+
+
+
+ :/icons/arrow_bottom_icon&48.png:/icons/arrow_bottom_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+
+
+
+
+
+
+
+ PIRAdjustForm
+ bassUpEnabled(bool)
+ bassUpButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 64
+
+
+
+
+ PIRAdjustForm
+ trebleUpEnabled(bool)
+ trebleUpButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 64
+
+
+
+
+ PIRAdjustForm
+ enhancedBassEnabled(bool)
+ enhancedBassButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 64
+
+
+
+
+ PIRAdjustForm
+ noiseReductionEnabled(bool)
+ noiseReductionButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 64
+
+
+
+
+ PIRAdjustForm
+ bassDownEnabled(bool)
+ bassDownButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 182
+
+
+
+
+ PIRAdjustForm
+ trebleDownEnabled(bool)
+ trebleDownButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 182
+
+
+
+
+ PIRAdjustForm
+ balanceLeftEnabled(bool)
+ balanceLeftButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 182
+
+
+
+
+ PIRAdjustForm
+ balanceRightEnabled(bool)
+ balanceRightButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 182
+
+
+
+
+ PIRAdjustForm
+ surroundEnabled(bool)
+ surroundButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 301
+
+
+
+
+ PIRAdjustForm
+ colorUpEnabled(bool)
+ colorUpButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 301
+
+
+
+
+ PIRAdjustForm
+ brightnessUpEnabled(bool)
+ brightnessUpButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 301
+
+
+
+
+ PIRAdjustForm
+ contrastUpEnabled(bool)
+ contrastUpButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 301
+
+
+
+
+ PIRAdjustForm
+ zoomEnabled(bool)
+ zoomButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 419
+
+
+
+
+ PIRAdjustForm
+ colorDownEnabled(bool)
+ colorDownButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 419
+
+
+
+
+ PIRAdjustForm
+ brightnessDownEnabled(bool)
+ brightnessDownButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 419
+
+
+
+
+ PIRAdjustForm
+ contrastDownEnabled(bool)
+ contrastDownButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 419
+
+
+
+
+
+ bassUpEnabled(bool)
+ trebleUpEnabled(bool)
+ enhancedBassEnabled(bool)
+ noiseReductionEnabled(bool)
+ bassDownEnabled(bool)
+ trebleDownEnabled(bool)
+ balanceLeftEnabled(bool)
+ balanceRightEnabled(bool)
+ surroundEnabled(bool)
+ colorUpEnabled(bool)
+ brightnessUpEnabled(bool)
+ contrastUpEnabled(bool)
+ zoomEnabled(bool)
+ colorDownEnabled(bool)
+ brightnessDownEnabled(bool)
+ contrastDownEnabled(bool)
+
+
diff --git a/forms/pirairconditionerform.cpp b/forms/pirairconditionerform.cpp
new file mode 100644
index 0000000..d2b0555
--- /dev/null
+++ b/forms/pirairconditionerform.cpp
@@ -0,0 +1,157 @@
+#include "pirairconditionerform.h"
+#include "ui_pirairconditionerform.h"
+
+#include "mainwindow.h"
+#include "pirkeysetmanager.h"
+
+PIRAirConditionerForm::PIRAirConditionerForm(MainWindow *mw) :
+ QWidget(0),
+ ui(new Ui::PIRAirConditionerForm),
+ mainWindow(mw)
+{
+ ui->setupUi(this);
+}
+
+PIRAirConditionerForm::~PIRAirConditionerForm()
+{
+ delete ui;
+}
+
+
+void PIRAirConditionerForm::enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id)
+{
+ emit oscillateEnabled(keyset->hasKey(id, Oscillate_Key));
+ emit powerEnabled(keyset->hasKey(id, Power_Key));
+ emit timerEnabled(keyset->hasKey(id, Timer_Key));
+ emit modeEnabled(keyset->hasKey(id, Mode_Key));
+ emit fanFasterEnabled(keyset->hasKey(id, FanFaster_Key));
+ emit heatEnabled(keyset->hasKey(id, Heat_Key));
+ emit fanEnabled(keyset->hasKey(id, Fan_Key));
+ emit tempUpEnabled(keyset->hasKey(id, TempUp_Key));
+ emit fanSlowerEnabled(keyset->hasKey(id, FanSlower_Key));
+ emit energySaveEnabled(keyset->hasKey(id, EnergySave_Key));
+ emit coolEnabled(keyset->hasKey(id, Cool_Key));
+ emit tempDownEnabled(keyset->hasKey(id, TempDown_Key));
+}
+
+void PIRAirConditionerForm::on_oscillateButton_pressed()
+{
+ mainWindow->startRepeating(Oscillate_Key);
+}
+
+void PIRAirConditionerForm::on_oscillateButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAirConditionerForm::on_powerButton_pressed()
+{
+ mainWindow->startRepeating(Power_Key);
+}
+
+void PIRAirConditionerForm::on_powerButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAirConditionerForm::on_timerButton_pressed()
+{
+ mainWindow->startRepeating(Timer_Key);
+}
+
+void PIRAirConditionerForm::on_timerButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAirConditionerForm::on_modeButton_pressed()
+{
+ mainWindow->startRepeating(Mode_Key);
+}
+
+void PIRAirConditionerForm::on_modeButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAirConditionerForm::on_fanFasterButton_pressed()
+{
+ mainWindow->startRepeating(FanFaster_Key);
+}
+
+void PIRAirConditionerForm::on_fanFasterButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAirConditionerForm::on_heatButton_pressed()
+{
+ mainWindow->startRepeating(Heat_Key);
+}
+
+void PIRAirConditionerForm::on_heatButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAirConditionerForm::on_fanButton_pressed()
+{
+ mainWindow->startRepeating(Fan_Key);
+}
+
+void PIRAirConditionerForm::on_fanButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAirConditionerForm::on_tempUpButton_pressed()
+{
+ mainWindow->startRepeating(TempUp_Key);
+}
+
+void PIRAirConditionerForm::on_tempUpButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAirConditionerForm::on_fanSlowerButton_pressed()
+{
+ mainWindow->startRepeating(FanSlower_Key);
+}
+
+void PIRAirConditionerForm::on_fanSlowerButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAirConditionerForm::on_energySaveButton_pressed()
+{
+ mainWindow->startRepeating(EnergySave_Key);
+}
+
+void PIRAirConditionerForm::on_energySaveButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAirConditionerForm::on_coolButton_pressed()
+{
+ mainWindow->startRepeating(Cool_Key);
+}
+
+void PIRAirConditionerForm::on_coolButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAirConditionerForm::on_tempDownButton_pressed()
+{
+ mainWindow->startRepeating(TempDown_Key);
+}
+
+void PIRAirConditionerForm::on_tempDownButton_released()
+{
+ mainWindow->stopRepeating();
+}
diff --git a/forms/pirairconditionerform.h b/forms/pirairconditionerform.h
new file mode 100644
index 0000000..698e973
--- /dev/null
+++ b/forms/pirairconditionerform.h
@@ -0,0 +1,71 @@
+#ifndef PIRAIRCONDITIONERFORM_H
+#define PIRAIRCONDITIONERFORM_H
+
+#include
+
+class MainWindow;
+class PIRKeysetManager;
+
+namespace Ui {
+class PIRAirConditionerForm;
+}
+
+class PIRAirConditionerForm : public QWidget
+{
+ Q_OBJECT
+
+public:
+ PIRAirConditionerForm(MainWindow *mw);
+ ~PIRAirConditionerForm();
+
+ void enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id);
+
+signals:
+ void oscillateEnabled(bool);
+ void powerEnabled(bool);
+ void timerEnabled(bool);
+ void modeEnabled(bool);
+ void fanFasterEnabled(bool);
+ void heatEnabled(bool);
+ void fanEnabled(bool);
+ void tempUpEnabled(bool);
+ void fanSlowerEnabled(bool);
+ void energySaveEnabled(bool);
+ void coolEnabled(bool);
+ void tempDownEnabled(bool);
+
+private slots:
+ void on_oscillateButton_pressed();
+ void on_oscillateButton_released();
+ void on_powerButton_pressed();
+ void on_powerButton_released();
+ void on_timerButton_pressed();
+ void on_timerButton_released();
+ void on_modeButton_pressed();
+ void on_modeButton_released();
+ void on_fanFasterButton_pressed();
+ void on_fanFasterButton_released();
+ void on_heatButton_pressed();
+ void on_heatButton_released();
+ void on_fanButton_pressed();
+ void on_fanButton_released();
+ void on_tempUpButton_pressed();
+ void on_tempUpButton_released();
+ void on_fanSlowerButton_pressed();
+ void on_fanSlowerButton_released();
+ void on_energySaveButton_pressed();
+ void on_energySaveButton_released();
+ void on_coolButton_pressed();
+ void on_coolButton_released();
+ void on_tempDownButton_pressed();
+ void on_tempDownButton_released();
+
+private:
+ Ui::PIRAirConditionerForm *ui;
+
+ MainWindow *mainWindow;
+};
+
+#endif // PIRAIRCONDITIONERFORM_H
diff --git a/forms/pirairconditionerform.ui b/forms/pirairconditionerform.ui
new file mode 100644
index 0000000..2627502
--- /dev/null
+++ b/forms/pirairconditionerform.ui
@@ -0,0 +1,438 @@
+
+
+ PIRAirConditionerForm
+
+
+
+ 0
+ 0
+ 800
+ 480
+
+
+
+ Form
+
+
+
+ 8
+
+
+ 0
+
+
+ 8
+
+
+ 8
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Oscillate
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Power
+
+
+
+ :/icons/on-off_icon&48.png:/icons/on-off_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Timer
+
+
+
+ :/icons/clock_icon&48.png:/icons/clock_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Mode
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Fan Slower
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ EnergySave
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Cool
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Temp Down
+
+
+
+ :/icons/arrow_bottom_icon&48.png:/icons/arrow_bottom_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Fan
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Fan Faster
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Temp Up
+
+
+
+ :/icons/arrow_top_icon&48.png:/icons/arrow_top_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Heat
+
+
+
+
+
+
+
+
+
+
+ PIRAirConditionerForm
+ oscillateEnabled(bool)
+ oscillateButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 100
+ 79
+
+
+
+
+ PIRAirConditionerForm
+ powerEnabled(bool)
+ powerButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 79
+
+
+
+
+ PIRAirConditionerForm
+ timerEnabled(bool)
+ timerButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 79
+
+
+
+
+ PIRAirConditionerForm
+ modeEnabled(bool)
+ modeButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 699
+ 79
+
+
+
+
+ PIRAirConditionerForm
+ fanFasterEnabled(bool)
+ fanFasterButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 100
+ 239
+
+
+
+
+ PIRAirConditionerForm
+ heatEnabled(bool)
+ heatButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 239
+
+
+
+
+ PIRAirConditionerForm
+ fanEnabled(bool)
+ fanButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 239
+
+
+
+
+ PIRAirConditionerForm
+ tempUpEnabled(bool)
+ tempUpButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 699
+ 239
+
+
+
+
+ PIRAirConditionerForm
+ fanSlowerEnabled(bool)
+ fanSlowerButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 100
+ 400
+
+
+
+
+ PIRAirConditionerForm
+ energySaveEnabled(bool)
+ energySaveButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 400
+
+
+
+
+ PIRAirConditionerForm
+ coolEnabled(bool)
+ coolButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 400
+
+
+
+
+ PIRAirConditionerForm
+ tempDownEnabled(bool)
+ tempDownButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 699
+ 400
+
+
+
+
+
+ oscillateEnabled(bool)
+ powerEnabled(bool)
+ timerEnabled(bool)
+ modeEnabled(bool)
+ fanFasterEnabled(bool)
+ heatEnabled(bool)
+ fanEnabled(bool)
+ tempUpEnabled(bool)
+ fanSlowerEnabled(bool)
+ energySaveEnabled(bool)
+ coolEnabled(bool)
+ tempDownEnabled(bool)
+
+
diff --git a/forms/pirfavoritesform.cpp b/forms/pirfavoritesform.cpp
new file mode 100644
index 0000000..adaa656
--- /dev/null
+++ b/forms/pirfavoritesform.cpp
@@ -0,0 +1,111 @@
+#include "pirfavoritesform.h"
+#include "ui_pirfavoritesform.h"
+
+#include "mainwindow.h"
+//#include "pirkeysetmanager.h"
+#include "pirkeysetwidgetitem.h"
+
+#include
+
+PIRFavoritesForm::PIRFavoritesForm(
+ MainWindow *mw)
+ : QWidget(0),
+ ui(new Ui::PIRFavoritesForm),
+ mainWindow(mw)
+{
+ ui->setupUi(this);
+}
+
+PIRFavoritesForm::~PIRFavoritesForm()
+{
+ delete ui;
+}
+
+
+void PIRFavoritesForm::selectPrevFavKeyset()
+{
+ int size = ui->favoriteKeysetsWidget->count();
+
+ if (size == 0)
+ {
+ // No favorites, so nothing to do!
+ return;
+ }
+
+ int position = ui->favoriteKeysetsWidget->currentRow();
+
+ --position;
+ if (position < 0)
+ {
+ position = size - 1;
+ }
+
+ ui->favoriteKeysetsWidget->setCurrentRow(
+ position,
+ QItemSelectionModel::ClearAndSelect);
+
+ mainWindow->keysetSelectionChanged(
+ ui->favoriteKeysetsWidget->currentItem());
+
+ // Tell the user about the change:
+ QMaemo5InformationBox::information(
+ 0,
+ ui->favoriteKeysetsWidget->item(position)->text());
+}
+
+
+void PIRFavoritesForm::selectNextFavKeyset()
+{
+ int size = ui->favoriteKeysetsWidget->count();
+
+ if (size == 0)
+ {
+ // No favorites, so just return:
+ return;
+ }
+
+ int position = ui->favoriteKeysetsWidget->currentRow();
+
+ ++position;
+ if (position == size)
+ {
+ position = 0;
+ }
+
+ ui->favoriteKeysetsWidget->setCurrentRow(
+ position,
+ QItemSelectionModel::ClearAndSelect);
+
+ mainWindow->keysetSelectionChanged(
+ ui->favoriteKeysetsWidget->currentItem());
+
+ // Tell the user about the change:
+ QMaemo5InformationBox::information(
+ 0,
+ ui->favoriteKeysetsWidget->item(position)->text());
+}
+
+
+void PIRFavoritesForm::addItem(
+ PIRKeysetWidgetItem *item)
+{
+ ui->favoriteKeysetsWidget->addItem(item);
+}
+
+
+QListWidget *PIRFavoritesForm::getFavoritesListWidget()
+{
+ return ui->favoriteKeysetsWidget;
+}
+
+
+void PIRFavoritesForm::on_addKeysetButton_clicked()
+{
+ mainWindow->addCurrentKeyset(ui->favoriteKeysetsWidget);
+}
+
+
+void PIRFavoritesForm::on_removeKeysetButton_clicked()
+{
+ mainWindow->removeFavoriteKeyset(ui->favoriteKeysetsWidget);
+}
diff --git a/forms/pirfavoritesform.h b/forms/pirfavoritesform.h
new file mode 100644
index 0000000..5e86b54
--- /dev/null
+++ b/forms/pirfavoritesform.h
@@ -0,0 +1,44 @@
+#ifndef PIRFAVORITESFORM_H
+#define PIRFAVORITESFORM_H
+
+#include
+
+class MainWindow;
+//class PIRKeysetManager;
+class PIRKeysetWidgetItem;
+class QListWidget;
+
+namespace Ui {
+class PIRFavoritesForm;
+}
+
+class PIRFavoritesForm : public QWidget
+{
+ Q_OBJECT
+
+public:
+// explicit PIRFavoritesForm(QWidget *parent = 0);
+ PIRFavoritesForm(
+ MainWindow *mw);
+
+ ~PIRFavoritesForm();
+
+ void selectPrevFavKeyset();
+ void selectNextFavKeyset();
+
+ void addItem(
+ PIRKeysetWidgetItem *item);
+
+ QListWidget *getFavoritesListWidget();
+
+private slots:
+ void on_addKeysetButton_clicked();
+ void on_removeKeysetButton_clicked();
+
+private:
+ Ui::PIRFavoritesForm *ui;
+
+ MainWindow *mainWindow;
+};
+
+#endif // PIRFAVORITESFORM_H
diff --git a/forms/pirfavoritesform.ui b/forms/pirfavoritesform.ui
new file mode 100644
index 0000000..8aaded9
--- /dev/null
+++ b/forms/pirfavoritesform.ui
@@ -0,0 +1,50 @@
+
+
+ PIRFavoritesForm
+
+
+
+ 0
+ 0
+ 800
+ 480
+
+
+
+ Form
+
+
+
+ 8
+
+
+ 0
+
+
+ 8
+
+
+ 8
+
+ -
+
+
+ Add Current Keyset
+
+
+
+ -
+
+
+ Remove Selected Keyset
+
+
+
+ -
+
+
+
+
+
+
+
diff --git a/forms/pirinputform.cpp b/forms/pirinputform.cpp
new file mode 100644
index 0000000..acaf555
--- /dev/null
+++ b/forms/pirinputform.cpp
@@ -0,0 +1,158 @@
+#include "pirinputform.h"
+#include "ui_pirinputform.h"
+
+#include "mainwindow.h"
+#include "pirkeysetmanager.h"
+
+PIRInputForm::PIRInputForm(MainWindow *mw)
+ : QWidget(0),
+ ui(new Ui::PIRInputForm),
+ mainWindow(mw)
+{
+ ui->setupUi(this);
+}
+
+PIRInputForm::~PIRInputForm()
+{
+ delete ui;
+}
+
+
+void PIRInputForm::enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id)
+{
+ emit cdInputEnabled(keyset->hasKey(id, CDInput_Key));
+ emit tapeInputEnabled(keyset->hasKey(id, TapeInput_Key));
+ emit phonoInputEnabled(keyset->hasKey(id, PhonoInput_Key));
+ emit tunerInputEnabled(keyset->hasKey(id, TunerInput_Key));
+ emit pcInputEnabled(keyset->hasKey(id, PCInput_Key));
+ emit hdmiInputEnabled(keyset->hasKey(id, HDMIInput_Key));
+ emit dvdInputEnabled(keyset->hasKey(id, DVDInput_Key));
+ emit vcrInputEnabled(keyset->hasKey(id, VCRInput_Key));
+ emit antennaInputEnabled(keyset->hasKey(id, AntennaInput_Key));
+ emit cableInputEnabled(keyset->hasKey(id, CableInput_Key));
+ emit satelliteInputEnabled(keyset->hasKey(id, SatInput_Key));
+ emit auxInputEnabled(keyset->hasKey(id, AuxInput_Key));
+}
+
+
+void PIRInputForm::on_cdInputButton_pressed()
+{
+ mainWindow->startRepeating(CDInput_Key);
+}
+
+void PIRInputForm::on_cdInputButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRInputForm::on_tapeInputButton_pressed()
+{
+ mainWindow->startRepeating(TapeInput_Key);
+}
+
+void PIRInputForm::on_tapeInputButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRInputForm::on_phonoInputButton_pressed()
+{
+ mainWindow->startRepeating(PhonoInput_Key);
+}
+
+void PIRInputForm::on_phonoInputButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRInputForm::on_tunerInputButton_pressed()
+{
+ mainWindow->startRepeating(TunerInput_Key);
+}
+
+void PIRInputForm::on_tunerInputButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRInputForm::on_pcInputButton_pressed()
+{
+ mainWindow->startRepeating(PCInput_Key);
+}
+
+void PIRInputForm::on_pcInputButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRInputForm::on_hdmiInputButton_pressed()
+{
+ mainWindow->startRepeating(HDMIInput_Key);
+}
+
+void PIRInputForm::on_hdmiInputButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRInputForm::on_dvdInputButton_pressed()
+{
+ mainWindow->startRepeating(DVDInput_Key);
+}
+
+void PIRInputForm::on_dvdInputButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRInputForm::on_vcrInputButton_pressed()
+{
+ mainWindow->startRepeating(VCRInput_Key);
+}
+
+void PIRInputForm::on_vcrInputButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRInputForm::on_antennaInputButton_pressed()
+{
+ mainWindow->startRepeating(AntennaInput_Key);
+}
+
+void PIRInputForm::on_antennaInputButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRInputForm::on_cableInputButton_pressed()
+{
+ mainWindow->startRepeating(CableInput_Key);
+}
+
+void PIRInputForm::on_cableInputButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRInputForm::on_satelliteInputButton_pressed()
+{
+ mainWindow->startRepeating(SatInput_Key);
+}
+
+void PIRInputForm::on_satelliteInputButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRInputForm::on_auxInputButton_pressed()
+{
+ mainWindow->startRepeating(AuxInput_Key);
+}
+
+void PIRInputForm::on_auxInputButton_released()
+{
+ mainWindow->stopRepeating();
+}
diff --git a/forms/pirinputform.h b/forms/pirinputform.h
new file mode 100644
index 0000000..e87e95d
--- /dev/null
+++ b/forms/pirinputform.h
@@ -0,0 +1,71 @@
+#ifndef PIRINPUTFORM_H
+#define PIRINPUTFORM_H
+
+#include
+
+class MainWindow;
+class PIRKeysetManager;
+
+namespace Ui {
+class PIRInputForm;
+}
+
+class PIRInputForm : public QWidget
+{
+ Q_OBJECT
+
+public:
+ PIRInputForm(MainWindow *mw);
+ ~PIRInputForm();
+
+ void enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id);
+
+signals:
+ void cdInputEnabled(bool);
+ void tapeInputEnabled(bool);
+ void phonoInputEnabled(bool);
+ void tunerInputEnabled(bool);
+ void pcInputEnabled(bool);
+ void hdmiInputEnabled(bool);
+ void dvdInputEnabled(bool);
+ void vcrInputEnabled(bool);
+ void antennaInputEnabled(bool);
+ void cableInputEnabled(bool);
+ void satelliteInputEnabled(bool);
+ void auxInputEnabled(bool);
+
+private slots:
+ void on_cdInputButton_pressed();
+ void on_cdInputButton_released();
+ void on_tapeInputButton_pressed();
+ void on_tapeInputButton_released();
+ void on_phonoInputButton_pressed();
+ void on_phonoInputButton_released();
+ void on_tunerInputButton_pressed();
+ void on_tunerInputButton_released();
+ void on_pcInputButton_pressed();
+ void on_pcInputButton_released();
+ void on_hdmiInputButton_pressed();
+ void on_hdmiInputButton_released();
+ void on_dvdInputButton_pressed();
+ void on_dvdInputButton_released();
+ void on_vcrInputButton_pressed();
+ void on_vcrInputButton_released();
+ void on_antennaInputButton_pressed();
+ void on_antennaInputButton_released();
+ void on_cableInputButton_pressed();
+ void on_cableInputButton_released();
+ void on_satelliteInputButton_pressed();
+ void on_satelliteInputButton_released();
+ void on_auxInputButton_pressed();
+ void on_auxInputButton_released();
+
+private:
+ Ui::PIRInputForm *ui;
+
+ MainWindow *mainWindow;
+};
+
+#endif // PIRINPUTFORM_H
diff --git a/forms/pirinputform.ui b/forms/pirinputform.ui
new file mode 100644
index 0000000..00fac49
--- /dev/null
+++ b/forms/pirinputform.ui
@@ -0,0 +1,396 @@
+
+
+ PIRInputForm
+
+
+
+ 0
+ 0
+ 800
+ 480
+
+
+
+ Form
+
+
+
+ 8
+
+
+ 0
+
+
+ 8
+
+
+ 8
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ CD
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Tape
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Phono
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Tuner
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ PC
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ HDMI
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ DVD
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ VCR
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Antenna
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Cable
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Satellite
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Aux
+
+
+
+
+
+
+
+
+ PIRInputForm
+ cdInputEnabled(bool)
+ cdInputButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 83
+
+
+
+
+ PIRInputForm
+ tapeInputEnabled(bool)
+ tapeInputButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 83
+
+
+
+
+ PIRInputForm
+ phonoInputEnabled(bool)
+ phonoInputButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 83
+
+
+
+
+ PIRInputForm
+ tunerInputEnabled(bool)
+ tunerInputButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 83
+
+
+
+
+ PIRInputForm
+ pcInputEnabled(bool)
+ pcInputButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 241
+
+
+
+
+ PIRInputForm
+ hdmiInputEnabled(bool)
+ hdmiInputButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 241
+
+
+
+
+ PIRInputForm
+ dvdInputEnabled(bool)
+ dvdInputButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 241
+
+
+
+
+ PIRInputForm
+ vcrInputEnabled(bool)
+ vcrInputButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 241
+
+
+
+
+ PIRInputForm
+ antennaInputEnabled(bool)
+ antennaInputButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 399
+
+
+
+
+ PIRInputForm
+ cableInputEnabled(bool)
+ cableInputButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 399
+
+
+
+
+ PIRInputForm
+ satelliteInputEnabled(bool)
+ satelliteInputButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 399
+
+
+
+
+ PIRInputForm
+ auxInputEnabled(bool)
+ auxInputButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 399
+
+
+
+
+
+ cdInputEnabled(bool)
+ tapeInputEnabled(bool)
+ phonoInputEnabled(bool)
+ tunerInputEnabled(bool)
+ pcInputEnabled(bool)
+ hdmiInputEnabled(bool)
+ dvdInputEnabled(bool)
+ vcrInputEnabled(bool)
+ antennaInputEnabled(bool)
+ cableInputEnabled(bool)
+ satelliteInputEnabled(bool)
+ auxInputEnabled(bool)
+
+
diff --git a/forms/pirkeypadform.cpp b/forms/pirkeypadform.cpp
new file mode 100644
index 0000000..db03cd0
--- /dev/null
+++ b/forms/pirkeypadform.cpp
@@ -0,0 +1,202 @@
+#include "pirkeypadform.h"
+#include "ui_pirkeypadform.h"
+
+#include "mainwindow.h"
+#include "pirkeysetmanager.h"
+
+PIRKeypadForm::PIRKeypadForm(MainWindow *mw) :
+ QWidget(0),
+ ui(new Ui::PIRKeypadForm),
+ mainWindow(mw)
+{
+ ui->setupUi(this);
+}
+
+PIRKeypadForm::~PIRKeypadForm()
+{
+ delete ui;
+}
+
+
+void PIRKeypadForm::enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id)
+{
+ emit zeroEnabled(keyset->hasKey(id, Zero_Key));
+ emit oneEnabled(keyset->hasKey(id, One_Key));
+ emit twoEnabled(keyset->hasKey(id, Two_Key));
+ emit threeEnabled(keyset->hasKey(id, Three_Key));
+ emit fourEnabled(keyset->hasKey(id, Four_Key));
+ emit fiveEnabled(keyset->hasKey(id, Five_Key));
+ emit sixEnabled(keyset->hasKey(id, Six_Key));
+ emit sevenEnabled(keyset->hasKey(id, Seven_Key));
+ emit eightEnabled(keyset->hasKey(id, Eight_Key));
+ emit nineEnabled(keyset->hasKey(id, Nine_Key));
+ emit enterEnabled(keyset->hasKey(id, Enter_Key));
+ emit clearEnabled(keyset->hasKey(id, Clear_Key));
+ emit dashEnabled(keyset->hasKey(id, Dash_Key));
+ emit plusOneHundredEnabled(keyset->hasKey(id, PlusOneHundred_Key));
+ emit doubleDigitEnabled(keyset->hasKey(id, DoubleDigit_Key));
+ emit prevChannelEnabled(keyset->hasKey(id, PrevChannel_Key));
+}
+
+
+void PIRKeypadForm::on_oneButton_pressed()
+{
+ mainWindow->startRepeating(One_Key);
+}
+
+void PIRKeypadForm::on_oneButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRKeypadForm::on_twoButton_pressed()
+{
+ mainWindow->startRepeating(Two_Key);
+}
+
+void PIRKeypadForm::on_twoButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRKeypadForm::on_threeButton_pressed()
+{
+ mainWindow->startRepeating(Three_Key);
+}
+
+void PIRKeypadForm::on_threeButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRKeypadForm::on_fourButton_pressed()
+{
+ mainWindow->startRepeating(Four_Key);
+}
+
+void PIRKeypadForm::on_fourButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRKeypadForm::on_fiveButton_pressed()
+{
+ mainWindow->startRepeating(Five_Key);
+}
+
+void PIRKeypadForm::on_fiveButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRKeypadForm::on_sixButton_pressed()
+{
+ mainWindow->startRepeating(Six_Key);
+}
+
+void PIRKeypadForm::on_sixButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRKeypadForm::on_sevenButton_pressed()
+{
+ mainWindow->startRepeating(Seven_Key);
+}
+
+void PIRKeypadForm::on_sevenButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRKeypadForm::on_eightButton_pressed()
+{
+ mainWindow->startRepeating(Eight_Key);
+}
+
+void PIRKeypadForm::on_eightButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRKeypadForm::on_nineButton_pressed()
+{
+ mainWindow->startRepeating(Nine_Key);
+}
+
+void PIRKeypadForm::on_nineButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRKeypadForm::on_zeroButton_pressed()
+{
+ mainWindow->startRepeating(Zero_Key);
+}
+
+void PIRKeypadForm::on_zeroButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRKeypadForm::on_enterButton_pressed()
+{
+ mainWindow->startRepeating(Enter_Key);
+}
+
+void PIRKeypadForm::on_enterButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRKeypadForm::on_clearButton_pressed()
+{
+ mainWindow->startRepeating(Clear_Key);
+}
+
+void PIRKeypadForm::on_clearButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRKeypadForm::on_prevChannelButton_pressed()
+{
+ mainWindow->startRepeating(PrevChannel_Key);
+}
+
+void PIRKeypadForm::on_prevChannelButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRKeypadForm::on_plusOneHundredButton_pressed()
+{
+ mainWindow->startRepeating(PlusOneHundred_Key);
+}
+
+void PIRKeypadForm::on_plusOneHundredButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRKeypadForm::on_dashButton_pressed()
+{
+ mainWindow->startRepeating(Dash_Key);
+}
+
+void PIRKeypadForm::on_dashButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRKeypadForm::on_doubleDigitButton_pressed()
+{
+ mainWindow->startRepeating(DoubleDigit_Key);
+}
+
+void PIRKeypadForm::on_doubleDigitButton_released()
+{
+ mainWindow->stopRepeating();
+}
diff --git a/forms/pirkeypadform.h b/forms/pirkeypadform.h
new file mode 100644
index 0000000..7fec8b2
--- /dev/null
+++ b/forms/pirkeypadform.h
@@ -0,0 +1,84 @@
+#ifndef PIRKEYPADFORM_H
+#define PIRKEYPADFORM_H
+
+#include
+
+class MainWindow;
+class PIRKeysetManager;
+
+namespace Ui {
+class PIRKeypadForm;
+}
+
+class PIRKeypadForm : public QWidget
+{
+ Q_OBJECT
+
+public:
+// explicit PIRKeypadForm(QWidget *parent = 0);
+ PIRKeypadForm(MainWindow *mw);
+ ~PIRKeypadForm();
+
+ void enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id);
+
+signals:
+ void zeroEnabled(bool);
+ void oneEnabled(bool);
+ void twoEnabled(bool);
+ void threeEnabled(bool);
+ void fourEnabled(bool);
+ void fiveEnabled(bool);
+ void sixEnabled(bool);
+ void sevenEnabled(bool);
+ void eightEnabled(bool);
+ void nineEnabled(bool);
+ void enterEnabled(bool);
+ void clearEnabled(bool);
+ void dashEnabled(bool);
+ void plusOneHundredEnabled(bool);
+ void doubleDigitEnabled(bool);
+ void prevChannelEnabled(bool);
+
+private slots:
+ void on_oneButton_pressed();
+ void on_oneButton_released();
+ void on_twoButton_pressed();
+ void on_twoButton_released();
+ void on_threeButton_pressed();
+ void on_threeButton_released();
+ void on_fourButton_pressed();
+ void on_fourButton_released();
+ void on_fiveButton_pressed();
+ void on_fiveButton_released();
+ void on_sixButton_pressed();
+ void on_sixButton_released();
+ void on_sevenButton_pressed();
+ void on_sevenButton_released();
+ void on_eightButton_pressed();
+ void on_eightButton_released();
+ void on_nineButton_pressed();
+ void on_nineButton_released();
+ void on_zeroButton_pressed();
+ void on_zeroButton_released();
+ void on_enterButton_pressed();
+ void on_enterButton_released();
+ void on_clearButton_pressed();
+ void on_clearButton_released();
+ void on_prevChannelButton_pressed();
+ void on_prevChannelButton_released();
+ void on_plusOneHundredButton_pressed();
+ void on_plusOneHundredButton_released();
+ void on_dashButton_pressed();
+ void on_dashButton_released();
+ void on_doubleDigitButton_pressed();
+ void on_doubleDigitButton_released();
+
+private:
+ Ui::PIRKeypadForm *ui;
+
+ MainWindow *mainWindow;
+};
+
+#endif // PIRKEYPADFORM_H
diff --git a/forms/pirkeypadform.ui b/forms/pirkeypadform.ui
new file mode 100644
index 0000000..825519a
--- /dev/null
+++ b/forms/pirkeypadform.ui
@@ -0,0 +1,534 @@
+
+
+ PIRKeypadForm
+
+
+
+ 0
+ 0
+ 800
+ 480
+
+
+
+ Form
+
+
+
+ 8
+
+
+ 0
+
+
+ 8
+
+
+ 8
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 1
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 2
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 3
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Dash
+
+
+
+ :/icons/dash.png:/icons/dash.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 4
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 5
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 6
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ +100
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 7
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 8
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 9
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ -/-- Double Digit
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Clear
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ 0
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Enter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Prev Channel
+
+
+
+
+
+
+
+
+
+
+ PIRKeypadForm
+ oneEnabled(bool)
+ oneButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 64
+
+
+
+
+ PIRKeypadForm
+ twoEnabled(bool)
+ twoButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 64
+
+
+
+
+ PIRKeypadForm
+ threeEnabled(bool)
+ threeButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 64
+
+
+
+
+ PIRKeypadForm
+ fourEnabled(bool)
+ fourButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 182
+
+
+
+
+ PIRKeypadForm
+ fiveEnabled(bool)
+ fiveButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 182
+
+
+
+
+ PIRKeypadForm
+ sixEnabled(bool)
+ sixButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 182
+
+
+
+
+ PIRKeypadForm
+ sevenEnabled(bool)
+ sevenButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 301
+
+
+
+
+ PIRKeypadForm
+ eightEnabled(bool)
+ eightButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 301
+
+
+
+
+ PIRKeypadForm
+ nineEnabled(bool)
+ nineButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 301
+
+
+
+
+ PIRKeypadForm
+ zeroEnabled(bool)
+ zeroButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 419
+
+
+
+
+ PIRKeypadForm
+ clearEnabled(bool)
+ clearButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 419
+
+
+
+
+ PIRKeypadForm
+ enterEnabled(bool)
+ enterButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 419
+
+
+
+
+ PIRKeypadForm
+ dashEnabled(bool)
+ dashButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 64
+
+
+
+
+ PIRKeypadForm
+ plusOneHundredEnabled(bool)
+ plusOneHundredButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 182
+
+
+
+
+ PIRKeypadForm
+ doubleDigitEnabled(bool)
+ doubleDigitButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 301
+
+
+
+
+ PIRKeypadForm
+ prevChannelEnabled(bool)
+ prevChannelButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 419
+
+
+
+
+
+ oneEnabled(bool)
+ twoEnabled(bool)
+ threeEnabled(bool)
+ fourEnabled(bool)
+ fiveEnabled(bool)
+ sixEnabled(bool)
+ sevenEnabled(bool)
+ eightEnabled(bool)
+ nineEnabled(bool)
+ zeroEnabled(bool)
+ clearEnabled(bool)
+ enterEnabled(bool)
+ dashEnabled(bool)
+ plusOneHundredEnabled(bool)
+ doubleDigitEnabled(bool)
+ prevChannelEnabled(bool)
+
+
diff --git a/forms/pirmainform.cpp b/forms/pirmainform.cpp
new file mode 100644
index 0000000..6fcc2ea
--- /dev/null
+++ b/forms/pirmainform.cpp
@@ -0,0 +1,100 @@
+#include "pirmainform.h"
+#include "ui_pirmainform.h"
+
+#include "mainwindow.h"
+#include "pirkeysetmanager.h"
+
+// Ugly global:
+extern PIRMakeMgr makeManager;
+
+
+PIRMainForm::PIRMainForm(
+ MainWindow *mw)
+ : QWidget(0),
+ ui(new Ui::PIRMainForm),
+ mainWindow(mw)
+{
+ ui->setupUi(this);
+}
+
+PIRMainForm::~PIRMainForm()
+{
+ delete ui;
+}
+
+
+void PIRMainForm::enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id)
+{
+ emit powerEnabled(keyset->hasKey(id, Power_Key));
+ emit volumeUpEnabled(keyset->hasKey(id, VolumeUp_Key));
+ emit volumeDownEnabled(keyset->hasKey(id, VolumeDown_Key));
+ emit channelUpEnabled(keyset->hasKey(id, ChannelUp_Key));
+ emit channelDownEnabled(keyset->hasKey(id, ChannelDown_Key));
+ emit muteEnabled(keyset->hasKey(id, Mute_Key));
+
+ emit keysetMakeChanged(makeManager.getMakeString(keyset->getMake(id)));
+ emit keysetNameChanged(keyset->getDisplayName(id));
+}
+
+
+void PIRMainForm::on_powerButton_pressed()
+{
+ mainWindow->startRepeating(Power_Key);
+}
+
+void PIRMainForm::on_powerButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMainForm::on_mainChannelUpButton_pressed()
+{
+ mainWindow->startRepeating(ChannelUp_Key);
+}
+
+void PIRMainForm::on_mainChannelUpButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMainForm::on_mainChannelDownButton_pressed()
+{
+ mainWindow->startRepeating(ChannelDown_Key);
+}
+
+void PIRMainForm::on_mainChannelDownButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMainForm::on_mainVolumeUp_pressed()
+{
+ mainWindow->startRepeating(VolumeUp_Key);
+}
+
+void PIRMainForm::on_mainVolumeUp_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMainForm::on_mainVolumeDownButton_pressed()
+{
+ mainWindow->startRepeating(VolumeDown_Key);
+}
+
+void PIRMainForm::on_mainVolumeDownButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMainForm::on_muteButton_pressed()
+{
+ mainWindow->startRepeating(Mute_Key);
+}
+
+void PIRMainForm::on_muteButton_released()
+{
+ mainWindow->stopRepeating();
+}
diff --git a/forms/pirmainform.h b/forms/pirmainform.h
new file mode 100644
index 0000000..125ed17
--- /dev/null
+++ b/forms/pirmainform.h
@@ -0,0 +1,57 @@
+#ifndef PIRMAINFORM_H
+#define PIRMAINFORM_H
+
+#include
+
+class MainWindow;
+class PIRKeysetManager;
+
+namespace Ui {
+class PIRMainForm;
+}
+
+class PIRMainForm : public QWidget
+{
+ Q_OBJECT
+
+public:
+// explicit PIRMainForm(QWidget *parent = 0);
+ PIRMainForm(MainWindow *mw);
+ ~PIRMainForm();
+
+ void enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id);
+
+signals:
+ void powerEnabled(bool);
+ void volumeUpEnabled(bool);
+ void volumeDownEnabled(bool);
+ void channelUpEnabled(bool);
+ void channelDownEnabled(bool);
+ void muteEnabled(bool);
+
+ void keysetMakeChanged(QString);
+ void keysetNameChanged(QString);
+
+private slots:
+ void on_powerButton_pressed();
+ void on_powerButton_released();
+ void on_mainChannelUpButton_pressed();
+ void on_mainChannelUpButton_released();
+ void on_mainChannelDownButton_pressed();
+ void on_mainChannelDownButton_released();
+ void on_mainVolumeUp_pressed();
+ void on_mainVolumeUp_released();
+ void on_mainVolumeDownButton_pressed();
+ void on_mainVolumeDownButton_released();
+ void on_muteButton_pressed();
+ void on_muteButton_released();
+
+private:
+ Ui::PIRMainForm *ui;
+
+ MainWindow *mainWindow;
+};
+
+#endif // PIRMAINFORM_H
diff --git a/forms/pirmainform.ui b/forms/pirmainform.ui
new file mode 100644
index 0000000..d27c99b
--- /dev/null
+++ b/forms/pirmainform.ui
@@ -0,0 +1,392 @@
+
+
+ PIRMainForm
+
+
+
+ 0
+ 0
+ 800
+ 480
+
+
+
+ Form
+
+
+
+ 8
+
+
+ 0
+
+
+ 8
+
+
+ 8
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Channel Up
+
+
+
+ :/icons/br_up_icon&48.png:/icons/br_up_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+ -1
+
+
+ 0
+
+
-
+
+
+
+ 0
+ 0
+
+
+
+ Qt::LeftToRight
+
+
+ Power
+
+
+
+ :/icons/on-off_icon&48.png:/icons/on-off_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Minimum
+
+
+
+ 20
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Keyset Make
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Keyset Name
+
+
+ Qt::AlignCenter
+
+
+
+ -
+
+
+ Qt::Vertical
+
+
+ QSizePolicy::Minimum
+
+
+
+ 20
+ 20
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Mute
+
+
+
+ :/icons/sound_mute_icon&48.png:/icons/sound_mute_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Qt::LeftToRight
+
+
+ Volume Up
+
+
+
+ :/icons/sound_high_icon&48.png:/icons/sound_high_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Channel Down
+
+
+
+ :/icons/br_down_icon&48.png:/icons/br_down_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Volume Down
+
+
+
+ :/icons/sound_low_icon&48.png:/icons/sound_low_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+
+
+
+
+
+
+
+ PIRMainForm
+ channelUpEnabled(bool)
+ mainChannelUpButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 135
+ 123
+
+
+
+
+ PIRMainForm
+ channelDownEnabled(bool)
+ mainChannelDownButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 135
+ 360
+
+
+
+
+ PIRMainForm
+ muteEnabled(bool)
+ muteButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 399
+ 383
+
+
+
+
+ PIRMainForm
+ powerEnabled(bool)
+ powerButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 399
+ 96
+
+
+
+
+ PIRMainForm
+ volumeUpEnabled(bool)
+ mainVolumeUp
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 664
+ 123
+
+
+
+
+ PIRMainForm
+ volumeDownEnabled(bool)
+ mainVolumeDownButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 664
+ 360
+
+
+
+
+ PIRMainForm
+ keysetMakeChanged(QString)
+ makeLabel
+ setText(QString)
+
+
+ 399
+ 239
+
+
+ 399
+ 224
+
+
+
+
+ PIRMainForm
+ keysetNameChanged(QString)
+ nameLabel
+ setText(QString)
+
+
+ 399
+ 239
+
+
+ 399
+ 250
+
+
+
+
+
+ channelUpEnabled(bool)
+ channelDownEnabled(bool)
+ powerEnabled(bool)
+ muteEnabled(bool)
+ volumeUpEnabled(bool)
+ volumeDownEnabled(bool)
+ keysetMakeChanged(QString)
+ keysetNameChanged(QString)
+
+
diff --git a/forms/pirmedia2form.cpp b/forms/pirmedia2form.cpp
new file mode 100644
index 0000000..0020cd5
--- /dev/null
+++ b/forms/pirmedia2form.cpp
@@ -0,0 +1,202 @@
+#include "pirmedia2form.h"
+#include "ui_pirmedia2form.h"
+
+#include "mainwindow.h"
+#include "pirkeysetmanager.h"
+
+PIRMedia2Form::PIRMedia2Form(MainWindow *mw)
+ : QWidget(0),
+ ui(new Ui::PIRMedia2Form),
+ mainWindow(mw)
+{
+ ui->setupUi(this);
+}
+
+PIRMedia2Form::~PIRMedia2Form()
+{
+ delete ui;
+}
+
+
+void PIRMedia2Form::enableButtons(
+ const PIRKeysetManager *km,
+ unsigned int id)
+{
+ emit tunerBandEnabled(km->hasKey(id, TunerBand_Key));
+ emit programEnabled(km->hasKey(id, Program_Key));
+ emit memoryEnabled(km->hasKey(id, Memory_Key));
+ emit callEnabled(km->hasKey(id, Call_Key));
+ emit autoTrackingEnabled(km->hasKey(id, AutoTracking_Key));
+ emit trackingMinusEnabled(km->hasKey(id, TrackingMinus_Key));
+ emit trackingPlusEnabled(km->hasKey(id, TrackingPlus_Key));
+ emit vhsSpeedEnabled(km->hasKey(id, VHSSpeed_Key));
+ emit slowEnabled(km->hasKey(id, Slow_Key));
+ emit slowMinusEnabled(km->hasKey(id, SlowMinus_Key));
+ emit slowPlusEnabled(km->hasKey(id, SlowPlus_Key));
+ emit nextDiscEnabled(km->hasKey(id, NextDisc_Key));
+ emit repeatEnabled(km->hasKey(id, Repeat_Key));
+ emit repeatABEnabled(km->hasKey(id, RepeatAB_Key));
+ emit randomEnabled(km->hasKey(id, Random_Key));
+ emit discTitleEnabled(km->hasKey(id, DiscTitle_Key));
+}
+
+
+void PIRMedia2Form::on_tunerBandButton_pressed()
+{
+ mainWindow->startRepeating(TunerBand_Key);
+}
+
+void PIRMedia2Form::on_tunerBandButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMedia2Form::on_programButton_pressed()
+{
+ mainWindow->startRepeating(Program_Key);
+}
+
+void PIRMedia2Form::on_programButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMedia2Form::on_memoryButton_pressed()
+{
+ mainWindow->startRepeating(Memory_Key);
+}
+
+void PIRMedia2Form::on_memoryButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMedia2Form::on_callButton_pressed()
+{
+ mainWindow->startRepeating(Call_Key);
+}
+
+void PIRMedia2Form::on_callButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMedia2Form::on_autoTrackingButton_pressed()
+{
+ mainWindow->startRepeating(AutoTracking_Key);
+}
+
+void PIRMedia2Form::on_autoTrackingButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMedia2Form::on_trackingMinusButton_pressed()
+{
+ mainWindow->startRepeating(TrackingMinus_Key);
+}
+
+void PIRMedia2Form::on_trackingMinusButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMedia2Form::on_trackingPlusButton_pressed()
+{
+ mainWindow->startRepeating(TrackingPlus_Key);
+}
+
+void PIRMedia2Form::on_trackingPlusButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMedia2Form::on_vhsSpeedButton_pressed()
+{
+ mainWindow->startRepeating(VHSSpeed_Key);
+}
+
+void PIRMedia2Form::on_vhsSpeedButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMedia2Form::on_slowButton_pressed()
+{
+ mainWindow->startRepeating(Slow_Key);
+}
+
+void PIRMedia2Form::on_slowButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMedia2Form::on_slowMinusButton_pressed()
+{
+ mainWindow->startRepeating(SlowMinus_Key);
+}
+
+void PIRMedia2Form::on_slowMinusButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMedia2Form::on_slowPlusButton_pressed()
+{
+ mainWindow->startRepeating(SlowPlus_Key);
+}
+
+void PIRMedia2Form::on_slowPlusButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMedia2Form::on_discSelectButton_pressed()
+{
+ mainWindow->startRepeating(NextDisc_Key);
+}
+
+void PIRMedia2Form::on_discSelectButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMedia2Form::on_repeatButton_pressed()
+{
+ mainWindow->startRepeating(Repeat_Key);
+}
+
+void PIRMedia2Form::on_repeatButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMedia2Form::on_repeatABButton_pressed()
+{
+ mainWindow->startRepeating(RepeatAB_Key);
+}
+
+void PIRMedia2Form::on_repeatABButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMedia2Form::on_randomButton_pressed()
+{
+ mainWindow->startRepeating(Random_Key);
+}
+
+void PIRMedia2Form::on_randomButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMedia2Form::on_discTitleButton_pressed()
+{
+ mainWindow->startRepeating(DiscTitle_Key);
+}
+
+void PIRMedia2Form::on_discTitleButton_released()
+{
+ mainWindow->stopRepeating();
+}
diff --git a/forms/pirmedia2form.h b/forms/pirmedia2form.h
new file mode 100644
index 0000000..f233b5e
--- /dev/null
+++ b/forms/pirmedia2form.h
@@ -0,0 +1,83 @@
+#ifndef PIRMEDIA2FORM_H
+#define PIRMEDIA2FORM_H
+
+#include
+
+class MainWindow;
+class PIRKeysetManager;
+
+namespace Ui {
+class PIRMedia2Form;
+}
+
+class PIRMedia2Form : public QWidget
+{
+ Q_OBJECT
+
+public:
+ PIRMedia2Form(MainWindow *mw);
+ ~PIRMedia2Form();
+
+ void enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id);
+
+signals:
+ void tunerBandEnabled(bool);
+ void programEnabled(bool);
+ void memoryEnabled(bool);
+ void callEnabled(bool);
+ void autoTrackingEnabled(bool);
+ void trackingMinusEnabled(bool);
+ void trackingPlusEnabled(bool);
+ void vhsSpeedEnabled(bool);
+ void slowEnabled(bool);
+ void slowMinusEnabled(bool);
+ void slowPlusEnabled(bool);
+ void nextDiscEnabled(bool);
+ void repeatEnabled(bool);
+ void repeatABEnabled(bool);
+ void randomEnabled(bool);
+ void discTitleEnabled(bool);
+
+private slots:
+ void on_tunerBandButton_pressed();
+ void on_tunerBandButton_released();
+ void on_programButton_pressed();
+ void on_programButton_released();
+ void on_memoryButton_pressed();
+ void on_memoryButton_released();
+ void on_callButton_pressed();
+ void on_callButton_released();
+ void on_autoTrackingButton_pressed();
+ void on_autoTrackingButton_released();
+ void on_trackingMinusButton_pressed();
+ void on_trackingMinusButton_released();
+ void on_trackingPlusButton_pressed();
+ void on_trackingPlusButton_released();
+ void on_vhsSpeedButton_pressed();
+ void on_vhsSpeedButton_released();
+ void on_slowButton_pressed();
+ void on_slowButton_released();
+ void on_slowMinusButton_pressed();
+ void on_slowMinusButton_released();
+ void on_slowPlusButton_pressed();
+ void on_slowPlusButton_released();
+ void on_discSelectButton_pressed();
+ void on_discSelectButton_released();
+ void on_repeatButton_pressed();
+ void on_repeatButton_released();
+ void on_repeatABButton_pressed();
+ void on_repeatABButton_released();
+ void on_randomButton_pressed();
+ void on_randomButton_released();
+ void on_discTitleButton_pressed();
+ void on_discTitleButton_released();
+
+private:
+ Ui::PIRMedia2Form *ui;
+
+ MainWindow *mainWindow;
+};
+
+#endif // PIRMEDIA2FORM_H
diff --git a/forms/pirmedia2form.ui b/forms/pirmedia2form.ui
new file mode 100644
index 0000000..f4a43ef
--- /dev/null
+++ b/forms/pirmedia2form.ui
@@ -0,0 +1,516 @@
+
+
+ PIRMedia2Form
+
+
+
+ 0
+ 0
+ 800
+ 480
+
+
+
+ Form
+
+
+
+ 8
+
+
+ 0
+
+
+ 8
+
+
+ 8
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Tuner Band
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Auto Tracking
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Program
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Tracking -
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Memory
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Tracking +
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Call
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ SP/LP/EP
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Disc Select
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Slow
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Repeat
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Slow -
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Repeat AB
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Slow +
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Random
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Disc Title
+
+
+
+
+
+
+
+
+ PIRMedia2Form
+ tunerBandEnabled(bool)
+ tunerBandButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 64
+
+
+
+
+ PIRMedia2Form
+ programEnabled(bool)
+ programButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 64
+
+
+
+
+ PIRMedia2Form
+ memoryEnabled(bool)
+ memoryButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 64
+
+
+
+
+ PIRMedia2Form
+ callEnabled(bool)
+ callButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 64
+
+
+
+
+ PIRMedia2Form
+ autoTrackingEnabled(bool)
+ autoTrackingButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 182
+
+
+
+
+ PIRMedia2Form
+ trackingMinusEnabled(bool)
+ trackingMinusButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 182
+
+
+
+
+ PIRMedia2Form
+ trackingPlusEnabled(bool)
+ trackingPlusButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 182
+
+
+
+
+ PIRMedia2Form
+ vhsSpeedEnabled(bool)
+ vhsSpeedButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 182
+
+
+
+
+ PIRMedia2Form
+ slowEnabled(bool)
+ slowButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 301
+
+
+
+
+ PIRMedia2Form
+ slowMinusEnabled(bool)
+ slowMinusButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 301
+
+
+
+
+ PIRMedia2Form
+ slowPlusEnabled(bool)
+ slowPlusButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 301
+
+
+
+
+ PIRMedia2Form
+ nextDiscEnabled(bool)
+ discSelectButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 301
+
+
+
+
+ PIRMedia2Form
+ repeatEnabled(bool)
+ repeatButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 419
+
+
+
+
+ PIRMedia2Form
+ repeatABEnabled(bool)
+ repeatABButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 419
+
+
+
+
+ PIRMedia2Form
+ randomEnabled(bool)
+ randomButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 419
+
+
+
+
+ PIRMedia2Form
+ discTitleEnabled(bool)
+ discTitleButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 419
+
+
+
+
+
+ tunerBandEnabled(bool)
+ programEnabled(bool)
+ memoryEnabled(bool)
+ callEnabled(bool)
+ autoTrackingEnabled(bool)
+ trackingMinusEnabled(bool)
+ trackingPlusEnabled(bool)
+ vhsSpeedEnabled(bool)
+ slowEnabled(bool)
+ slowMinusEnabled(bool)
+ slowPlusEnabled(bool)
+ nextDiscEnabled(bool)
+ repeatEnabled(bool)
+ repeatABEnabled(bool)
+ randomEnabled(bool)
+ discTitleEnabled(bool)
+
+
diff --git a/forms/pirmediaform.cpp b/forms/pirmediaform.cpp
new file mode 100644
index 0000000..cd490e7
--- /dev/null
+++ b/forms/pirmediaform.cpp
@@ -0,0 +1,159 @@
+#include "pirmediaform.h"
+#include "ui_pirmediaform.h"
+
+#include "mainwindow.h"
+#include "pirkeysetmanager.h"
+
+PIRMediaForm::PIRMediaForm(
+ MainWindow *mw)
+ : QWidget(0),
+ ui(new Ui::PIRMediaForm),
+ mainWindow(mw)
+{
+ ui->setupUi(this);
+}
+
+PIRMediaForm::~PIRMediaForm()
+{
+ delete ui;
+}
+
+
+void PIRMediaForm::enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id)
+{
+ emit nextEnabled(keyset->hasKey(id, Next_Key));
+ emit previousEnabled(keyset->hasKey(id, Previous_Key));
+ emit advanceEnabled(keyset->hasKey(id, Advance_Key));
+ emit replayEnabled(keyset->hasKey(id, Replay_Key));
+ emit stepForwardEnabled(keyset->hasKey(id, StepForward_Key));
+ emit stepBackEnabled(keyset->hasKey(id, StepBack_Key));
+ emit fastForwardEnabled(keyset->hasKey(id, FastForward_Key));
+ emit reverseEnabled(keyset->hasKey(id, Rewind_Key));
+ emit playEnabled(keyset->hasKey(id, Play_Key));
+ emit pauseEnabled(keyset->hasKey(id, Pause_Key));
+ emit stopEnabled(keyset->hasKey(id, Stop_Key));
+ emit ejectEnabled(keyset->hasKey(id, Eject_Key));
+}
+
+
+void PIRMediaForm::on_mediaPreviousButton_pressed()
+{
+ mainWindow->startRepeating(Previous_Key);
+}
+
+void PIRMediaForm::on_mediaPreviousButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMediaForm::on_mediaNextButton_pressed()
+{
+ mainWindow->startRepeating(Next_Key);
+}
+
+void PIRMediaForm::on_mediaNextButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMediaForm::on_replayButton_pressed()
+{
+ mainWindow->startRepeating(Replay_Key);
+}
+
+void PIRMediaForm::on_replayButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMediaForm::on_advanceButton_pressed()
+{
+ mainWindow->startRepeating(Advance_Key);
+}
+
+void PIRMediaForm::on_advanceButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMediaForm::on_stepBackButton_pressed()
+{
+ mainWindow->startRepeating(StepBack_Key);
+}
+
+void PIRMediaForm::on_stepBackButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMediaForm::on_stepForwardButton_pressed()
+{
+ mainWindow->startRepeating(StepForward_Key);
+}
+
+void PIRMediaForm::on_stepForwardButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMediaForm::on_reverseButton_pressed()
+{
+ mainWindow->startRepeating(Rewind_Key);
+}
+
+void PIRMediaForm::on_reverseButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMediaForm::on_fastForwardButton_pressed()
+{
+ mainWindow->startRepeating(FastForward_Key);
+}
+
+void PIRMediaForm::on_fastForwardButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMediaForm::on_playButton_pressed()
+{
+ mainWindow->startRepeating(Play_Key);
+}
+
+void PIRMediaForm::on_playButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMediaForm::on_pauseButton_pressed()
+{
+ mainWindow->startRepeating(Pause_Key);
+}
+
+void PIRMediaForm::on_pauseButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMediaForm::on_stopButton_pressed()
+{
+ mainWindow->startRepeating(Stop_Key);
+}
+
+void PIRMediaForm::on_stopButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMediaForm::on_ejectButton_pressed()
+{
+ mainWindow->startRepeating(Eject_Key);
+}
+
+void PIRMediaForm::on_ejectButton_released()
+{
+ mainWindow->stopRepeating();
+}
diff --git a/forms/pirmediaform.h b/forms/pirmediaform.h
new file mode 100644
index 0000000..586e8fb
--- /dev/null
+++ b/forms/pirmediaform.h
@@ -0,0 +1,72 @@
+#ifndef PIRMEDIAFORM_H
+#define PIRMEDIAFORM_H
+
+#include
+
+class MainWindow;
+class PIRKeysetManager;
+
+namespace Ui {
+class PIRMediaForm;
+}
+
+class PIRMediaForm : public QWidget
+{
+ Q_OBJECT
+
+public:
+// explicit PIRMediaForm(QWidget *parent = 0);
+ PIRMediaForm(MainWindow *mw);
+ ~PIRMediaForm();
+
+ void enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id);
+
+signals:
+ void playEnabled(bool);
+ void pauseEnabled(bool);
+ void stopEnabled(bool);
+ void fastForwardEnabled(bool);
+ void reverseEnabled(bool);
+ void nextEnabled(bool);
+ void previousEnabled(bool);
+ void stepForwardEnabled(bool);
+ void stepBackEnabled(bool);
+ void advanceEnabled(bool);
+ void replayEnabled(bool);
+ void ejectEnabled(bool);
+
+private slots:
+ void on_mediaPreviousButton_pressed();
+ void on_mediaPreviousButton_released();
+ void on_mediaNextButton_pressed();
+ void on_mediaNextButton_released();
+ void on_replayButton_pressed();
+ void on_replayButton_released();
+ void on_advanceButton_pressed();
+ void on_advanceButton_released();
+ void on_stepBackButton_pressed();
+ void on_stepBackButton_released();
+ void on_stepForwardButton_pressed();
+ void on_stepForwardButton_released();
+ void on_reverseButton_pressed();
+ void on_reverseButton_released();
+ void on_fastForwardButton_pressed();
+ void on_fastForwardButton_released();
+ void on_playButton_pressed();
+ void on_playButton_released();
+ void on_pauseButton_pressed();
+ void on_pauseButton_released();
+ void on_stopButton_pressed();
+ void on_stopButton_released();
+ void on_ejectButton_pressed();
+ void on_ejectButton_released();
+
+private:
+ Ui::PIRMediaForm *ui;
+
+ MainWindow *mainWindow;
+};
+
+#endif // PIRMEDIAFORM_H
diff --git a/forms/pirmediaform.ui b/forms/pirmediaform.ui
new file mode 100644
index 0000000..bbbcb85
--- /dev/null
+++ b/forms/pirmediaform.ui
@@ -0,0 +1,518 @@
+
+
+ PIRMediaForm
+
+
+
+ 0
+ 0
+ 800
+ 480
+
+
+
+ Form
+
+
+
+ 8
+
+
+ 0
+
+
+ 8
+
+
+ 8
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Previous
+
+
+
+ :/icons/rewind_previous_icon&48.png:/icons/rewind_previous_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Next
+
+
+
+ :/icons/fastforward_next_icon&48.png:/icons/fastforward_next_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Replay
+
+
+
+ :/icons/undo_icon&48.png:/icons/undo_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Advance
+
+
+
+ :/icons/redo_icon&48.png:/icons/redo_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Step Back
+
+
+
+ :/icons/playback_prev_icon&48.png:/icons/playback_prev_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Step Fwd
+
+
+
+ :/icons/playback_next_icon&48.png:/icons/playback_next_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Reverse
+
+
+
+ :/icons/playback_rew_icon&48.png:/icons/playback_rew_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Fast Fwd
+
+
+
+ :/icons/playback_ff_icon&48.png:/icons/playback_ff_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Play
+
+
+
+ :/icons/playback_play_icon&48.png:/icons/playback_play_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Pause
+
+
+
+ :/icons/playback_pause_icon&48.png:/icons/playback_pause_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Stop
+
+
+
+ :/icons/playback_stop_icon&48.png:/icons/playback_stop_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Eject
+
+
+
+ :/icons/eject_icon&48.png:/icons/eject_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+
+
+
+
+
+
+
+ PIRMediaForm
+ previousEnabled(bool)
+ mediaPreviousButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 83
+
+
+
+
+ PIRMediaForm
+ nextEnabled(bool)
+ mediaNextButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 83
+
+
+
+
+ PIRMediaForm
+ replayEnabled(bool)
+ replayButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 83
+
+
+
+
+ PIRMediaForm
+ advanceEnabled(bool)
+ advanceButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 83
+
+
+
+
+ PIRMediaForm
+ stepBackEnabled(bool)
+ stepBackButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 241
+
+
+
+
+ PIRMediaForm
+ stepForwardEnabled(bool)
+ stepForwardButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 241
+
+
+
+
+ PIRMediaForm
+ reverseEnabled(bool)
+ reverseButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 241
+
+
+
+
+ PIRMediaForm
+ playEnabled(bool)
+ playButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 399
+
+
+
+
+ PIRMediaForm
+ pauseEnabled(bool)
+ pauseButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 399
+
+
+
+
+ PIRMediaForm
+ fastForwardEnabled(bool)
+ fastForwardButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 241
+
+
+
+
+ PIRMediaForm
+ stopEnabled(bool)
+ stopButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 399
+
+
+
+
+ PIRMediaForm
+ ejectEnabled(bool)
+ ejectButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 399
+
+
+
+
+
+ previousEnabled(bool)
+ nextEnabled(bool)
+ replayEnabled(bool)
+ advanceEnabled(bool)
+ stepBackEnabled(bool)
+ stepForwardEnabled(bool)
+ reverseEnabled(bool)
+ fastForwardEnabled(bool)
+ playEnabled(bool)
+ pauseEnabled(bool)
+ stopEnabled(bool)
+ ejectEnabled(bool)
+
+
diff --git a/forms/pirmenuform.cpp b/forms/pirmenuform.cpp
new file mode 100644
index 0000000..9a8561c
--- /dev/null
+++ b/forms/pirmenuform.cpp
@@ -0,0 +1,126 @@
+#include "pirmenuform.h"
+#include "ui_pirmenuform.h"
+
+#include "mainwindow.h"
+#include "pirkeysetmanager.h"
+
+PIRMenuForm::PIRMenuForm(
+ MainWindow *mw)
+ : QWidget(0),
+ ui(new Ui::PIRMenuForm),
+ mainWindow(mw)
+{
+ ui->setupUi(this);
+}
+
+PIRMenuForm::~PIRMenuForm()
+{
+ delete ui;
+}
+
+
+void PIRMenuForm::enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id)
+{
+ emit upEnabled(keyset->hasKey(id, Up_Key));
+ emit downEnabled(keyset->hasKey(id, Down_Key));
+ emit leftEnabled(keyset->hasKey(id, Left_Key));
+ emit rightEnabled(keyset->hasKey(id, Right_Key));
+ emit selectEnabled(keyset->hasKey(id, Select_Key));
+ emit menuEnabled(keyset->hasKey(id, Menu_Key));
+ emit exitEnabled(keyset->hasKey(id, Exit_Key));
+ emit guideEnabled(keyset->hasKey(id, Guide_Key));
+ emit discMenuEnabled(keyset->hasKey(id, DiscMenu_Key));
+}
+
+
+void PIRMenuForm::on_upButton_pressed()
+{
+ mainWindow->startRepeating(Up_Key);
+}
+
+void PIRMenuForm::on_upButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMenuForm::on_leftButton_pressed()
+{
+ mainWindow->startRepeating(Left_Key);
+}
+
+void PIRMenuForm::on_leftButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMenuForm::on_rightButton_pressed()
+{
+ mainWindow->startRepeating(Right_Key);
+}
+
+void PIRMenuForm::on_rightButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMenuForm::on_downButton_pressed()
+{
+ mainWindow->startRepeating(Down_Key);
+}
+
+void PIRMenuForm::on_downButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMenuForm::on_selectButton_pressed()
+{
+ mainWindow->startRepeating(Select_Key);
+}
+
+void PIRMenuForm::on_selectButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMenuForm::on_menuButton_pressed()
+{
+ mainWindow->startRepeating(Menu_Key);
+}
+
+void PIRMenuForm::on_menuButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMenuForm::on_exitButton_pressed()
+{
+ mainWindow->startRepeating(Exit_Key);
+}
+
+void PIRMenuForm::on_exitButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMenuForm::on_guideButton_pressed()
+{
+ mainWindow->startRepeating(Guide_Key);
+}
+
+void PIRMenuForm::on_guideButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRMenuForm::on_discMenuButton_pressed()
+{
+ mainWindow->startRepeating(DiscMenu_Key);
+}
+
+void PIRMenuForm::on_discMenuButton_released()
+{
+ mainWindow->stopRepeating();
+}
diff --git a/forms/pirmenuform.h b/forms/pirmenuform.h
new file mode 100644
index 0000000..070a9c1
--- /dev/null
+++ b/forms/pirmenuform.h
@@ -0,0 +1,63 @@
+#ifndef PIRMENUFORM_H
+#define PIRMENUFORM_H
+
+#include
+
+class MainWindow;
+class PIRKeysetManager;
+
+namespace Ui {
+class PIRMenuForm;
+}
+
+class PIRMenuForm : public QWidget
+{
+ Q_OBJECT
+
+public:
+// explicit PIRMenuForm(QWidget *parent = 0);
+ PIRMenuForm(MainWindow *mw);
+ ~PIRMenuForm();
+
+ void enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id);
+
+signals:
+ void menuEnabled(bool);
+ void upEnabled(bool);
+ void downEnabled(bool);
+ void leftEnabled(bool);
+ void rightEnabled(bool);
+ void selectEnabled(bool);
+ void exitEnabled(bool);
+ void guideEnabled(bool);
+ void discMenuEnabled(bool);
+
+private slots:
+ void on_upButton_pressed();
+ void on_upButton_released();
+ void on_leftButton_pressed();
+ void on_leftButton_released();
+ void on_rightButton_pressed();
+ void on_rightButton_released();
+ void on_downButton_pressed();
+ void on_downButton_released();
+ void on_selectButton_pressed();
+ void on_selectButton_released();
+ void on_menuButton_pressed();
+ void on_menuButton_released();
+ void on_exitButton_pressed();
+ void on_exitButton_released();
+ void on_guideButton_pressed();
+ void on_guideButton_released();
+ void on_discMenuButton_pressed();
+ void on_discMenuButton_released();
+
+private:
+ Ui::PIRMenuForm *ui;
+
+ MainWindow *mainWindow;
+};
+
+#endif // PIRMENUFORM_H
diff --git a/forms/pirmenuform.ui b/forms/pirmenuform.ui
new file mode 100644
index 0000000..7b2327f
--- /dev/null
+++ b/forms/pirmenuform.ui
@@ -0,0 +1,348 @@
+
+
+ PIRMenuForm
+
+
+
+ 0
+ 0
+ 800
+ 480
+
+
+
+ Form
+
+
+
+ 8
+
+
+ 0
+
+
+ 8
+
+
+ 8
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Guide
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Up
+
+
+
+ :/icons/arrow_top_icon&48.png:/icons/arrow_top_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Menu
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Left
+
+
+
+ :/icons/arrow_left_icon&48.png:/icons/arrow_left_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Select
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Right
+
+
+
+ :/icons/arrow_right_icon&48.png:/icons/arrow_right_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Disc Menu
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Down
+
+
+
+ :/icons/arrow_bottom_icon&48.png:/icons/arrow_bottom_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Exit
+
+
+
+
+
+
+
+
+
+
+ PIRMenuForm
+ guideEnabled(bool)
+ guideButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 135
+ 83
+
+
+
+
+ PIRMenuForm
+ upEnabled(bool)
+ upButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 399
+ 83
+
+
+
+
+ PIRMenuForm
+ menuEnabled(bool)
+ menuButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 664
+ 83
+
+
+
+
+ PIRMenuForm
+ leftEnabled(bool)
+ leftButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 135
+ 241
+
+
+
+
+ PIRMenuForm
+ selectEnabled(bool)
+ selectButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 399
+ 241
+
+
+
+
+ PIRMenuForm
+ rightEnabled(bool)
+ rightButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 664
+ 241
+
+
+
+
+ PIRMenuForm
+ discMenuEnabled(bool)
+ discMenuButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 135
+ 399
+
+
+
+
+ PIRMenuForm
+ downEnabled(bool)
+ downButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 399
+ 399
+
+
+
+
+ PIRMenuForm
+ exitEnabled(bool)
+ exitButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 664
+ 399
+
+
+
+
+
+ guideEnabled(bool)
+ upEnabled(bool)
+ menuEnabled(bool)
+ leftEnabled(bool)
+ selectEnabled(bool)
+ rightEnabled(bool)
+ discMenuEnabled(bool)
+ downEnabled(bool)
+ exitEnabled(bool)
+
+
diff --git a/forms/pirtvform.cpp b/forms/pirtvform.cpp
new file mode 100644
index 0000000..9753dfe
--- /dev/null
+++ b/forms/pirtvform.cpp
@@ -0,0 +1,202 @@
+#include "pirtvform.h"
+#include "ui_pirtvform.h"
+
+#include "mainwindow.h"
+#include "pirkeysetmanager.h"
+
+PIRTVForm::PIRTVForm(MainWindow *mw) :
+ QWidget(0),
+ ui(new Ui::PIRTVForm),
+ mainWindow(mw)
+{
+ ui->setupUi(this);
+}
+
+PIRTVForm::~PIRTVForm()
+{
+ delete ui;
+}
+
+
+void PIRTVForm::enableButtons(
+ const PIRKeysetManager *km,
+ unsigned int id)
+{
+ emit teletextEnabled(km->hasKey(id, Teletext_Key));
+ emit teletextSizeEnabled(km->hasKey(id, TeletextSize_Key));
+ emit favoritesEnabled(km->hasKey(id, Favorites_Key));
+ emit pageUpEnabled(km->hasKey(id, PageUp_Key));
+ emit teletextHoldEnabled(km->hasKey(id, TeletextHold_Key));
+ emit teletextRevealEnabled(km->hasKey(id, TeletextReveal_Key));
+ emit liveTVEnabled(km->hasKey(id, LiveTV_Key));
+ emit pageDownEnabled(km->hasKey(id, PageDown_Key));
+ emit pipEnabled(km->hasKey(id, PIP_Key));
+ emit pipSwapEnabled(km->hasKey(id, PIPSwap_Key));
+ emit pipMoveEnabled(km->hasKey(id, PIPMove_Key));
+ emit pipSourceEnabled(km->hasKey(id, PIPSource_Key));
+ emit pipChannelUpEnabled(km->hasKey(id, PIPChannelUp_Key));
+ emit pipChannelDownEnabled(km->hasKey(id, PIPChannelDown_Key));
+ emit pipPauseEnabled(km->hasKey(id, PIPPause_Key));
+ emit pipSizeEnabled(km->hasKey(id, PIPSize_Key));
+}
+
+
+void PIRTVForm::on_teletextButton_pressed()
+{
+ mainWindow->startRepeating(Teletext_Key);
+}
+
+void PIRTVForm::on_teletextButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRTVForm::on_teletextSizeButton_pressed()
+{
+ mainWindow->startRepeating(TeletextSize_Key);
+}
+
+void PIRTVForm::on_teletextSizeButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRTVForm::on_favoritesButton_pressed()
+{
+ mainWindow->startRepeating(Favorites_Key);
+}
+
+void PIRTVForm::on_favoritesButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRTVForm::on_pageUpButton_pressed()
+{
+ mainWindow->startRepeating(PageUp_Key);
+}
+
+void PIRTVForm::on_pageUpButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRTVForm::on_teletextHoldButton_pressed()
+{
+ mainWindow->startRepeating(TeletextHold_Key);
+}
+
+void PIRTVForm::on_teletextHoldButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRTVForm::on_teletextRevealButton_pressed()
+{
+ mainWindow->startRepeating(TeletextReveal_Key);
+}
+
+void PIRTVForm::on_teletextRevealButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRTVForm::on_liveTVButton_pressed()
+{
+ mainWindow->startRepeating(LiveTV_Key);
+}
+
+void PIRTVForm::on_liveTVButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRTVForm::on_pageDownButton_pressed()
+{
+ mainWindow->startRepeating(PageDown_Key);
+}
+
+void PIRTVForm::on_pageDownButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRTVForm::on_pipButton_pressed()
+{
+ mainWindow->startRepeating(PIP_Key);
+}
+
+void PIRTVForm::on_pipButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRTVForm::on_pipSwapButton_pressed()
+{
+ mainWindow->startRepeating(PIPSwap_Key);
+}
+
+void PIRTVForm::on_pipSwapButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRTVForm::on_pipMoveButton_pressed()
+{
+ mainWindow->startRepeating(PIPMove_Key);
+}
+
+void PIRTVForm::on_pipMoveButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRTVForm::on_pipSourceButton_pressed()
+{
+ mainWindow->startRepeating(PIPSource_Key);
+}
+
+void PIRTVForm::on_pipSourceButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRTVForm::on_pipChannelUpButton_pressed()
+{
+ mainWindow->startRepeating(PIPChannelUp_Key);
+}
+
+void PIRTVForm::on_pipChannelUpButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRTVForm::on_pipChannelDownButton_pressed()
+{
+ mainWindow->startRepeating(PIPChannelDown_Key);
+}
+
+void PIRTVForm::on_pipChannelDownButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRTVForm::on_pipPauseButton_pressed()
+{
+ mainWindow->startRepeating(PIPPause_Key);
+}
+
+void PIRTVForm::on_pipPauseButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRTVForm::on_pipSizeButton_pressed()
+{
+ mainWindow->startRepeating(PIPSize_Key);
+}
+
+void PIRTVForm::on_pipSizeButton_released()
+{
+ mainWindow->stopRepeating();
+}
diff --git a/forms/pirtvform.h b/forms/pirtvform.h
new file mode 100644
index 0000000..3aae5bf
--- /dev/null
+++ b/forms/pirtvform.h
@@ -0,0 +1,83 @@
+#ifndef PIRTVFORM_H
+#define PIRTVFORM_H
+
+#include
+
+class MainWindow;
+class PIRKeysetManager;
+
+namespace Ui {
+class PIRTVForm;
+}
+
+class PIRTVForm : public QWidget
+{
+ Q_OBJECT
+
+public:
+ PIRTVForm(MainWindow *mw);
+ ~PIRTVForm();
+
+ void enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id);
+
+signals:
+ void teletextEnabled(bool);
+ void teletextSizeEnabled(bool);
+ void favoritesEnabled(bool);
+ void pageUpEnabled(bool);
+ void teletextHoldEnabled(bool);
+ void teletextRevealEnabled(bool);
+ void liveTVEnabled(bool);
+ void pageDownEnabled(bool);
+ void pipEnabled(bool);
+ void pipSwapEnabled(bool);
+ void pipMoveEnabled(bool);
+ void pipSourceEnabled(bool);
+ void pipChannelUpEnabled(bool);
+ void pipChannelDownEnabled(bool);
+ void pipPauseEnabled(bool);
+ void pipSizeEnabled(bool);
+
+private slots:
+ void on_teletextButton_pressed();
+ void on_teletextButton_released();
+ void on_teletextSizeButton_pressed();
+ void on_teletextSizeButton_released();
+ void on_favoritesButton_pressed();
+ void on_favoritesButton_released();
+ void on_pageUpButton_pressed();
+ void on_pageUpButton_released();
+ void on_teletextHoldButton_pressed();
+ void on_teletextHoldButton_released();
+ void on_teletextRevealButton_pressed();
+ void on_teletextRevealButton_released();
+ void on_liveTVButton_pressed();
+ void on_liveTVButton_released();
+ void on_pageDownButton_pressed();
+ void on_pageDownButton_released();
+ void on_pipButton_pressed();
+ void on_pipButton_released();
+ void on_pipSwapButton_pressed();
+ void on_pipSwapButton_released();
+ void on_pipMoveButton_pressed();
+ void on_pipMoveButton_released();
+ void on_pipSourceButton_pressed();
+ void on_pipSourceButton_released();
+ void on_pipChannelUpButton_pressed();
+ void on_pipChannelUpButton_released();
+ void on_pipChannelDownButton_pressed();
+ void on_pipChannelDownButton_released();
+ void on_pipPauseButton_pressed();
+ void on_pipPauseButton_released();
+ void on_pipSizeButton_pressed();
+ void on_pipSizeButton_released();
+
+private:
+ Ui::PIRTVForm *ui;
+
+ MainWindow *mainWindow;
+};
+
+#endif // PIRTVFORM_H
diff --git a/forms/pirtvform.ui b/forms/pirtvform.ui
new file mode 100644
index 0000000..51ae510
--- /dev/null
+++ b/forms/pirtvform.ui
@@ -0,0 +1,558 @@
+
+
+ PIRTVForm
+
+
+
+ 0
+ 0
+ 800
+ 480
+
+
+
+ Form
+
+
+
+ 8
+
+
+ 0
+
+
+ 8
+
+
+ 8
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Teletext
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Txt Size
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Favorites
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Page Up
+
+
+
+ :/icons/arrow_top_icon&48.png:/icons/arrow_top_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Txt Hold
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Txt Reveal
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Live TV
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Page Down
+
+
+
+ :/icons/arrow_bottom_icon&48.png:/icons/arrow_bottom_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Picture in Picture
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ PIP Swap
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ PIP Move
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ PIP Ch Up
+
+
+
+ :/icons/br_up_icon&48.png:/icons/br_up_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ PIP Source
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ PIP Size
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ PIP Pause
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ PIP Ch Down
+
+
+
+ :/icons/br_down_icon&48.png:/icons/br_down_icon&48.png
+
+
+
+ 48
+ 48
+
+
+
+
+
+
+
+
+
+
+
+ PIRTVForm
+ teletextEnabled(bool)
+ teletextButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 64
+
+
+
+
+ PIRTVForm
+ teletextSizeEnabled(bool)
+ teletextSizeButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 64
+
+
+
+
+ PIRTVForm
+ favoritesEnabled(bool)
+ favoritesButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 64
+
+
+
+
+ PIRTVForm
+ pageUpEnabled(bool)
+ pageUpButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 64
+
+
+
+
+ PIRTVForm
+ teletextHoldEnabled(bool)
+ teletextHoldButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 182
+
+
+
+
+ PIRTVForm
+ teletextRevealEnabled(bool)
+ teletextRevealButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 182
+
+
+
+
+ PIRTVForm
+ liveTVEnabled(bool)
+ liveTVButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 182
+
+
+
+
+ PIRTVForm
+ pageDownEnabled(bool)
+ pageDownButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 182
+
+
+
+
+ PIRTVForm
+ pipEnabled(bool)
+ pipButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 301
+
+
+
+
+ PIRTVForm
+ pipSwapEnabled(bool)
+ pipSwapButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 301
+
+
+
+
+ PIRTVForm
+ pipMoveEnabled(bool)
+ pipMoveButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 301
+
+
+
+
+ PIRTVForm
+ pipChannelUpEnabled(bool)
+ pipChannelUpButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 301
+
+
+
+
+ PIRTVForm
+ pipSourceEnabled(bool)
+ pipSourceButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 419
+
+
+
+
+ PIRTVForm
+ pipSizeEnabled(bool)
+ pipSizeButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 419
+
+
+
+
+ PIRTVForm
+ pipPauseEnabled(bool)
+ pipPauseButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 419
+
+
+
+
+ PIRTVForm
+ pipChannelDownEnabled(bool)
+ pipChannelDownButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 419
+
+
+
+
+
+ teletextEnabled(bool)
+ teletextSizeEnabled(bool)
+ favoritesEnabled(bool)
+ pageUpEnabled(bool)
+ teletextHoldEnabled(bool)
+ teletextRevealEnabled(bool)
+ liveTVEnabled(bool)
+ pageDownEnabled(bool)
+ pipEnabled(bool)
+ pipSwapEnabled(bool)
+ pipMoveEnabled(bool)
+ pipChannelUpEnabled(bool)
+ pipSourceEnabled(bool)
+ pipSizeEnabled(bool)
+ pipPauseEnabled(bool)
+ pipChannelDownEnabled(bool)
+
+
diff --git a/forms/pirutilityform.cpp b/forms/pirutilityform.cpp
new file mode 100644
index 0000000..7032db5
--- /dev/null
+++ b/forms/pirutilityform.cpp
@@ -0,0 +1,171 @@
+#include "pirutilityform.h"
+#include "ui_pirutilityform.h"
+
+#include "mainwindow.h"
+#include "pirkeysetmanager.h"
+
+PIRUtilityForm::PIRUtilityForm(
+ MainWindow *mw)
+ : QWidget(0),
+ ui(new Ui::PIRUtilityForm),
+ mainWindow(mw)
+{
+ ui->setupUi(this);
+}
+
+PIRUtilityForm::~PIRUtilityForm()
+{
+ delete ui;
+}
+
+
+void PIRUtilityForm::enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id)
+{
+ emit redEnabled(keyset->hasKey(id, Red_Key));
+ emit greenEnabled(keyset->hasKey(id, Green_Key));
+ emit yellowEnabled(keyset->hasKey(id, Yellow_Key));
+ emit blueEnabled(keyset->hasKey(id, Blue_Key));
+ emit pictureModeEnabled(keyset->hasKey(id, PictureMode_Key));
+ emit soundModeEnabled(keyset->hasKey(id, SoundMode_Key));
+ emit aspectRatioEnabled(keyset->hasKey(id, AspectRatio_Key));
+ emit audioEnabled(keyset->hasKey(id, Audio_Key));
+ emit infoEnabled(keyset->hasKey(id, Info_Key));
+ emit captionsEnabled(keyset->hasKey(id, Captions_Key));
+ emit sleepEnabled(keyset->hasKey(id, Sleep_Key));
+ emit inputEnabled(keyset->hasKey(id, Input_Key));
+}
+
+
+void PIRUtilityForm::on_redButton_pressed()
+{
+ mainWindow->startRepeating(Red_Key);
+}
+
+void PIRUtilityForm::on_redButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRUtilityForm::on_greenButton_pressed()
+{
+ mainWindow->startRepeating(Green_Key);
+}
+
+void PIRUtilityForm::on_greenButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRUtilityForm::on_yellowButton_pressed()
+{
+ mainWindow->startRepeating(Yellow_Key);
+}
+
+void PIRUtilityForm::on_yellowButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRUtilityForm::on_blueButton_pressed()
+{
+ mainWindow->startRepeating(Blue_Key);
+}
+
+void PIRUtilityForm::on_blueButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRUtilityForm::on_pictureModeButton_pressed()
+{
+ mainWindow->startRepeating(PictureMode_Key);
+}
+
+void PIRUtilityForm::on_pictureModeButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRUtilityForm::on_soundModeButton_pressed()
+{
+ mainWindow->startRepeating(SoundMode_Key);
+}
+
+void PIRUtilityForm::on_soundModeButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRUtilityForm::on_aspectRatioButton_pressed()
+{
+ mainWindow->startRepeating(AspectRatio_Key);
+}
+
+void PIRUtilityForm::on_aspectRatioButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+/*
+void PIRUtilityForm::on_surroundButton_pressed()
+{
+ mainWindow->startRepeating(Surround_Key);
+}
+
+void PIRUtilityForm::on_surroundButton_released()
+{
+ mainWindow->stopRepeating();
+}
+*/
+
+void PIRUtilityForm::on_audioButton_pressed()
+{
+ mainWindow->startRepeating(Audio_Key);
+}
+
+void PIRUtilityForm::on_audioButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRUtilityForm::on_infoButton_pressed()
+{
+ mainWindow->startRepeating(Info_Key);
+}
+
+void PIRUtilityForm::on_infoButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRUtilityForm::on_captionButton_pressed()
+{
+ mainWindow->startRepeating(Captions_Key);
+}
+
+void PIRUtilityForm::on_captionButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRUtilityForm::on_inputButton_pressed()
+{
+ mainWindow->startRepeating(Input_Key);
+}
+
+void PIRUtilityForm::on_inputButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRUtilityForm::on_sleepButton_pressed()
+{
+ mainWindow->startRepeating(Sleep_Key);
+}
+
+void PIRUtilityForm::on_sleepButton_released()
+{
+ mainWindow->stopRepeating();
+}
diff --git a/forms/pirutilityform.h b/forms/pirutilityform.h
new file mode 100644
index 0000000..fb56cb1
--- /dev/null
+++ b/forms/pirutilityform.h
@@ -0,0 +1,72 @@
+#ifndef PIRUTILITYFORM_H
+#define PIRUTILITYFORM_H
+
+#include
+
+class MainWindow;
+class PIRKeysetManager;
+
+namespace Ui {
+class PIRUtilityForm;
+}
+
+class PIRUtilityForm : public QWidget
+{
+ Q_OBJECT
+
+public:
+// explicit PIRUtilityForm(QWidget *parent = 0);
+ PIRUtilityForm(MainWindow *mw);
+ ~PIRUtilityForm();
+
+ void enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id);
+
+signals:
+ void redEnabled(bool);
+ void greenEnabled(bool);
+ void yellowEnabled(bool);
+ void blueEnabled(bool);
+ void pictureModeEnabled(bool);
+ void soundModeEnabled(bool);
+ void aspectRatioEnabled(bool);
+ void audioEnabled(bool);
+ void infoEnabled(bool);
+ void captionsEnabled(bool);
+ void inputEnabled(bool);
+ void sleepEnabled(bool);
+
+private slots:
+ void on_redButton_pressed();
+ void on_redButton_released();
+ void on_greenButton_pressed();
+ void on_greenButton_released();
+ void on_yellowButton_pressed();
+ void on_yellowButton_released();
+ void on_blueButton_pressed();
+ void on_blueButton_released();
+ void on_pictureModeButton_pressed();
+ void on_pictureModeButton_released();
+ void on_soundModeButton_pressed();
+ void on_soundModeButton_released();
+ void on_aspectRatioButton_pressed();
+ void on_aspectRatioButton_released();
+ void on_audioButton_pressed();
+ void on_audioButton_released();
+ void on_infoButton_pressed();
+ void on_infoButton_released();
+ void on_captionButton_pressed();
+ void on_captionButton_released();
+ void on_inputButton_pressed();
+ void on_inputButton_released();
+ void on_sleepButton_pressed();
+ void on_sleepButton_released();
+
+private:
+ Ui::PIRUtilityForm *ui;
+
+ MainWindow *mainWindow;
+};
+
+#endif // PIRUTILITYFORM_H
diff --git a/forms/pirutilityform.ui b/forms/pirutilityform.ui
new file mode 100644
index 0000000..ad53ba1
--- /dev/null
+++ b/forms/pirutilityform.ui
@@ -0,0 +1,438 @@
+
+
+ PIRUtilityForm
+
+
+
+ 0
+ 0
+ 800
+ 480
+
+
+
+ Form
+
+
+
+ 8
+
+
+ 0
+
+
+ 8
+
+
+ 8
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Red
+
+
+
+ :/icons/red_square.png:/icons/red_square.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Green
+
+
+
+ :/icons/green_square.png:/icons/green_square.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Yellow
+
+
+
+ :/icons/yellow_square.png:/icons/yellow_square.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Blue
+
+
+
+ :/icons/blue_square.png:/icons/blue_square.png
+
+
+
+ 48
+ 48
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Sound Mode
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Aspect Ratio
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ I/II Audio
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Info
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Picture Mode
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Input
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ Sleep
+
+
+
+ -
+
+
+
+ 0
+ 0
+
+
+
+ CC / Subtitle
+
+
+
+
+
+
+
+
+
+
+ PIRUtilityForm
+ redEnabled(bool)
+ redButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 83
+
+
+
+
+ PIRUtilityForm
+ greenEnabled(bool)
+ greenButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 83
+
+
+
+
+ PIRUtilityForm
+ yellowEnabled(bool)
+ yellowButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 83
+
+
+
+
+ PIRUtilityForm
+ blueEnabled(bool)
+ blueButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 83
+
+
+
+
+ PIRUtilityForm
+ soundModeEnabled(bool)
+ soundModeButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 241
+
+
+
+
+ PIRUtilityForm
+ aspectRatioEnabled(bool)
+ aspectRatioButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 241
+
+
+
+
+ PIRUtilityForm
+ audioEnabled(bool)
+ audioButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 241
+
+
+
+
+ PIRUtilityForm
+ infoEnabled(bool)
+ infoButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 241
+
+
+
+
+ PIRUtilityForm
+ pictureModeEnabled(bool)
+ pictureModeButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 102
+ 399
+
+
+
+
+ PIRUtilityForm
+ inputEnabled(bool)
+ inputButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 300
+ 399
+
+
+
+
+ PIRUtilityForm
+ sleepEnabled(bool)
+ sleepButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 499
+ 399
+
+
+
+
+ PIRUtilityForm
+ captionsEnabled(bool)
+ captionButton
+ setEnabled(bool)
+
+
+ 399
+ 239
+
+
+ 697
+ 399
+
+
+
+
+
+ redEnabled(bool)
+ greenEnabled(bool)
+ yellowEnabled(bool)
+ blueEnabled(bool)
+ soundModeEnabled(bool)
+ aspectRatioEnabled(bool)
+ audioEnabled(bool)
+ infoEnabled(bool)
+ pictureModeEnabled(bool)
+ inputEnabled(bool)
+ sleepEnabled(bool)
+ captionsEnabled(bool)
+
+
diff --git a/keysets/aoc.cpp b/keysets/aoc.cpp
new file mode 100644
index 0000000..d318784
--- /dev/null
+++ b/keysets/aoc.cpp
@@ -0,0 +1,55 @@
+#include "aoc.h"
+#include "protocols/necprotocol.h"
+
+
+AOCTV1::AOCTV1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "TV Keyset 1",
+ AOC_Make,
+ index)
+{
+}
+
+
+void AOCTV1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, true);
+
+ setPreData(0xBD00, 16);
+
+ addKey("POWER", Power_Key, 0x01, 8);
+ addKey("MUTE", Mute_Key, 0x04, 8);
+ addKey("TVVIDEO", Input_Key, 0x05, 8);
+ addKey("MENU", Menu_Key, 0x0A, 8);
+ addKey("RIGHT", Right_Key, 0x0C, 8);
+
+ addKey("LEFT", Left_Key, 0x10, 8);
+ addKey("PIP", PIP_Key, 0x12, 8);
+ addKey("SLEEP", Sleep_Key, 0x13, 8);
+ addKey("WIDE", AspectRatio_Key, 0x14, 8);
+ addKey("1", One_Key, 0x15, 8);
+ addKey("2", Two_Key, 0x16, 8);
+ addKey("3", Three_Key, 0x17, 8);
+ addKey("UP", Up_Key, 0x18, 8);
+ addKey("4", Four_Key, 0x19, 8);
+ addKey("5", Five_Key, 0x1A, 8);
+ addKey("6", Six_Key, 0x1B, 8);
+ addKey("DOWN", Down_Key, 0x1C, 8);
+ addKey("7", Seven_Key,0x1D, 8);
+ addKey("8", Eight_Key, 0x1E, 8);
+ addKey("9", Nine_Key, 0x1F, 8);
+
+ addKey("INFO", Info_Key, 0x40, 8);
+ addKey("0", Zero_Key, 0x41, 8);
+ addKey("PRECH", PrevChannel_Key, 0x44, 8);
+ addKey("PLUSMINUS", Unmapped_Key, 0x4B, 8);
+ addKey("PC", PCInput_Key, 0x45, 8);
+}
diff --git a/keysets/aoc.h b/keysets/aoc.h
new file mode 100644
index 0000000..34af85b
--- /dev/null
+++ b/keysets/aoc.h
@@ -0,0 +1,18 @@
+#ifndef AOC_H
+#define AOC_H
+
+#include "pirkeysetmetadata.h"
+
+class QObject;
+
+class AOCTV1: public PIRKeysetMetaData
+{
+public:
+ AOCTV1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+#endif // AOC_H
diff --git a/keysets/arcam.cpp b/keysets/arcam.cpp
new file mode 100644
index 0000000..ac220de
--- /dev/null
+++ b/keysets/arcam.cpp
@@ -0,0 +1,56 @@
+#include "arcam.h"
+#include "protocols/rc5protocol.h"
+
+
+ArcamReceiver1::ArcamReceiver1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Receiver Keyset 1",
+ Arcam_Make,
+ index)
+{
+}
+
+
+void ArcamReceiver1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new RC5Protocol(guiObject, index);
+
+ addKey("right", Right_Key, 0x0410, 13);
+ addKey("left", Left_Key, 0x0411, 13);
+ addKey("down", Down_Key, 0x0415, 13);
+ addKey("up", Up_Key, 0x0416, 13);
+ addKey("ok", Select_Key, 0x0417, 13);
+ addKey("test", Unmapped_Key, 0x0418, 13);
+
+ addKey("sat", SatInput_Key, 0x1400, 13);
+ addKey("5-1", Surround_Key, 0x1402, 13); // ?
+ addKey("dvd", DVDInput_Key, 0x1404, 13);
+ addKey("tape", TapeInput_Key, 0x1405, 13);
+ addKey("vcr", VCRInput_Key, 0x1406, 13);
+ addKey("cd", CDInput_Key, 0x1407, 13);
+ addKey("aux", AuxInput_Key, 0x1408, 13);
+ addKey("power", Power_Key, 0x140C, 13);
+ addKey("mute", Mute_Key, 0x140D, 13); // "silent"
+
+ addKey("volup", VolumeUp_Key, 0x1410, 13);
+ addKey("voldown", VolumeDown_Key, 0x1411, 13);
+ addKey("mode", Mode_Key, 0x1420, 13);
+ addKey("trim", Unmapped_Key, 0x1425, 13);
+ addKey("sleep", Sleep_Key, 0x142A, 13);
+
+ addKey("am", TunerBand_Key, 0x1434, 13); // Also wrong!
+ addKey("fm", TunerInput_Key, 0x1435, 13); // Not right!
+ addKey("tmode", FMMode_Key, 0x1436, 13); // ?
+ addKey("info", Info_Key, 0x1437, 13);
+ addKey("p+", ChannelUp_Key, 0x1438, 13);
+ addKey("p-", ChannelDown_Key, 0x1439, 13);
+ addKey("dyn", Unmapped_Key, 0x143E, 13);
+}
diff --git a/keysets/arcam.h b/keysets/arcam.h
new file mode 100644
index 0000000..5bdac7e
--- /dev/null
+++ b/keysets/arcam.h
@@ -0,0 +1,18 @@
+#ifndef ARCAM_H
+#define ARCAM_H
+
+#include "pirkeysetmetadata.h"
+
+class QObject;
+
+class ArcamReceiver1: public PIRKeysetMetaData
+{
+public:
+ ArcamReceiver1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+#endif // ARCAM_H
diff --git a/keysets/dell.cpp b/keysets/dell.cpp
new file mode 100644
index 0000000..064bedd
--- /dev/null
+++ b/keysets/dell.cpp
@@ -0,0 +1,51 @@
+#include "dell.h"
+#include "protocols/mceprotocol.h"
+
+
+DellRemote1::DellRemote1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Remote Keyset 1",
+ Dell_Make,
+ index)
+{
+}
+
+
+void DellRemote1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new MCEProtocol(guiObject, index, 0x801C);
+
+ setPreData(0x2B, 7);
+
+ addKey("vol_off", Mute_Key, 0x0D, 8);
+
+ addKey("vol+", VolumeUp_Key, 0x10, 8);
+ addKey("vol-", VolumeDown_Key, 0x11, 8);
+
+ addKey("next", Next_Key, 0x20, 8);
+ addKey("prev", Previous_Key, 0x21, 8);
+ addKey("play_pause", Play_Key, 0x2C, 8);
+ addKey("play_pause", Pause_Key, 0x2C, 8);
+ addKey("forward", FastForward_Key, 0x2E, 8);
+ addKey("rewind", Rewind_Key, 0x2F, 8);
+ addKey("stop", Stop_Key, 0x31, 8);
+
+ addKey("cross_up", Up_Key, 0x58, 8);
+ addKey("cross_down", Down_Key, 0x59, 8);
+ addKey("cross_left", Left_Key, 0x5A, 8);
+ addKey("cross_right", Right_Key, 0x5B, 8);
+ addKey("cross_enter", Select_Key, 0x5C, 8);
+
+ addKey("up", PageUp_Key, 0xCE, 8);
+ addKey("down", PageDown_Key, 0xCF, 8);
+
+ addKey("back", Exit_Key, 0xA4, 8);
+}
diff --git a/keysets/dell.h b/keysets/dell.h
new file mode 100644
index 0000000..4dea012
--- /dev/null
+++ b/keysets/dell.h
@@ -0,0 +1,18 @@
+#ifndef DELL_H
+#define DELL_H
+
+#include "pirkeysetmetadata.h"
+
+class QObject;
+
+class DellRemote1: public PIRKeysetMetaData
+{
+public:
+ DellRemote1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+#endif // DELL_H
diff --git a/keysets/dse.cpp b/keysets/dse.cpp
new file mode 100644
index 0000000..9a6a253
--- /dev/null
+++ b/keysets/dse.cpp
@@ -0,0 +1,142 @@
+#include "dse.h"
+#include "protocols/necprotocol.h"
+
+
+DSEDVD1::DSEDVD1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "DVD Keyset 1",
+ DSE_Make,
+ index)
+{
+}
+
+
+void DSEDVD1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, false, true);
+
+ setPreData(0x00, 8);
+
+ addKey("Power", Power_Key, 0x0C, 8);
+ addKey("Open/Close", Eject_Key, 0x0D, 8);
+ addKey("Subtitle", Captions_Key, 0x1E, 8);
+ addKey("Angle", Angle_Key, 0x1F, 8);
+ addKey("Language", Audio_Key, 0x1C, 8);
+ addKey("Resume", Unmapped_Key, 0x1D, 8);
+ addKey("Setup", Menu_Key, 0x14, 8);
+ addKey("Time", Unmapped_Key, 0x09, 8);
+ addKey("Title", DiscTitle_Key, 0x15, 8);
+ addKey("Menu", DiscMenu_Key, 0x16, 8);
+ addKey("A-B", RepeatAB_Key, 0x17, 8);
+ addKey("1", One_Key, 0x00, 8);
+ addKey("2", Two_Key, 0x01, 8);
+ addKey("3", Three_Key, 0x02, 8);
+ addKey("4", Four_Key, 0x03, 8);
+ addKey("5", Five_Key, 0x04, 8);
+ addKey("6", Six_Key, 0x05, 8);
+ addKey("7", Seven_Key, 0x06, 8);
+ addKey("8", Eight_Key, 0x07, 8);
+ addKey("9", Nine_Key, 0x08, 8);
+ addKey("0", Zero_Key, 0x0A, 8);
+ addKey("10+", DoubleDigit_Key, 0x0B, 8);
+ addKey("<<", Rewind_Key, 0x40, 8);
+ addKey(">>", FastForward_Key, 0x41, 8);
+ addKey(">||", Play_Key, 0x44, 8);
+ addKey(">||", Pause_Key, 0x44, 8);
+ addKey("|<<", Previous_Key, 0x42, 8);
+ addKey("Stop", Stop_Key, 0x45, 8);
+ addKey(">>|", Next_Key, 0x43, 8);
+ addKey("Return", Exit_Key, 0x19, 8);
+ addKey("PBC", Unmapped_Key, 0x1A, 8);
+ addKey("Zoom", Zoom_Key, 0x1B, 8);
+ addKey("Repeat", Repeat_Key, 0x18, 8);
+ addKey("LeftArrow", Left_Key, 0x12, 8);
+ addKey("RightArrow", Right_Key, 0x13, 8);
+ addKey("UpArrow", Up_Key, 0x10, 8);
+ addKey("DownArrow", Down_Key, 0x11, 8);
+ addKey("Enter", Select_Key, 0x0E, 8);
+ addKey("OSD", Info_Key, 0x48, 8);
+ addKey("Step", StepForward_Key, 0x49, 8);
+ addKey("3D(*)", Unmapped_Key, 0x4A, 8);
+ addKey("Vol+", VolumeUp_Key, 0x4B, 8);
+ addKey("Vol-", VolumeDown_Key, 0x4F, 8);
+ addKey("View", Unmapped_Key, 0x4C, 8);
+ addKey("Slow", Slow_Key, 0x4D, 8);
+ addKey("Mute", Mute_Key, 0x4E, 8);
+ addKey("N/P", Unmapped_Key, 0x50, 8);
+ addKey("RAN", Unmapped_Key, 0x51, 8);
+ addKey("R/L", Unmapped_Key, 0x52, 8);
+ addKey("Prog", Program_Key, 0x53, 8);
+}
+
+
+DSESat1::DSESat1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Sat Keyset 1",
+ DSE_Make,
+ index)
+{
+}
+
+
+void DSESat1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, false, true);
+
+ setPreData(0x00, 8);
+
+ addKey("Ch_Up", ChannelUp_Key, 0x00, 8);
+ addKey("Ch_Up", Up_Key, 0x00, 8);
+ addKey("Ch_Down", ChannelDown_Key, 0x01, 8);
+ addKey("Ch_Down", Down_Key, 0x01, 8);
+ addKey("Vol+", VolumeUp_Key, 0x02, 8);
+ addKey("Vol+", Right_Key, 0x02, 8);
+ addKey("Vol-", VolumeDown_Key, 0x03, 8);
+ addKey("Vol-", Left_Key, 0x03, 8);
+ addKey("Audio", Audio_Key, 0x04, 8);
+ addKey("Menu", Menu_Key, 0x05, 8);
+ addKey("UHF", Unmapped_Key, 0x06, 8);
+ addKey("Page Up", PageUp_Key, 0x07, 8);
+ addKey("Mute", Mute_Key, 0x08, 8);
+ addKey("Fav", Favorites_Key, 0x09, 8);
+ addKey("Power", Power_Key, 0x0A, 8);
+ addKey("Blue/System", Blue_Key, 0x0B, 8);
+ addKey("TV/R", Input_Key, 0x0C, 8);
+ addKey("Yellow/F2", Yellow_Key, 0x0E, 8);
+ addKey("Pause", Pause_Key, 0x0F, 8);
+
+ addKey("0", Zero_Key, 0x10, 8);
+ addKey("1", One_Key, 0x11, 8);
+ addKey("2", Two_Key, 0x12, 8);
+ addKey("3", Three_Key, 0x13, 8);
+ addKey("4", Four_Key, 0x14, 8);
+ addKey("5", Five_Key, 0x15, 8);
+ addKey("6", Six_Key, 0x16, 8);
+ addKey("7", Seven_Key, 0x17, 8);
+ addKey("8", Eight_Key, 0x18, 8);
+ addKey("9", Nine_Key, 0x19, 8);
+ addKey("Info", Info_Key, 0x1A, 8);
+ addKey("EPG", Guide_Key, 0x1B, 8);
+ addKey("Exit", Exit_Key, 0x1C, 8);
+ addKey("Page Down", PageDown_Key, 0x1D, 8);
+ addKey("Green/F3", Green_Key, 0x1E, 8);
+ addKey("OK", Select_Key, 0x1F, 8);
+
+ addKey("Red/F1", Red_Key, 0x40, 8);
+}
diff --git a/keysets/dse.h b/keysets/dse.h
new file mode 100644
index 0000000..3fbf4e6
--- /dev/null
+++ b/keysets/dse.h
@@ -0,0 +1,28 @@
+#ifndef DSE_H
+#define DSE_H
+
+#include "pirkeysetmetadata.h"
+
+class QObject;
+
+class DSEDVD1: public PIRKeysetMetaData
+{
+public:
+ DSEDVD1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+class DSESat1: public PIRKeysetMetaData
+{
+public:
+ DSESat1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+#endif // DSE_H
diff --git a/keysets/dynex.cpp b/keysets/dynex.cpp
new file mode 100644
index 0000000..02d6e57
--- /dev/null
+++ b/keysets/dynex.cpp
@@ -0,0 +1,72 @@
+#include "dynex.h"
+#include "protocols/necprotocol.h"
+
+
+DynexTV1::DynexTV1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "TV Keyset 1",
+ Dynex_Make,
+ index)
+{
+}
+
+
+void DynexTV1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // If the pointer is not null, the keyset must already be populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, false);
+
+ setPreData(0x0586, 16);
+
+ addKey("1", One_Key, 0x00, 8);
+ addKey("2", Two_Key, 0x01, 8);
+ addKey("3", Three_Key, 0x02, 8);
+ addKey("4", Four_Key, 0x03, 8);
+ addKey("5", Five_Key, 0x04, 8);
+ addKey("6", Six_Key, 0x05, 8);
+ addKey("7", Seven_Key, 0x06, 8);
+ addKey("8", Eight_Key, 0x07, 8);
+ addKey("9", Nine_Key, 0x08, 8);
+ addKey("0", Zero_Key, 0x09, 8);
+ addKey("CHUp", ChannelUp_Key, 0x0A, 8);
+ addKey("CHDown", ChannelDown_Key, 0x0B, 8);
+ addKey("VolUp", VolumeUp_Key, 0x0C, 8);
+ addKey("VolDown", VolumeDown_Key, 0x0D, 8);
+ addKey("Mute", Mute_Key, 0x0E, 8);
+ addKey("Power", Power_Key, 0x0F, 8);
+
+ addKey("recall", PrevChannel_Key, 0x10, 8);
+ addKey("mts/sap", Audio_Key, 0x11, 8);
+ addKey("Sleep", Sleep_Key, 0x13, 8);
+ addKey("Menu", Menu_Key, 0x14, 8);
+ addKey("right arrow", Right_Key, 0x15, 8);
+ addKey("left arrow", Left_Key, 0x16, 8);
+ addKey("info/display", Info_Key, 0x17, 8);
+ addKey("Enter", Select_Key, 0x18, 8);
+ addKey("Reset", Reset_Key, 0x19, 8);
+ addKey("exit", Exit_Key, 0x1B, 8);
+ addKey("ccd", Captions_Key, 0x1C, 8);
+ addKey("input", Input_Key, 0x1D, 8);
+
+ addKey("dot(.)", Dash_Key, 0x41, 8);
+ addKey("up arrow", Up_Key, 0x42, 8);
+ addKey("down arrow", Down_Key, 0x43, 8);
+ addKey("zoom", Zoom_Key, 0x44, 8);
+ addKey("guide", Guide_Key, 0x45, 8);
+ addKey("audio", SoundMode_Key, 0x48, 8);
+ addKey("picture", PictureMode_Key, 0x49, 8);
+ addKey("favorite", Favorites_Key, 0x4B, 8);
+ addKey("comp", PCInput_Key, 0x4D, 8);
+ addKey("hdmi", HDMIInput_Key, 0x50, 8);
+ addKey("video", AuxInput_Key, 0x4C, 8);
+ addKey("tv", AntennaInput_Key, 0x4F, 8);
+
+ addKey("ch-list", Unmapped_Key, 0x86, 8);
+}
diff --git a/keysets/dynex.h b/keysets/dynex.h
new file mode 100644
index 0000000..bb79760
--- /dev/null
+++ b/keysets/dynex.h
@@ -0,0 +1,18 @@
+#ifndef DYNEX_H
+#define DYNEX_H
+
+#include "pirkeysetmetadata.h"
+
+class QObject;
+
+class DynexTV1: public PIRKeysetMetaData
+{
+public:
+ DynexTV1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+#endif // DYNEX_H
diff --git a/keysets/foxtel.cpp b/keysets/foxtel.cpp
index be14584..5be9212 100644
--- a/keysets/foxtel.cpp
+++ b/keysets/foxtel.cpp
@@ -1,5 +1,6 @@
#include "foxtel.h"
#include "protocols/necprotocol.h"
+#include "protocols/nokia32protocol.h"
FoxtelSTB1::FoxtelSTB1(
@@ -59,3 +60,76 @@ void FoxtelSTB1::populateProtocol(
addKey("Unknown4", Unmapped_Key, 0x1E, 8);
addKey("Prog-", ChannelDown_Key, 0x1F, 8);
}
+
+
+FoxtelSTB2::FoxtelSTB2(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "STB Keyset 2",
+ Foxtel_Make,
+ index)
+{
+}
+
+
+void FoxtelSTB2::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new Nokia32Protocol(guiObject, index);
+
+ setPreData(0x21A0, 16);
+ setPostData(0x26, 7);
+
+ addKey("0", Zero_Key, 0x00, 8);
+ addKey("1", One_Key, 0x01, 8);
+ addKey("2", Two_Key, 0x02, 8);
+ addKey("3", Three_Key, 0x03, 8);
+ addKey("4", Four_Key, 0x04, 8);
+ addKey("5", Five_Key, 0x05, 8);
+ addKey("6", Six_Key, 0x06, 8);
+ addKey("7", Seven_Key, 0x07, 8);
+ addKey("8", Eight_Key, 0x08, 8);
+ addKey("9", Nine_Key, 0x09, 8);
+ addKey("power", Power_Key, 0x0C, 8);
+ addKey("mute", Mute_Key, 0x0D, 8);
+ addKey("display/info", Info_Key, 0x0F, 8);
+ addKey("exit", Info_Key, 0x0F, 8);
+
+ addKey("vol up", VolumeUp_Key, 0x10, 8);
+ addKey("vol down", VolumeDown_Key, 0x11, 8);
+ addKey("channel up", ChannelUp_Key, 0x20, 8);
+ addKey("channel down", ChannelDown_Key, 0x21, 8);
+ addKey("fast fwd", FastForward_Key, 0x28, 8);
+ addKey("rewind", Rewind_Key, 0x29, 8);
+ addKey("play", Play_Key, 0x2C, 8);
+
+ addKey("pause", Pause_Key, 0x30, 8);
+ addKey("stop", Stop_Key, 0x31, 8);
+ addKey("record", Record_Key, 0x37, 8);
+ addKey("tv/vcr", Input_Key, 0x38, 8);
+
+ addKey("Setup", Unmapped_Key, 0x54, 8);
+ addKey("up arrow", Up_Key, 0x58, 8);
+ addKey("down arrow", Down_Key, 0x59, 8);
+ addKey("left arrow", Left_Key, 0x5A, 8);
+ addKey("right arrow", Right_Key, 0x5B, 8);
+ addKey("select", Select_Key, 0x5C, 8);
+
+ addKey("red", Red_Key, 0x6D, 8);
+ addKey("green", Green_Key, 0x6E, 8);
+ addKey("yellow", Yellow_Key, 0x6F, 8);
+ addKey("blue", Blue_Key, 0x70, 8);
+ addKey("help", Unmapped_Key, 0x81, 8);
+ addKey("last/prev ch", PrevChannel_Key, 0x83, 8);
+ addKey("Foxtel", Unmapped_Key, 0x8E, 8);
+ addKey("program/guide", Guide_Key, 0xCC, 8);
+ addKey("BoxOffice", Unmapped_Key, 0xD5, 8);
+ addKey("Planner", Unmapped_Key, 0xF4, 8);
+ addKey("Active", Menu_Key, 0xFD, 8);
+}
diff --git a/keysets/foxtel.h b/keysets/foxtel.h
index 24c2d59..ea9a4d9 100644
--- a/keysets/foxtel.h
+++ b/keysets/foxtel.h
@@ -15,4 +15,14 @@ public:
QObject *guiObject);
};
+class FoxtelSTB2: public PIRKeysetMetaData
+{
+public:
+ FoxtelSTB2(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
#endif // FOXTEL_H
diff --git a/keysets/harmankardon.cpp b/keysets/harmankardon.cpp
new file mode 100644
index 0000000..8ba3adb
--- /dev/null
+++ b/keysets/harmankardon.cpp
@@ -0,0 +1,472 @@
+#include "harmankardon.h"
+#include "protocols/necprotocol.h"
+
+
+HarmanKardonAmp1::HarmanKardonAmp1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Amp/Receiver Component 1",
+ HarmanKardon_Make,
+ index)
+{
+}
+
+
+void HarmanKardonAmp1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, true);
+
+ setPreData(0x7080, 16);
+
+ addKey("CD_STOP", Stop_Key, 0x01, 8);
+ addKey("CD_PLAY", Play_Key, 0x02, 8);
+ addKey("CD_PAUSE", Pause_Key, 0x03, 8);
+ addKey("CD_NEXT", Next_Key, 0x04, 8);
+ addKey("CD_PREV", Previous_Key, 0x05, 8);
+ addKey("CD_FWD", FastForward_Key, 0x06, 8);
+ addKey("CD_BKW", Rewind_Key, 0x07, 8);
+ addKey("CD_AB", RepeatAB_Key, 0x0B, 8);
+ addKey("CD_INTRO", Unmapped_Key, 0x0D, 8);
+
+ addKey("CD_DISC", NextDisc_Key, 0x50, 8);
+
+ addKey("FM", TunerBand_Key, 0x81, 8); // "am/fm"
+ addKey("AM", Unmapped_Key, 0x82, 8);
+ addKey("TUNEUP", ChannelUp_Key, 0x84, 8);
+ addKey("TUNEDN", ChannelDown_Key, 0x85, 8);
+ addKey("mem", Memory_Key, 0x86, 8);
+ addKey("1", One_Key, 0x87, 8);
+ addKey("2", Two_Key, 0x88, 8);
+ addKey("3", Three_Key, 0x89, 8);
+ addKey("4", Four_Key, 0x8A, 8);
+ addKey("5", Five_Key, 0x8B, 8);
+ addKey("6", Six_Key, 0x8C, 8);
+ addKey("7", Seven_Key, 0x8D, 8);
+ addKey("8", Eight_Key, 0x8E, 8);
+ addKey("shift", Unmapped_Key, 0x8F, 8);
+
+ addKey("seek-st", Unmapped_Key, 0x91, 8);
+ addKey("tun-m", Unmapped_Key, 0x93, 8);
+ addKey("PSCAN", Scan_Key, 0x96, 8);
+ addKey("direct", Unmapped_Key, 0x9B, 8);
+ addKey("9", Nine_Key, 0x9D, 8);
+ addKey("0", Zero_Key, 0x9E, 8);
+ addKey("pow_off", PowerOff_Key, 0x9F, 8);
+
+ addKey("STANDBY", Power_Key, 0xC0, 8); // "pow_on"
+ addKey("MUTE", Mute_Key, 0xC1, 8);
+ addKey("Phono", PhonoInput_Key, 0xC2, 8);
+ addKey("TUNER", TunerInput_Key, 0xC3, 8);
+ addKey("CD", CDInput_Key, 0xC4, 8);
+ addKey("video", Unmapped_Key, 0xC6, 8);
+ addKey("VOLUP", VolumeUp_Key, 0xC7, 8);
+ addKey("VOLDN", VolumeDown_Key, 0xC8, 8);
+ addKey("VCR1", VCRInput_Key, 0xCA, 8);
+ addKey("VCR2", Unmapped_Key, 0xCB, 8);
+ addKey("source_tape", TapeInput_Key, 0xCC, 8);
+ addKey("TAPEMON", Unmapped_Key, 0xCD, 8); // "Tape2"
+ addKey("TVAUX", AuxInput_Key, 0xCE, 8);
+
+ addKey("source_dvd", DVDInput_Key, 0xD0, 8);
+ addKey("source_vid4", Unmapped_Key, 0xD1, 8);
+ addKey("aux2", Unmapped_Key, 0xD5, 8);
+ addKey("S_REARUP", RearVolumeUp_Key, 0xD7, 8);
+ addKey("S_REARDN", RearVolumeDown_Key, 0xD8, 8);
+ addKey("S_CNTUP", CenterVolumeUp_Key, 0xD9, 8);
+ addKey("S_CNTDN", CenterVolumeDown_Key, 0xDA, 8);
+ addKey("SLEEP", Sleep_Key, 0xDB, 8);
+ addKey("DISPLAY", Info_Key, 0xDC, 8);
+}
+
+
+HarmanKardonAmp2::HarmanKardonAmp2(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Amp Component 2",
+ HarmanKardon_Make,
+ index)
+{
+}
+
+
+void HarmanKardonAmp2::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, true);
+
+ setPreData(0x7686, 16);
+
+ addKey("on", PowerOn_Key, 0x40, 8);
+ addKey("off", PowerOff_Key, 0x41, 8);
+ addKey("speaker1", Unmapped_Key, 0x42, 8);
+ addKey("speaker2", Unmapped_Key, 0x43, 8);
+ addKey("phono", PhonoInput_Key, 0x44, 8);
+ addKey("cd", CDInput_Key, 0x48, 8);
+ addKey("vid1", Unmapped_Key, 0x4B, 8);
+ addKey("vid2", Unmapped_Key, 0x4C, 8);
+ addKey("vid3", Unmapped_Key, 0x4D, 8);
+ addKey("fm", Unmapped_Key, 0x46, 8);
+ addKey("am", Unmapped_Key, 0x45, 8);
+ addKey("tapemon", Unmapped_Key, 0x4A, 8);
+ addKey("vol+", VolumeUp_Key, 0x54, 8);
+ addKey("vol-", VolumeDown_Key, 0x53, 8);
+ addKey("mute", Mute_Key, 0x5A, 8);
+ addKey("dimmer", Unmapped_Key, 0x5C, 8);
+ addKey("sleep", Sleep_Key, 0x5B, 8);
+}
+
+
+HarmanKardonReceiver2::HarmanKardonReceiver2(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Receiver Component 2",
+ HarmanKardon_Make,
+ index)
+{
+}
+
+
+void HarmanKardonReceiver2::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, true);
+
+ setPreData(0x7080, 16);
+
+ addKey("fm_mode", FMMode_Key, 0x3C, 8);
+ addKey("auto_preset", Unmapped_Key, 0x61, 8);
+ addKey("1", One_Key, 0x31, 8);
+ addKey("2", Two_Key, 0x32, 8);
+ addKey("3", Three_Key, 0x33, 8);
+ addKey("4", Four_Key, 0x34, 8);
+ addKey("5", Five_Key, 0x35, 8);
+ addKey("6", Six_Key, 0x36, 8);
+ addKey("7", Seven_Key, 0x37, 8);
+ addKey("8", Eight_Key, 0x38, 8);
+ addKey("9", Nine_Key, 0x39, 8);
+ addKey("direct", Unmapped_Key, 0x6A, 8);
+ addKey("0", Zero_Key, 0x30, 8);
+ addKey("clear", Clear_Key, 0x2F, 8);
+ addKey("memory", Memory_Key, 0x2E, 8);
+ addKey("up", Up_Key, 0x28, 8);
+ addKey("left", Left_Key, 0x3F, 8);
+ addKey("ok", Select_Key, 0x6D, 8);
+ addKey("right", Right_Key, 0x3E, 8);
+ addKey("down", Down_Key, 0x29, 8);
+ addKey("preset_scan", Scan_Key, 0x2D, 8);
+ addKey("tune_up", ChannelUp_Key, 0x76, 8);
+ addKey("tune_down", ChannelDown_Key, 0x77, 8);
+ addKey("prev", Previous_Key, 0x25, 8);
+ addKey("pause", Pause_Key, 0x23, 8);
+ addKey("next", Next_Key, 0x24, 8);
+ addKey("rev", Rewind_Key, 0x27, 8);
+ addKey("play", Play_Key, 0x22, 8);
+ addKey("ffw", FastForward_Key, 0x26, 8);
+ addKey("rec", Record_Key, 0x60, 8);
+ addKey("stop", Stop_Key, 0x21, 8);
+}
+
+
+HarmanKardonTape1::HarmanKardonTape1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Tape Component 1",
+ HarmanKardon_Make,
+ index)
+{
+}
+
+
+void HarmanKardonTape1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated:
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, true);
+
+ setPreData(0x7282, 16);
+
+ addKey("C_NEXT", Next_Key, 0x01, 8);
+ addKey("C_PREV", Previous_Key, 0x02, 8);
+ addKey("C_STOP", Stop_Key, 0x03, 8);
+ addKey("C_FWD", FastForward_Key, 0x04, 8);
+ addKey("C_BKW", Rewind_Key, 0x05, 8);
+// addKey("C_REC", Record_Key, 0x06, 8);
+ addKey("CassDeckPause", Pause_Key, 0x06, 8);
+
+ addKey("C_SELECT", Select_Key, 0x1D, 8);
+
+ addKey("dolby", NoiseReduction_Key, 0x50, 8);
+ addKey("delay", Unmapped_Key, 0x52, 8);
+ addKey("spkr", Unmapped_Key, 0x53, 8);
+ addKey("digital", Unmapped_Key, 0x54, 8);
+ addKey("surr", Surround_Key, 0x58, 8);
+ addKey("osd", Info_Key, 0x5C, 8);
+ addKey("ch", Unmapped_Key, 0x5D, 8);
+
+ addKey("set", Select_Key, 0x84, 8);
+ addKey("S_OFF", Unmapped_Key, 0x89, 8);
+// addKey("S_DELAY", Unmapped_Key, 0x8A, 8);
+ addKey("^", Up_Key, 0x8A, 8);
+ addKey("v", Down_Key, 0x8B, 8);
+ addKey("S_TEST", Unmapped_Key, 0x8C, 8);
+ addKey("S_CNTMODE", Unmapped_Key, 0x8D, 8);
+ addKey("Theater", Unmapped_Key, 0x92, 8);
+ addKey("Stadium", Unmapped_Key, 0x94, 8);
+ addKey("night", Unmapped_Key, 0x96, 8);
+ addKey("stereo", Unmapped_Key, 0x9B, 8);
+ addKey("S_3STEREO", Unmapped_Key, 0x9D, 8);
+ addKey("S_PROLOGIC", Unmapped_Key, 0x9F, 8);
+
+ addKey("dts_surr", Unmapped_Key, 0xA0, 8);
+ addKey("dts_neo:6", Unmapped_Key, 0xA1, 8);
+ addKey("<", Left_Key, 0xC1, 8);
+ addKey(">", Right_Key, 0xC2, 8);
+ addKey("preset+", ChannelUp_Key, 0xD0, 8);
+ addKey("preset-", ChannelDown_Key, 0xD1, 8);
+ addKey("clear", Clear_Key, 0xD9, 8);
+ addKey("logic_7", Unmapped_Key, 0xDA, 8);
+ addKey("source_6/8ch", Unmapped_Key, 0xDB, 8);
+ addKey("d.skip", NextDisc_Key, 0xDD, 8);
+ addKey("mroom", Unmapped_Key, 0xDF, 8);
+}
+
+
+HarmanKardonDVD1::HarmanKardonDVD1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "DVD Keyset 1",
+ HarmanKardon_Make,
+ index)
+{
+}
+
+
+void HarmanKardonDVD1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, true);
+
+ setPreData(0x7282, 16);
+
+ addKey("Open/Close", Eject_Key, 0x20, 8);
+ addKey("ON", PowerOn_Key, 0x21, 8);
+ addKey("OFF", PowerOff_Key, 0x22, 8);
+ addKey("Title", DiscTitle_Key, 0x23, 8);
+ addKey("Menu", DiscMenu_Key, 0x24, 8);
+ addKey("Return", Exit_Key, 0x25, 8);
+ addKey("Up", Up_Key, 0x26, 8);
+ addKey("Down", Down_Key, 0x27, 8);
+ addKey("Left", Left_Key, 0x28, 8);
+ addKey("Right", Right_Key, 0x29, 8);
+ addKey("Enter", Select_Key, 0x2A, 8);
+ addKey("Play", Play_Key, 0x2B, 8);
+ addKey("Pause", Pause_Key, 0x2C, 8);
+ addKey("Stop", Stop_Key, 0x2D, 8);
+ addKey("SearchBack", Rewind_Key, 0x2E, 8);
+ addKey("SearchForward", FastForward_Key, 0x2F, 8);
+
+ addKey("Prev.", Previous_Key, 0x30, 8);
+ addKey("Next", Next_Key, 0x31, 8);
+ addKey("Subtitle", Unmapped_Key, 0x33, 8);
+ addKey("SubtitleON/OFF", Captions_Key, 0x34, 8);
+ addKey("Audio", Audio_Key, 0x35, 8);
+ addKey("Angle", Angle_Key, 0x36, 8);
+ addKey("Status", Info_Key, 0x39, 8);
+ addKey("SlowBack", SlowMinus_Key, 0x3A, 8);
+ addKey("SlowForward", SlowPlus_Key, 0x3B, 8);
+ addKey("StepBack", StepBack_Key, 0x3C, 8);
+ addKey("StepForward", StepForward_Key, 0x3D, 8);
+ addKey("Zoom", Zoom_Key, 0x3E, 8);
+
+ addKey("0", Zero_Key, 0x60, 8);
+ addKey("1", One_Key, 0x61, 8);
+ addKey("2", Two_Key, 0x62, 8);
+ addKey("3", Three_Key, 0x63, 8);
+ addKey("4", Four_Key, 0x64, 8);
+ addKey("5", Five_Key, 0x65, 8);
+ addKey("6", Six_Key, 0x66, 8);
+ addKey("7", Seven_Key, 0x67, 8);
+ addKey("8", Eight_Key, 0x68, 8);
+ addKey("9", Nine_Key, 0x69, 8);
+ addKey("Prog.", Program_Key, 0x6A, 8);
+ addKey("Check", Unmapped_Key, 0x6B, 8);
+ addKey("Clear", Clear_Key, 0x6C, 8);
+ addKey("Random", Random_Key, 0x6D, 8);
+ addKey("Repeat", Repeat_Key, 0x6E, 8);
+ addKey("A-B", RepeatAB_Key, 0x6F, 8);
+
+ addKey("Playlist", Unmapped_Key, 0xB0, 8);
+}
+
+
+HarmanKardonDVD1a::HarmanKardonDVD1a(
+ unsigned int index)
+ : HarmanKardonDVD1(index)
+{
+ setKeysetName("DVD Keyset 1a");
+}
+
+
+void HarmanKardonDVD1a::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ HarmanKardonDVD1::populateProtocol(guiObject);
+
+ addKey("OSD", Unmapped_Key, 0x24, 8);
+ addKey("Subtitle", Captions_Key, 0x33, 8);
+ addKey("Disc/Menu", DiscMenu_Key, 0x4C, 8);
+ addKey("Info", Info_Key, 0x4D, 8);
+ addKey("V.Off", Unmapped_Key, 0x4E, 8);
+ addKey("Display", Unmapped_Key, 0xB3, 8);
+ addKey("Pic+", Unmapped_Key, 0xB4, 8);
+ addKey("Pic-", Unmapped_Key, 0xB5, 8);
+}
+
+
+HarmanKardonCD1::HarmanKardonCD1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "CD Keyset 1",
+ HarmanKardon_Make,
+ index)
+{
+}
+
+
+void HarmanKardonCD1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, true);
+
+ setPreData(0x4A83, 16);
+
+ addKey("1", One_Key, 0x1C, 8);
+ addKey("2", Two_Key, 0x1D, 8);
+ addKey("3", Three_Key, 0x1E, 8);
+ addKey("4", Four_Key, 0x1F, 8);
+ addKey("5", Five_Key, 0x18, 8);
+ addKey("6", Six_Key, 0x19, 8);
+ addKey("7", Seven_Key, 0x1A, 8);
+ addKey("8", Eight_Key, 0x1B, 8);
+ addKey("9", Nine_Key, 0x14, 8);
+ addKey("0", Zero_Key, 0x15, 8);
+ addKey("intro", Unmapped_Key, 0x10, 8);
+ addKey("prog/rev", Program_Key, 0x16, 8);
+ addKey("tape_size", Unmapped_Key, 0x17, 8);
+ addKey("edit", Unmapped_Key, 0x0E, 8);
+ addKey("repeat_1/all", Repeat_Key, 0x0C, 8);
+ addKey("repeat_a/b", RepeatAB_Key, 0x0D, 8);
+ addKey("random", Random_Key, 0x11, 8);
+ addKey("delete", Unmapped_Key, 0x0A, 8);
+ addKey("display", Info_Key, 0x12, 8);
+ addKey("time", Unmapped_Key, 0x0F, 8);
+ addKey("skip_backward", Previous_Key, 0x04, 8);
+ addKey("skip_forward", Next_Key, 0x05, 8);
+ addKey("pause", Pause_Key, 0x07, 8);
+ addKey("stop", Stop_Key, 0x0B, 8);
+ addKey("fast_backward", Rewind_Key, 0x00, 8);
+ addKey("fast_forward", FastForward_Key, 0x01, 8);
+ addKey("play", Play_Key, 0x03, 8);
+}
+
+
+HarmanKardonCD2::HarmanKardonCD2(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "CD Keyset 2",
+ HarmanKardon_Make,
+ index)
+{
+}
+
+
+void HarmanKardonCD2::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, true);
+
+ setPreData(0x7080, 16);
+
+ addKey("stop", Stop_Key, 0x01, 8);
+ addKey("play", Play_Key, 0x02, 8);
+ addKey("pause", Pause_Key, 0x03, 8);
+ addKey("skipnext", Next_Key, 0x04, 8);
+ addKey("skipprev", Previous_Key, 0x05, 8);
+ addKey("searchnext", FastForward_Key, 0x06, 8);
+ addKey("searchprev", Rewind_Key, 0x07, 8);
+ addKey("repeat", Repeat_Key, 0x0A, 8);
+ addKey("ab", RepeatAB_Key, 0x0B, 8);
+ addKey("intro", Unmapped_Key, 0x0D, 8);
+ addKey("program", Program_Key, 0x0E, 8);
+ addKey("clear", Clear_Key, 0x0F, 8);
+
+ addKey("1", One_Key, 0x11, 8);
+ addKey("2", Two_Key, 0x12, 8);
+ addKey("3", Three_Key, 0x13, 8);
+ addKey("4", Four_Key, 0x14, 8);
+ addKey("5", Five_Key, 0x15, 8);
+ addKey("6", Six_Key, 0x16, 8);
+ addKey("7", Seven_Key, 0x17, 8);
+ addKey("8", Eight_Key, 0x18, 8);
+ addKey("9", Nine_Key, 0x19, 8);
+ addKey("check", Unmapped_Key, 0x1B, 8);
+ addKey("time", Unmapped_Key, 0x1C, 8);
+ addKey("display", Info_Key, 0x1D, 8);
+
+ addKey("0", Zero_Key, 0x40, 8);
+ addKey("edit", Unmapped_Key, 0x4C, 8);
+ addKey("random", Random_Key, 0x4D, 8);
+
+ addKey("CD_DISC", NextDisc_Key, 0x50, 8);
+ addKey("on", PowerOn_Key, 0x56, 8);
+ addKey("off", PowerOff_Key, 0x57, 8);
+ addKey("tapesize", Unmapped_Key, 0x5C, 8);
+}
diff --git a/keysets/harmankardon.h b/keysets/harmankardon.h
new file mode 100644
index 0000000..032a5f3
--- /dev/null
+++ b/keysets/harmankardon.h
@@ -0,0 +1,88 @@
+#ifndef HARMANKARDON_H
+#define HARMANKARDON_H
+
+#include "pirkeysetmetadata.h"
+
+class QObject;
+
+class HarmanKardonAmp1: public PIRKeysetMetaData
+{
+public:
+ HarmanKardonAmp1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+class HarmanKardonAmp2: public PIRKeysetMetaData
+{
+public:
+ HarmanKardonAmp2(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+class HarmanKardonReceiver2: public PIRKeysetMetaData
+{
+public:
+ HarmanKardonReceiver2(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+class HarmanKardonTape1: public PIRKeysetMetaData
+{
+public:
+ HarmanKardonTape1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+class HarmanKardonDVD1: public PIRKeysetMetaData
+{
+public:
+ HarmanKardonDVD1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+class HarmanKardonDVD1a: public HarmanKardonDVD1
+{
+public:
+ HarmanKardonDVD1a(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+class HarmanKardonCD1: public PIRKeysetMetaData
+{
+public:
+ HarmanKardonCD1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+class HarmanKardonCD2: public PIRKeysetMetaData
+{
+public:
+ HarmanKardonCD2(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+#endif // HARMANKARDON_H
diff --git a/keysets/kathrein.cpp b/keysets/kathrein.cpp
new file mode 100644
index 0000000..5806178
--- /dev/null
+++ b/keysets/kathrein.cpp
@@ -0,0 +1,195 @@
+#include "kathrein.h"
+#include "protocols/kathreinprotocol.h"
+#include "protocols/nokia32protocol.h"
+#include "protocols/mceprotocol.h"
+
+
+KathreinSat1::KathreinSat1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Sat Keyset 1",
+ Kathrein_Make,
+ index)
+{
+}
+
+
+void KathreinSat1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new KathreinProtocol(guiObject, index);
+
+ setPreData(0x0, 4);
+
+ addKey("ab", Unmapped_Key, 0x23, 8);
+ addKey("f", Unmapped_Key, 0x9B, 8);
+ addKey("off", PowerOff_Key, 0x25, 8);
+ addKey("l", Unmapped_Key, 0x57, 8);
+ addKey("mid", Unmapped_Key, 0x59, 8);
+ addKey("i", Unmapped_Key, 0x19, 8);
+ addKey("clock", Unmapped_Key, 0x21, 8);
+ addKey("tv", Input_Key, 0x1F, 8);
+ addKey("up", Up_Key, 0x2F, 8);
+ addKey("dwn", Down_Key, 0x31, 8);
+ addKey("ok", Select_Key, 0x1D, 8);
+ addKey("vol-", VolumeDown_Key, 0x2D, 8);
+ addKey("vol+", VolumeUp_Key, 0x2B, 8);
+ addKey("mute", Mute_Key, 0x27, 8);
+ addKey("stero", Audio_Key, 0x85, 8);
+ addKey("r", Unmapped_Key, 0x1B, 8);
+ addKey("0", Zero_Key, 0x01, 8);
+ addKey("1", One_Key, 0x03, 8);
+ addKey("2", Two_Key, 0x05, 8);
+ addKey("3", Three_Key, 0x07, 8);
+ addKey("4", Four_Key, 0x09, 8);
+ addKey("5", Five_Key, 0x0B, 8);
+ addKey("6", Six_Key, 0x0D, 8);
+ addKey("7", Seven_Key, 0x0F, 8);
+ addKey("8", Eight_Key, 0x11, 8);
+ addKey("9", Nine_Key, 0x13, 8);
+}
+
+
+KathreinSat2::KathreinSat2(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Sat Keyset 2",
+ Kathrein_Make,
+ index)
+{
+}
+
+
+void KathreinSat2::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated
+ return;
+ }
+
+ threadableProtocol = new Nokia32Protocol(guiObject, index);
+
+ setPreData(0x2290, 16);
+ setPostData(0x00, 7);
+
+ addKey("0", Zero_Key, 0x00, 8);
+ addKey("1", One_Key, 0x01, 8);
+ addKey("2", Two_Key, 0x02, 8);
+ addKey("3", Three_Key, 0x03, 8);
+ addKey("4", Four_Key, 0x04, 8);
+ addKey("5", Five_Key, 0x05, 8);
+ addKey("6", Six_Key, 0x06, 8);
+ addKey("7", Seven_Key, 0x07, 8);
+ addKey("8", Eight_Key, 0x08, 8);
+ addKey("9", Nine_Key, 0x09, 8);
+ addKey("power", Power_Key, 0x0C, 8);
+ addKey("mute", Mute_Key, 0x0D, 8);
+ addKey("+10{-/--}", DoubleDigit_Key, 0x0F, 8);
+
+ addKey("vol+", VolumeUp_Key, 0x10, 8);
+ addKey("vol-", VolumeDown_Key, 0x11, 8);
+ addKey("ch+", ChannelUp_Key, 0x1E, 8);
+ addKey("ch-", ChannelDown_Key, 0x1F, 8);
+
+ addKey("FFWD", FastForward_Key, 0x20, 8);
+ addKey("REW", Rewind_Key, 0x21, 8);
+ addKey("pause", Pause_Key, 0x31, 8);
+ addKey("B/STOP", Stop_Key, 0x31, 8);
+ addKey("A", Record_Key, 0x37, 8); // "Record"
+ addKey("PLAY", Play_Key, 0x38, 8);
+ addKey("PAUSE", Pause_Key, 0x39, 8);
+ addKey("rewind", Teletext_Key, 0x3C, 8); // "Teletext"
+
+ addKey("C", Menu_Key, 0x54, 8); // "Menu"
+ addKey("exit", Exit_Key, 0x55, 8);
+ addKey("up", Up_Key, 0x58, 8);
+ addKey("down", Down_Key, 0x59, 8);
+ addKey("left", Left_Key, 0x5A, 8);
+ addKey("right", Right_Key, 0x5B, 8);
+ addKey("select", Select_Key, 0x5C, 8);
+
+ addKey("ffwd", Red_Key, 0x6D, 8); // "Red"
+ addKey("stop", Green_Key, 0x6E, 8); // "Green"
+ addKey("record", Yellow_Key, 0x6F, 8); // "Yellow"
+ addKey("auto", Blue_Key, 0x70, 8); // "Blue"
+
+ addKey("menu", Guide_Key, 0xCC, 8); // "Guide"
+}
+
+
+KathreinSat3::KathreinSat3(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Sat Keyset 3",
+ Kathrein_Make,
+ index)
+{
+}
+
+
+void KathreinSat3::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new MCEProtocol(guiObject, index, 0x8046);
+
+ setPreData(0x00, 7);
+
+ addKey("num_0", Zero_Key, 0x00, 8);
+ addKey("num_1", One_Key, 0x01, 8);
+ addKey("num_2", Two_Key, 0x02, 8);
+ addKey("num_3", Three_Key, 0x03, 8);
+ addKey("num_4", Four_Key, 0x04, 8);
+ addKey("num_5", Five_Key, 0x05, 8);
+ addKey("num_6", Six_Key, 0x06, 8);
+ addKey("num_7", Seven_Key, 0x07, 8);
+ addKey("num_8", Eight_Key, 0x08, 8);
+ addKey("num_9", Nine_Key, 0x09, 8);
+ addKey("Power", Power_Key, 0x0C, 8);
+ addKey("Mute", Mute_Key, 0x0D, 8);
+ addKey("Info", Info_Key, 0x0F, 8);
+
+ addKey("VOL+", VolumeUp_Key, 0x10, 8);
+ addKey("VOL-", VolumeDown_Key, 0x11, 8);
+ addKey("CH+", ChannelUp_Key, 0x1E, 8);
+ addKey("CH-", ChannelDown_Key, 0x1F, 8);
+
+ addKey("ffwd", FastForward_Key, 0x20, 8);
+ addKey("rewind", Rewind_Key, 0x21, 8);
+ addKey("Stop", Stop_Key, 0x31, 8);
+ addKey("Record", Record_Key, 0x37, 8);
+ addKey("Play", Play_Key, 0x38, 8);
+ addKey("Pause", Pause_Key, 0x39, 8);
+ addKey("Teletext", Teletext_Key, 0x3C, 8);
+ addKey("Archive", Unmapped_Key, 0x46, 8);
+
+ addKey("Menu", Menu_Key, 0x54, 8);
+ addKey("Last_ch", PrevChannel_Key, 0x55, 8);
+ addKey("Exit", Exit_Key, 0x55, 8);
+ addKey("up_arrow", Up_Key, 0x58, 8);
+ addKey("down_arrow", Down_Key, 0x59, 8);
+ addKey("left_arrow", Left_Key, 0x5A, 8);
+ addKey("right_arrow", Right_Key, 0x5B, 8);
+ addKey("Select", Select_Key, 0x5C, 8);
+
+ addKey("Red", Red_Key, 0x6D, 8);
+ addKey("Green", Green_Key, 0x6E, 8);
+ addKey("Yellow", Yellow_Key, 0x6F, 8);
+ addKey("Blue", Blue_Key, 0x70, 8);
+ addKey("Help", Unmapped_Key, 0x81, 8);
+ addKey("Guide", Guide_Key, 0xCC, 8);
+ addKey("Media", Unmapped_Key, 0xD5, 8);
+}
diff --git a/keysets/kathrein.h b/keysets/kathrein.h
new file mode 100644
index 0000000..8f14979
--- /dev/null
+++ b/keysets/kathrein.h
@@ -0,0 +1,38 @@
+#ifndef KATHREIN_H
+#define KATHREIN_H
+
+#include "pirkeysetmetadata.h"
+
+class QObject;
+
+class KathreinSat1: public PIRKeysetMetaData
+{
+public:
+ KathreinSat1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+class KathreinSat2: public PIRKeysetMetaData
+{
+public:
+ KathreinSat2(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+class KathreinSat3: public PIRKeysetMetaData
+{
+public:
+ KathreinSat3(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+#endif // KATHREIN_H
diff --git a/keysets/lg.cpp b/keysets/lg.cpp
index ea36139..60df8d3 100644
--- a/keysets/lg.cpp
+++ b/keysets/lg.cpp
@@ -692,9 +692,9 @@ void LGAC1::populateProtocol(
setPreData(0x6681, 16);
addKey("power", Power_Key, 0x81, 8);
- addKey("temp up", Red_Key, 0x85, 8);
- addKey("temp down", Blue_Key, 0x8A, 8);
- addKey("timer", Sleep_Key, 0x90, 8);
- addKey("fan speed", SoundMode_Key, 0x99, 8);
- addKey("mode", PictureMode_Key, 0x9B, 8);
+ addKey("temp up", TempUp_Key, 0x85, 8);
+ addKey("temp down", TempDown_Key, 0x8A, 8);
+ addKey("timer", Timer_Key, 0x90, 8);
+ addKey("fan speed", FanFaster_Key, 0x99, 8);
+ addKey("mode", Mode_Key, 0x9B, 8);
}
diff --git a/keysets/logitech.cpp b/keysets/logitech.cpp
index e03f25b..5c7792a 100644
--- a/keysets/logitech.cpp
+++ b/keysets/logitech.cpp
@@ -44,3 +44,79 @@ void LogitechSpeakers::populateProtocol(
addKey("settings", Blue_Key, 0x1F, 8);
addKey("vol+", VolumeUp_Key, 0x1A, 8);
}
+
+
+LogitechSqueezebox::LogitechSqueezebox(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Squeezebox Keyset",
+ Logitech_Make,
+ index)
+{
+}
+
+
+void LogitechSqueezebox::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, false, true);
+
+ setPreData(0x6E, 8);
+
+ addKey("Add", Unmapped_Key, 0x06, 8);
+ addKey("Brightness", Unmapped_Key, 0x20, 8);
+ addKey("Browse", Unmapped_Key, 0x0E, 8);
+ addKey("BrowseAlbum", Unmapped_Key, 0x3E, 8);
+ addKey("BrowseArtist", Unmapped_Key, 0x2E, 8);
+ addKey("BrowseMusic", Unmapped_Key, 0x4E, 8);
+ addKey("BrowsePlayList", Unmapped_Key, 0x5E, 8);
+ addKey("DirectionDown", Down_Key, 0x0D, 8);
+ addKey("DirectionLeft", Left_Key, 0x09, 8);
+ addKey("DirectionRight", Right_Key, 0x0B, 8);
+ addKey("DirectionUp", Up_Key, 0x07, 8);
+ addKey("FastForward", FastForward_Key, 0x05, 8);
+ addKey("Favorite", Favorites_Key, 0x18, 8);
+ addKey("Home", Menu_Key, 0x44, 8);
+ addKey("Mute", Mute_Key, 0x23, 8);
+ addKey("NextTrack", Next_Key, 0x05, 8);
+ addKey("NowPlaying", Info_Key, 0x1E, 8);
+ addKey("Pause", Pause_Key, 0x04, 8);
+ addKey("Play", Play_Key, 0x08, 8);
+ addKey("PowerOff", PowerOff_Key, 0xE1, 8);
+ addKey("PowerOn", PowerOn_Key, 0xF1, 8);
+ addKey("PowerToggle", Power_Key, 0x02, 8);
+ addKey("Preset1", Unmapped_Key, 0x51, 8);
+ addKey("Preset2", Unmapped_Key, 0x52, 8);
+ addKey("Preset3", Unmapped_Key, 0x53, 8);
+ addKey("Preset4", Unmapped_Key, 0x54, 8);
+ addKey("Preset5", Unmapped_Key, 0x55, 8);
+ addKey("Preset6", Unmapped_Key, 0x56, 8);
+ addKey("PreviousTrack", Previous_Key, 0x03, 8);
+ addKey("Rewind", Rewind_Key, 0x03, 8);
+ addKey("Search", Unmapped_Key, 0x1A, 8);
+ addKey("SearchAlbum", Unmapped_Key, 0x3A, 8);
+ addKey("SearchArtist", Unmapped_Key, 0x2A, 8);
+ addKey("SearchSong", Unmapped_Key, 0x4A, 8);
+ addKey("Select/Ok", Select_Key, 0x08, 8);
+ addKey("Shuffle", Random_Key, 0x1B, 8);
+ addKey("Size", Unmapped_Key, 0x1F, 8);
+ addKey("Sleep", Sleep_Key, 0x1D, 8);
+ addKey("VolumeDown", VolumeDown_Key, 0x00, 8);
+ addKey("VolumeUp", VolumeUp_Key, 0x01, 8);
+ addKey("0", Zero_Key, 0x19, 8);
+ addKey("1", One_Key, 0x0F, 8);
+ addKey("2", Two_Key, 0x10, 8);
+ addKey("3", Three_Key, 0x11, 8);
+ addKey("4", Four_Key, 0x12, 8);
+ addKey("5", Five_Key, 0x13, 8);
+ addKey("6", Six_Key, 0x14, 8);
+ addKey("7", Seven_Key, 0x15, 8);
+ addKey("8", Eight_Key, 0x16, 8);
+ addKey("9", Nine_Key, 0x17, 8);
+}
diff --git a/keysets/logitech.h b/keysets/logitech.h
index f5e010f..ac044dd 100644
--- a/keysets/logitech.h
+++ b/keysets/logitech.h
@@ -15,4 +15,14 @@ public:
QObject *guiObject);
};
+class LogitechSqueezebox: public PIRKeysetMetaData
+{
+public:
+ LogitechSqueezebox(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
#endif // LOGITECH_H
diff --git a/keysets/panasonic.cpp b/keysets/panasonic.cpp
index b366087..47f9de6 100644
--- a/keysets/panasonic.cpp
+++ b/keysets/panasonic.cpp
@@ -847,11 +847,11 @@ void PanasonicAC1::populateProtocol(
setPreData(0x6681, 16);
addKey("Operation", Power_Key, 0x81, 8);
- addKey("Air Swing", Yellow_Key, 0x83, 8);
- addKey("Temp Up", Red_Key, 0x85, 8);
- addKey("Temp Down", Blue_Key, 0x8A, 8);
- addKey("Economy", Green_Key, 0x8D, 8);
- addKey("Timer", Sleep_Key, 0x90, 8);
- addKey("Fan Speed", SoundMode_Key, 0x99, 8);
- addKey("Mode", PictureMode_Key, 0x9B, 8);
+ addKey("Air Swing", Oscillate_Key, 0x83, 8);
+ addKey("Temp Up", TempUp_Key, 0x85, 8);
+ addKey("Temp Down", TempDown_Key, 0x8A, 8);
+ addKey("Economy", EnergySave_Key, 0x8D, 8);
+ addKey("Timer", Timer_Key, 0x90, 8);
+ addKey("Fan Speed", FanFaster_Key, 0x99, 8);
+ addKey("Mode", Mode_Key, 0x9B, 8);
}
diff --git a/keysets/samsung.cpp b/keysets/samsung.cpp
index f1ddbb8..50a1621 100644
--- a/keysets/samsung.cpp
+++ b/keysets/samsung.cpp
@@ -844,7 +844,7 @@ void SamsungDVD2::populateProtocol(
SamsungAC1::SamsungAC1(
unsigned int index)
: PIRKeysetMetaData(
- "Air Conditioner Keyset 1",
+ "Air Conditioner 1",
Samsung_Make,
index)
{
@@ -878,15 +878,15 @@ void SamsungAC1::populateProtocol(
addKey("TIMER", Timer_Key, 0xA4, 8);
addKey("SLEEP", Sleep_Key, 0xE4, 8);
- addKey("TEMP+", VolumeUp_Key, 0x4C, 8);
- addKey("TEMP-", VolumeDown_Key, 0x8C, 8);
- addKey("FAN", One_Key, 0x9C, 8);
- addKey("COOL", Two_Key, 0x3C, 8);
- addKey("HEAT", Three_Key, 0x5C, 8);
- addKey("FAN_HIGH", Four_Key, 0xEC, 8);
- addKey("FAN_MED", Five_Key, 0x6C, 8);
- addKey("FAN_LOW", Six_Key, 0xAC, 8);
- addKey("SWING", Seven_Key, 0x94, 8);
+ addKey("TEMP+", TempUp_Key, 0x4C, 8);
+ addKey("TEMP-", TempDown_Key, 0x8C, 8);
+ addKey("FAN", Fan_Key, 0x9C, 8);
+ addKey("COOL", Cool_Key, 0x3C, 8);
+ addKey("HEAT", Heat_Key, 0x5C, 8);
+ addKey("FAN_HIGH", FanFaster_Key, 0xEC, 8);
+ addKey("FAN_MED", Unmapped_Key, 0x6C, 8);
+ addKey("FAN_LOW", FanSlower_Key, 0xAC, 8);
+ addKey("SWING", Oscillate_Key, 0x94, 8);
addKey("POWER", Power_Key, 0xFC, 8);
}
diff --git a/keysets/sharp.cpp b/keysets/sharp.cpp
index cdcd61b..1214b07 100644
--- a/keysets/sharp.cpp
+++ b/keysets/sharp.cpp
@@ -449,14 +449,14 @@ void SharpAC1::populateProtocol(
setPreData(0xF508, 16);
- addKey("Fan Faster", VolumeUp_Key, 0x01, 8);
- addKey("Energy Save", Green_Key, 0x02, 8);
- addKey("Fan Slower", VolumeDown_Key, 0x04, 8);
- addKey("Timer", Sleep_Key, 0x06, 8);
- addKey("Fan", Yellow_Key, 0x07, 8);
- addKey("Cool", Blue_Key, 0x09, 8);
- addKey("Temp/Timer-", ChannelDown_Key, 0x0D, 8);
- addKey("Temp/Timer+", ChannelUp_Key, 0x0E, 8);
- addKey("Auto/Cool", Info_Key, 0x0F, 8);
+ addKey("Fan Faster", FanFaster_Key, 0x01, 8);
+ addKey("Energy Save", EnergySave_Key, 0x02, 8);
+ addKey("Fan Slower", FanSlower_Key, 0x04, 8);
+ addKey("Timer", Timer_Key, 0x06, 8);
+ addKey("Fan", Fan_Key, 0x07, 8);
+ addKey("Cool", Cool_Key, 0x09, 8);
+ addKey("Temp/Timer-", TempDown_Key, 0x0D, 8);
+ addKey("Temp/Timer+", TempUp_Key, 0x0E, 8);
+ addKey("Auto/Cool", Mode_Key, 0x0F, 8);
addKey("power", Power_Key, 0x11, 8);
}
diff --git a/keysets/sony.cpp b/keysets/sony.cpp
index feef80c..132db18 100644
--- a/keysets/sony.cpp
+++ b/keysets/sony.cpp
@@ -933,3 +933,133 @@ void SonyReceiver1::populateProtocol(
addSIRC15Key("LEFT", Left_Key, 0xB0, 0x7A);
addSIRC15Key("RIGHT", Right_Key, 0xB0, 0x7B);
}
+
+
+SonyCD1::SonyCD1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "CD Keyset 1",
+ Sony_Make,
+ index)
+{
+}
+
+
+void SonyCD1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new SIRCProtocol(guiObject, index);
+
+ addSIRC12Key("1", One_Key, 0x11, 0x00);
+ addSIRC12Key("2", Two_Key, 0x11, 0x01);
+ addSIRC12Key("3", Three_Key, 0x11, 0x02);
+ addSIRC12Key("4", Four_Key, 0x11, 0x03);
+ addSIRC12Key("5", Five_Key, 0x11, 0x04);
+ addSIRC12Key("6", Six_Key, 0x11, 0x05);
+ addSIRC12Key("7", Seven_Key, 0x11, 0x06);
+ addSIRC12Key("8", Eight_Key, 0x11, 0x07);
+ addSIRC12Key("9", Nine_Key, 0x11, 0x08);
+ addSIRC12Key("ENTER", Enter_Key, 0x11, 0x0B);
+ addSIRC12Key("check", Unmapped_Key, 0x11, 0x0D);
+ addSIRC12Key("clear", Clear_Key, 0x11, 0x0F);
+
+ addSIRC12Key("vol+", VolumeUp_Key, 0x11, 0x12);
+ addSIRC12Key("vol-", VolumeDown_Key, 0x11, 0x13);
+ addSIRC12Key("mute", Mute_Key, 0x11, 0x14);
+ addSIRC12Key("power", Power_Key, 0x11, 0x15);
+ addSIRC12Key("eject", Eject_Key, 0x11, 0x16);
+ addSIRC12Key("C.INDEX", Unmapped_Key, 0x11, 0x18);
+ addSIRC12Key("FILE", Memory_Key, 0x11, 0x19);
+ addSIRC12Key("BANK", Call_Key, 0x11, 0x1A); // "file recall"
+ addSIRC12Key("continue", Unmapped_Key, 0x11, 0x1D);
+ addSIRC12Key("single", Unmapped_Key, 0x11, 0x1E);
+ addSIRC12Key("pgm", Program_Key, 0x11, 0x1F);
+
+ addSIRC12Key("10", Zero_Key, 0x11, 0x20); // "0"
+ addSIRC12Key(">10", DoubleDigit_Key, 0x11, 0x27);
+ addSIRC12Key("DISPLAY", Info_Key, 0x11, 0x28); // "time"
+ addSIRC12Key("a-b", RepeatAB_Key, 0x11, 0x2A);
+ addSIRC12Key("repeat", Repeat_Key, 0x11, 0x2C);
+ addSIRC12Key("POWER_ON", PowerOn_Key, 0x11, 0x2E);
+ addSIRC12Key("POWER_OFF", PowerOff_Key, 0x11, 0x2F);
+
+ addSIRC12Key("|<<", Previous_Key, 0x11, 0x30);
+ addSIRC12Key(">>|", Next_Key, 0x11, 0x31);
+ addSIRC12Key("play", Play_Key, 0x11, 0x32);
+ addSIRC12Key("<<", Rewind_Key, 0x11, 0x33);
+ addSIRC12Key(">>", FastForward_Key, 0x11, 0x34);
+ addSIRC12Key("shuffle", Random_Key, 0x11, 0x35);
+ addSIRC12Key("cd_ind_dec", Unmapped_Key, 0x11, 0x36);
+ addSIRC12Key("cd_ind_inc", Unmapped_Key, 0x11, 0x37);
+ addSIRC12Key("stop", Stop_Key, 0x11, 0x38);
+ addSIRC12Key("PAUSE", Pause_Key, 0x11, 0x39);
+ addSIRC12Key("SLOW--", SlowMinus_Key, 0x11, 0x3A);
+ addSIRC12Key("SLOW++", SlowPlus_Key, 0x11, 0x3B);
+ addSIRC12Key("musicscan", Unmapped_Key, 0x11, 0x3C); // "intro"
+ addSIRC12Key("prevDisc", PrevDisc_Key, 0x11, 0x3D);
+ addSIRC12Key("disc_skip", NextDisc_Key, 0x11, 0x3E);
+
+ addSIRC12Key("disc_1", Unmapped_Key, 0x11, 0x40);
+ addSIRC12Key("disc_2", Unmapped_Key, 0x11, 0x41);
+ addSIRC12Key("disc_3", Unmapped_Key, 0x11, 0x42);
+ addSIRC12Key("disc_4", Unmapped_Key, 0x11, 0x43);
+ addSIRC12Key("disc_5", Unmapped_Key, 0x11, 0x44);
+ addSIRC12Key("DISC", Unmapped_Key, 0x11, 0x4A);
+ addSIRC12Key("AUTO_SPACE", Unmapped_Key, 0x11, 0x4E);
+
+ addSIRC12Key("fader", Unmapped_Key, 0x11, 0x5F); // "mute"
+
+ addSIRC12Key("LEVEL_FILE", Unmapped_Key, 0x11, 0x68);
+}
+
+
+SonyCD1a::SonyCD1a(
+ unsigned int index)
+ : SonyCD1(index)
+{
+ setKeysetName("CD Keyset 1a");
+}
+
+
+void SonyCD1a::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ SonyCD1::populateProtocol(guiObject);
+
+ addSIRC12Key("a-b", RepeatAB_Key, 0x11, 0x2D);
+}
+
+
+SonyCD1b::SonyCD1b(
+ unsigned int index)
+ : SonyCD1(index)
+{
+ setKeysetName("CD Keyset 1b");
+}
+
+
+void SonyCD1b::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ SonyCD1::populateProtocol(guiObject);
+
+ addSIRC12Key("display", Info_Key, 0x11, 0x56);
+}
diff --git a/keysets/sony.h b/keysets/sony.h
index 2afd53b..3ceb575 100644
--- a/keysets/sony.h
+++ b/keysets/sony.h
@@ -191,4 +191,35 @@ public:
QObject *guiObject);
};
+
+class SonyCD1: public PIRKeysetMetaData
+{
+public:
+ SonyCD1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+class SonyCD1a: public SonyCD1
+{
+public:
+ SonyCD1a(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+class SonyCD1b: public SonyCD1
+{
+public:
+ SonyCD1b(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
#endif // SONY_H
diff --git a/keysets/starsat.cpp b/keysets/starsat.cpp
new file mode 100644
index 0000000..8ef4b84
--- /dev/null
+++ b/keysets/starsat.cpp
@@ -0,0 +1,71 @@
+#include "starsat.h"
+#include "protocols/necprotocol.h"
+
+
+StarsatSat1::StarsatSat1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Sat Keyset 1",
+ Starsat_Make,
+ index)
+{
+}
+
+
+void StarsatSat1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, true);
+
+ setPreData(0x4040, 16);
+
+ addKey("0", Zero_Key, 0x00, 8);
+ addKey("1", One_Key, 0x01, 8);
+ addKey("2", Two_Key, 0x02, 8);
+ addKey("3", Three_Key, 0x03, 8);
+ addKey("4", Four_Key, 0x04, 8);
+ addKey("5", Five_Key, 0x05, 8);
+ addKey("6", Six_Key, 0x06, 8);
+ addKey("7", Seven_Key, 0x07, 8);
+ addKey("8", Eight_Key, 0x08, 8);
+ addKey("9", Nine_Key, 0x09, 8);
+ addKey("Power", Power_Key, 0x0A, 8);
+ addKey("UP", Up_Key, 0x0B, 8);
+ addKey("Mute", Mute_Key, 0x0C, 8);
+ addKey("OK", Select_Key, 0x0D, 8);
+ addKey("Down", Down_Key, 0x0E, 8);
+ addKey("TV/SAT", Input_Key, 0x0F, 8);
+
+ addKey("Left", Left_Key, 0x10, 8);
+ addKey("Right", Right_Key, 0x11, 8);
+ addKey("Time", Unmapped_Key, 0x12, 8);
+ addKey("Audio", Audio_Key, 0x13, 8);
+ addKey("Text", Teletext_Key, 0x14, 8);
+ addKey("VOL+", VolumeUp_Key, 0x15, 8);
+ addKey("Read", Red_Key, 0x16, 8);
+ addKey("Sabz", Green_Key, 0x17, 8);
+ addKey("Yellowe", Yellow_Key, 0x18, 8);
+ addKey("Bule", Blue_Key, 0x19, 8);
+ addKey("EPG", Guide_Key, 0x1A, 8);
+ addKey("LAN", Unmapped_Key, 0x1B, 8);
+ addKey("VOL-", VolumeDown_Key, 0x1C, 8);
+ addKey("Media", Unmapped_Key, 0x1D, 8);
+ addKey("CH-", ChannelDown_Key, 0x1E, 8);
+ addKey("CH+", ChannelUp_Key, 0x1F, 8);
+
+ addKey("MENU", Menu_Key, 0x40, 8);
+ addKey("Exit", Exit_Key, 0x41, 8);
+ addKey("i", Info_Key, 0x42, 8);
+ addKey("RCL", PrevChannel_Key, 0x43, 8);
+ addKey("A-Z", Unmapped_Key, 0x44, 8);
+ addKey("Sat", Unmapped_Key, 0x45, 8);
+ addKey("FUNC", Unmapped_Key, 0x46, 8);
+ addKey("FAV", Favorites_Key, 0x47, 8);
+// addKey(">^", Unmapped_Key, 0x0B, 8);
+}
diff --git a/keysets/starsat.h b/keysets/starsat.h
new file mode 100644
index 0000000..3f62fc4
--- /dev/null
+++ b/keysets/starsat.h
@@ -0,0 +1,18 @@
+#ifndef STARSAT
+#define STARSAT
+
+#include "pirkeysetmetadata.h"
+
+class QObject;
+
+class StarsatSat1: public PIRKeysetMetaData
+{
+public:
+ StarsatSat1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+#endif // STARSAT
diff --git a/keysets/viewsat.cpp b/keysets/viewsat.cpp
new file mode 100644
index 0000000..85aeb45
--- /dev/null
+++ b/keysets/viewsat.cpp
@@ -0,0 +1,92 @@
+#include "viewsat.h"
+#include "protocols/necprotocol.h"
+
+
+ViewsatSat1::ViewsatSat1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Satellite Keyset 1",
+ Viewsat_Make,
+ index)
+{
+}
+
+
+void ViewsatSat1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, true);
+
+ setPreData(0xFF20, 16);
+
+ addKey("1", One_Key, 0x00, 8);
+ addKey("2", Two_Key, 0x01, 8);
+ addKey("3", Three_Key, 0x02, 8);
+ addKey("4", Four_Key, 0x03, 8);
+ addKey("5", Five_Key, 0x04, 8);
+ addKey("6", Six_Key, 0x05, 8);
+ addKey("7", Seven_Key, 0x06, 8);
+ addKey("8", Eight_Key, 0x07, 8);
+ addKey("9", Nine_Key, 0x08, 8);
+ addKey("0", Zero_Key, 0x09, 8);
+ addKey("CH-Up", ChannelUp_Key, 0x0A, 8);
+ addKey("Up", Up_Key, 0x0A, 8);
+ addKey("CH-Down", ChannelDown_Key, 0x0B, 8);
+ addKey("Down", Down_Key, 0x0B, 8);
+ addKey("Vol-Up", VolumeUp_Key, 0x0C, 8);
+ addKey("Right", Right_Key, 0x0C, 8);
+ addKey("Vol-Down", VolumeDown_Key, 0x0D, 8);
+ addKey("Left", Left_Key, 0x0D, 8);
+ addKey("Mute", Mute_Key, 0x0E, 8);
+ addKey("Power", Power_Key, 0x0F, 8);
+
+ addKey("Page-Up", PageUp_Key, 0x10, 8);
+ addKey("Exit", Exit_Key, 0x11, 8);
+ addKey("Sat", SatInput_Key, 0x12, 8);
+ addKey("Menu", Menu_Key, 0x13, 8);
+ addKey("Fav", Favorites_Key, 0x14, 8);
+ addKey("input", Input_Key, 0x15, 8);
+ addKey("Guide", Guide_Key, 0x16, 8);
+ addKey("Pause", Pause_Key, 0x17, 8);
+ addKey("F1", Unmapped_Key, 0x18, 8);
+ addKey("OK", Select_Key, 0x19, 8);
+ addKey("CH-Return", PrevChannel_Key, 0x1A, 8); // "last"
+ addKey("Music/TV", TunerInput_Key, 0x1B, 8); // "radio"
+ addKey("F4", Unmapped_Key, 0x1C, 8);
+ addKey("Page-Down", PageDown_Key, 0x1D, 8);
+ addKey("Info", Info_Key, 0x1E, 8);
+ addKey("Audio", Audio_Key, 0x1F, 8);
+
+ addKey("F2", Unmapped_Key, 0x40, 8);
+ addKey("F3", Unmapped_Key, 0x41, 8);
+ addKey("Help", Unmapped_Key, 0x42, 8); // "color"
+}
+
+
+ViewsatSat1a::ViewsatSat1a(
+ unsigned int index)
+ : ViewsatSat1(index)
+{
+ setKeysetName("Satellite Keyset 1a");
+}
+
+
+void ViewsatSat1a::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ ViewsatSat1::populateProtocol(guiObject);
+
+ addKey("NTSC/PAL", Unmapped_Key, 0x15, 8);
+}
diff --git a/keysets/viewsat.h b/keysets/viewsat.h
new file mode 100644
index 0000000..312e286
--- /dev/null
+++ b/keysets/viewsat.h
@@ -0,0 +1,28 @@
+#ifndef VIEWSAT_H
+#define VIEWSAT_H
+
+#include "pirkeysetmetadata.h"
+
+class QObject;
+
+class ViewsatSat1: public PIRKeysetMetaData
+{
+public:
+ ViewsatSat1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+class ViewsatSat1a: public ViewsatSat1
+{
+public:
+ ViewsatSat1a(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+#endif // VIEWSAT_H
diff --git a/keysets/wd.cpp b/keysets/wd.cpp
index 9097b75..abc0a87 100644
--- a/keysets/wd.cpp
+++ b/keysets/wd.cpp
@@ -89,3 +89,30 @@ void WDMediaPlayer1a::populateProtocol(
addKey("5", Five_Key, 0xED, 8);
addKey("0", Zero_Key, 0xEE, 8);
}
+
+
+WDMediaPlayer1b::WDMediaPlayer1b(
+ unsigned int index)
+ : WDMediaPlayer1a(index)
+{
+ setKeysetName("Media Player Keyset 1b");
+}
+
+
+void WDMediaPlayer1b::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ WDMediaPlayer1a::populateProtocol(guiObject);
+
+ addKey("0", Zero_Key, 0x11, 8);
+ addKey("1", One_Key, 0x18, 8);
+ addKey("2", Two_Key, 0x19, 8);
+ addKey("4", Four_Key, 0x1C, 8);
+ addKey("5", Five_Key, 0x1D, 8);
+}
diff --git a/keysets/wd.h b/keysets/wd.h
index 47c24c2..787893b 100644
--- a/keysets/wd.h
+++ b/keysets/wd.h
@@ -25,4 +25,14 @@ public:
QObject *guiObject);
};
+class WDMediaPlayer1b: public WDMediaPlayer1a
+{
+public:
+ WDMediaPlayer1b(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
#endif // WD_H
diff --git a/main.cpp b/main.cpp
index c2ad2b1..8833525 100644
--- a/main.cpp
+++ b/main.cpp
@@ -15,7 +15,6 @@ int main(int argc, char *argv[])
app.setupRockerSwitch(&mainWindow);
mainWindow.showExpanded();
- app.setupRockerSwitch(mainWindow.getSecondaryWindow());
app.connect(
&app,
diff --git a/mainwindow.cpp b/mainwindow.cpp
index 1b5ee5e..692b64c 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -4,15 +4,17 @@
#include
#include
#include
+//#include
#include
-#include
#include "pirkeysetwidgetitem.h"
#include "pirselectkeysetform.h"
-#include "pirsecondaryform.h"
+#include "pirselectdeviceform.h"
+#include "pirpanelselectionform.h"
#include "pirdocumentationform.h"
#include "piraboutform.h"
#include "pirkeysetmanager.h"
+#include "pirpanelmanager.h"
//#define DEBUGGING
@@ -35,7 +37,8 @@ MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent),
ui(new Ui::MainWindow),
selectKeysetForm(0),
- secondaryForm(0),
+ selectDeviceForm(0),
+ panelSelectionForm(0),
documentationForm(0),
aboutForm(0),
currentKeyset(0)
@@ -45,20 +48,26 @@ MainWindow::MainWindow(QWidget *parent)
// Make this a Maemo 5 stacked widget:
setAttribute(Qt::WA_Maemo5StackedWindow);
- // Collect the keysets:
+ // Create the managers:
myKeysets = new PIRKeysetManager();
+ myPanels = new PIRPanelManager(this);
// Set up the keyset selection window:
selectKeysetForm = new PIRSelectKeysetForm(this);
- // Set up the secondary buttons window:
- secondaryForm = new PIRSecondaryForm(this);
+ // Set up the device selection window:
+ selectDeviceForm = new PIRSelectDeviceForm(this);
- myKeysets->populateGuiWidget(selectKeysetForm);
+ // Set up the panel selection window:
+ panelSelectionForm = new PIRPanelSelectionForm(this);
+
+ myKeysets->populateSelectionWidgets(selectKeysetForm, selectDeviceForm);
+// myPanels->setupPanels(panelSelectionForm);
// Remember any favorites the user has already set:
populateFavorites();
+ // Retrieve the user's most recent keyset (if any):
QSettings settings("pietrzak.org", "Pierogi");
if (settings.contains("currentKeysetName"))
{
@@ -71,26 +80,64 @@ MainWindow::MainWindow(QWidget *parent)
enableButtons();
+ QListWidget *fkw = myPanels->getFavoritesListWidget();
+
connect(
- ui->favoriteKeysetsWidget,
+ fkw,
SIGNAL(itemActivated(QListWidgetItem *)),
this,
SLOT(keysetSelectionChanged(QListWidgetItem *)),
Qt::QueuedConnection);
- // Make sure the two selection lists don't show different selections:
+ // Make sure the three selection lists don't show different selections:
QListWidget *klw = selectKeysetForm->getKeysetListWidget();
+ QListWidget *dlw = selectDeviceForm->getDeviceListWidget();
+
+ // favorites -> keyset name
connect(
- ui->favoriteKeysetsWidget,
+ fkw,
SIGNAL(itemActivated(QListWidgetItem *)),
klw,
SLOT(clearSelection()),
Qt::QueuedConnection);
+ // favorites -> device name
+ connect(
+ fkw,
+ SIGNAL(itemActivated(QListWidgetItem *)),
+ dlw,
+ SLOT(clearSelection()),
+ Qt::QueuedConnection);
+
+ // keyset name -> favorites
connect(
klw,
SIGNAL(itemActivated(QListWidgetItem *)),
- ui->favoriteKeysetsWidget,
+ fkw,
+ SLOT(clearSelection()),
+ Qt::QueuedConnection);
+
+ // device name -> favorites
+ connect(
+ dlw,
+ SIGNAL(itemActivated(QListWidgetItem *)),
+ fkw,
+ SLOT(clearSelection()),
+ Qt::QueuedConnection);
+
+ // keyset name -> device name
+ connect(
+ klw,
+ SIGNAL(itemActivated(QListWidgetItem *)),
+ dlw,
+ SLOT(clearSelection()),
+ Qt::QueuedConnection);
+
+ // device name -> keyset name
+ connect(
+ dlw,
+ SIGNAL(itemActivated(QListWidgetItem *)),
+ klw,
SLOT(clearSelection()),
Qt::QueuedConnection);
@@ -115,6 +162,8 @@ MainWindow::~MainWindow()
{
delete myKeysets;
if (selectKeysetForm) delete selectKeysetForm;
+ if (selectDeviceForm) delete selectDeviceForm;
+ if (panelSelectionForm) delete panelSelectionForm;
if (documentationForm) delete documentationForm;
if (aboutForm) delete aboutForm;
delete ui;
@@ -181,80 +230,7 @@ void MainWindow::enableButtons()
// Just to be sure, check to see if the keyset has been populated:
myKeysets->populateKeyset(this, currentKeyset);
- // This is going to be a little painful...
- // Main keys
- emit powerEnabled(myKeysets->hasKey(currentKeyset, Power_Key));
- emit volumeUpEnabled(myKeysets->hasKey(currentKeyset, VolumeUp_Key));
- emit volumeDownEnabled(myKeysets->hasKey(currentKeyset, VolumeDown_Key));
- emit channelUpEnabled(myKeysets->hasKey(currentKeyset, ChannelUp_Key));
- emit channelDownEnabled(myKeysets->hasKey(currentKeyset, ChannelDown_Key));
- emit muteEnabled(myKeysets->hasKey(currentKeyset, Mute_Key));
-
- // Main tab labels:
- emit keysetMakeChanged(
- makeManager.getMakeString(myKeysets->getMake(currentKeyset)));
- emit keysetNameChanged(myKeysets->getDisplayName(currentKeyset));
-
- // Utility keys:
- emit redEnabled(myKeysets->hasKey(currentKeyset, Red_Key));
- emit greenEnabled(myKeysets->hasKey(currentKeyset, Green_Key));
- emit yellowEnabled(myKeysets->hasKey(currentKeyset, Yellow_Key));
- emit blueEnabled(myKeysets->hasKey(currentKeyset, Blue_Key));
- emit pictureModeEnabled(myKeysets->hasKey(currentKeyset, PictureMode_Key));
- emit soundModeEnabled(myKeysets->hasKey(currentKeyset, SoundMode_Key));
- emit aspectRatioEnabled(myKeysets->hasKey(currentKeyset, AspectRatio_Key));
-// emit surroundEnabled(myKeysets->hasKey(currentKeyset, Surround_Key));
- emit audioEnabled(myKeysets->hasKey(currentKeyset, Audio_Key));
- emit infoEnabled(myKeysets->hasKey(currentKeyset, Info_Key));
- emit captionsEnabled(myKeysets->hasKey(currentKeyset, Captions_Key));
- emit sleepEnabled(myKeysets->hasKey(currentKeyset, Sleep_Key));
- emit inputEnabled(myKeysets->hasKey(currentKeyset, Input_Key));
-
- // Keypad keys
- emit zeroEnabled(myKeysets->hasKey(currentKeyset, Zero_Key));
- emit oneEnabled(myKeysets->hasKey(currentKeyset, One_Key));
- emit twoEnabled(myKeysets->hasKey(currentKeyset, Two_Key));
- emit threeEnabled(myKeysets->hasKey(currentKeyset, Three_Key));
- emit fourEnabled(myKeysets->hasKey(currentKeyset, Four_Key));
- emit fiveEnabled(myKeysets->hasKey(currentKeyset, Five_Key));
- emit sixEnabled(myKeysets->hasKey(currentKeyset, Six_Key));
- emit sevenEnabled(myKeysets->hasKey(currentKeyset, Seven_Key));
- emit eightEnabled(myKeysets->hasKey(currentKeyset, Eight_Key));
- emit nineEnabled(myKeysets->hasKey(currentKeyset, Nine_Key));
- emit enterEnabled(myKeysets->hasKey(currentKeyset, Enter_Key));
- emit clearEnabled(myKeysets->hasKey(currentKeyset, Clear_Key));
- emit dashEnabled(myKeysets->hasKey(currentKeyset, Dash_Key));
- emit plusOneHundredEnabled(myKeysets->hasKey(currentKeyset, PlusOneHundred_Key));
- emit doubleDigitEnabled(myKeysets->hasKey(currentKeyset, DoubleDigit_Key));
- emit prevChannelEnabled(myKeysets->hasKey(currentKeyset, PrevChannel_Key));
-
- // Menu keys:
- emit upEnabled(myKeysets->hasKey(currentKeyset, Up_Key));
- emit downEnabled(myKeysets->hasKey(currentKeyset, Down_Key));
- emit leftEnabled(myKeysets->hasKey(currentKeyset, Left_Key));
- emit rightEnabled(myKeysets->hasKey(currentKeyset, Right_Key));
- emit selectEnabled(myKeysets->hasKey(currentKeyset, Select_Key));
- emit menuEnabled(myKeysets->hasKey(currentKeyset, Menu_Key));
- emit exitEnabled(myKeysets->hasKey(currentKeyset, Exit_Key));
- emit guideEnabled(myKeysets->hasKey(currentKeyset, Guide_Key));
- emit discMenuEnabled(myKeysets->hasKey(currentKeyset, DiscMenu_Key));
-
- // Media keys:
- emit nextEnabled(myKeysets->hasKey(currentKeyset, Next_Key));
- emit previousEnabled(myKeysets->hasKey(currentKeyset, Previous_Key));
- emit advanceEnabled(myKeysets->hasKey(currentKeyset, Advance_Key));
- emit replayEnabled(myKeysets->hasKey(currentKeyset, Replay_Key));
- emit stepForwardEnabled(myKeysets->hasKey(currentKeyset, StepForward_Key));
- emit stepBackEnabled(myKeysets->hasKey(currentKeyset, StepBack_Key));
- emit fastForwardEnabled(myKeysets->hasKey(currentKeyset, FastForward_Key));
- emit reverseEnabled(myKeysets->hasKey(currentKeyset, Rewind_Key));
- emit playEnabled(myKeysets->hasKey(currentKeyset, Play_Key));
- emit pauseEnabled(myKeysets->hasKey(currentKeyset, Pause_Key));
- emit stopEnabled(myKeysets->hasKey(currentKeyset, Stop_Key));
- emit ejectEnabled(myKeysets->hasKey(currentKeyset, Eject_Key));
-
- // Also enable the buttons on the secondary form:
- secondaryForm->enableButtons(myKeysets, currentKeyset);
+ myPanels->enableButtons(myKeysets, currentKeyset);
}
@@ -268,583 +244,6 @@ void MainWindow::receivedExternalWarning(
}
-// Main tab buttons:
-
-void MainWindow::on_powerButton_pressed()
-{
- startRepeating(Power_Key);
-}
-
-void MainWindow::on_powerButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_mainChannelUpButton_pressed()
-{
- startRepeating(ChannelUp_Key);
-}
-
-void MainWindow::on_mainChannelUpButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_mainChannelDownButton_pressed()
-{
- startRepeating(ChannelDown_Key);
-}
-
-void MainWindow::on_mainChannelDownButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_mainVolumeUp_pressed()
-{
- startRepeating(VolumeUp_Key);
-}
-
-void MainWindow::on_mainVolumeUp_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_mainVolumeDownButton_pressed()
-{
- startRepeating(VolumeDown_Key);
-}
-
-void MainWindow::on_mainVolumeDownButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_muteButton_pressed()
-{
- startRepeating(Mute_Key);
-}
-
-void MainWindow::on_muteButton_released()
-{
- stopRepeating();
-}
-
-
-// Utility tab buttons:
-
-void MainWindow::on_redButton_pressed()
-{
- startRepeating(Red_Key);
-}
-
-void MainWindow::on_redButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_greenButton_pressed()
-{
- startRepeating(Green_Key);
-}
-
-void MainWindow::on_greenButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_yellowButton_pressed()
-{
- startRepeating(Yellow_Key);
-}
-
-void MainWindow::on_yellowButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_blueButton_pressed()
-{
- startRepeating(Blue_Key);
-}
-
-void MainWindow::on_blueButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_pictureModeButton_pressed()
-{
- startRepeating(PictureMode_Key);
-}
-
-void MainWindow::on_pictureModeButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_soundModeButton_pressed()
-{
- startRepeating(SoundMode_Key);
-}
-
-void MainWindow::on_soundModeButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_aspectRatioButton_pressed()
-{
- startRepeating(AspectRatio_Key);
-}
-
-void MainWindow::on_aspectRatioButton_released()
-{
- stopRepeating();
-}
-
-/*
-void MainWindow::on_surroundButton_pressed()
-{
- startRepeating(Surround_Key);
-}
-
-void MainWindow::on_surroundButton_released()
-{
- stopRepeating();
-}
-*/
-
-void MainWindow::on_audioButton_pressed()
-{
- startRepeating(Audio_Key);
-}
-
-void MainWindow::on_audioButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_infoButton_pressed()
-{
- startRepeating(Info_Key);
-}
-
-void MainWindow::on_infoButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_captionButton_pressed()
-{
- startRepeating(Captions_Key);
-}
-
-void MainWindow::on_captionButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_inputButton_pressed()
-{
- startRepeating(Input_Key);
-}
-
-void MainWindow::on_inputButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_sleepButton_pressed()
-{
- startRepeating(Sleep_Key);
-}
-
-void MainWindow::on_sleepButton_released()
-{
- stopRepeating();
-}
-
-
-// Keypad tab buttons:
-
-void MainWindow::on_oneButton_pressed()
-{
- startRepeating(One_Key);
-}
-
-void MainWindow::on_oneButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_twoButton_pressed()
-{
- startRepeating(Two_Key);
-}
-
-void MainWindow::on_twoButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_threeButton_pressed()
-{
- startRepeating(Three_Key);
-}
-
-void MainWindow::on_threeButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_fourButton_pressed()
-{
- startRepeating(Four_Key);
-}
-
-void MainWindow::on_fourButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_fiveButton_pressed()
-{
- startRepeating(Five_Key);
-}
-
-void MainWindow::on_fiveButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_sixButton_pressed()
-{
- startRepeating(Six_Key);
-}
-
-void MainWindow::on_sixButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_sevenButton_pressed()
-{
- startRepeating(Seven_Key);
-}
-
-void MainWindow::on_sevenButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_eightButton_pressed()
-{
- startRepeating(Eight_Key);
-}
-
-void MainWindow::on_eightButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_nineButton_pressed()
-{
- startRepeating(Nine_Key);
-}
-
-void MainWindow::on_nineButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_zeroButton_pressed()
-{
- startRepeating(Zero_Key);
-}
-
-void MainWindow::on_zeroButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_enterButton_pressed()
-{
- startRepeating(Enter_Key);
-}
-
-void MainWindow::on_enterButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_clearButton_pressed()
-{
- startRepeating(Clear_Key);
-}
-
-void MainWindow::on_clearButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_prevChannelButton_pressed()
-{
- startRepeating(PrevChannel_Key);
-}
-
-void MainWindow::on_prevChannelButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_plusOneHundredButton_pressed()
-{
- startRepeating(PlusOneHundred_Key);
-}
-
-void MainWindow::on_plusOneHundredButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_dashButton_pressed()
-{
- startRepeating(Dash_Key);
-}
-
-void MainWindow::on_dashButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_doubleDigitButton_pressed()
-{
- startRepeating(DoubleDigit_Key);
-}
-
-void MainWindow::on_doubleDigitButton_released()
-{
- stopRepeating();
-}
-
-
-// Menu tab buttons:
-
-void MainWindow::on_upButton_pressed()
-{
- startRepeating(Up_Key);
-}
-
-void MainWindow::on_upButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_leftButton_pressed()
-{
- startRepeating(Left_Key);
-}
-
-void MainWindow::on_leftButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_rightButton_pressed()
-{
- startRepeating(Right_Key);
-}
-
-void MainWindow::on_rightButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_downButton_pressed()
-{
- startRepeating(Down_Key);
-}
-
-void MainWindow::on_downButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_selectButton_pressed()
-{
- startRepeating(Select_Key);
-}
-
-void MainWindow::on_selectButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_menuButton_pressed()
-{
- startRepeating(Menu_Key);
-}
-
-void MainWindow::on_menuButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_exitButton_pressed()
-{
- startRepeating(Exit_Key);
-}
-
-void MainWindow::on_exitButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_guideButton_pressed()
-{
- startRepeating(Guide_Key);
-}
-
-void MainWindow::on_guideButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_discMenuButton_pressed()
-{
- startRepeating(DiscMenu_Key);
-}
-
-void MainWindow::on_discMenuButton_released()
-{
- stopRepeating();
-}
-
-
-// Media tab buttons:
-
-void MainWindow::on_mediaPreviousButton_pressed()
-{
- startRepeating(Previous_Key);
-}
-
-void MainWindow::on_mediaPreviousButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_mediaNextButton_pressed()
-{
- startRepeating(Next_Key);
-}
-
-void MainWindow::on_mediaNextButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_replayButton_pressed()
-{
- startRepeating(Replay_Key);
-}
-
-void MainWindow::on_replayButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_advanceButton_pressed()
-{
- startRepeating(Advance_Key);
-}
-
-void MainWindow::on_advanceButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_stepBackButton_pressed()
-{
- startRepeating(StepBack_Key);
-}
-
-void MainWindow::on_stepBackButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_stepForwardButton_pressed()
-{
- startRepeating(StepForward_Key);
-}
-
-void MainWindow::on_stepForwardButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_reverseButton_pressed()
-{
- startRepeating(Rewind_Key);
-}
-
-void MainWindow::on_reverseButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_fastForwardButton_pressed()
-{
- startRepeating(FastForward_Key);
-}
-
-void MainWindow::on_fastForwardButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_playButton_pressed()
-{
- startRepeating(Play_Key);
-}
-
-void MainWindow::on_playButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_pauseButton_pressed()
-{
- startRepeating(Pause_Key);
-}
-
-void MainWindow::on_pauseButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_stopButton_pressed()
-{
- startRepeating(Stop_Key);
-}
-
-void MainWindow::on_stopButton_released()
-{
- stopRepeating();
-}
-
-void MainWindow::on_ejectButton_pressed()
-{
- startRepeating(Eject_Key);
-}
-
-void MainWindow::on_ejectButton_released()
-{
- stopRepeating();
-}
-
-
// Menu actions:
void MainWindow::on_actionSelectKeyset_triggered()
@@ -852,14 +251,14 @@ void MainWindow::on_actionSelectKeyset_triggered()
selectKeysetForm->show();
}
-void MainWindow::on_actionSecondary_Buttons_triggered()
+void MainWindow::on_actionSelect_Device_By_Name_triggered()
{
- if (!secondaryForm)
- {
- secondaryForm = new PIRSecondaryForm(this);
- }
+ selectDeviceForm->show();
+}
- secondaryForm->show();
+void MainWindow::on_actionArrange_Button_Panels_triggered()
+{
+ panelSelectionForm->show();
}
void MainWindow::on_actionAbout_triggered()
@@ -926,16 +325,17 @@ void MainWindow::finalCleanup()
}
-void MainWindow::on_addKeysetButton_clicked()
+void MainWindow::addCurrentKeyset(
+ QListWidget *qlw)
{
// Is the current keyset already a favorite?
- int count = ui->favoriteKeysetsWidget->count();
+ int count = qlw->count();
int index = 0;
PIRKeysetWidgetItem *kwi = NULL;
while (index < count)
{
kwi = dynamic_cast(
- ui->favoriteKeysetsWidget->item(index));
+ qlw->item(index));
if (kwi && (kwi->getID() == currentKeyset))
{
@@ -952,8 +352,7 @@ void MainWindow::on_addKeysetButton_clicked()
name.append(" ");
name.append(myKeysets->getDisplayName(currentKeyset));
- ui->favoriteKeysetsWidget->addItem(
- new PIRKeysetWidgetItem(name, currentKeyset, make));
+ qlw->addItem(new PIRKeysetWidgetItem(name, currentKeyset, make));
// And, add the keyset id to the persistent list:
QSettings settings("pietrzak.org", "Pierogi");
@@ -975,11 +374,12 @@ void MainWindow::on_addKeysetButton_clicked()
}
-void MainWindow::on_removeKeysetButton_clicked()
+void MainWindow::removeFavoriteKeyset(
+ QListWidget *qlw)
{
// Deleting an item removes it from the list, so just grab the currently
// selected item and delete it:
- QListWidgetItem *item = ui->favoriteKeysetsWidget->currentItem();
+ QListWidgetItem *item = qlw->currentItem();
if (item) delete item;
@@ -991,7 +391,7 @@ void MainWindow::on_removeKeysetButton_clicked()
settings.remove("favorites");
- int count = ui->favoriteKeysetsWidget->count();
+ int count = qlw->count();
// If the count is empty, we can stop right here:
if (count == 0) return;
@@ -1002,8 +402,7 @@ void MainWindow::on_removeKeysetButton_clicked()
settings.beginWriteArray("favorites");
while (index < count)
{
- kwi = dynamic_cast(
- ui->favoriteKeysetsWidget->item(index));
+ kwi = dynamic_cast(qlw->item(index));
settings.setArrayIndex(index);
// settings.setValue("keysetID", kwi->getID());
@@ -1020,6 +419,7 @@ void MainWindow::on_removeKeysetButton_clicked()
settings.endArray();
}
+
void MainWindow::populateFavorites()
{
QSettings settings("pietrzak.org", "Pierogi");
@@ -1042,7 +442,7 @@ void MainWindow::populateFavorites()
if (kwi)
{
// Keyset does exist, so continue:
- ui->favoriteKeysetsWidget->addItem(kwi);
+ myPanels->addFavoritesItem(kwi);
}
++index;
@@ -1071,69 +471,88 @@ void MainWindow::stopRepeating()
}
-QWidget *MainWindow::getSecondaryWindow()
+void MainWindow::selectPrevFavKeyset()
{
- return secondaryForm;
+ myPanels->selectPrevFavKeyset();
}
-void MainWindow::selectPrevFavKeyset()
+void MainWindow::selectNextFavKeyset()
{
- int size = ui->favoriteKeysetsWidget->count();
+ myPanels->selectNextFavKeyset();
+}
- if (size == 0)
- {
- // No favorites, so nothing to do!
- return;
- }
- int position = ui->favoriteKeysetsWidget->currentRow();
+void MainWindow::managePanel(
+ PIRPanelName name,
+ int state)
+{
+ myPanels->managePanel(name, state);
+}
- --position;
- if (position < 0)
- {
- position = size - 1;
- }
- ui->favoriteKeysetsWidget->setCurrentRow(
- position,
- QItemSelectionModel::ClearAndSelect);
+void MainWindow::insertPanel(
+ int index,
+ QWidget *panel,
+ const QString &displayName)
+{
+ ui->stackedButtonsWidget->insertWidget(index, panel);
+ ui->selectPanelComboBox->insertItem(index, displayName);
+}
- keysetSelectionChanged(ui->favoriteKeysetsWidget->currentItem());
- // Tell the user about the change:
- QMaemo5InformationBox::information(
- 0,
- ui->favoriteKeysetsWidget->item(position)->text());
+void MainWindow::removePanel(
+ int index,
+ QWidget *panel)
+{
+ ui->stackedButtonsWidget->removeWidget(panel);
+ ui->selectPanelComboBox->removeItem(index);
}
-void MainWindow::selectNextFavKeyset()
+void MainWindow::on_prevPanelButton_clicked()
{
- int size = ui->favoriteKeysetsWidget->count();
+ int count = ui->selectPanelComboBox->count();
- if (size == 0)
+ // No need to do anything if there are less than two panels available:
+ if (count < 2) return;
+
+ int index = ui->selectPanelComboBox->currentIndex();
+ if (index == 0)
{
- // No favorites, so just return:
- return;
+ index = count - 1;
+ }
+ else
+ {
+ --index;
}
- int position = ui->favoriteKeysetsWidget->currentRow();
+ ui->selectPanelComboBox->setCurrentIndex(index);
+}
+
+
+void MainWindow::on_nextPanelButton_clicked()
+{
+ int count = ui->selectPanelComboBox->count();
+
+ // No need to do anything if there are less than two panels available:
+ if (count < 2) return;
- ++position;
- if (position == size)
+ int index = ui->selectPanelComboBox->currentIndex();
+ if (index == count - 1)
{
- position = 0;
+ index = 0;
+ }
+ else
+ {
+ ++index;
}
- ui->favoriteKeysetsWidget->setCurrentRow(
- position,
- QItemSelectionModel::ClearAndSelect);
+ ui->selectPanelComboBox->setCurrentIndex(index);
+}
- keysetSelectionChanged(ui->favoriteKeysetsWidget->currentItem());
- // Tell the user about the change:
- QMaemo5InformationBox::information(
- 0,
- ui->favoriteKeysetsWidget->item(position)->text());
+void MainWindow::on_selectPanelComboBox_currentIndexChanged(int index)
+{
+ ui->stackedButtonsWidget->setCurrentIndex(index);
}
diff --git a/mainwindow.h b/mainwindow.h
index 514b3db..9385686 100644
--- a/mainwindow.h
+++ b/mainwindow.h
@@ -4,14 +4,18 @@
#include
#include "pirkeynames.h"
+#include "pirpanelnames.h"
#include "pirmodprobe.h"
+class QListWidget;
class QListWidgetItem;
class PIRSelectKeysetForm;
-class PIRSecondaryForm;
+class PIRSelectDeviceForm;
+class PIRPanelSelectionForm;
class PIRDocumentationForm;
class PIRAboutForm;
class PIRKeysetManager;
+class PIRPanelManager;
namespace Ui {
class MainWindow;
@@ -41,117 +45,29 @@ public:
void stopRepeating();
- // This is a bit of a hack:
- QWidget *getSecondaryWindow();
+ void managePanel(
+ PIRPanelName name,
+ int state);
-signals:
- // Main keys
- void powerEnabled(bool);
- void volumeUpEnabled(bool);
- void volumeDownEnabled(bool);
- void channelUpEnabled(bool);
- void channelDownEnabled(bool);
- void muteEnabled(bool);
-
- // Utility keys:
- void redEnabled(bool);
- void greenEnabled(bool);
- void yellowEnabled(bool);
- void blueEnabled(bool);
- void pictureModeEnabled(bool);
- void soundModeEnabled(bool);
- void aspectRatioEnabled(bool);
-// void surroundEnabled(bool);
- void audioEnabled(bool);
- void infoEnabled(bool);
- void captionsEnabled(bool);
- void inputEnabled(bool);
- void sleepEnabled(bool);
-
- // Keypad
- void zeroEnabled(bool);
- void oneEnabled(bool);
- void twoEnabled(bool);
- void threeEnabled(bool);
- void fourEnabled(bool);
- void fiveEnabled(bool);
- void sixEnabled(bool);
- void sevenEnabled(bool);
- void eightEnabled(bool);
- void nineEnabled(bool);
- void enterEnabled(bool);
- void clearEnabled(bool);
- void dashEnabled(bool);
- void plusOneHundredEnabled(bool);
- void doubleDigitEnabled(bool);
- void prevChannelEnabled(bool);
-
- // Menu Keys
- void menuEnabled(bool);
- void upEnabled(bool);
- void downEnabled(bool);
- void leftEnabled(bool);
- void rightEnabled(bool);
- void selectEnabled(bool);
- void exitEnabled(bool);
- void guideEnabled(bool);
- void discMenuEnabled(bool);
-
- // Media keys
- void playEnabled(bool);
- void pauseEnabled(bool);
- void stopEnabled(bool);
- void fastForwardEnabled(bool);
- void reverseEnabled(bool);
- void nextEnabled(bool);
- void previousEnabled(bool);
- void stepForwardEnabled(bool);
- void stepBackEnabled(bool);
- void advanceEnabled(bool);
- void replayEnabled(bool);
- void ejectEnabled(bool);
-
-/*
- // Media2 Keys
- void discTitleEnabled(bool);
- void discSelectEnabled(bool);
- void vhsSpeedEnabled(bool);
- void trackingMinusEnabled(bool);
- void trackingPlusEnabled(bool);
- void autoTrackingEnabled(bool);
- void pageUpEnabled(bool);
- void pageDownEnabled(bool);
- void slowEnabled(bool);
- void slowPlusEnabled(bool);
- void slowMinusEnabled(bool);
- void programEnabled(bool);
- void tunerBandEnabled(bool);
- void repeatEnabled(bool);
- void repeatABEnabled(bool);
- void randomEnabled(bool);
-
- // TV Keys
- void pictureModeEnabled(bool);
- void soundModeEnabled(bool);
- void liveTVEnabled(bool);
- void favoritesEnabled(bool);
- void teletextEnabled(bool);
- void teletextHoldEnabled(bool);
- void teletextRevealEnabled(bool);
- void teletextSizeEnabled(bool);
- void pipEnabled(bool);
- void pipSwapEnabled(bool);
- void pipMoveEnabled(bool);
- void pipSourceEnabled(bool);
- void pipChannelUpEnabled(bool);
- void pipChannelDownEnabled(bool);
- void pipPauseEnabled(bool);
- void pipSizeEnabled(bool);
-*/
-
- void keysetMakeChanged(QString);
- void keysetNameChanged(QString);
+ void insertPanel(
+ int index,
+ QWidget *panel,
+ const QString &displayName);
+
+ void removePanel(
+ int index,
+ QWidget *panel);
+
+ // Favorites panel actions:
+ void addCurrentKeyset(
+ QListWidget *qlw);
+
+ void removeFavoriteKeyset(
+ QListWidget *qlw);
+ void enableButtons();
+
+signals:
void buttonPressed(
unsigned int keysetID,
PIRKeyName name);
@@ -165,228 +81,37 @@ public slots:
void selectPrevFavKeyset();
void selectNextFavKeyset();
+ void keysetSelectionChanged(
+ QListWidgetItem *item);
+
private slots:
- // Main tab slots:
- void on_powerButton_pressed();
- void on_powerButton_released();
- void on_mainChannelUpButton_pressed();
- void on_mainChannelUpButton_released();
- void on_mainChannelDownButton_pressed();
- void on_mainChannelDownButton_released();
- void on_mainVolumeUp_pressed();
- void on_mainVolumeUp_released();
- void on_mainVolumeDownButton_pressed();
- void on_mainVolumeDownButton_released();
- void on_muteButton_pressed();
- void on_muteButton_released();
-
- // Utility tab slots:
- void on_redButton_pressed();
- void on_redButton_released();
- void on_greenButton_pressed();
- void on_greenButton_released();
- void on_yellowButton_pressed();
- void on_yellowButton_released();
- void on_blueButton_pressed();
- void on_blueButton_released();
- void on_pictureModeButton_pressed();
- void on_pictureModeButton_released();
- void on_soundModeButton_pressed();
- void on_soundModeButton_released();
- void on_aspectRatioButton_pressed();
- void on_aspectRatioButton_released();
-// void on_surroundButton_pressed();
-// void on_surroundButton_released();
- void on_audioButton_pressed();
- void on_audioButton_released();
- void on_infoButton_pressed();
- void on_infoButton_released();
- void on_captionButton_pressed();
- void on_captionButton_released();
- void on_inputButton_pressed();
- void on_inputButton_released();
- void on_sleepButton_pressed();
- void on_sleepButton_released();
-
- // Keypad tab slots:
- void on_oneButton_pressed();
- void on_oneButton_released();
- void on_twoButton_pressed();
- void on_twoButton_released();
- void on_threeButton_pressed();
- void on_threeButton_released();
- void on_fourButton_pressed();
- void on_fourButton_released();
- void on_fiveButton_pressed();
- void on_fiveButton_released();
- void on_sixButton_pressed();
- void on_sixButton_released();
- void on_sevenButton_pressed();
- void on_sevenButton_released();
- void on_eightButton_pressed();
- void on_eightButton_released();
- void on_nineButton_pressed();
- void on_nineButton_released();
- void on_zeroButton_pressed();
- void on_zeroButton_released();
- void on_enterButton_pressed();
- void on_enterButton_released();
- void on_clearButton_pressed();
- void on_clearButton_released();
- void on_prevChannelButton_pressed();
- void on_prevChannelButton_released();
- void on_plusOneHundredButton_pressed();
- void on_plusOneHundredButton_released();
- void on_dashButton_pressed();
- void on_dashButton_released();
- void on_doubleDigitButton_pressed();
- void on_doubleDigitButton_released();
-
- // Menu tab slots:
- void on_upButton_pressed();
- void on_upButton_released();
- void on_leftButton_pressed();
- void on_leftButton_released();
- void on_rightButton_pressed();
- void on_rightButton_released();
- void on_downButton_pressed();
- void on_downButton_released();
- void on_selectButton_pressed();
- void on_selectButton_released();
- void on_menuButton_pressed();
- void on_menuButton_released();
- void on_exitButton_pressed();
- void on_exitButton_released();
- void on_guideButton_pressed();
- void on_guideButton_released();
- void on_discMenuButton_pressed();
- void on_discMenuButton_released();
-
- // Media tab slots:
- void on_mediaPreviousButton_pressed();
- void on_mediaPreviousButton_released();
- void on_mediaNextButton_pressed();
- void on_mediaNextButton_released();
- void on_replayButton_pressed();
- void on_replayButton_released();
- void on_advanceButton_pressed();
- void on_advanceButton_released();
- void on_stepBackButton_pressed();
- void on_stepBackButton_released();
- void on_stepForwardButton_pressed();
- void on_stepForwardButton_released();
- void on_reverseButton_pressed();
- void on_reverseButton_released();
- void on_fastForwardButton_pressed();
- void on_fastForwardButton_released();
- void on_playButton_pressed();
- void on_playButton_released();
- void on_pauseButton_pressed();
- void on_pauseButton_released();
- void on_stopButton_pressed();
- void on_stopButton_released();
- void on_ejectButton_pressed();
- void on_ejectButton_released();
-
-/*
- // Media2 tab slots:
- void on_discTitleButton_pressed();
- void on_discTitleButton_released();
- void on_discSelectButton_pressed();
- void on_discSelectButton_released();
- void on_vhsSpeedButton_pressed();
- void on_vhsSpeedButton_released();
- void on_trackingPlusButton_pressed();
- void on_trackingPlusButton_released();
- void on_trackingMinusButton_pressed();
- void on_trackingMinusButton_released();
- void on_autoTrackingButton_pressed();
- void on_autoTrackingButton_released();
- void on_pageUpButton_pressed();
- void on_pageUpButton_released();
- void on_pageDownButton_pressed();
- void on_pageDownButton_released();
- void on_slowButton_pressed();
- void on_slowButton_released();
- void on_slowMinusButton_pressed();
- void on_slowMinusButton_released();
- void on_slowPlusButton_pressed();
- void on_slowPlusButton_released();
- void on_programButton_pressed();
- void on_programButton_released();
- void on_tunerBandButton_pressed();
- void on_tunerBandButton_released();
- void on_repeatButton_pressed();
- void on_repeatButton_released();
- void on_repeatABButton_pressed();
- void on_repeatABButton_released();
- void on_randomButton_pressed();
- void on_randomButton_released();
-
- // TV Tab slots:
- void on_pictureModeButton_pressed();
- void on_pictureModeButton_released();
- void on_soundModeButton_pressed();
- void on_soundModeButton_released();
- void on_liveTVButton_pressed();
- void on_liveTVButton_released();
- void on_favoritesButton_pressed();
- void on_favoritesButton_released();
- void on_teletextButton_pressed();
- void on_teletextButton_released();
- void on_teletextHoldButton_pressed();
- void on_teletextHoldButton_released();
- void on_teletextRevealButton_pressed();
- void on_teletextRevealButton_released();
- void on_teletextSizeButton_pressed();
- void on_teletextSizeButton_released();
- void on_pipOnOffButton_pressed();
- void on_pipOnOffButton_released();
- void on_pipSwapButton_pressed();
- void on_pipSwapButton_released();
- void on_pipPositionButton_pressed();
- void on_pipPositionButton_released();
- void on_pipSourceButton_pressed();
- void on_pipSourceButton_released();
- void on_pipChannelUpButton_pressed();
- void on_pipChannelUpButton_released();
- void on_pipChannelDownButton_pressed();
- void on_pipChannelDownButton_released();
- void on_pipPauseButton_pressed();
- void on_pipPauseButton_released();
- void on_pipSizeButton_pressed();
- void on_pipSizeButton_released();
-*/
-
- // Favorites tab actions:
- void on_addKeysetButton_clicked();
- void on_removeKeysetButton_clicked();
-
- // Menu actions:
void on_actionSelectKeyset_triggered();
- void on_actionSecondary_Buttons_triggered();
+ void on_actionSelect_Device_By_Name_triggered();
+ void on_actionArrange_Button_Panels_triggered();
void on_actionAbout_triggered();
void on_actionDocumentation_triggered();
- // Internal actions:
- void keysetSelectionChanged(
- QListWidgetItem *item);
+ void on_prevPanelButton_clicked();
+ void on_nextPanelButton_clicked();
+ void on_selectPanelComboBox_currentIndexChanged(int index);
+ // Internal actions:
void finalCleanup();
private:
- void enableButtons();
-
void populateFavorites();
+// void setupTabs();
Ui::MainWindow *ui;
PIRSelectKeysetForm *selectKeysetForm;
- PIRSecondaryForm *secondaryForm;
+ PIRSelectDeviceForm *selectDeviceForm;
+ PIRPanelSelectionForm *panelSelectionForm;
PIRDocumentationForm *documentationForm;
PIRAboutForm *aboutForm;
PIRKeysetManager *myKeysets;
+ PIRPanelManager *myPanels;
unsigned int currentKeyset;
diff --git a/mainwindow.ui b/mainwindow.ui
index 8fc81c2..4e30f06 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -26,1199 +26,68 @@
0
-
-
+
+
+ 0
+
+
+ 8
+
+
+ 0
+
+
0
-
-
+
+
+
+ :/icons/arrow_left_icon&48.png:/icons/arrow_left_icon&48.png
+
+
+
+ 36
+ 36
+
+
+
+
+ -
+
-
+
0
0
-
- QTabWidget::North
+
+
+ -
+
+
+
-
- QTabWidget::Rounded
+
+
+ :/icons/arrow_right_icon&48.png:/icons/arrow_right_icon&48.png
-
- 0
+
+
+ 36
+ 36
+
+
+
+
+ -
+
+
+
+ 0
+ 0
+
-
-
-
- 0
- 0
-
-
-
- Main
-
-
-
- 8
-
-
-
-
-
-
- 0
- 0
-
-
-
- Channel Up
-
-
-
- :/icons/br_up_icon&48.png:/icons/br_up_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
- -1
-
-
- 0
-
-
-
-
-
-
- 0
- 0
-
-
-
- Qt::LeftToRight
-
-
- Power
-
-
-
- :/icons/on-off_icon&48.png:/icons/on-off_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Minimum
-
-
-
- 20
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Keyset Make
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Keyset Name
-
-
- Qt::AlignCenter
-
-
-
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Minimum
-
-
-
- 20
- 20
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Mute
-
-
-
- :/icons/sound_mute_icon&48.png:/icons/sound_mute_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Qt::LeftToRight
-
-
- Volume Up
-
-
-
- :/icons/sound_high_icon&48.png:/icons/sound_high_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Channel Down
-
-
-
- :/icons/br_down_icon&48.png:/icons/br_down_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Volume Down
-
-
-
- :/icons/sound_low_icon&48.png:/icons/sound_low_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
-
-
-
-
- Utility
-
-
-
- 8
-
- -
-
-
-
- 0
- 0
-
-
-
- Red
-
-
-
- :/icons/red_square.png:/icons/red_square.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Green
-
-
-
- :/icons/green_square.png:/icons/green_square.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Yellow
-
-
-
- :/icons/yellow_square.png:/icons/yellow_square.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Blue
-
-
-
- :/icons/blue_square.png:/icons/blue_square.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- I/II Audio
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Info
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Input
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Sleep
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Aspect Ratio
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- CC / Subtitle
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Sound Mode
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Picture Mode
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
- Keypad
-
-
-
- 8
-
- -
-
-
-
- 0
- 0
-
-
-
- 1
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- 2
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- 3
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- 4
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- 5
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- 6
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- 7
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- 8
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- 9
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- 0
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Enter
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Clear
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Dash
-
-
-
- :/icons/dash.png:/icons/dash.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- +100
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Prev Channel
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- -/-- Double Digit
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
- Menu
-
-
-
- 8
-
- -
-
-
-
- 0
- 0
-
-
-
- Guide
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Up
-
-
-
- :/icons/arrow_top_icon&48.png:/icons/arrow_top_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Menu
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Left
-
-
-
- :/icons/arrow_left_icon&48.png:/icons/arrow_left_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Right
-
-
-
- :/icons/arrow_right_icon&48.png:/icons/arrow_right_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Disc Menu
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Exit
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Select
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Down
-
-
-
- :/icons/arrow_bottom_icon&48.png:/icons/arrow_bottom_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
-
-
-
-
-
- 0
- 0
-
-
-
- Media
-
-
-
- 8
-
- -
-
-
-
- 0
- 0
-
-
-
- Previous
-
-
-
- :/icons/rewind_previous_icon&48.png:/icons/rewind_previous_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Next
-
-
-
- :/icons/fastforward_next_icon&48.png:/icons/fastforward_next_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Replay
-
-
-
- :/icons/undo_icon&48.png:/icons/undo_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Advance
-
-
-
- :/icons/redo_icon&48.png:/icons/redo_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Step Back
-
-
-
- :/icons/playback_prev_icon&48.png:/icons/playback_prev_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Reverse
-
-
-
- :/icons/playback_rew_icon&48.png:/icons/playback_rew_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Fast Fwd
-
-
-
- :/icons/playback_ff_icon&48.png:/icons/playback_ff_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Play
-
-
-
- :/icons/playback_play_icon&48.png:/icons/playback_play_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Pause
-
-
-
- :/icons/playback_pause_icon&48.png:/icons/playback_pause_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Stop
-
-
-
- :/icons/playback_stop_icon&48.png:/icons/playback_stop_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Eject
-
-
-
- :/icons/eject_icon&48.png:/icons/eject_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
- Step Fwd
-
-
-
- :/icons/playback_next_icon&48.png:/icons/playback_next_icon&48.png
-
-
-
- 48
- 48
-
-
-
-
-
-
-
-
- Favorite
-
-
-
- 8
-
- -
-
-
- Add Current Keyset
-
-
-
- -
-
-
- Remove Selected Keyset
-
-
-
- -
-
-
-
-
@@ -1237,7 +106,8 @@
Pierogi
-
+
+
@@ -1245,7 +115,7 @@
- Select Keyset
+ Select Keyset by Name
@@ -1258,9 +128,14 @@
Documentation
-
+
+
+ Select Keyset by Device
+
+
+
- Secondary Buttons
+ Manage Panels
@@ -1268,920 +143,7 @@
-
-
- MainWindow
- fourEnabled(bool)
- fourButton
- setEnabled(bool)
-
-
- 86
- 442
-
-
- 45
- 187
-
-
-
-
- MainWindow
- fiveEnabled(bool)
- fiveButton
- setEnabled(bool)
-
-
- 269
- 442
-
-
- 230
- 187
-
-
-
-
- MainWindow
- volumeDownEnabled(bool)
- mainVolumeDownButton
- setEnabled(bool)
-
-
- 796
- 232
-
-
- 546
- 294
-
-
-
-
- MainWindow
- enterEnabled(bool)
- enterButton
- setEnabled(bool)
-
-
- 547
- 441
-
-
- 417
- 344
-
-
-
-
- MainWindow
- redEnabled(bool)
- redButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 116
- 153
-
-
-
-
- MainWindow
- yellowEnabled(bool)
- yellowButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 494
- 153
-
-
-
-
- MainWindow
- oneEnabled(bool)
- oneButton
- setEnabled(bool)
-
-
- 792
- 33
-
-
- 45
- 110
-
-
-
-
- MainWindow
- captionsEnabled(bool)
- captionButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 116
- 334
-
-
-
-
- MainWindow
- inputEnabled(bool)
- inputButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 305
- 334
-
-
-
-
- MainWindow
- sleepEnabled(bool)
- sleepButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 494
- 334
-
-
-
-
- MainWindow
- audioEnabled(bool)
- audioButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 497
- 246
-
-
-
-
- MainWindow
- muteEnabled(bool)
- muteButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 399
- 393
-
-
-
-
- MainWindow
- aspectRatioEnabled(bool)
- aspectRatioButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 107
- 246
-
-
-
-
- MainWindow
- ejectEnabled(bool)
- ejectButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 692
- 373
-
-
-
-
- MainWindow
- sixEnabled(bool)
- sixButton
- setEnabled(bool)
-
-
- 438
- 441
-
-
- 417
- 187
-
-
-
-
- MainWindow
- eightEnabled(bool)
- eightButton
- setEnabled(bool)
-
-
- 254
- 443
-
-
- 230
- 266
-
-
-
-
- MainWindow
- pauseEnabled(bool)
- pauseButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 306
- 337
-
-
-
-
- MainWindow
- fastForwardEnabled(bool)
- fastForwardButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 678
- 239
-
-
-
-
- MainWindow
- playEnabled(bool)
- playButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 120
- 337
-
-
-
-
- MainWindow
- stopEnabled(bool)
- stopButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 492
- 337
-
-
-
-
- MainWindow
- replayEnabled(bool)
- replayButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 492
- 141
-
-
-
-
- MainWindow
- doubleDigitEnabled(bool)
- doubleDigitButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 683
- 289
-
-
-
-
- MainWindow
- reverseEnabled(bool)
- reverseButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 492
- 239
-
-
-
-
- MainWindow
- nineEnabled(bool)
- nineButton
- setEnabled(bool)
-
-
- 550
- 442
-
-
- 417
- 266
-
-
-
-
- MainWindow
- zeroEnabled(bool)
- zeroButton
- setEnabled(bool)
-
-
- 325
- 440
-
-
- 230
- 344
-
-
-
-
- MainWindow
- leftEnabled(bool)
- leftButton
- setEnabled(bool)
-
-
- 104
- 442
-
-
- 119
- 246
-
-
-
-
- MainWindow
- sevenEnabled(bool)
- sevenButton
- setEnabled(bool)
-
-
- 90
- 442
-
-
- 45
- 266
-
-
-
-
- MainWindow
- prevChannelEnabled(bool)
- prevChannelButton
- setEnabled(bool)
-
-
- 595
- 443
-
-
- 602
- 110
-
-
-
-
- MainWindow
- guideEnabled(bool)
- guideButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 151
- 337
-
-
-
-
- MainWindow
- clearEnabled(bool)
- clearButton
- setEnabled(bool)
-
-
- 43
- 443
-
-
- 45
- 344
-
-
-
-
- MainWindow
- nextEnabled(bool)
- mediaNextButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 306
- 141
-
-
-
-
- MainWindow
- stepForwardEnabled(bool)
- stepForwardButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 306
- 239
-
-
-
-
- MainWindow
- previousEnabled(bool)
- mediaPreviousButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 120
- 141
-
-
-
-
- MainWindow
- discMenuEnabled(bool)
- discMenuButton
- setEnabled(bool)
-
-
- 399
- 239
-
-
- 137
- 405
-
-
-
-
- MainWindow
- infoEnabled(bool)
- infoButton
- setEnabled(bool)
-
-
- 399
- 239
-
-
- 695
- 264
-
-
-
-
- MainWindow
- upEnabled(bool)
- upButton
- setEnabled(bool)
-
-
- 350
- 25
-
-
- 355
- 139
-
-
-
-
- MainWindow
- stepBackEnabled(bool)
- stepBackButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 120
- 239
-
-
-
-
- MainWindow
- selectEnabled(bool)
- selectButton
- setEnabled(bool)
-
-
- 310
- 440
-
-
- 309
- 245
-
-
-
-
- MainWindow
- menuEnabled(bool)
- menuButton
- setEnabled(bool)
-
-
- 577
- 85
-
-
- 570
- 138
-
-
-
-
- MainWindow
- rightEnabled(bool)
- rightButton
- setEnabled(bool)
-
-
- 702
- 48
-
-
- 699
- 232
-
-
-
-
- MainWindow
- downEnabled(bool)
- downButton
- setEnabled(bool)
-
-
- 363
- 443
-
-
- 372
- 346
-
-
-
-
- MainWindow
- twoEnabled(bool)
- twoButton
- setEnabled(bool)
-
-
- 177
- 443
-
-
- 230
- 110
-
-
-
-
- MainWindow
- threeEnabled(bool)
- threeButton
- setEnabled(bool)
-
-
- 479
- 439
-
-
- 417
- 110
-
-
-
-
- MainWindow
- blueEnabled(bool)
- blueButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 683
- 153
-
-
-
-
- MainWindow
- advanceEnabled(bool)
- advanceButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 678
- 141
-
-
-
-
- MainWindow
- plusOneHundredEnabled(bool)
- plusOneHundredButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 677
- 106
-
-
-
-
- MainWindow
- dashEnabled(bool)
- dashButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 683
- 107
-
-
-
-
- MainWindow
- greenEnabled(bool)
- greenButton
- setEnabled(bool)
-
-
- 399
- 222
-
-
- 305
- 153
-
-
-
-
- MainWindow
- exitEnabled(bool)
- exitButton
- setEnabled(bool)
-
-
- 578
- 441
-
-
- 583
- 343
-
-
-
-
- MainWindow
- channelUpEnabled(bool)
- mainChannelUpButton
- setEnabled(bool)
-
-
- 102
- 26
-
-
- 51
- 164
-
-
-
-
- MainWindow
- channelDownEnabled(bool)
- mainChannelDownButton
- setEnabled(bool)
-
-
- 222
- 27
-
-
- 51
- 294
-
-
-
-
- MainWindow
- volumeUpEnabled(bool)
- mainVolumeUp
- setEnabled(bool)
-
-
- 621
- 24
-
-
- 546
- 164
-
-
-
-
- MainWindow
- keysetMakeChanged(QString)
- makeLabel
- setText(QString)
-
-
- 399
- 222
-
-
- 399
- 283
-
-
-
-
- MainWindow
- powerEnabled(bool)
- powerButton
- setEnabled(bool)
-
-
- 375
- 443
-
-
- 299
- 164
-
-
-
-
- MainWindow
- keysetNameChanged(QString)
- nameLabel
- setText(QString)
-
-
- 399
- 222
-
-
- 399
- 301
-
-
-
-
- MainWindow
- pictureModeEnabled(bool)
- pictureModeButton
- setEnabled(bool)
-
-
- 399
- 239
-
-
- 103
- 406
-
-
-
-
- MainWindow
- soundModeEnabled(bool)
- soundModeButton
- setEnabled(bool)
-
-
- 399
- 239
-
-
- 103
- 264
-
-
-
-
+
zeroEnabled(bool)
oneEnabled(bool)
diff --git a/pierogi.pro b/pierogi.pro
index 742ccdc..f2f5c2a 100644
--- a/pierogi.pro
+++ b/pierogi.pro
@@ -78,7 +78,6 @@ SOURCES += main.cpp mainwindow.cpp \
protocols/samsungprotocol.cpp \
keysets/pioneer.cpp \
protocols/spaceprotocol.cpp \
- pirsecondaryform.cpp \
protocols/rcaprotocol.cpp \
keysets/acer.cpp \
keysets/aiwa.cpp \
@@ -133,7 +132,32 @@ SOURCES += main.cpp mainwindow.cpp \
keysets/foxtel.cpp \
keysets/nad.cpp \
keysets/universum.cpp \
- keysets/hyundai.cpp
+ keysets/hyundai.cpp \
+ pirselectdeviceform.cpp \
+ keysets/harmankardon.cpp \
+ forms/piradjustform.cpp \
+ forms/pirairconditionerform.cpp \
+ forms/pirinputform.cpp \
+ forms/pirmedia2form.cpp \
+ forms/pirtvform.cpp \
+ forms/pirmainform.cpp \
+ forms/pirutilityform.cpp \
+ forms/pirkeypadform.cpp \
+ forms/pirmenuform.cpp \
+ forms/pirmediaform.cpp \
+ forms/pirfavoritesform.cpp \
+ pirpanelselectionform.cpp \
+ pirpanelmanager.cpp \
+ protocols/nokia32protocol.cpp \
+ protocols/kathreinprotocol.cpp \
+ keysets/aoc.cpp \
+ keysets/arcam.cpp \
+ keysets/dell.cpp \
+ keysets/dse.cpp \
+ keysets/dynex.cpp \
+ keysets/kathrein.cpp \
+ keysets/starsat.cpp \
+ keysets/viewsat.cpp
HEADERS += mainwindow.h \
pirkeynames.h \
pirmakenames.h \
@@ -185,7 +209,6 @@ HEADERS += mainwindow.h \
protocols/samsungprotocol.h \
keysets/pioneer.h \
protocols/spaceprotocol.h \
- pirsecondaryform.h \
keysets/yamaha.h \
protocols/rcaprotocol.h \
keysets/acer.h \
@@ -241,13 +264,51 @@ HEADERS += mainwindow.h \
keysets/foxtel.h \
keysets/nad.h \
keysets/universum.h \
- keysets/hyundai.h
+ keysets/hyundai.h \
+ pirselectdeviceform.h \
+ keysets/harmankardon.h \
+ forms/piradjustform.h \
+ forms/pirairconditionerform.h \
+ forms/pirinputform.h \
+ forms/pirmedia2form.h \
+ forms/pirtvform.h \
+ forms/pirmainform.h \
+ forms/pirutilityform.h \
+ forms/pirkeypadform.h \
+ forms/pirmenuform.h \
+ forms/pirmediaform.h \
+ forms/pirfavoritesform.h \
+ pirpanelnames.h \
+ pirpanelmanager.h \
+ pirpanelselectionform.h \
+ protocols/nokia32protocol.h \
+ protocols/kathreinprotocol.h \
+ keysets/aoc.h \
+ keysets/arcam.h \
+ keysets/dell.h \
+ keysets/dse.h \
+ keysets/dynex.h \
+ keysets/kathrein.h \
+ keysets/starsat.h \
+ keysets/viewsat.h
FORMS += mainwindow.ui \
pirdocumentationform.ui \
piraboutform.ui \
pirselectkeysetform.ui \
- pirsecondaryform.ui \
- sideshotleftform.ui
+ sideshotleftform.ui \
+ pirselectdeviceform.ui \
+ forms/piradjustform.ui \
+ forms/pirairconditionerform.ui \
+ forms/pirinputform.ui \
+ forms/pirmedia2form.ui \
+ forms/pirtvform.ui \
+ forms/pirmainform.ui \
+ forms/pirutilityform.ui \
+ forms/pirkeypadform.ui \
+ forms/pirmenuform.ui \
+ forms/pirmediaform.ui \
+ forms/pirfavoritesform.ui \
+ pirpanelselectionform.ui
# Please do not modify the following two lines. Required for deployment.
include(deployment.pri)
diff --git a/pierogi.pro.user b/pierogi.pro.user
index 41589e6..71e8824 100644
--- a/pierogi.pro.user
+++ b/pierogi.pro.user
@@ -1,6 +1,6 @@
-
+
ProjectExplorer.Project.ActiveTarget
@@ -79,7 +79,7 @@
dpkg-buildpackage -sa -S -uc -us
/Users/john/QtSDK/Maemo/4.6.2/bin/mad
false
- /Users/john/Develop/n900/pierogi-0.6.11
+ /Users/john/Develop/n900/pierogi-1.0.0
Custom Process Step
ProjectExplorer.ProcessStep
@@ -193,6 +193,7 @@
/Users/john/Develop/n900/pierogi-build-maemo-Qt_for_Fremantle_PR1_3_Devices__Qt_SDK__Release/pierogi_0_6_5_armel.deb
/Users/john/Develop/n900/pierogi-build-maemo-Qt_for_Fremantle_PR1_3_Devices__Qt_SDK__Release/pierogi_0_1_1_armel.deb
/Users/john/Develop/n900/pierogi-build-maemo-Qt_for_Fremantle_PR1_3_Devices__Qt_SDK__Release/pierogi_0_1_7_armel.deb
+ /Users/john/Develop/n900/pierogi-build-maemo-Qt_for_Fremantle_PR1_3_Devices__Qt_SDK__Release/pierogi_1_1_0_armel.deb
/Users/john/Develop/n900/pierogi-build-maemo-Qt_for_Fremantle_PR1_3_Devices__Qt_SDK__Release/pierogi_0_1_3_armel.deb
/Users/john/Develop/n900/pierogi-build-maemo-Qt_for_Fremantle_PR1_3_Devices__Qt_SDK__Release/pierogi_0_1_5_armel.deb
/Users/john/Develop/n900/pierogi-build-maemo-Qt_for_Fremantle_PR1_3_Devices__Qt_SDK__Release/pierogi_0_5_0_armel.deb
@@ -225,6 +226,7 @@
192.168.0.15
192.168.0.15
192.168.0.15
+ 192.168.0.15
localhost
192.168.0.15
192.168.0.15
@@ -267,10 +269,11 @@
+
2012-01-19T22:18:07
- 2012-02-24T09:51:59
+ 2012-02-29T10:48:05
2012-02-06T17:22:16
2012-02-12T23:10:44
2012-02-09T18:12:21
@@ -280,6 +283,7 @@
2012-02-16T21:50:07
2012-01-17T00:15:23
2012-01-30T20:23:06
+ 2012-02-29T19:26:06
2012-01-17T13:21:05
2012-01-23T09:47:37
2012-02-03T10:04:34
diff --git a/pirkeynames.h b/pirkeynames.h
index 0f5c6c6..a58404d 100644
--- a/pirkeynames.h
+++ b/pirkeynames.h
@@ -189,6 +189,17 @@ enum PIRKeyName{
NextPreset_Key,
PrevPreset_Key,
+ // Air Conditioner controls:
+ TempUp_Key,
+ TempDown_Key,
+ Fan_Key,
+ Cool_Key,
+ Heat_Key,
+ Oscillate_Key,
+ FanFaster_Key,
+ FanSlower_Key,
+ EnergySave_Key,
+
// Other keys:
Captions_Key,
Info_Key,
diff --git a/pirkeysetmanager.cpp b/pirkeysetmanager.cpp
index a9d6267..e0f6f15 100644
--- a/pirkeysetmanager.cpp
+++ b/pirkeysetmanager.cpp
@@ -7,17 +7,22 @@
#include "keysets/acer.h"
#include "keysets/admiral.h"
#include "keysets/aiwa.h"
+#include "keysets/aoc.h"
#include "keysets/apple.h"
+#include "keysets/arcam.h"
#include "keysets/beko.h"
#include "keysets/bose.h"
#include "keysets/bush.h"
#include "keysets/cambridge.h"
#include "keysets/canon.h"
#include "keysets/daewoo.h"
+#include "keysets/dell.h"
#include "keysets/denon.h"
#include "keysets/digitalstream.h"
#include "keysets/directv.h"
#include "keysets/dish.h"
+#include "keysets/dse.h"
+#include "keysets/dynex.h"
#include "keysets/ei.h"
#include "keysets/elgato.h"
#include "keysets/emerson.h"
@@ -27,6 +32,7 @@
#include "keysets/goldstar.h"
#include "keysets/grundig.h"
#include "keysets/haier.h"
+#include "keysets/harmankardon.h"
#include "keysets/hauppauge.h"
#include "keysets/hitachi.h"
#include "keysets/homecast.h"
@@ -35,6 +41,7 @@
#include "keysets/humax.h"
#include "keysets/hyundai.h"
#include "keysets/jvc.h"
+#include "keysets/kathrein.h"
#include "keysets/kenwood.h"
#include "keysets/lg.h"
#include "keysets/logitech.h"
@@ -60,6 +67,7 @@
#include "keysets/sharp.h"
#include "keysets/sky.h"
#include "keysets/sony.h"
+#include "keysets/starsat.h"
#include "keysets/technics.h"
#include "keysets/tivo.h"
#include "keysets/topfield.h"
@@ -67,6 +75,7 @@
#include "keysets/united.h"
#include "keysets/universum.h"
#include "keysets/vestel.h"
+#include "keysets/viewsat.h"
#include "keysets/virgin.h"
#include "keysets/vizio.h"
#include "keysets/wd.h"
@@ -116,8 +125,12 @@ PIRKeysetManager::PIRKeysetManager()
setupKeyset(new AiwaCarStereo1(counter++));
setupKeyset(new AiwaDVD1(counter++));
+ setupKeyset(new AOCTV1(counter++));
+
setupKeyset(new AppleWhiteRemote(counter++));
+ setupKeyset(new ArcamReceiver1(counter++));
+
setupKeyset(new BekoTV1(counter++));
setupKeyset(new BoseRadio1(counter++));
@@ -169,6 +182,8 @@ PIRKeysetManager::PIRKeysetManager()
setupKeyset(new DenonAudio3(counter++));
setupKeyset(new DenonAudio4(counter++));
+ setupKeyset(new DellRemote1(counter++));
+
setupKeyset(new DigitalStreamReceiver(counter++));
setupKeyset(new DirectvReceiver1(counter++));
@@ -190,6 +205,11 @@ PIRKeysetManager::PIRKeysetManager()
setupKeyset(new DishReceiver1n(counter++));
setupKeyset(new DishReceiver1o(counter++));
+ setupKeyset(new DSEDVD1(counter++));
+ setupKeyset(new DSESat1(counter++));
+
+ setupKeyset(new DynexTV1(counter++));
+
setupKeyset(new EiTV1(counter++));
setupKeyset(new ElgatoEyeTV1(counter++));
@@ -204,6 +224,7 @@ PIRKeysetManager::PIRKeysetManager()
setupKeyset(new FortecReceiver2(counter++));
setupKeyset(new FoxtelSTB1(counter++));
+ setupKeyset(new FoxtelSTB2(counter++));
setupKeyset(new GoldStarTV1(counter++));
setupKeyset(new GoldStarTV2(counter++));
@@ -227,6 +248,15 @@ PIRKeysetManager::PIRKeysetManager()
setupKeyset(new HaierTV1(counter++));
+ setupKeyset(new HarmanKardonAmp1(counter++));
+ setupKeyset(new HarmanKardonAmp2(counter++));
+ setupKeyset(new HarmanKardonReceiver2(counter++));
+ setupKeyset(new HarmanKardonTape1(counter++));
+ setupKeyset(new HarmanKardonDVD1(counter++));
+ setupKeyset(new HarmanKardonDVD1a(counter++));
+ setupKeyset(new HarmanKardonCD1(counter++));
+ setupKeyset(new HarmanKardonCD2(counter++));
+
setupKeyset(new HauppaugePCTV1(counter++));
setupKeyset(new HauppaugePCTV1a(counter++));
setupKeyset(new HauppaugePCTV1b(counter++));
@@ -279,6 +309,10 @@ PIRKeysetManager::PIRKeysetManager()
setupKeyset(new JVCAudio2(counter++));
setupKeyset(new JVCDVD1(counter++));
+ setupKeyset(new KathreinSat1(counter++));
+ setupKeyset(new KathreinSat2(counter++));
+ setupKeyset(new KathreinSat3(counter++));
+
setupKeyset(new KenwoodAudio1(counter++));
setupKeyset(new KenwoodComponent1(counter++));
setupKeyset(new KenwoodComponent2(counter++));
@@ -303,6 +337,7 @@ PIRKeysetManager::PIRKeysetManager()
setupKeyset(new LGAC1(counter++));
setupKeyset(new LogitechSpeakers(counter++));
+ setupKeyset(new LogitechSqueezebox(counter++));
setupKeyset(new MagnavoxDVD1(counter++));
setupKeyset(new MagnavoxVCR1(counter++));
@@ -497,6 +532,11 @@ PIRKeysetManager::PIRKeysetManager()
setupKeyset(new SonyVCR1a(counter++));
setupKeyset(new SonyVCR1b(counter++));
setupKeyset(new SonyReceiver1(counter++));
+ setupKeyset(new SonyCD1(counter++));
+ setupKeyset(new SonyCD1a(counter++));
+ setupKeyset(new SonyCD1b(counter++));
+
+ setupKeyset(new StarsatSat1(counter++));
setupKeyset(new TechnicsAudio1(counter++));
setupKeyset(new TechnicsAudio1a(counter++));
@@ -545,12 +585,16 @@ PIRKeysetManager::PIRKeysetManager()
setupKeyset(new VestelTV1(counter++));
setupKeyset(new VestelTV2(counter++));
+ setupKeyset(new ViewsatSat1(counter++));
+ setupKeyset(new ViewsatSat1a(counter++));
+
setupKeyset(new VirginSTB1(counter++));
setupKeyset(new VizioTV1(counter++));
setupKeyset(new WDMediaPlayer1(counter++));
setupKeyset(new WDMediaPlayer1a(counter++));
+ setupKeyset(new WDMediaPlayer1b(counter++));
setupKeyset(new WestinghouseTV1(counter++));
setupKeyset(new WestinghouseTV2(counter++));
@@ -719,8 +763,9 @@ void PIRKeysetManager::setupKeyset(
}
-void PIRKeysetManager::populateGuiWidget(
- PIRSelectKeysetForm *skf) const
+void PIRKeysetManager::populateSelectionWidgets(
+ PIRSelectKeysetForm *skf,
+ PIRSelectDeviceForm *sdf) const
{
PIRMakeName make;
PIRKeysetWidgetItem *kwi;
@@ -729,18 +774,23 @@ void PIRKeysetManager::populateGuiWidget(
while (i != keysetsInfo.end())
{
+ // Create a widget for the keyset:
make = i->second->getMake();
QString tempString = makeManager.getMakeString(make);
tempString.append(" ");
tempString.append(i->second->getKeysetName());
kwi = new PIRKeysetWidgetItem(tempString, i->first, make);
- i->second->populateDeviceTypes(kwi);
skf->addWidgetItem(kwi);
+
+ // Create widgets for the devices:
+ i->second->populateDevices(i->first, sdf);
+
++i;
}
}
+/*
void PIRKeysetManager::populateDeviceTypes(
PIRKeysetWidgetItem *kwi,
unsigned int keysetID) const
@@ -751,3 +801,4 @@ void PIRKeysetManager::populateDeviceTypes(
i->second->populateDeviceTypes(kwi);
}
}
+*/
diff --git a/pirkeysetmanager.h b/pirkeysetmanager.h
index aed42ce..4cc5f42 100644
--- a/pirkeysetmanager.h
+++ b/pirkeysetmanager.h
@@ -9,6 +9,7 @@
class QObject;
class PIRSelectKeysetForm;
+class PIRSelectDeviceForm;
class PIRKeysetWidgetItem;
#include
- -
-
-
-
-
-
-
- 0
- 0
-
-
-
- Device:
-
-
-
- -
-
-
-
- 0
- 0
-
-
-
-
-
-
-
diff --git a/protocols/aiwaprotocol.cpp b/protocols/aiwaprotocol.cpp
index d8c9e8d..c4dcf6d 100644
--- a/protocols/aiwaprotocol.cpp
+++ b/protocols/aiwaprotocol.cpp
@@ -33,7 +33,7 @@ AiwaProtocol::AiwaProtocol(
repeatSpace(2250)
{
setCarrierFrequency(38000);
- setDutyCycle(50);
+// setDutyCycle(50);
}
diff --git a/protocols/dishprotocol.cpp b/protocols/dishprotocol.cpp
index 6f74e07..d192031 100644
--- a/protocols/dishprotocol.cpp
+++ b/protocols/dishprotocol.cpp
@@ -34,7 +34,7 @@ DishProtocol::DishProtocol(
6000, false)
{
setCarrierFrequency(57600);
- setDutyCycle(33);
+// setDutyCycle(33);
}
diff --git a/protocols/jvcprotocol.cpp b/protocols/jvcprotocol.cpp
index d903d1a..d94de00 100644
--- a/protocols/jvcprotocol.cpp
+++ b/protocols/jvcprotocol.cpp
@@ -30,7 +30,7 @@ JVCProtocol::JVCProtocol(
60000, true)
{
setCarrierFrequency(38000);
- setDutyCycle(33);
+// setDutyCycle(33);
}
diff --git a/protocols/kathreinprotocol.cpp b/protocols/kathreinprotocol.cpp
new file mode 100644
index 0000000..1d29779
--- /dev/null
+++ b/protocols/kathreinprotocol.cpp
@@ -0,0 +1,151 @@
+#include "kathreinprotocol.h"
+
+#include "pirrx51hardware.h"
+
+#include "pirexception.h"
+
+// Some global communications stuff:
+#include
+extern bool commandInFlight;
+extern QMutex commandIFMutex;
+
+// The Kathrein protocol is similar to the NEC protocol:
+// A "zero" is encoded with a 560 usec pulse, 560 usec space.
+// A "one" is encoded with a 560 usec pulse, and 3*560 (1680) usec space.
+// The header is a 9000 usec pulse, 4500 usec space.
+// Commands end with a trailing 560 usec pulse.
+// The repeat block is unique -- it has the normal header and trailer, and
+// includes the command code, but no address, and no complement.
+// Each command runs for 110000 usec before another can be executed.
+// The normal carrier frequency is 38 kHz.
+
+KathreinProtocol::KathreinProtocol(
+ QObject *guiObject,
+ unsigned int index)
+ : SpaceProtocol(
+ guiObject, index,
+ 560, 560,
+ 560, 1680,
+ 9000, 4500,
+ 560,
+ 110000, true)
+{
+}
+
+
+void KathreinProtocol::startSendingCommand(
+ unsigned int threadableID,
+ PIRKeyName command)
+{
+ // Exceptions here are problematic; I'll try to weed them out by putting the
+ // whole thing in a try/catch block:
+ try
+ {
+ // First, check if we are meant to be the recipient of this command:
+ if (threadableID != id) return;
+
+ clearRepeatFlag();
+
+ KeycodeCollection::const_iterator i = keycodes.find(command);
+
+ // Do we even have this key defined?
+ if (i == keycodes.end())
+ {
+ std::string s = "Tried to send a non-existent command.\n";
+ throw PIRException(s);
+ }
+
+ // construct the device:
+ PIRRX51Hardware rx51device(carrierFrequency, dutyCycle);
+
+ int repeatCount = 0;
+ int commandDuration = 0;
+ while (repeatCount < MAX_REPEAT_COUNT)
+ {
+ if (repeatCount)
+ {
+ commandDuration = generateRepeatCommand((*i).second, rx51device);
+ }
+ else
+ {
+ commandDuration = generateStandardCommand((*i).second, rx51device);
+ }
+
+ // Now, tell the device to send the whole command:
+ rx51device.sendCommandToDevice();
+
+ // sleep until the next repetition of command:
+ sleepUntilRepeat(commandDuration);
+
+ // Check whether we've reached the minimum required number of repetitons:
+ if (repeatCount >= minimumRepetitions)
+ {
+ // Check whether we've been asked to stop:
+ if (checkRepeatFlag())
+ {
+ QMutexLocker cifLocker(&commandIFMutex);
+ commandInFlight = false;
+ return;
+ }
+ }
+
+ ++repeatCount;
+ }
+ }
+ catch (PIRException e)
+ {
+ // inform the gui:
+ emit commandFailed(e.getError().c_str());
+ }
+
+ QMutexLocker cifLocker(&commandIFMutex);
+ commandInFlight = false;
+}
+
+
+int KathreinProtocol::generateStandardCommand(
+ const PIRKeyBits &pkb,
+ PIRRX51Hardware &rx51device)
+{
+ int duration = 0;
+
+ // First, the "header" pulse:
+ rx51device.addPair(headerPulse, headerSpace);
+ duration += (headerPulse + headerSpace);
+
+ // Kathrein protocol has four bits of address and eight bits of command.
+ // As in NEC protocol, the address and command are complemented.
+ // - "preData" should contain the 4-bit address
+ // - "firstCode" should contain the 8-bit command
+ duration += pushReverseBits(preData, rx51device);
+ duration += pushInvertedReverseBits(preData, rx51device);
+ duration += pushReverseBits(pkb.firstCode, rx51device);
+ duration += pushInvertedReverseBits(pkb.firstCode, rx51device);
+
+ // Finally add the "trail":
+ rx51device.addSingle(trailerPulse);
+ duration += trailerPulse;
+
+ return duration;
+}
+
+
+int KathreinProtocol::generateRepeatCommand(
+ const PIRKeyBits &pkb,
+ PIRRX51Hardware &rx51device)
+{
+ int duration = 0;
+
+ // First, the "header" pulse:
+ rx51device.addPair(headerPulse, headerSpace);
+ duration += (headerPulse + headerSpace);
+
+ // The Kathrein repeat block contains the 8-bit command and nothing else:
+ duration += pushReverseBits(pkb.firstCode, rx51device);
+
+ // Finally add the "trail":
+ rx51device.addSingle(trailerPulse);
+ duration += trailerPulse;
+
+ return duration;
+}
diff --git a/protocols/kathreinprotocol.h b/protocols/kathreinprotocol.h
new file mode 100644
index 0000000..a511fc8
--- /dev/null
+++ b/protocols/kathreinprotocol.h
@@ -0,0 +1,36 @@
+#ifndef KATHREINPROTOCOL_H
+#define KATHREINPROTOCOL_H
+
+#include "spaceprotocol.h"
+
+class PIRRX51Hardware;
+
+//
+// The Kathrein 24-bit protocol shares some features with the NEC protocol
+// (space encoded, LSB order, sends complement of device and command codes),
+// but has only a 4-bit address code, and uses a unique repeat mechanism.
+//
+
+class KathreinProtocol: public SpaceProtocol
+{
+public:
+ KathreinProtocol(
+ QObject *guiObject,
+ unsigned int index);
+
+public slots:
+ void startSendingCommand(
+ unsigned int threadableID,
+ PIRKeyName command);
+
+private:
+ int generateStandardCommand(
+ const PIRKeyBits &bits,
+ PIRRX51Hardware &device);
+
+ int generateRepeatCommand(
+ const PIRKeyBits &bits,
+ PIRRX51Hardware &device);
+};
+
+#endif // KATHREINPROTOCOL_H
diff --git a/protocols/nokia32protocol.cpp b/protocols/nokia32protocol.cpp
new file mode 100644
index 0000000..63c36ad
--- /dev/null
+++ b/protocols/nokia32protocol.cpp
@@ -0,0 +1,251 @@
+#include "nokia32protocol.h"
+
+#include "pirrx51hardware.h"
+
+#include "pirexception.h"
+
+// Some global communications stuff:
+#include
+extern bool commandInFlight;
+extern QMutex commandIFMutex;
+
+// The Nokia 32 protocol has a 2-bit space encoding system, and appears to
+// work like this:
+// A "zero" is encoded with a 164 usec pulse, 276 usec space.
+// A "one" is encoded with a 164 usec pulse, 445 usec space.
+// A "two" is encoded with a 164 usec pulse, 614 usec space.
+// A "three" is encoded with a 164 usec pulse, 783 usec space.
+// The header is a 412 usec pulse, 276 usec space.
+// Commands end with a trailing 164 usec pulse.
+// The entire pulse train is re-sent when repeating.
+// There is a 100000 usec gap between commands. (? not sure here)
+// The carrier frequency is presumably 36 kHz.
+// The duty cycle is presumably 1/3.
+
+Nokia32Protocol::Nokia32Protocol(
+ QObject *guiObject,
+ unsigned int index)
+ : PIRProtocol(guiObject, index, 100000, false),
+ zeroPulse(164),
+ zeroSpace(276),
+ onePulse(164),
+ oneSpace(445),
+ twoPulse(164),
+ twoSpace(614),
+ threePulse(164),
+ threeSpace(783),
+ headerPulse(412),
+ headerSpace(276),
+ trailerPulse(164),
+ keypressCount(0)
+{
+}
+
+
+void Nokia32Protocol::startSendingCommand(
+ unsigned int threadableID,
+ PIRKeyName command)
+{
+ // Exceptions here are problematic; I'll try to weed them out by putting the
+ // whole thing in a try/catch block:
+ try
+ {
+ // First, check if we are meant to be the recipient of this command:
+ if (threadableID != id) return;
+
+ clearRepeatFlag();
+
+ KeycodeCollection::const_iterator i = keycodes.find(command);
+
+ // Do we even have this key defined?
+ if (i == keycodes.end())
+ {
+ std::string s = "Tried to send a non-existent command.\n";
+ throw PIRException(s);
+ }
+
+ // construct the device:
+ PIRRX51Hardware rx51device(carrierFrequency, dutyCycle);
+
+ int repeatCount = 0;
+ int commandDuration = 0;
+ while (repeatCount < MAX_REPEAT_COUNT)
+ {
+ commandDuration = generateStandardCommand((*i).second, rx51device);
+
+ // Now, tell the device to send the whole command:
+ rx51device.sendCommandToDevice();
+
+ // sleep until the next repetition of command:
+ sleepUntilRepeat(commandDuration);
+
+ // Check whether we've reached the minimum required number of repetitons:
+ if (repeatCount >= minimumRepetitions)
+ {
+ // Check whether we've been asked to stop:
+ if (checkRepeatFlag())
+ {
+ QMutexLocker cifLocker(&commandIFMutex);
+ commandInFlight = false;
+ ++keypressCount;
+ return;
+ }
+ }
+
+ ++repeatCount;
+ }
+ }
+ catch (PIRException e)
+ {
+ // inform the gui:
+ emit commandFailed(e.getError().c_str());
+ }
+
+ QMutexLocker cifLocker(&commandIFMutex);
+ commandInFlight = false;
+ ++keypressCount;
+}
+
+
+int Nokia32Protocol::generateStandardCommand(
+ const PIRKeyBits &pkb,
+ PIRRX51Hardware &rx51device)
+{
+ int duration = 0;
+
+ // First, the "header" pulse:
+ rx51device.addPair(headerPulse, headerSpace);
+ duration += (headerPulse + headerSpace);
+
+ // The layout of the Nokia 32 protocol is as follows:
+ // 1) an 8-bit "device code"
+ // 2) an 8-bit "sub-device code"
+ // 3) one toggle bit
+ // 4) seven more bits somehow associated with the device
+ // 5) an 8-bit command code.
+ // All are sent in MSB order.
+
+ // It's a bit of a hack, but I'll store the first 16 bits of address in the
+ // preData, the next 7 bits of address in the postData, and the 8 bits
+ // of command in the firstCode:
+
+ duration += pushBits(preData, rx51device);
+ duration += pushToggleAndBits(postData, rx51device);
+ duration += pushBits(pkb.firstCode, rx51device);
+
+ // Finally add the "trail":
+ rx51device.addSingle(trailerPulse);
+ duration += trailerPulse;
+
+ return duration;
+}
+
+
+int Nokia32Protocol::pushBits(
+ const CommandSequence &bits,
+ PIRRX51Hardware &rx51device)
+{
+ int duration = 0;
+ bool firstBit;
+ bool secondBit;
+
+ CommandSequence::const_iterator i = bits.begin();
+ while (i != bits.end())
+ {
+ firstBit = *i;
+ ++i;
+ if (i == bits.end()) break;
+ secondBit = *i;
+
+ duration += pushDoubleBit(firstBit, secondBit, rx51device);
+
+ ++i;
+ }
+
+ return duration;
+}
+
+
+int Nokia32Protocol::pushToggleAndBits(
+ const CommandSequence &bits,
+ PIRRX51Hardware &rx51device)
+{
+ int duration = 0;
+ bool firstBit;
+ bool secondBit;
+
+ // The first bit is the toggle bit:
+ if (keypressCount % 2)
+ {
+ firstBit = 1;
+ }
+ else
+ {
+ firstBit = 0;
+ }
+
+ CommandSequence::const_iterator i = bits.begin();
+ if (i == bits.end()) return 0;
+
+ secondBit = *i;
+
+ duration += pushDoubleBit(firstBit, secondBit, rx51device);
+
+ ++i;
+
+ while (i != bits.end())
+ {
+ firstBit = *i;
+ ++i;
+ if (i == bits.end()) break;
+ secondBit = *i;
+
+ duration += pushDoubleBit(firstBit, secondBit, rx51device);
+
+ ++i;
+ }
+
+ return duration;
+}
+
+
+int Nokia32Protocol::pushDoubleBit(
+ bool firstBit,
+ bool secondBit,
+ PIRRX51Hardware &rx51device)
+{
+ int duration = 0;
+
+ if (firstBit == 0)
+ {
+ if (secondBit == 0)
+ {
+ // Send the pulse for "Zero":
+ rx51device.addPair(zeroPulse, zeroSpace);
+ duration += (zeroPulse + zeroSpace);
+ }
+ else
+ {
+ // Send the pulse for "One":
+ rx51device.addPair(onePulse, oneSpace);
+ duration += (onePulse + oneSpace);
+ }
+ }
+ else
+ {
+ if (secondBit == 0)
+ {
+ // Send the pulse for "Two":
+ rx51device.addPair(twoPulse, twoSpace);
+ duration += (twoPulse + twoSpace);
+ }
+ else
+ {
+ // Send the pulse for "Three":
+ rx51device.addPair(threePulse, threeSpace);
+ duration += (threePulse + threeSpace);
+ }
+ }
+
+ return duration;
+}
diff --git a/protocols/nokia32protocol.h b/protocols/nokia32protocol.h
new file mode 100644
index 0000000..c53a609
--- /dev/null
+++ b/protocols/nokia32protocol.h
@@ -0,0 +1,60 @@
+#ifndef NOKIA32PROTOCOL_H
+#define NOKIA32PROTOCOL_H
+
+#include "spaceprotocol.h"
+
+class PIRRX51Hardware;
+
+//
+// The Nokia32 protocol is a somewhat unusual 32-bit protocol. It encodes
+// pairs of bits rather than individual bits.
+//
+
+class Nokia32Protocol: public PIRProtocol
+{
+public:
+ Nokia32Protocol(
+ QObject *guiObject,
+ unsigned int index);
+
+public slots:
+ void startSendingCommand(
+ unsigned int threadableID,
+ PIRKeyName command);
+
+private:
+ int generateStandardCommand(
+ const PIRKeyBits &bits,
+ PIRRX51Hardware &device);
+
+ int pushBits(
+ const CommandSequence &bits,
+ PIRRX51Hardware &rx51device);
+
+ int pushToggleAndBits(
+ const CommandSequence &bits,
+ PIRRX51Hardware &rx51device);
+
+ int pushDoubleBit(
+ bool firstBit,
+ bool secondBit,
+ PIRRX51Hardware &rx51device);
+
+ unsigned int zeroPulse;
+ unsigned int zeroSpace;
+ unsigned int onePulse;
+ unsigned int oneSpace;
+ unsigned int twoPulse;
+ unsigned int twoSpace;
+ unsigned int threePulse;
+ unsigned int threeSpace;
+
+ unsigned int headerPulse;
+ unsigned int headerSpace;
+
+ unsigned int trailerPulse;
+
+ unsigned int keypressCount;
+};
+
+#endif // NOKIA32PROTOCOL_H
diff --git a/protocols/sharpprotocol.cpp b/protocols/sharpprotocol.cpp
index cecc731..20eddf3 100644
--- a/protocols/sharpprotocol.cpp
+++ b/protocols/sharpprotocol.cpp
@@ -36,7 +36,7 @@ SharpProtocol::SharpProtocol(
expansionBit(expBit)
{
setCarrierFrequency(38000);
- setDutyCycle(33);
+// setDutyCycle(33);
}
diff --git a/protocols/sircprotocol.cpp b/protocols/sircprotocol.cpp
index 9fd1f5c..e16fdd7 100644
--- a/protocols/sircprotocol.cpp
+++ b/protocols/sircprotocol.cpp
@@ -30,7 +30,7 @@ SIRCProtocol::SIRCProtocol(
45000, true)
{
setCarrierFrequency(40000);
- setDutyCycle(33);
+// setDutyCycle(33);
}
diff --git a/qtc_packaging/debian_fremantle/changelog b/qtc_packaging/debian_fremantle/changelog
index df784ff..311bbd9 100644
--- a/qtc_packaging/debian_fremantle/changelog
+++ b/qtc_packaging/debian_fremantle/changelog
@@ -1,3 +1,14 @@
+pierogi (1.1.0) unstable; urgency=low
+ * GUI changed - "panels" instead of "tabs", new navigation controls.
+ * New window added for selecting keysets by device. "Device" filter removed from select keyset by name window.
+ * New Air Conditioner control panel added.
+ * New keysets added to Foxtel, Logitech, Sony, Western Digital.
+ * First pass at keysets for AOC, Arcam, Dell, Dick Smith Electronics, Dynex, Harman Kardon, Kathrein, Starsat, Viewsat.
+ * With the hope of extending the N900's range a bit, I'm setting all protocols to use a duty cycle of 50%, regardless of what the documentation says they should use. I hope this won't cause any problems.
+ * New versioning scheme -- new version name comes at the start of new work, rather than at the end. :) Pierogi 1.1 is labeled "For a Few Pierogis More".
+
+ -- John Pietrzak Wed, 29 Feb 2012 10:52:05 -0500
+
pierogi (1.0.0) unstable; urgency=low
* Pierogi appears fairly stable and useful at this point. So, I will declare it to have now reached version "1.0", before starting any radical changes to the gui. (I'm labeling the 1.0 version "A Fistful of Pierogis". :) )
* First pass at a keyset for Hyundai.
diff --git a/qtc_packaging/debian_fremantle/control b/qtc_packaging/debian_fremantle/control
index f5975bc..7b554f5 100644
--- a/qtc_packaging/debian_fremantle/control
+++ b/qtc_packaging/debian_fremantle/control
@@ -11,8 +11,8 @@ Architecture: armel
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Universal Infrared (IR) Remote Control for N900
Pierogi is a Universal Infrared Remote Control app for the Nokia N900. It is independent from the LIRC server, and stores all configuration info internally.
-XB-Maemo-Upgrade-Description: Version 1.0
- At this point, Pierogi is fairly stable and usable. So, I'm going to declare this as version 1.0. Look for significant changes to both the GUI and the underlying code in the future!
+XB-Maemo-Upgrade-Description: New GUI
+ In order to provide more flexibility to Pierogi, I've revamped the GUI. Mostly, I've replaced the tab-bar with a construct of my own. We'll have to see how well this works. Also, many new keysets in this update, as well as better A/C support.
XSBC-Bugtracker: https://garage.maemo.org/tracker/?func=add&group_id=2286&atid=7641
XB-Maemo-Display-Name: Pierogi
XB-Maemo-Icon-26: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAEChJREFUaIHtmFmsXudVhp/1TXv/+x/OOZ4TO66dZmBo0jZJoxBQW8ookAq0mIhJQhUXcAGIAhICRClDb4q4YBRDGSoBFS2ikQoUSkpNIEkbnJQ0cVL7xLUd2/GZfKZ/2MP3fYuLE6LUDQEFQi/oe7e/X7/2++71an1rvfAlfAn/vyH/2Q+Hbzp89M47rvm1aw/0XvPs5ea+M5/b+OiJB5/88FX/1Vee4kvjagEC6Dt/+ns++Ya7Xn2ndWX2zkvKLV070Xp72Vy6PG4vLa0/8pcffuytlxcvr3wxSL8Q7qpnBXjzW+64M/QC1hiTUq0xWbHWihjf3TBvwqtene46e377/Z9swztWz59/9ovA+3nYqw9uv/uWH/y27/iat3rv1AcnkARjCSHgQ2FdqNT5Hgf27bpxfsF+/yTms2vPXjkJGL4Ilvo8AXfcfes9P/kTx96/sHtEKKwYURCHMULWjsnmhMlkXSbbG5J1m317Rr073nDknutvPPy2wZ6FA9syOzFbm7X/lwI+z0Jf+dob7jlw3UGsA8ioJlJWZpMpXUzEVGPFUpYW6xSqgeQ80bu/5tpbX/u6L7/1mvvnv+nPPvu3dwFw++2eEye6V1rA8xU4esvRr7/nnm9+z959C7hgVEQEMWxvbtE0nYoYYhxL7DJZjRZlya691zCc2y0qqPcq1+6vDp1f3r7UhbnF2RNPzF5p8rDTdQTQX3rvj11609fedo31EEqPNZa6bnjm7Clyakk5UlW7mN+9gKYZw+EuCBUiUA1203Yt0+01zjz1VJptPWtX1mZ84v6zf/nYE59779LppU++UgLcfwi44caD1zinIKJGDKpIU8/omimYoM4NWdg1J8ElEuhg6MkCvhiSESRNsXkmB665zmyWXncfcLJnz/Dtd9127dtOP33hn/75gUvfe+H0hYuvhIB86NChXbv3zZFF1bsgoLRtw3h7HaMd1hZiTY33Geug7BUSvEUNYKCdXcGZlqpX4Qplbu6oNG3UohDZtXu/XH/TdW8ajj7z4MO7ez/36YdOv/9/WwA33Hr4R3zwrQveOwf1dJvJZJvpeBvjoOh59u4/SGlm9IfzlFUBBkQcMW1Sb62QUkI1I5pw0lF1M7FuSt4TNO/bLUeOvOXab/9O/nh5efNP/uLP/+ETT55a/4Wzj589/j8VYHffvHv41Xfd9jOve/31ryoLb0R2rLO5tUE9ndDrlQyGQ8oS5kYjXGERieQYqSeb1OMVJqufQ0wPX1b0ewOMQSwR5y2+LPHOibGlQVqqasjBa689evjQwg+Ywvhzi5c//hyXl3WPuD3Vnptvvvnwm6wT1dRKypGuS7TNlJynDIZHCMHiQ0CskrqWGDtCWWIlo9aRZhsYU2KrEqO1kCdIEXBZwBbSpRbvS6xLErNRDh9kMBqxf9/gZ1dXZ/c/8fBn/w7IL6cC7pZbD//UzTcfwAqSsgCe6eQyuatxRglFxdxcn6IUvDOogoSC6dYq9fYa0/E5+nuvpywDqut4rVBbEqcrpDglY7DVQeqtc7hynrIsxZrIcDhiNP8V+q6f3//Rum44e/4yT51aO3VlffyRSxfXPnFhaXr8yuLi+Cph9rkqPX/mBtXwDS4MELGoJkUzQkJzLdZYykLRXKtmjzWVqCqqSSfrl6g3zyGFR5p1Uu6Is7GYakERI9urK9pfGGFMQCRjjZHcTDWpx2AwJspoWMnmaq29ysuNN15H09qbjhw58M47bnv1Oy+cX35o5XX7F1evbN136dzGw89IscjiYvMFFej1+vPWW1QziGINYq3HSMA6C0SscWIl03Y1sa2xoS9KDd4SwgDHDIlQhHlyO8UP9mFtKSJCzlHjeF1sb4E4HZPjtthehbM9jIVerxREQLJed2iPrCxfYTxpec1rjtw1HL7+rq7b/r7HP/PYhe3NrSc3Xvfap598fO23zjx14fHnBRR9c8aJ3u6LAksGyVr1K2ZTLzk2zLYv4WW3FsVeNGdJsWO6cVrjbBOLx6Qav+dGMAO0m4iJS2SF/p79KuKxdORmXZmMpTCBLlsVrXCi0uUJvTIznWyrNZ69+4Ys7JojpqBnz5xm45mTjEa7uPPuNx/U3B0M3n+DSP1DbTtjPN7kt379Y+9wVTBzYgPOCkYsYpyEUGCNo4s1WQ1qgqAdmhWNDcaI5BQRalKbIRnEeYwvUR3iwhwxduJDD2OtUlUy21iDXGMkSyg8mUTG4L1Q9voym05w3gAWY5CFXbvwwaDJELspwQecB6FSjJc5W3LnVx/6Tbc9bpK3ZqeHu4A1QgiOohzQNTO6aMg5YyTRzTaxCElB2zXoprTJMSufxQ4ivWqOToV28zLEGSxchw/zpA4wDqHEWQdGMOLxxiBEiuBJeYgSERXEGIrSk2KflHbe712BCw6DINmharTfGxb26Jcd3n/LrUff2BsM1BrBGCPWC84HVDOby4tYEjk1BN9nvD1mtr6E1JcxKM6MKEd7MdqQuzHd+kWsNOKDIbYJX1ZkrOh0E3JL2aski0NzRlONrw6h4lGN5JQQa4mxw7o+IhawDIYVvVGF9yVYxVqDYHnwoSd/zSw9szpeX10mx05SPZXY7gyRRa+iGgwRZ6lnV2imNVkV6wqKahcqGWwPHLRtS1fPaLeexYdK0myb6doSqKXeWpVc17hqH+Vor0g5h+QMucMYg3OKDxbnS5SEdeBDADLCToWc9zjrcSFgTRBjnYjJbF0ZXzQbk+ljy0uXaJuGLjbadTW5m2KkozcYUJRzNLOOWT1jur1CTmNcYUhqURmABHKMWGswRmgmK9pNO7pasdZDzJq7Bgl9CLsVP8C5HmJLxBeIEYwkrAEQBIuIJWsGFJFE2SvxwWMthBDUWof3ha6sbF+wo33zG6Ohe8sNNxzYb51I1oQzJUY6sTbjXA/nCt3aXAXjRHNCxehg/ghuVOGKCqsN4jLV/F4xtsD6nlQLB1SowXvUF0iuxViDQVA8zjmRmOjqTdpp0q5rmEzHIhLI2et00hHbGYNRn/n5CucDxlkRUUmJTtW6D/zBR99hTp04tbqxvvUvKXU55w5rrCRtJKZE1oQNJdXcHlnYf0S2t1apmylt24rxXpwfSujNSWxbMVpKbBNhMMJXFUUlEga7xNgSLyKiCdGEihWxVrouEdOOx1VqMdZI10FKiawiOUUJwchofig2BDFGRXJGsyrglpeXWFpamjiAja3miqasMbY4Z4BAzmCzEEIgGejRZ8v3mc4mqPSYjDep+gPEBEyoEOMwrkDjBGOVLGBcH0ODsSWaZiAexJC6KV09QaQgiSfHCbNZjTEOTYY21kDHaH6eajDCmA5RSAa0U0SsLJ4+dx6eG6efODv+vdiN3103lRpj6BU7cVHKineBqtqNVgv43hz1tGZ74zJrm+tMJhP6VWS0+xCikdw1JALGeUQ8YbAfm1tSOyYTyDgMlqyO7Cu6qKytTalniRgFpGI8UzS3XH/jTRRlj5RaMI7YKQZD1pn8y/0nxn/4Ox/5OkDMsWPH7LmHT14eb20S21piF1EiaIvmDiWDZqwUWO8pqxH90QEwPeoOZo0Qm4aMBRuwxYCMIQM5NeTYktqWFBvUWHJWkvSIuU8bC6azSN3srKxtkxCNjOb7FL0SY/PO3vFcCBhTy3Ra88D9j3545cLKIqDugx/8oAJsbW3n/lxhcnSqWBFRjOyM6G23iTGWspgnm4QyYDqep5nALAqz8QahN8SYRCjm0ay0TaLIkRQzSoGthnSdElOk7oTtrRkx1nT1NooiMkAl0R9WVP0SJJLZWZLAkbWj66KefOK0njx16V1Xj6c0KRy65SsGt2O9FMEgOKwxqEQ0TcmpRUXxrqIq57GhJFQLpAybWy1tSrTdFEMQTA9CxXTa0OVO6mbMxvqEre2JbG6OWb54kenkCk3dIa6PcwN6VZ9Xf9nNzC/spax6iAiaFEGp21ZzhKZN8vM/+9v7lxYvPr9bP58LXbw0/eVTp8ffdfsde+ZSFzE0RHEY/HMBaiZ1E1ocKomi1wOjIHuZTVaZ1pHgStQ0alsnLhhy1yHWqGJlY2OJrD2NMYkaCwTEBHqDOfqDAXPzB9C8BdYi6kj1FFUlK2jOiHj5t0c/Pb46j30+F1p5dmXTD/dW17+qelNVBZw1iChIQnAY4zFkcmbngnEZZwXnHAqkriFGS91MpGkauuiom8ysjlI3ibqJxJgl54wNA4regN6wz559BxmO9hBCSco1AKqZHBNZMzGhbYecO/MM7/+je3/48jNrj75QwBfE62/42q9646/88luOi7ZalIWU5Yi2XcMYSygGGGOxxu+0RmcRIzvku5a6qZluTTV2WWI3I2eLYlXEivUB55xa72Q4t4BxnuD6WNfDWEtOLTEZUqxJqaOLSVOGpo78ye/+6cp9Hz/5dUtnlh6/mu/V6bQ8/I8P/tPSs7dx4MC8NI3T3qCUwC5SnGKtJSdDlojkFkkeVHbGAG8JxuPcPKnrSHlI17VoBmMNRTHHTthn8KFCjMX5gpRaYlRyiojvAx6hIMZNFCObVzb52PFT37jyIuQ/z0IvRBiMbr7+6O5bjAv0ilKM8ZolY10pzlkQ0a6dkVJLzh2KoAJijRzd/000aUVUohahRyhLvA8UvaEYK1ix+GIBsVaMFKgAGFUgJZWui+SkTKednD97lg/9+b1//8jxJ3/1xXi+qIVeiB/9ybf+1du/++5vF2vUGS9F6WlmY3LeIW/FIs6BxOes4Ekpqg9DAYMxjqRGxThxboQxPU2pEWsCObfkHBECTbNFTBlNfZ1NNmVrY5Vffe/v/83qOb57cXFx66U4mhc7PHbsmAX49f7r335leRmiSJdcrusxWROqDqQk5kzXNmisyTGSYmKyMaFtZ2CElDKIRwRy7ohxihWDUCL06bpE09SIVMSIrq+dlaef+hQf+fC9PHTf4rc+R/4lP/KLWujkyZMKCMePa39+7vpd8/611XAksR3Tda0iRkI5T8odOWeUnU6lCr7ogRghJ3LOkBXNUbrYkNsZsaulaxti2zKrt5hOxsxmtXaR/MB9f20+fvzEB//tVPODVy6uXngp4v+Bl1T3Qrz1HW9747FvOXB8194FjHOIZHWuJ854yGMwCRSyqFrnRcQgGBQ0pyhJDTkmUofO2khKEclRzp+7yGceu3DmqafH73vgbz/9nhfw+m+ldC9agRfDZx998hyjw2UzWbvJS+yX/VE0OYiqilgla0ZzVlDJKZNzIkUFFbG2z2R7haaZaoxTbWczGY+35MK5JT5072d/+OwzxY+d+PinPvbf5fKyBAA89ciT9w1vuPPe9eXla/b0u1uKXk8wZa7KAeLnadqZpNhqzkLbNYCVtmu0LPYy3lpCsTKrG3n0xBn+9ZGVj33ykbVffOijj7xv+fz5+uWQhy+8B/5L3HHgVU+/+91/fOx9wI+/5103tPncmwfpqd9YWKjKqizVhVIwGXJmOmlZWd5kbePBlaXN8Idd4/56S8OZBz7w95dgp1k8xKdeLvcv4Uv438C/A7Q6fneUaSRcAAAAAElFTkSuQmCC
--
1.7.9.5