<file>icons/red_pause.png</file>
<file>icons/delete_icon&48.png</file>
<file>icons/align_just_icon&32.png</file>
+ <file>icons/folder_plus_icon&32.png</file>
</qresource>
</RCC>
--- /dev/null
+#include "pireditkeysetdialog.h"
+#include "ui_pireditkeysetdialog.h"
+
+#include "mainwindow.h"
+#include "pirkeysetwidgetitem.h"
+
+#include <QSettings>
+
+#include "pirmakenames.h"
+extern PIRMakeMgr makeManager;
+
+/*
+PIREditKeysetDialog::PIREditKeysetDialog(QWidget *parent) :
+ QDialog(parent),
+ ui(new Ui::PIREditKeysetDialog)
+{
+ ui->setupUi(this);
+}
+*/
+
+PIREditKeysetDialog::PIREditKeysetDialog(
+ MainWindow *mw)
+ : QDialog(mw),
+ ui(new Ui::PIREditKeysetDialog),
+ mainWindow(mw)
+{
+ ui->setupUi(this);
+
+ connect(
+ this,
+ SIGNAL(accepted()),
+ this,
+ SLOT(enactChanges()),
+ Qt::QueuedConnection);
+}
+
+PIREditKeysetDialog::~PIREditKeysetDialog()
+{
+ delete ui;
+}
+
+
+void PIREditKeysetDialog::setupDialog(
+ PIRKeysetWidgetItem *kwi)
+{
+ ui->keysetNameLabel->setText(
+ kwi->text());
+
+ ui->addToFavoritesCheckBox->setChecked(kwi->isFavorite());
+
+ if (kwi->hasNickname())
+ {
+ ui->nicknameLineEdit->setText(kwi->getNickname());
+ }
+
+ keysetItem = kwi;
+}
+
+
+void PIREditKeysetDialog::enactChanges()
+{
+ // Did the nickname change?
+ bool nickChanged = false;
+ QString newNick = ui->nicknameLineEdit->text();
+ if (newNick != keysetItem->getNickname())
+ {
+ nickChanged = true;
+
+ keysetItem->setNickname(newNick);
+
+ // Need to update the display name:
+ QString newDisplayName;
+ if (!newNick.isEmpty())
+ {
+ newDisplayName = newNick;
+ newDisplayName.append(" (");
+ newDisplayName.append(makeManager.getMakeString(keysetItem->getMake()));
+ newDisplayName.append(" ");
+ newDisplayName.append(keysetItem->getInternalName());
+ newDisplayName.append(")");
+
+ updateQSettingsNickname();
+ }
+ else
+ {
+ newDisplayName = makeManager.getMakeString(keysetItem->getMake());
+ newDisplayName.append(" ");
+ newDisplayName.append(keysetItem->getInternalName());
+
+ removeQSettingsNickname();
+ }
+
+ keysetItem->setText(newDisplayName);
+ }
+
+ // Did the favorites setting change?
+ if (keysetItem->isFavorite())
+ {
+ if (!ui->addToFavoritesCheckBox->isChecked())
+ {
+ // Remove it from the favorites list:
+ keysetItem->setFavorite(false);
+ mainWindow->removeFromFavorites(keysetItem->getID());
+ }
+ else
+ {
+ // It's already in the favorites list, but if the nickname changed,
+ // we still need to update its entry:
+ if (nickChanged)
+ {
+ mainWindow->removeFromFavorites(keysetItem->getID());
+ mainWindow->addToFavorites(keysetItem);
+ }
+ }
+ }
+ else
+ {
+ if (ui->addToFavoritesCheckBox->isChecked())
+ {
+ keysetItem->setFavorite(true);
+ mainWindow->addToFavorites(keysetItem);
+ }
+ }
+
+ // Finally, clean up the dialog box for the next user:
+ ui->nicknameLineEdit->clear();
+}
+
+
+// Creating a new QSettings array entry, or updating an existing one, is
+// relatively painless:
+void PIREditKeysetDialog::updateQSettingsNickname()
+{
+ QSettings settings("pietrzak.org", "Pierogi");
+
+ // Try to find an existing entry:
+ int size = settings.beginReadArray("userNames");
+ int index = 0;
+ QString name;
+ QString makeStr;
+ PIRMakeName makeID;
+
+ while (index < size)
+ {
+ settings.setArrayIndex(index);
+ name = settings.value("keysetName").toString();
+
+ if (name == keysetItem->getInternalName())
+ {
+ makeStr = settings.value("keysetMake").toString();
+ makeID = makeManager.getMakeID(makeStr);
+
+ if (makeID == keysetItem->getMake())
+ {
+ // We've found a match, so we just need to update it:
+ settings.endArray();
+ settings.beginWriteArray("userNames");
+ settings.setArrayIndex(index);
+ settings.setValue("keysetNickname", keysetItem->getNickname());
+ settings.endArray();
+
+ // And we're done!
+ return;
+ }
+ }
+
+ ++index;
+ }
+
+ settings.endArray();
+
+ // There was no existing entry, so we just need to make one:
+ settings.beginWriteArray("userNames");
+ settings.setArrayIndex(size);
+
+ settings.setValue(
+ "keysetName",
+ keysetItem->getInternalName());
+
+ settings.setValue(
+ "keysetMake",
+ makeManager.getMakeString(keysetItem->getMake()));
+
+ settings.setValue(
+ "keysetNickname",
+ keysetItem->getNickname());
+
+ settings.endArray();
+}
+
+
+// Removing an entry from a QSettings array is, unfortunately, quite painful:
+struct stringTriple
+{
+ QString keysetName;
+ QString keysetMake;
+ QString keysetNickname;
+};
+
+typedef std::map <int, stringTriple> PIRSettingsData;
+
+void PIREditKeysetDialog::removeQSettingsNickname()
+{
+ QSettings settings("pietrzak.org", "Pierogi");
+
+ int size = settings.beginReadArray("userNames");
+ int index = 0;
+ int index2 = 0;
+ PIRSettingsData backupData;
+ QString nameToRemove = keysetItem->getInternalName();
+ QString makeToRemove = makeManager.getMakeString(keysetItem->getMake());
+
+ while (index < size)
+ {
+ settings.setArrayIndex(index);
+
+ if ( (settings.value("keysetName").toString() != nameToRemove)
+ && (settings.value("keysetMake").toString() != makeToRemove) )
+ {
+ backupData[index2].keysetName =
+ settings.value("keysetName").toString();
+ backupData[index2].keysetMake =
+ settings.value("keysetMake").toString();
+ backupData[index2].keysetNickname =
+ settings.value("keysetNickname").toString();
+ ++index2;
+ }
+
+ ++index;
+ }
+
+ // Close the array, blow it away, and create a new one:
+
+ settings.endArray();
+ settings.remove("userNames");
+ settings.beginWriteArray("userNames");
+
+ size = index2;
+ index = 0;
+
+ while (index < size)
+ {
+ settings.setArrayIndex(index);
+ settings.setValue("keysetName", backupData[index].keysetName);
+ settings.setValue("keysetMake", backupData[index].keysetMake);
+ settings.setValue("keysetNickname", backupData[index].keysetNickname);
+ ++index;
+ }
+ settings.endArray();
+}
--- /dev/null
+#ifndef PIREDITKEYSETDIALOG_H
+#define PIREDITKEYSETDIALOG_H
+
+#include <QDialog>
+
+class PIRKeysetWidgetItem;
+class MainWindow;
+
+namespace Ui {
+class PIREditKeysetDialog;
+}
+
+class PIREditKeysetDialog : public QDialog
+{
+ Q_OBJECT
+
+public:
+// explicit PIREditKeysetDialog(QWidget *parent = 0);
+
+ PIREditKeysetDialog(
+ MainWindow *mw);
+
+ ~PIREditKeysetDialog();
+
+ void setupDialog(
+ PIRKeysetWidgetItem *kwi);
+
+private slots:
+ void enactChanges();
+
+private:
+ void updateQSettingsNickname();
+ void removeQSettingsNickname();
+
+ Ui::PIREditKeysetDialog *ui;
+
+ MainWindow *mainWindow;
+ PIRKeysetWidgetItem *keysetItem;
+};
+
+#endif // PIREDITKEYSETDIALOG_H
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>PIREditKeysetDialog</class>
+ <widget class="QDialog" name="PIREditKeysetDialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Keyset Settings</string>
+ </property>
+ <property name="modal">
+ <bool>true</bool>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="margin">
+ <number>8</number>
+ </property>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QLabel" name="keysetNameLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="text">
+ <string>Keyset Name</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="addToFavoritesCheckBox">
+ <property name="text">
+ <string>Add keyset to favorites list</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QLabel" name="nicknameLabel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Nickname</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="nicknameLineEdit"/>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QDialogButtonBox" name="buttonBox">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="standardButtons">
+ <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>accepted()</signal>
+ <receiver>PIREditKeysetDialog</receiver>
+ <slot>accept()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>248</x>
+ <y>254</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>157</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>buttonBox</sender>
+ <signal>rejected()</signal>
+ <receiver>PIREditKeysetDialog</receiver>
+ <slot>reject()</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>316</x>
+ <y>260</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>286</x>
+ <y>274</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+</ui>
--- /dev/null
+#include "pirfavoritesdialog.h"
+#include "ui_pirfavoritesdialog.h"
+
+//#include <QListWidget>
+
+#include "mainwindow.h"
+#include "pirkeysetwidgetitem.h"
+#include <QMaemo5InformationBox>
+
+/*
+PIRFavoritesDialog::PIRFavoritesDialog(QWidget *parent) :
+ QDialog(parent),
+ ui(new Ui::PIRFavoritesDialog)
+{
+ ui->setupUi(this);
+}
+*/
+
+
+PIRFavoritesDialog::PIRFavoritesDialog(
+ MainWindow *mw)
+ : QDialog(0),
+ ui(new Ui::PIRFavoritesDialog),
+ mainWindow(mw)
+{
+ ui->setupUi(this);
+}
+
+
+PIRFavoritesDialog::~PIRFavoritesDialog()
+{
+ delete ui;
+}
+
+
+void PIRFavoritesDialog::selectPrevFavKeyset()
+{
+ int size = ui->favoritesListWidget->count();
+
+ if (size == 0)
+ {
+ // No favorites, so nothing to do!
+ return;
+ }
+
+ int position = ui->favoritesListWidget->currentRow();
+
+ --position;
+ if (position < 0)
+ {
+ position = size - 1;
+ }
+
+ ui->favoritesListWidget->setCurrentRow(
+ position,
+ QItemSelectionModel::ClearAndSelect);
+
+ mainWindow->keysetSelectionChanged(
+ ui->favoritesListWidget->currentItem());
+
+ // Tell the user about the change:
+ QMaemo5InformationBox::information(
+ 0,
+ ui->favoritesListWidget->item(position)->text());
+}
+
+
+void PIRFavoritesDialog::selectNextFavKeyset()
+{
+ int size = ui->favoritesListWidget->count();
+
+ if (size == 0)
+ {
+ // No favorites, so just return:
+ return;
+ }
+
+ int position = ui->favoritesListWidget->currentRow();
+
+ ++position;
+ if (position == size)
+ {
+ position = 0;
+ }
+
+ ui->favoritesListWidget->setCurrentRow(
+ position,
+ QItemSelectionModel::ClearAndSelect);
+
+ mainWindow->keysetSelectionChanged(
+ ui->favoritesListWidget->currentItem());
+
+ // Tell the user about the change:
+ QMaemo5InformationBox::information(
+ 0,
+ ui->favoritesListWidget->item(position)->text());
+}
+
+
+void PIRFavoritesDialog::addItem(
+ PIRKeysetWidgetItem *item)
+{
+ PIRKeysetWidgetItem *itemCopy = new PIRKeysetWidgetItem(item);
+ ui->favoritesListWidget->addItem(itemCopy);
+ ui->favoritesListWidget->sortItems();
+}
+
+
+int PIRFavoritesDialog::getCount()
+{
+ return ui->favoritesListWidget->count();
+}
+
+
+PIRKeysetWidgetItem *PIRFavoritesDialog::getItem(
+ int index)
+{
+ return dynamic_cast<PIRKeysetWidgetItem *>(
+ ui->favoritesListWidget->item(index));
+}
+
+
+void PIRFavoritesDialog::removeItem(
+ unsigned int keysetID)
+{
+ // Find the keyset in the list (if it is there):
+ int count = ui->favoritesListWidget->count();
+ int index = 0;
+ PIRKeysetWidgetItem *kwi;
+
+ while (index < count)
+ {
+ kwi = dynamic_cast<PIRKeysetWidgetItem *>(
+ ui->favoritesListWidget->item(index));
+
+ if (kwi->getID() == keysetID)
+ {
+ // Deleting the item removes it from the list:
+ delete kwi;
+ return;
+ }
+
+ ++index;
+ }
+}
+
+
+QListWidget *PIRFavoritesDialog::getFavoritesListWidget()
+{
+ return ui->favoritesListWidget;
+}
+
+
+void PIRFavoritesDialog::on_favoritesListWidget_itemClicked()
+{
+ // Exit from the dialog:
+ accept();
+}
--- /dev/null
+#ifndef PIRFAVORITESDIALOG_H
+#define PIRFAVORITESDIALOG_H
+
+#include <QDialog>
+
+class QListWidget;
+class PIRKeysetWidgetItem;
+class QListWidgetItem;
+class MainWindow;
+
+namespace Ui {
+class PIRFavoritesDialog;
+}
+
+class PIRFavoritesDialog : public QDialog
+{
+ Q_OBJECT
+
+public:
+// explicit PIRFavoritesDialog(QWidget *parent = 0);
+
+ PIRFavoritesDialog(
+ MainWindow *mw);
+
+ ~PIRFavoritesDialog();
+
+ QListWidget *getFavoritesListWidget();
+
+ void addItem(
+ PIRKeysetWidgetItem *item);
+
+ int getCount();
+
+ PIRKeysetWidgetItem *getItem(
+ int index);
+
+ void removeItem(
+ unsigned int keysetID);
+
+ void selectPrevFavKeyset();
+ void selectNextFavKeyset();
+
+private slots:
+ void on_favoritesListWidget_itemClicked();
+
+private:
+ Ui::PIRFavoritesDialog *ui;
+
+ MainWindow *mainWindow;
+};
+
+#endif // PIRFAVORITESDIALOG_H
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>PIRFavoritesDialog</class>
+ <widget class="QDialog" name="PIRFavoritesDialog">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>480</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Choose Favorite Keyset</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="margin">
+ <number>8</number>
+ </property>
+ <item>
+ <widget class="QListWidget" name="favoritesListWidget"/>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
new PIRTabsWidgetItem("Video Media Panels", VideoMedia_Tabs));
ui->tabsChoiceListWidget->addItem(
+ new PIRTabsWidgetItem("Audio Device Panels", Audio_Tabs));
+
+ ui->tabsChoiceListWidget->addItem(
new PIRTabsWidgetItem("Recording Panels", Record_Tabs));
ui->tabsChoiceListWidget->addItem(
--- /dev/null
+#include "piraudiodeviceform.h"
+#include "ui_piraudiodeviceform.h"
+
+#include "mainwindow.h"
+#include "pirkeysetmanager.h"
+
+PIRAudioDeviceForm::PIRAudioDeviceForm(
+ MainWindow *mw)
+ : QWidget(0),
+ ui(new Ui::PIRAudioDeviceForm),
+ mainWindow(mw)
+{
+ ui->setupUi(this);
+}
+
+PIRAudioDeviceForm::~PIRAudioDeviceForm()
+{
+ delete ui;
+}
+
+
+void PIRAudioDeviceForm::enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id)
+{
+ emit cdEnabled(keyset->hasKey(id, CDInput_Key));
+ emit tapeEnabled(keyset->hasKey(id, TapeInput_Key));
+ emit phonoEnabled(keyset->hasKey(id, PhonoInput_Key));
+ emit auxEnabled(keyset->hasKey(id, AuxInput_Key));
+ emit tunerEnabled(keyset->hasKey(id, TunerInput_Key));
+ emit fmEnabled(keyset->hasKey(id, FM_Key));
+ emit amEnabled(keyset->hasKey(id, AM_Key));
+ emit lwEnabled(keyset->hasKey(id, LW_Key));
+ emit fmModeEnabled(keyset->hasKey(id, FMMode_Key));
+ emit repeatEnabled(keyset->hasKey(id, Repeat_Key));
+ emit repeatABEnabled(keyset->hasKey(id, RepeatAB_Key));
+ emit randomEnabled(keyset->hasKey(id, Random_Key));
+ emit nextDiscEnabled(keyset->hasKey(id, NextDisc_Key));
+ emit prevDiscEnabled(keyset->hasKey(id, PrevDisc_Key));
+ emit sleepEnabled(keyset->hasKey(id, Sleep_Key));
+ emit infoEnabled(keyset->hasKey(id, Info_Key));
+}
+
+void PIRAudioDeviceForm::on_cdButton_pressed()
+{
+ mainWindow->startRepeating(CDInput_Key);
+}
+
+void PIRAudioDeviceForm::on_cdButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAudioDeviceForm::on_tapeButton_pressed()
+{
+ mainWindow->startRepeating(TapeInput_Key);
+}
+
+void PIRAudioDeviceForm::on_tapeButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAudioDeviceForm::on_phonoButton_pressed()
+{
+ mainWindow->startRepeating(PhonoInput_Key);
+}
+
+void PIRAudioDeviceForm::on_phonoButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAudioDeviceForm::on_auxButton_pressed()
+{
+ mainWindow->startRepeating(AuxInput_Key);
+}
+
+void PIRAudioDeviceForm::on_auxButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAudioDeviceForm::on_tunerButton_pressed()
+{
+ mainWindow->startRepeating(TunerInput_Key);
+}
+
+void PIRAudioDeviceForm::on_tunerButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAudioDeviceForm::on_fmButton_pressed()
+{
+ mainWindow->startRepeating(FM_Key);
+}
+
+void PIRAudioDeviceForm::on_fmButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAudioDeviceForm::on_amButton_pressed()
+{
+ mainWindow->startRepeating(AM_Key);
+}
+
+void PIRAudioDeviceForm::on_amButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAudioDeviceForm::on_lwButton_pressed()
+{
+ mainWindow->startRepeating(LW_Key);
+}
+
+void PIRAudioDeviceForm::on_lwButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAudioDeviceForm::on_fmModeButton_pressed()
+{
+ mainWindow->startRepeating(FMMode_Key);
+}
+
+void PIRAudioDeviceForm::on_fmModeButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAudioDeviceForm::on_repeatButton_pressed()
+{
+ mainWindow->startRepeating(Repeat_Key);
+}
+
+void PIRAudioDeviceForm::on_repeatButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAudioDeviceForm::on_repeatABButton_pressed()
+{
+ mainWindow->startRepeating(RepeatAB_Key);
+}
+
+void PIRAudioDeviceForm::on_repeatABButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAudioDeviceForm::on_randomButton_pressed()
+{
+ mainWindow->startRepeating(Random_Key);
+}
+
+void PIRAudioDeviceForm::on_randomButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAudioDeviceForm::on_nextDiscButton_pressed()
+{
+ mainWindow->startRepeating(NextDisc_Key);
+}
+
+void PIRAudioDeviceForm::on_nextDiscButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAudioDeviceForm::on_prevDiscButton_pressed()
+{
+ mainWindow->startRepeating(PrevDisc_Key);
+}
+
+void PIRAudioDeviceForm::on_prevDiscButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAudioDeviceForm::on_sleepButton_pressed()
+{
+ mainWindow->startRepeating(Sleep_Key);
+}
+
+void PIRAudioDeviceForm::on_sleepButton_released()
+{
+ mainWindow->stopRepeating();
+}
+
+void PIRAudioDeviceForm::on_infoButton_pressed()
+{
+ mainWindow->startRepeating(Info_Key);
+}
+
+void PIRAudioDeviceForm::on_infoButton_released()
+{
+ mainWindow->stopRepeating();
+}
--- /dev/null
+#ifndef PIRAUDIODEVICEFORM_H
+#define PIRAUDIODEVICEFORM_H
+
+#include <QWidget>
+
+class MainWindow;
+class PIRKeysetManager;
+
+namespace Ui {
+class PIRAudioDeviceForm;
+}
+
+class PIRAudioDeviceForm : public QWidget
+{
+ Q_OBJECT
+
+public:
+// explicit PIRAudioDeviceForm(QWidget *parent = 0);
+
+ PIRAudioDeviceForm(
+ MainWindow *mw);
+
+ ~PIRAudioDeviceForm();
+
+ void enableButtons(
+ const PIRKeysetManager *keyset,
+ unsigned int id);
+
+signals:
+ void cdEnabled(bool);
+ void tapeEnabled(bool);
+ void phonoEnabled(bool);
+ void auxEnabled(bool);
+ void tunerEnabled(bool);
+ void fmEnabled(bool);
+ void amEnabled(bool);
+ void lwEnabled(bool);
+ void fmModeEnabled(bool);
+ void repeatEnabled(bool);
+ void repeatABEnabled(bool);
+ void randomEnabled(bool);
+ void nextDiscEnabled(bool);
+ void prevDiscEnabled(bool);
+ void sleepEnabled(bool);
+ void infoEnabled(bool);
+
+private slots:
+ void on_cdButton_pressed();
+ void on_cdButton_released();
+ void on_tapeButton_pressed();
+ void on_tapeButton_released();
+ void on_phonoButton_pressed();
+ void on_phonoButton_released();
+ void on_auxButton_pressed();
+ void on_auxButton_released();
+ void on_tunerButton_pressed();
+ void on_tunerButton_released();
+ void on_fmButton_pressed();
+ void on_fmButton_released();
+ void on_amButton_pressed();
+ void on_amButton_released();
+ void on_lwButton_pressed();
+ void on_lwButton_released();
+ void on_fmModeButton_pressed();
+ void on_fmModeButton_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_nextDiscButton_pressed();
+ void on_nextDiscButton_released();
+ void on_prevDiscButton_pressed();
+ void on_prevDiscButton_released();
+ void on_sleepButton_pressed();
+ void on_sleepButton_released();
+ void on_infoButton_pressed();
+ void on_infoButton_released();
+
+private:
+ Ui::PIRAudioDeviceForm *ui;
+
+ MainWindow *mainWindow;
+};
+
+#endif // PIRAUDIODEVICEFORM_H
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>PIRAudioDeviceForm</class>
+ <widget class="QWidget" name="PIRAudioDeviceForm">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>480</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout">
+ <item row="0" column="0">
+ <widget class="QPushButton" name="cdButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>CD</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1">
+ <widget class="QPushButton" name="tapeButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Tape</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="2">
+ <widget class="QPushButton" name="phonoButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Phono</string>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="3">
+ <widget class="QPushButton" name="auxButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Aux</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0">
+ <widget class="QPushButton" name="tunerButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Tuner</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1">
+ <widget class="QPushButton" name="fmButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>FM</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2">
+ <widget class="QPushButton" name="amButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>AM / MW</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="3">
+ <widget class="QPushButton" name="lwButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>LW</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="0">
+ <widget class="QPushButton" name="fmModeButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>FM Stereo/Mono</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QPushButton" name="repeatButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Repeat</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="3">
+ <widget class="QPushButton" name="randomButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Random</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0">
+ <widget class="QPushButton" name="nextDiscButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Next Disc</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1">
+ <widget class="QPushButton" name="prevDiscButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Previous Disc</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="2">
+ <widget class="QPushButton" name="sleepButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Sleep</string>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="3">
+ <widget class="QPushButton" name="infoButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Info</string>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2">
+ <widget class="QPushButton" name="repeatABButton">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Repeat A-B</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections>
+ <connection>
+ <sender>PIRAudioDeviceForm</sender>
+ <signal>cdEnabled(bool)</signal>
+ <receiver>cdButton</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>399</x>
+ <y>239</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>103</x>
+ <y>65</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>PIRAudioDeviceForm</sender>
+ <signal>tapeEnabled(bool)</signal>
+ <receiver>tapeButton</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>399</x>
+ <y>239</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>301</x>
+ <y>65</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>PIRAudioDeviceForm</sender>
+ <signal>phonoEnabled(bool)</signal>
+ <receiver>phonoButton</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>399</x>
+ <y>239</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>498</x>
+ <y>65</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>PIRAudioDeviceForm</sender>
+ <signal>auxEnabled(bool)</signal>
+ <receiver>auxButton</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>399</x>
+ <y>239</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>696</x>
+ <y>65</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>PIRAudioDeviceForm</sender>
+ <signal>tunerEnabled(bool)</signal>
+ <receiver>tunerButton</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>399</x>
+ <y>239</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>103</x>
+ <y>183</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>PIRAudioDeviceForm</sender>
+ <signal>fmEnabled(bool)</signal>
+ <receiver>fmButton</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>399</x>
+ <y>239</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>301</x>
+ <y>183</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>PIRAudioDeviceForm</sender>
+ <signal>amEnabled(bool)</signal>
+ <receiver>amButton</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>399</x>
+ <y>239</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>498</x>
+ <y>183</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>PIRAudioDeviceForm</sender>
+ <signal>lwEnabled(bool)</signal>
+ <receiver>lwButton</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>399</x>
+ <y>239</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>696</x>
+ <y>183</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>PIRAudioDeviceForm</sender>
+ <signal>fmModeEnabled(bool)</signal>
+ <receiver>fmModeButton</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>399</x>
+ <y>239</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>103</x>
+ <y>300</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>PIRAudioDeviceForm</sender>
+ <signal>repeatEnabled(bool)</signal>
+ <receiver>repeatButton</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>399</x>
+ <y>239</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>301</x>
+ <y>300</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>PIRAudioDeviceForm</sender>
+ <signal>repeatABEnabled(bool)</signal>
+ <receiver>repeatABButton</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>399</x>
+ <y>239</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>498</x>
+ <y>300</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>PIRAudioDeviceForm</sender>
+ <signal>randomEnabled(bool)</signal>
+ <receiver>randomButton</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>399</x>
+ <y>239</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>696</x>
+ <y>300</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>PIRAudioDeviceForm</sender>
+ <signal>nextDiscEnabled(bool)</signal>
+ <receiver>nextDiscButton</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>399</x>
+ <y>239</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>103</x>
+ <y>418</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>PIRAudioDeviceForm</sender>
+ <signal>prevDiscEnabled(bool)</signal>
+ <receiver>prevDiscButton</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>399</x>
+ <y>239</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>301</x>
+ <y>418</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>PIRAudioDeviceForm</sender>
+ <signal>sleepEnabled(bool)</signal>
+ <receiver>sleepButton</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>399</x>
+ <y>239</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>498</x>
+ <y>418</y>
+ </hint>
+ </hints>
+ </connection>
+ <connection>
+ <sender>PIRAudioDeviceForm</sender>
+ <signal>infoEnabled(bool)</signal>
+ <receiver>infoButton</receiver>
+ <slot>setEnabled(bool)</slot>
+ <hints>
+ <hint type="sourcelabel">
+ <x>399</x>
+ <y>239</y>
+ </hint>
+ <hint type="destinationlabel">
+ <x>696</x>
+ <y>418</y>
+ </hint>
+ </hints>
+ </connection>
+ </connections>
+ <slots>
+ <signal>cdEnabled(bool)</signal>
+ <signal>tapeEnabled(bool)</signal>
+ <signal>phonoEnabled(bool)</signal>
+ <signal>auxEnabled(bool)</signal>
+ <signal>tunerEnabled(bool)</signal>
+ <signal>fmEnabled(bool)</signal>
+ <signal>amEnabled(bool)</signal>
+ <signal>lwEnabled(bool)</signal>
+ <signal>fmModeEnabled(bool)</signal>
+ <signal>repeatEnabled(bool)</signal>
+ <signal>repeatABEnabled(bool)</signal>
+ <signal>randomEnabled(bool)</signal>
+ <signal>nextDiscEnabled(bool)</signal>
+ <signal>prevDiscEnabled(bool)</signal>
+ <signal>sleepEnabled(bool)</signal>
+ <signal>infoEnabled(bool)</signal>
+ </slots>
+</ui>
+++ /dev/null
-#include "pirfavoritesform.h"
-#include "ui_pirfavoritesform.h"
-
-#include "mainwindow.h"
-//#include "pirkeysetmanager.h"
-#include "pirkeysetwidgetitem.h"
-
-#include <QMaemo5InformationBox>
-
-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);
-}
+++ /dev/null
-#ifndef PIRFAVORITESFORM_H
-#define PIRFAVORITESFORM_H
-
-#include <QWidget>
-
-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
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>PIRFavoritesForm</class>
- <widget class="QWidget" name="PIRFavoritesForm">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>800</width>
- <height>480</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>Form</string>
- </property>
- <layout class="QGridLayout" name="gridLayout">
- <property name="margin">
- <number>0</number>
- </property>
- <item row="0" column="0">
- <widget class="QPushButton" name="addKeysetButton">
- <property name="text">
- <string>Add Current Keyset</string>
- </property>
- </widget>
- </item>
- <item row="0" column="1">
- <widget class="QPushButton" name="removeKeysetButton">
- <property name="text">
- <string>Remove Selected Keyset</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0" colspan="2">
- <widget class="QListWidget" name="favoriteKeysetsWidget"/>
- </item>
- </layout>
- </widget>
- <resources/>
- <connections/>
-</ui>
const PIRKeysetManager *km,
unsigned int id)
{
- emit tunerBandEnabled(km->hasKey(id, TunerBand_Key));
+ emit tunerBandEnabled(km->hasKey(id, TunerInput_Key));
emit programEnabled(km->hasKey(id, Program_Key));
emit memoryEnabled(km->hasKey(id, Memory_Key));
emit callEnabled(km->hasKey(id, Call_Key));
void PIRMedia2Form::on_tunerBandButton_pressed()
{
- mainWindow->startRepeating(TunerBand_Key);
+ mainWindow->startRepeating(TunerInput_Key);
}
void PIRMedia2Form::on_tunerBandButton_released()
--- /dev/null
+#include "pirvcrform.h"
+#include "ui_pirvcrform.h"
+
+PIRVCRForm::PIRVCRForm(QWidget *parent) :
+ QWidget(parent),
+ ui(new Ui::PIRVCRForm)
+{
+ ui->setupUi(this);
+}
+
+PIRVCRForm::~PIRVCRForm()
+{
+ delete ui;
+}
--- /dev/null
+#ifndef PIRVCRFORM_H
+#define PIRVCRFORM_H
+
+#include <QWidget>
+
+namespace Ui {
+class PIRVCRForm;
+}
+
+class PIRVCRForm : public QWidget
+{
+ Q_OBJECT
+
+public:
+ explicit PIRVCRForm(QWidget *parent = 0);
+ ~PIRVCRForm();
+
+private:
+ Ui::PIRVCRForm *ui;
+};
+
+#endif // PIRVCRFORM_H
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>PIRVCRForm</class>
+ <widget class="QWidget" name="PIRVCRForm">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>480</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <widget class="QPushButton" name="autoTrackingButton">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>310</y>
+ <width>131</width>
+ <height>32</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Auto Tracking</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="vhsSpeedButton">
+ <property name="geometry">
+ <rect>
+ <x>470</x>
+ <y>300</y>
+ <width>99</width>
+ <height>32</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>SP/LP/EP</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="trackingMinusButton">
+ <property name="geometry">
+ <rect>
+ <x>180</x>
+ <y>300</y>
+ <width>109</width>
+ <height>32</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Tracking -</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="slowPlusButton">
+ <property name="geometry">
+ <rect>
+ <x>390</x>
+ <y>220</y>
+ <width>86</width>
+ <height>32</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Slow +</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="trackingPlusButton">
+ <property name="geometry">
+ <rect>
+ <x>330</x>
+ <y>290</y>
+ <width>112</width>
+ <height>32</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Tracking +</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="slowButton">
+ <property name="geometry">
+ <rect>
+ <x>210</x>
+ <y>220</y>
+ <width>71</width>
+ <height>32</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Slow</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="slowMinusButton">
+ <property name="geometry">
+ <rect>
+ <x>20</x>
+ <y>220</y>
+ <width>83</width>
+ <height>32</height>
+ </rect>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Slow -</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="indexSearchButton">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>110</y>
+ <width>171</width>
+ <height>32</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Index Search (VISS)</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="markIndexButton">
+ <property name="geometry">
+ <rect>
+ <x>210</x>
+ <y>120</y>
+ <width>114</width>
+ <height>32</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Mark Index</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="eraseIndexButton">
+ <property name="geometry">
+ <rect>
+ <x>390</x>
+ <y>120</y>
+ <width>114</width>
+ <height>32</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Erase Index</string>
+ </property>
+ </widget>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
--- /dev/null
+#include "pirvideodiscform.h"
+#include "ui_pirvideodiscform.h"
+
+PIRVideoDiscForm::PIRVideoDiscForm(QWidget *parent) :
+ QWidget(parent),
+ ui(new Ui::PIRVideoDiscForm)
+{
+ ui->setupUi(this);
+}
+
+PIRVideoDiscForm::~PIRVideoDiscForm()
+{
+ delete ui;
+}
--- /dev/null
+#ifndef PIRVIDEODISCFORM_H
+#define PIRVIDEODISCFORM_H
+
+#include <QWidget>
+
+namespace Ui {
+class PIRVideoDiscForm;
+}
+
+class PIRVideoDiscForm : public QWidget
+{
+ Q_OBJECT
+
+public:
+ explicit PIRVideoDiscForm(QWidget *parent = 0);
+ ~PIRVideoDiscForm();
+
+private:
+ Ui::PIRVideoDiscForm *ui;
+};
+
+#endif // PIRVIDEODISCFORM_H
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>PIRVideoDiscForm</class>
+ <widget class="QWidget" name="PIRVideoDiscForm">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>800</width>
+ <height>480</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <widget class="QPushButton" name="discTitleButton">
+ <property name="geometry">
+ <rect>
+ <x>380</x>
+ <y>170</y>
+ <width>114</width>
+ <height>32</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Title Menu</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="discSelectButton">
+ <property name="geometry">
+ <rect>
+ <x>240</x>
+ <y>50</y>
+ <width>114</width>
+ <height>32</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Select Disc</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="repeatButton">
+ <property name="geometry">
+ <rect>
+ <x>70</x>
+ <y>170</y>
+ <width>114</width>
+ <height>32</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Repeat</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="repeatABButton">
+ <property name="geometry">
+ <rect>
+ <x>220</x>
+ <y>170</y>
+ <width>114</width>
+ <height>32</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Repeat A-B</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="prevDiscButton">
+ <property name="geometry">
+ <rect>
+ <x>80</x>
+ <y>50</y>
+ <width>114</width>
+ <height>32</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Previous Disc</string>
+ </property>
+ </widget>
+ <widget class="QPushButton" name="nextDiscButton">
+ <property name="geometry">
+ <rect>
+ <x>390</x>
+ <y>50</y>
+ <width>114</width>
+ <height>32</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Next Disc</string>
+ </property>
+ </widget>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
--- /dev/null
+#include "adb.h"
+#include "protocols/mceprotocol.h"
+#include "protocols/necprotocol.h"
+#include "protocols/nokia32protocol.h"
+
+ADBSTB1::ADBSTB1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "TV Receiver Keyset 1",
+ ADB_Make,
+ index)
+{
+ addControlledDevice(ADB_Make, "I-CAN 2840C", Other_Device);
+}
+
+
+void ADBSTB1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new MCEProtocol(guiObject, index, 0x8059);
+
+ setPreData(0x24, 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("exit", Exit_Key, 0x0A, 8);
+ addKey("Power", Power_Key, 0x0C, 8);
+ addKey("CH+", ChannelUp_Key, 0x20, 8);
+ addKey("CH-", ChannelDown_Key, 0x21, 8);
+ addKey("Menu", Menu_Key, 0x54, 8);
+ addKey("Last_ch", PrevChannel_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("Info", Info_Key, 0xCB, 8);
+ addKey("Guide", Guide_Key, 0xCC, 8);
+ addKey("Interactive Menu", Unmapped_Key, 0xFB, 8);
+}
+
+
+ADBSTB2::ADBSTB2(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "TV Receiver Keyset 2",
+ ADB_Make,
+ index)
+{
+ addControlledDevice(ADB_Make, "5720 CDX", Other_Device);
+}
+
+
+void ADBSTB2::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, true);
+
+ setPreData(0x0E86, 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("exit", Exit_Key, 0x0A, 8);
+ addKey("up arrow", Up_Key, 0x0B, 8);
+ addKey("down arrow", Down_Key, 0x0C, 8);
+ addKey("vol up", VolumeUp_Key, 0x0D, 8);
+ addKey("vol down", VolumeDown_Key, 0x0E, 8);
+ addKey("mute", Mute_Key, 0x0F, 8);
+ addKey("channel up", ChannelUp_Key, 0x10, 8);
+ addKey("menu", Menu_Key, 0x11, 8);
+ addKey("power", Power_Key, 0x12, 8);
+ addKey("program guide", Guide_Key, 0x13, 8);
+ addKey("return", Exit_Key, 0x14, 8);
+ addKey("select", Select_Key, 0x15, 8);
+ addKey("red", Red_Key, 0x16, 8);
+ addKey("green", Green_Key, 0x17, 8);
+ addKey("yellow", Yellow_Key, 0x18, 8);
+ addKey("blue", Blue_Key, 0x19, 8);
+ addKey("channel down", ChannelDown_Key, 0x1A, 8);
+ addKey("left arrow", Left_Key, 0x1B, 8);
+ addKey("right arrow", Right_Key, 0x1C, 8);
+ addKey("rewind", Rewind_Key, 0x1D, 8);
+ addKey("My TV", Unmapped_Key, 0x1E, 8);
+ addKey("record", Record_Key, 0x21, 8);
+ addKey("play", Play_Key, 0x23, 8);
+ addKey("pause", Pause_Key, 0x23, 8);
+ addKey("stop", Stop_Key, 0x24, 8);
+ addKey("fast fwd", FastForward_Key, 0x26, 8);
+ addKey("Teletext", Teletext_Key, 0x27, 8);
+ addKey("Settings", Unmapped_Key, 0x29, 8);
+ addKey("On Demand", Unmapped_Key, 0x2A, 8);
+ addKey("info", Info_Key, 0x2D, 8);
+}
+
+
+ADBSTB3::ADBSTB3(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "TV Receiver Keyset 3",
+ ADB_Make,
+ index)
+{
+ addControlledDevice(ADB_Make, "7820sx", Other_Device);
+}
+
+
+void ADBSTB3::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new MCEProtocol(guiObject, index, 0x8051);
+
+ setPreData(0x11, 7);
+
+ addKey("vod", Unmapped_Key, 0x01, 8);
+ addKey("5", Five_Key, 0x20, 8);
+ addKey("power", Power_Key, 0x21, 8);
+ addKey("9", Nine_Key, 0x22, 8);
+ addKey("select", Select_Key, 0x23, 8);
+ addKey("down arrow", Down_Key, 0x24, 8);
+ addKey("4", Four_Key, 0x28, 8);
+ addKey("2", Two_Key, 0x29, 8);
+ addKey("8", Eight_Key, 0x2A, 8);
+ addKey("up arrow", Up_Key, 0x2B, 8);
+ addKey("menu", Menu_Key, 0x2C, 8);
+ addKey("green", Green_Key, 0x2D, 8);
+ addKey("program guide", Guide_Key, 0x2E, 8);
+ addKey("1", One_Key, 0x30, 8);
+ addKey("7", Seven_Key, 0x32, 8);
+ addKey("0", Zero_Key, 0x33, 8);
+ addKey("left arrow", Left_Key, 0x34, 8);
+ addKey("channel up", ChannelUp_Key, 0x35, 8);
+ addKey("channel down", ChannelDown_Key, 0x37, 8);
+ addKey("6", Six_Key, 0x38, 8);
+ addKey("3", Three_Key, 0x39, 8);
+ addKey("last (prev ch)", PrevChannel_Key, 0x3A, 8);
+ addKey("right arrow", Right_Key, 0x3B, 8);
+ addKey("display", Info_Key, 0x3C, 8);
+ addKey("yellow", Yellow_Key, 0x3D, 8);
+ addKey("red", Red_Key, 0x3E, 8);
+ addKey("blue", Blue_Key, 0x3F, 8);
+ addKey("record", Record_Key, 0x44, 8);
+ addKey("play", Play_Key, 0x45, 8);
+ addKey("pause", Pause_Key, 0x46, 8);
+ addKey("stop", Stop_Key, 0x47, 8);
+ addKey("rewind", Rewind_Key, 0x48, 8);
+ addKey("fast fwd", FastForward_Key, 0x49, 8);
+}
+
+
+ADBSTB4::ADBSTB4(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "TV Receiver Keyset 4",
+ ADB_Make,
+ index)
+{
+ addControlledDevice(ADB_Make, "I-CAN 3000", Other_Device);
+}
+
+
+void ADBSTB4::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new Nokia32Protocol(guiObject, index);
+
+ setPreData(0x2190, 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("Info", Info_Key, 0x0F, 8);
+ addKey("VOL+", VolumeUp_Key, 0x10, 8);
+ addKey("VOL-", VolumeDown_Key, 0x11, 8);
+ addKey("CH+", ChannelUp_Key, 0x20, 8);
+ addKey("CH-", ChannelDown_Key, 0x21, 8);
+ addKey("Last_ch", PrevChannel_Key, 0x43, 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("Guide", Guide_Key, 0xCC, 8);
+ addKey("Enter", Enter_Key, 0xDB, 8);
+ addKey("exit", Exit_Key, 0xE0, 8);
+}
--- /dev/null
+#ifndef ADB_H
+#define ADB_H
+
+#include "pirkeysetmetadata.h"
+
+class QObject;
+
+class ADBSTB1: public PIRKeysetMetaData
+{
+public:
+ ADBSTB1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+
+class ADBSTB2: public PIRKeysetMetaData
+{
+public:
+ ADBSTB2(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+
+class ADBSTB3: public PIRKeysetMetaData
+{
+public:
+ ADBSTB3(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+
+class ADBSTB4: public PIRKeysetMetaData
+{
+public:
+ ADBSTB4(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+#endif // ADB_H
addKey("PIP/main picture swap", PIPSwap_Key, 0x105A, 13);
addKey("Select PIP source", PIPSource_Key, 0x105F, 13);
addKey("PIP Freeze", PIPPause_Key, 0x1065, 13);
- addKey("PIP Freeze", PIPSize_Key, 0x1068, 13);
+ addKey("PIP Size", PIPSize_Key, 0x1068, 13);
addKey("red", Red_Key, 0x106B, 13);
addKey("green", Green_Key, 0x106C, 13);
addKey("yellow", Yellow_Key, 0x106D, 13);
addSharpKey("stop", Stop_Key, 0x03, 0x27);
addSharpKey("rec", Record_Key, 0x03, 0x28);
addSharpKey("slow", Slow_Key, 0x03, 0x29);
- addSharpKey("dpss+", Unmapped_Key, 0x03, 0x2F);
+ addSharpKey("dpss+", Next_Key, 0x03, 0x2F);
- addSharpKey("dpss-", Unmapped_Key, 0x03, 0x30);
+ addSharpKey("dpss-", Previous_Key, 0x03, 0x30);
addSharpKey("eject", Eject_Key, 0x03, 0x33);
addSharpKey("vcr-input", Input_Key, 0x03, 0x34);
addSharpKey("vcr-display", Info_Key, 0x03, 0x8C);
addSharpKey("on_screen", Unmapped_Key, 0x03, 0x8D);
- addSharpKey("add/erase", Unmapped_Key, 0x03, 0xB5);
+ addSharpKey("add/erase", IndexMark_Key, 0x03, 0xB5);
}
// addKey("ONETOUCH", Unmapped_Key, 0x19, 8); // need sub-keyset for this
addKey("STOP", Stop_Key, 0x1A, 8);
addKey("TIMER/PRG", Timer_Key, 0x1C, 8);
- addKey("T-REC", Unmapped_Key, 0x1E, 8);
+ addKey("T-REC", RecordTimed_Key, 0x1E, 8);
addKey("CLEAR", Clear_Key, 0x1F, 8); // "CANCEL"
addKey("CHAN_UP", ChannelUp_Key, 0x40, 8);
addKey("AD-Skip", Advance_Key, 0x49, 8);
addKey("SUPER_CLEAR", Unmapped_Key, 0x4B, 8);
addKey("RESET", Reset_Key, 0x4C, 8); // "Counter_Reset"
- addKey("INDEXSRCH", Unmapped_Key, 0x4D, 8);
+ addKey("INDEXSRCH", IndexSearch_Key, 0x4D, 8);
addKey("SP/LP", VHSSpeed_Key, 0x50, 8);
addKey("MEMORY", Memory_Key, 0x51, 8);
addKey("AUTO", Unmapped_Key, 0x53, 8);
addKey("Rev(Jog)", StepBack_Key, 0x74, 8);
addKey("MENU", Menu_Key, 0x81, 8);
- addKey("VPS/PDC", Unmapped_Key, 0x82, 8);
+ addKey("VPS/PDC", RecordPDC_Key, 0x82, 8);
// addKey("NEXT", Next_Key, 0x83, 8);
addKey("MENURIGHT", Right_Key, 0x83, 8);
addKey("MENULEFT", Left_Key, 0x84, 8);
- addKey("OTPB", Unmapped_Key, 0x89, 8);
+ addKey("OTPB", OneTouchPlayBack_Key, 0x89, 8);
addKey("MENUUP", Up_Key, 0x8D, 8);
addKey("MENUDOWN", Down_Key, 0x8E, 8);
addKey("clear", Clear_Key, 0x1F, 8);
addKey("child-lock", Unmapped_Key, 0x3F, 8);
- addKey("viss", Unmapped_Key, 0x41, 8);
+ addKey("viss", IndexSearch_Key, 0x41, 8);
addKey("showview", Unmapped_Key, 0x47, 8);
addKey("speed", VHSSpeed_Key, 0x48, 8);
addKey("av", Unmapped_Key, 0x56, 8);
addKey("fav.program", Unmapped_Key, 0xB3, 8);
addKey("rec-end-search", Next_Key, 0xB5, 8); // might be wrong
- addKey("otpb", Unmapped_Key, 0xBF, 8);
+ addKey("otpb", OneTouchPlayBack_Key, 0xBF, 8);
addKey("ad-skip", Advance_Key, 0xDD, 8);
}
addKey("9", Nine_Key, 0x09, 8);
addKey("ch+", ChannelUp_Key, 0x0A, 8);
addKey("ch-", ChannelDown_Key, 0x0B, 8);
- addKey("t-rec", Unmapped_Key, 0x0D, 8);
+ addKey("t-rec", RecordTimed_Key, 0x0D, 8);
addKey("audio", Audio_Key, 0x0E, 8);
addKey("-/--", DoubleDigit_Key, 0x0F, 8);
addKey("tv/vcr", Input_Key, 0x12, 8);
addKey("ff", FastForward_Key, 0x18, 8);
addKey("rew", Rewind_Key, 0x19, 8);
addKey("pause", Pause_Key, 0x1A, 8);
- addKey("otpb", Unmapped_Key, 0x1B, 8);
+ addKey("otpb", OneTouchPlayBack_Key, 0x1B, 8);
addKey("vidplus", Unmapped_Key, 0x1D, 8);
addKey("speed", VHSSpeed_Key, 0x1E, 8);
addKey("slow", Slow_Key, 0x1F, 8);
addKey("volume_up", VolumeUp_Key, 0x11, 8);
addKey("volume_down", VolumeDown_Key, 0x12, 8);
- addKey("tuner_band", TunerBand_Key, 0x13, 8);
+ addKey("tuner_band", AM_Key, 0x13, 8); // This is a hack
+ addKey("tuner_band", FM_Key, 0x13, 8); // This too
addKey("tape_play", Unmapped_Key, 0x14, 8);
addKey("tape_stop", Unmapped_Key, 0x15, 8);
addKey("tape_next", Unmapped_Key, 0x16, 8);
addKey("shift1", Unmapped_Key, 0x17, 8); // "edit/check"
addKey("shift2", Program_Key, 0x19, 8); // "prgm"
addKey("TAPE", TapeInput_Key, 0x1B, 8); // "Deck"
- addKey("shiftplus10", TunerBand_Key, 0x1C, 8); // "band"
+ addKey("shiftplus10", Unmapped_Key, 0x1C, 8); // "band"
addKey("VIDEO", AuxInput_Key, 0x1D, 8); // "aux"
addKey("function", Unmapped_Key, 0x1E, 8);
addKey("CD", CDInput_Key, 0x1F, 8);
addKey("voldown", VolumeDown_Key, 0x4E, 8);
addKey("vocal_fader", Unmapped_Key, 0x50, 8); // "KARAOKE"
- addKey("cd1", Unmapped_Key, 0x51, 8); // "DDP_1"
- addKey("cd2", Unmapped_Key, 0x52, 8); // "DDP_2"
- addKey("cd3", Unmapped_Key, 0x53, 8); // "DDP_3"
+ addKey("cd1", DiscOne_Key, 0x51, 8); // "DDP_1"
+ addKey("cd2", DiscTwo_Key, 0x52, 8); // "DDP_2"
+ addKey("cd3", DiscThree_Key, 0x53, 8); // "DDP_3"
addKey("DISCSKIP", NextDisc_Key, 0x56, 8);
addKey("Treble", Unmapped_Key, 0x57, 8);
addKey("MANUAL", Unmapped_Key, 0x58, 8);
setPreData(0x0048, 13);
- addKey("fm", Unmapped_Key, 0x00, 8);
- addKey("am", Unmapped_Key, 0x01, 8); // "MW"
- addKey("LW", Unmapped_Key, 0x02, 8);
+ addKey("fm", FM_Key, 0x00, 8);
+ addKey("am", AM_Key, 0x01, 8); // "MW"
+ addKey("LW", LW_Key, 0x02, 8);
addKey("t_up", ChannelUp_Key, 0x03, 8);
addKey("power", Power_Key, 0x04, 8);
addKey("t_down", ChannelDown_Key, 0x05, 8);
addKey("vol-", VolumeDown_Key, 0x10, 8);
addKey("disc_tune+", ChannelUp_Key, 0x11, 8);
addKey("disc_tune-", ChannelDown_Key, 0x12, 8);
- addKey("radio_band", TunerBand_Key, 0x13, 8);
+ addKey("radio_band", TunerInput_Key, 0x13, 8);
addKey("tape", TapeInput_Key, 0x14, 8);
addKey("ff_next", FastForward_Key, 0x16, 8);
addKey("rew_prev", Rewind_Key, 0x17, 8);
--- /dev/null
+#include "anitech.h"
+#include "protocols/rc5protocol.h"
+
+AnitechTV1::AnitechTV1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "TV Keyset 1",
+ Anitech_Make,
+ index)
+{
+ addControlledDevice(Anitech_Make, "M 3740", TV_Device);
+}
+
+
+void AnitechTV1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new RC5Protocol(guiObject, index);
+
+ addKey("SLEEP", Sleep_Key, 0x1026, 13);
+ addKey("POWER", Power_Key, 0x100C, 13);
+ addKey("MUTE", Mute_Key, 0x100D, 13);
+ addKey("DISPLAY", Info_Key, 0x100F, 13);
+ addKey("CH_UP", ChannelUp_Key, 0x1020, 13);
+ addKey("CH_DOWN", ChannelDown_Key, 0x1021, 13);
+ addKey("VOL_UP", VolumeUp_Key, 0x1010, 13);
+ addKey("VOL_DOWN", VolumeDown_Key, 0x1011, 13);
+}
+
+
+AnitechVCR1::AnitechVCR1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "VCR Keyset 1",
+ Anitech_Make,
+ index)
+{
+}
+
+
+void AnitechVCR1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new RC5Protocol(guiObject, index);
+
+ addKey("POWER", Power_Key, 0x114C, 13);
+ addKey("M", Unmapped_Key, 0x117B, 13);
+ addKey("KEY", Unmapped_Key, 0x017F, 13);
+ addKey("1", One_Key, 0x1141, 13);
+ addKey("2", Two_Key, 0x1142, 13);
+ addKey("+", Right_Key, 0x1160, 13); // bit of a hack
+ addKey("3", Three_Key, 0x1143, 13);
+ addKey("4", Four_Key, 0x1144, 13);
+ addKey("5", Five_Key, 0x1145, 13);
+ addKey("6", Six_Key, 0x1146, 13);
+ addKey("-", Left_Key, 0x1161, 13); // another hack
+ addKey("7", Seven_Key, 0x1147, 13);
+ addKey("8", Eight_Key, 0x1148, 13);
+ addKey("9", Nine_Key, 0x1149, 13);
+ addKey("-/--", DoubleDigit_Key, 0x114A, 13);
+ addKey("0", Zero_Key, 0x1140, 13);
+ addKey("X", Unmapped_Key, 0x1171, 13);
+ addKey("CLOCK", Clock_Key, 0x115D, 13);
+ addKey("REC", Record_Key, 0x1177, 13);
+ addKey("TREC", RecordTimed_Key, 0x1167, 13);
+ addKey("REV_PLAY", Unmapped_Key, 0x116F, 13);
+ addKey("REWIND", Rewind_Key, 0x116C, 13);
+ addKey("PLAY", Play_Key, 0x1175, 13);
+ addKey("FWD", FastForward_Key, 0x116E, 13);
+ addKey("SLOW", Slow_Key, 0x114E, 13);
+ addKey("N", Unmapped_Key, 0x116A, 13);
+ addKey("STOP", Stop_Key, 0x1176, 13);
+ addKey("PAUSE", Pause_Key, 0x1169, 13);
+}
--- /dev/null
+#ifndef ANITECH_H
+#define ANITECH_H
+
+#include "pirkeysetmetadata.h"
+
+class QObject;
+
+class AnitechTV1: public PIRKeysetMetaData
+{
+public:
+ AnitechTV1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+class AnitechVCR1: public PIRKeysetMetaData
+{
+public:
+ AnitechVCR1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+#endif // ANITECH_H
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("am", AM_Key, 0x1434, 13);
+ addKey("fm", FM_Key, 0x1435, 13);
addKey("tmode", FMMode_Key, 0x1436, 13); // ?
addKey("info", Info_Key, 0x1437, 13);
addKey("p+", ChannelUp_Key, 0x1438, 13);
--- /dev/null
+#include "blaupunkt.h"
+#include "protocols/kaseikyoprotocol.h"
+
+BlaupunktVCR1::BlaupunktVCR1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "VCR Keyset 1",
+ Blaupunkt_Make,
+ index)
+{
+}
+
+
+void BlaupunktVCR1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new KaseikyoProtocol(guiObject, index);
+
+ setPreData(0x2002, 16);
+
+ addKaseikyoKey("ok", Select_Key, 0x009, 0x58);
+ addKaseikyoKey("up", Up_Key, 0x009, 0x02);
+ addKaseikyoKey("down", Down_Key, 0x009, 0x03);
+ addKaseikyoKey("left", Left_Key, 0x009, 0x05);
+ addKaseikyoKey("right", Right_Key, 0x009, 0x04);
+ addKaseikyoKey("menu", Menu_Key, 0x009, 0x56);
+ addKaseikyoKey("exit", Exit_Key, 0x009, 0x66);
+ addKaseikyoKey("power", Power_Key, 0x009, 0x3D);
+ addKaseikyoKey("prog+", ChannelUp_Key, 0x009, 0x34);
+ addKaseikyoKey("prog-", ChannelDown_Key, 0x009, 0x35);
+ addKaseikyoKey("vt_hold", TeletextHold_Key, 0x009, 0x66);
+ addKaseikyoKey("vt_mix", TeletextMix_Key, 0x009, 0x58);
+ addKaseikyoKey("vt_off", TeletextOff_Key, 0x009, 0x66);
+ addKaseikyoKey("vt_on", Teletext_Key, 0x009, 0x56);
+ addKaseikyoKey("adjust", Unmapped_Key, 0x009, 0x57);
+ addKaseikyoKey("stop", Stop_Key, 0x009, 0x00);
+ addKaseikyoKey("play", Play_Key, 0x009, 0x0A);
+ addKaseikyoKey("rew", Rewind_Key, 0x009, 0x02);
+ addKaseikyoKey("ffwd", FastForward_Key, 0x009, 0x03);
+ addKaseikyoKey("rec", Record_Key, 0x009, 0x08);
+ addKaseikyoKey("pause", Pause_Key, 0x009, 0x06);
+ addKaseikyoKey("1", One_Key, 0x009, 0x10);
+ addKaseikyoKey("2", Two_Key, 0x009, 0x11);
+ addKaseikyoKey("3", Three_Key, 0x009, 0x12);
+ addKaseikyoKey("4", Four_Key, 0x009, 0x13);
+ addKaseikyoKey("5", Five_Key, 0x009, 0x14);
+ addKaseikyoKey("6", Six_Key, 0x009, 0x15);
+ addKaseikyoKey("7", Seven_Key, 0x009, 0x16);
+ addKaseikyoKey("8", Eight_Key, 0x009, 0x17);
+ addKaseikyoKey("9", Nine_Key, 0x009, 0x18);
+ addKaseikyoKey("0", Zero_Key, 0x009, 0x19);
+ addKaseikyoKey("av", Input_Key, 0x009, 0xC0);
+ addKaseikyoKey("n/nm", Unmapped_Key, 0x009, 0x3B);
+}
--- /dev/null
+#ifndef BLAUPUNKT_H
+#define BLAUPUNKT_H
+
+#include "pirkeysetmetadata.h"
+
+class QObject;
+
+class BlaupunktVCR1: public PIRKeysetMetaData
+{
+public:
+ BlaupunktVCR1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+#endif // BLAUPUNKT_H
addKey("Mute", Mute_Key, 0x01, 8);
addKey("Volume_Down", VolumeDown_Key, 0x02, 8);
addKey("Volume_Up", VolumeUp_Key, 0x03, 8);
- addKey("FM_AM", TunerBand_Key, 0x06, 8);
+ addKey("FM_AM", TunerInput_Key, 0x06, 8);
addKey("1", One_Key, 0x07, 8);
addKey("2", Two_Key, 0x08, 8);
addKey("3", Three_Key, 0x09, 8);
addKey("on/off", Power_Key, 0x00, 8);
addKey("4", Four_Key, 0x08, 8);
- addKey("am", Red_Key, 0x10, 8); // sort of a hack to get AM in
+ addKey("am", AM_Key, 0x10, 8);
addKey("6", Six_Key, 0x20, 8);
addKey("trackprev", Previous_Key, 0x30, 8);
addKey("trackprev", ChannelDown_Key, 0x30, 8);
addKey("volup", VolumeUp_Key, 0x40,8);
addKey("cdstop", Stop_Key, 0x50, 8);
- addKey("fm", Green_Key, 0x60, 8); // also hack
+ addKey("fm", FM_Key, 0x60, 8);
addKey("2", Two_Key, 0x70, 8);
addKey("mute", Mute_Key, 0x80, 8);
addKey("5", Five_Key, 0x88, 8);
addKey("VOL-", VolumeDown_Key, 0x02, 8);
addKey("VOL+", VolumeUp_Key, 0x03, 8);
addKey("STATION", Unmapped_Key, 0x04, 8);
- addKey("AM/FM", TunerBand_Key, 0x05, 8);
+ addKey("AM/FM", TunerInput_Key, 0x05, 8);
addKey("1", One_Key, 0x07, 8);
addKey("2", Two_Key, 0x08, 8);
addKey("3", Three_Key, 0x09, 8);
addKey("mute", Mute_Key, 0x01, 8);
addKey("vol down", VolumeDown_Key, 0x02, 8);
addKey("vol up", VolumeUp_Key, 0x03, 8);
- addKey("AM", Unmapped_Key, 0x05, 8);
+ addKey("AM", AM_Key, 0x05, 8);
addKey("Video2", CableInput_Key, 0x0D, 8);
addKey("Video1", AntennaInput_Key, 0x0E, 8);
addKey("AUX", AuxInput_Key, 0x0F, 8);
addKey("play", Play_Key, 0x55, 8);
addKey("rewind", Rewind_Key, 0x57, 8);
addKey("fast fwd", FastForward_Key, 0x58, 8);
- addKey("FM", TunerBand_Key, 0x59, 8);
+ addKey("FM", FM_Key, 0x59, 8);
addKey("right arrow", Right_Key, 0x60, 8);
addKey("display/info", Info_Key, 0x80, 8);
addKey("DDEX_DTSES", Unmapped_Key, 0x17, 8);
addKey("STEREO", Unmapped_Key, 0x1A, 8);
addKey("APS", Unmapped_Key, 0x1B, 8);
- addKey("TUNER_AM_FM", TunerBand_Key, 0x1C, 8);
+ addKey("TUNER_AM_FM", TunerInput_Key, 0x1C, 8);
addKey("STORE", Memory_Key, 0x1D, 8);
addKey("MODE", Mode_Key, 0x1E, 8);
addKey("VOLUME_DOWN", VolumeDown_Key, 0x1F, 8);
addKey("CLEAR", Clear_Key, 0x4A, 8);
addKey("OK", Select_Key, 0x4B, 8); // enter key?
addKey("DISPLAY", Info_Key, 0x4C, 8);
- addKey("VPS/PDC", Unmapped_Key, 0x4F, 8);
+ addKey("VPS/PDC", RecordPDC_Key, 0x4F, 8);
addKey("POWER", Power_Key, 0x5B, 8);
- addKey("ShowView", Unmapped_Key, 0x8C, 8);
+ addKey("ShowView", Unmapped_Key, 0x8C, 8); // vhsplus+, etc.
addKey("PRESET", Unmapped_Key, 0x9E, 8);
addKey("MENU/TV", Menu_Key, 0xCA, 8);
}
addKey("qs", Unmapped_Key, 0x27, 8);
addKey("ok", Select_Key, 0x29, 8);
addKey("left", Left_Key, 0x31, 8);
- addKey("indexup", Unmapped_Key, 0x33, 8);
+ addKey("indexup", Next_Key, 0x33, 8);
addKey("right", Right_Key, 0x35, 8);
addKey("av", AuxInput_Key, 0x36, 8);
addKey("sv/v+", Unmapped_Key, 0x39, 8);
- addKey("indexdown", Unmapped_Key, 0x3F, 8);
+ addKey("indexdown", Previous_Key, 0x3F, 8);
}
addSharpKey("BTN_HDMI_CONTROL", Unmapped_Key, 0x0C, 0xAF);
addSharpKey("ext.in", Unmapped_Key, 0x0C, 0xB5);
addSharpKey("input-mode", Unmapped_Key, 0x0C, 0xB6);
- addSharpKey("Shift", TunerBand_Key, 0x0C, 0xCD);
+ addSharpKey("Shift", Unmapped_Key, 0x0C, 0xCD);
addSharpKey("channel-", ChannelDown_Key, 0x0C, 0xD5);
addSharpKey("channel+", ChannelUp_Key, 0x0C, 0xD6);
addSharpKey("Dimmer", Unmapped_Key, 0x0C, 0xDF);
addSharpKey("DECK", Unmapped_Key, 0x04, 0x75);
addSharpKey("panel", Info_Key, 0x0C, 0x7E);
- addSharpKey("TUNER", TunerInput_Key, 0x0C, 0xDD);
+ addSharpKey("TUNER", Unmapped_Key, 0x0C, 0xDD);
}
addSharpKey("tun_6", Six_Key, 0x13, 0x47);
addSharpKey("tun_7", Seven_Key, 0x13, 0x48);
addSharpKey("tun_8", Eight_Key, 0x13, 0x49);
- addSharpKey("tun_shift", TunerBand_Key, 0x13, 0x4A);
+ addSharpKey("tun_shift", Unmapped_Key, 0x13, 0x4A);
addSharpKey("amp_vol-down", VolumeDown_Key, 0x13, 0x4C);
addSharpKey("amp_vol-up", VolumeUp_Key, 0x13, 0x4D);
addSharpKey("amp_power", Power_Key, 0x13, 0x50);
addSharpKey("RDS", Unmapped_Key, 0x0C, 0xD2); // "TUNER_RDS"
addSharpKey("CT", Unmapped_Key, 0x0C, 0xD3); // "TUNER_CT"
addSharpKey("pty", Unmapped_Key, 0x0C, 0xD4); // "TUNER_PTY"
- addSharpKey("TUNER BAND", TunerBand_Key, 0x0C, 0xD7);
+ addSharpKey("TUNER BAND", FM_Key, 0x0C, 0xD7); // this is a hack
+ addSharpKey("TUNER BAND", AM_Key, 0x0C, 0xD7); // this too
addSharpKey("TUNER KEY_UP", ChannelUp_Key, 0x0C, 0xD9);
addSharpKey("TUNER KEY_DOWN", ChannelDown_Key, 0x0C, 0xDA);
addSharpKey("panel", Info_Key, 0x0C, 0xDE);
addKey("Volume_Down", VolumeDown_Key, 0x02, 8);
addKey("Remain", Unmapped_Key, 0x03, 8);
addKey("A.Edit", Unmapped_Key, 0x04, 8);
- addKey("Tuner_Band", TunerBand_Key, 0x07, 8);
+ addKey("Tuner_Band", TunerInput_Key, 0x07, 8);
addKey("Tape_1/2", Unmapped_Key, 0x09, 8);
addKey("P.Mode", Unmapped_Key, 0x0B, 8);
addKey("EQ_Pattern", Unmapped_Key, 0x11, 8);
// setPreData(0x4040, 16);
setPreData(0x0202, 16);
- addKey("fm/am", TunerBand_Key, 0x00, 8);
+ addKey("fm/am", TunerInput_Key, 0x00, 8);
addKey("rds", Unmapped_Key, 0x01, 8);
addKey("1", One_Key, 0x02, 8);
addKey("6", Six_Key, 0x03, 8);
addKey("display", Info_Key, 0x1E, 8);
addKey("clear", Clear_Key, 0x1F, 8);
addKey("child_lock", Unmapped_Key, 0x3F, 8);
- addKey("viss", Unmapped_Key, 0x41, 8);
+ addKey("viss", IndexSearch_Key, 0x41, 8);
addKey("tracking+", TrackingPlus_Key, 0x44, 8);
addKey("tracking-", TrackingMinus_Key, 0x45, 8);
- addKey("show_view", Unmapped_Key, 0x47, 8);
+ addKey("show_view", Unmapped_Key, 0x47, 8); // vhsplus+, etc.
addKey("sp/lp", VHSSpeed_Key, 0x48, 8);
- addKey("vps", Unmapped_Key, 0x49, 8);
+ addKey("vps", RecordPDC_Key, 0x49, 8);
addKey("start", Unmapped_Key, 0x4A, 8);
addKey("length", Unmapped_Key, 0x4B, 8);
addKey("clock_count", Clock_Key, 0x4C, 8); // "memory"
addKey("0", Zero_Key, 0x0B, 8);
addKey("tuning_up", ChannelUp_Key, 0x0C, 8);
addKey("random", Random_Key, 0x0D, 8);
- addKey("band", TunerBand_Key, 0x0E, 8);
+ addKey("band", FM_Key, 0x0E, 8); // This is a hack
+ addKey("band", AM_Key, 0x0E, 8); // This too
addKey("cd", CDInput_Key, 0x0F, 8);
addKey("3", Three_Key, 0x11, 8);
GrundigVCR1::populateProtocol(guiObject);
- addKey("INDEX", Unmapped_Key, 0x0170, 13);
+ addKey("INDEX", IndexSearch_Key, 0x0170, 13);
addKey("PAUSE", Pause_Key, 0x1169, 13);
}
addKey("CD_DISC", NextDisc_Key, 0x50, 8);
- addKey("FM", TunerBand_Key, 0x81, 8); // "am/fm"
- addKey("AM", Unmapped_Key, 0x82, 8);
+ addKey("FM", FM_Key, 0x81, 8); // "am/fm"
+ addKey("AM", AM_Key, 0x82, 8);
addKey("TUNEUP", ChannelUp_Key, 0x84, 8);
addKey("TUNEDN", ChannelDown_Key, 0x85, 8);
addKey("mem", Memory_Key, 0x86, 8);
addKey("POWER", Power_Key, 0x00, 8);
addKey("VOLUME_UP", VolumeUp_Key, 0x01, 8);
addKey("VOLUME_DOWN", VolumeDown_Key, 0x02, 8);
- addKey("TUNER_BAND", TunerBand_Key, 0x07, 8);
+ addKey("TUNER_BAND", TunerInput_Key, 0x07, 8);
addKey("CASSETTE_TAPE_1/2", Unmapped_Key, 0x09, 8);
addKey("CD_PLAY/PAUSE", Play_Key, 0x12, 8);
addKey("CD_PLAY/PAUSE", Pause_Key, 0x12, 8);
addKey("CLEAR", Reset_Key, 0x41, 8); // "reset", "0000"
addKey("Disp", Info_Key, 0x42, 8);
addKey("Enter", Select_Key, 0x44, 8);
- addKey("Index", Unmapped_Key, 0x45, 8);
+ addKey("Index", IndexSearch_Key, 0x45, 8);
addKey("Count/Clock", Clock_Key, 0x46, 8);
addKey("SpinRight", Right_Key, 0x7F, 8);
addKey("SpinLeft", Left_Key, 0x7E, 8);
addKey("Down", Down_Key, 0x11, 8);
addKey("Setup", Menu_Key, 0x19, 8);
addKey("Pause", Pause_Key, 0x1A, 8);
- addKey("Band", TunerBand_Key, 0x1B, 8);
+ addKey("Band", TunerInput_Key, 0x1B, 8);
addKey("Play", Play_Key, 0x44, 8);
addKey("Stop", Stop_Key, 0x45, 8);
addKey(">>", FastForward_Key, 0x40, 8);
addKey("MD-AUX", AuxInput_Key, 0x3EA3, 16); // "TAPE-AUX"
addKey("TAPE", TapeInput_Key, 0x3FA3, 16);
addKey("FM-MODE", FMMode_Key, 0x5AA3, 16);
- addKey("TUNER-BAND", TunerBand_Key, 0x5BA3, 16);
+ addKey("TUNER-BAND", TunerInput_Key, 0x5BA3, 16);
addKey("AHB-PRO", Unmapped_Key, 0x75A3, 16);
addKey("AUTO-PRESET", Unmapped_Key, 0x77A3, 16);
addKey("vol+", VolumeUp_Key, 0x01, 8);
addKey("vol-", VolumeDown_Key, 0x02, 8);
addKey("ACTIVE_HYPER_BASS", EnhancedBass_Key, 0x04, 8); // "bass"
- addKey("band", TunerBand_Key, 0x0B, 8); // "TUNER_BAND"
+ addKey("band", TunerInput_Key, 0x0B, 8); // "TUNER_BAND"
addKey("aux", AuxInput_Key, 0x0D, 8);
addKey("enter", Enter_Key, 0x11, 8);
addKey("8", Eight_Key, 0x88, 8);
addKey("9", Nine_Key, 0x89, 8);
addKey("TUNER_DOWN", ChannelDown_Key, 0x8C, 8);
- addKey("TUNER_AM", Unmapped_Key, 0x8E, 8);
- addKey("TUNER_BAND", TunerBand_Key, 0x8F, 8); // "Tuner_FM"
+ addKey("TUNER_AM", AM_Key, 0x8E, 8);
+ addKey("TUNER_BAND", FM_Key, 0x8F, 8); // "Tuner_FM"
addKey("PHONO", PhonoInput_Key, 0x90, 8);
addKey("SELECT_TUNER", TunerInput_Key, 0x91, 8);
addKey("7", Seven_Key, 0x87, 8);
addKey("8", Eight_Key, 0x88, 8);
addKey("9", Nine_Key, 0x89, 8);
- addKey("BAND", TunerBand_Key, 0x8F, 8);
+ addKey("BAND", AM_Key, 0x8F, 8); // This is a hack
+ addKey("BAND", FM_Key, 0x8F, 8); // This too
addKey("Phono-play", Unmapped_Key, 0x90, 8);
addKey("TUNER", TunerInput_Key, 0x91, 8);
addKey("tuning>>", FastForward_Key, 0x03, 8); // "SEARCH_FWD"
addKey("stop", Stop_Key, 0x04, 8);
addKey("</>", TapeInput_Key, 0x05, 8); // "TAPE"
- addKey("tuner/band", TunerBand_Key, 0x06, 8); // "TUNER"
+ addKey("tuner/band", TunerInput_Key, 0x06, 8); // "TUNER"
addKey("cd_play_pause", Play_Key, 0x07, 8); // "CD"
addKey("cd_play_pause", Pause_Key, 0x07, 8);
addKey("A/B", RepeatAB_Key, 0x08, 8); // "A_B"
threadableProtocol = new NECProtocol(guiObject, index, false, true);
-// setPreData(0x20DF, 16);
setPreData(0x04, 8);
addKey("p+", ChannelUp_Key, 0x00, 8);
threadableProtocol = new NECXProtocol(guiObject, index, true);
-// setPreData(0x3434, 16);
setPreData(0x2C2C, 16);
addKey("cd-dvd", Unmapped_Key, 0x03, 8);
addKey("program", Program_Key, 0x4D, 8);
addKey("repeat", Repeat_Key, 0x4E, 8);
addKey("pause", Pause_Key, 0x4F, 8);
- addKey("band", TunerBand_Key, 0x59, 8);
+ addKey("band", FM_Key, 0x59, 8); // This is a hack
+ addKey("band", AM_Key, 0x59, 8); // This too
addKey("dimmer", Unmapped_Key, 0x5E, 8);
addKey("rds", Unmapped_Key, 0x60, 8);
addKey("exit_cancel", Unmapped_Key, 0x69, 8);
addKey("pty", Unmapped_Key, 0x71, 8);
addKey("i_ii", Unmapped_Key, 0x7A, 8);
addKey("text", Unmapped_Key, 0x7B, 8);
- addKey("tv_radio", Unmapped_Key, 0x82, 8);
+ addKey("tv_radio", TunerInput_Key, 0x82, 8);
// addKey("aux", Unmapped_Key, 0x8A, 8);
addKey("open-close", Eject_Key, 0x9A, 8);
addKey("audio", Audio_Key, 0xA0, 8);
threadableProtocol = new NECXProtocol(guiObject, index, true);
-// setPreData(0xB4B4, 16);
setPreData(0x2D2D, 16);
addKey("POWER", Power_Key, 0x30, 8);
threadableProtocol = new NECProtocol(guiObject, index, false, true);
-// setPreData(0x7689, 16);
setPreData(0x6E, 8);
addKey("eject", Eject_Key, 0x00, 8);
addKey("ok", Select_Key, 0x1E, 8);
addKey("clear/reset", Clear_Key, 0x1F, 8); // might be wrong
addKey("timer-prog", Program_Key, 0x3A, 8);
- addKey("viss", Unmapped_Key, 0x41, 8); // "marker-search"
+ addKey("viss", IndexSearch_Key, 0x41, 8); // "marker-search"
addKey("trk-", TrackingMinus_Key, 0x44, 8);
addKey("trk+", TrackingPlus_Key, 0x45, 8);
addKey("*", Unmapped_Key, 0x47, 8);
--- /dev/null
+#include "lifetec.h"
+#include "protocols/sircprotocol.h"
+#include "protocols/necprotocol.h"
+#include "protocols/necxprotocol.h"
+#include "protocols/rc5protocol.h"
+
+
+LifetecTV1::LifetecTV1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "TV Keyset 1",
+ Lifetec_Make,
+ index)
+{
+}
+
+
+void LifetecTV1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new SIRCProtocol(guiObject, index);
+
+ addSIRC12Key("1", One_Key, 0x01, 0x00);
+ addSIRC12Key("2", Two_Key, 0x01, 0x01);
+ addSIRC12Key("3", Three_Key, 0x01, 0x02);
+ addSIRC12Key("4", Four_Key, 0x01, 0x03);
+ addSIRC12Key("5", Five_Key, 0x01, 0x04);
+ addSIRC12Key("6", Six_Key, 0x01, 0x05);
+ addSIRC12Key("7", Seven_Key, 0x01, 0x06);
+ addSIRC12Key("8", Eight_Key, 0x01, 0x07);
+ addSIRC12Key("9", Nine_Key, 0x01, 0x08);
+ addSIRC12Key("0", Zero_Key, 0x01, 0x09);
+ addSIRC12Key("power", Power_Key, 0x01, 0x15);
+ addSIRC12Key("prog+", ChannelUp_Key, 0x01, 0x10);
+ addSIRC12Key("prog-", ChannelDown_Key, 0x01, 0x11);
+ addSIRC12Key("vol-", VolumeDown_Key, 0x01, 0x13);
+ addSIRC12Key("vol+", VolumeUp_Key, 0x01, 0x12);
+ addSIRC12Key("tonaus", Mute_Key, 0x01, 0x14);
+ addSIRC12Key("menu", Menu_Key, 0x01, 0x60);
+ addSIRC12Key("exit", Exit_Key, 0x01, 0x34);
+ addSIRC12Key("links", Left_Key, 0x01, 0x62);
+ addSIRC12Key("rechts", Right_Key, 0x01, 0x61);
+ addSIRC12Key("hoch", Up_Key, 0x01, 0x74);
+ addSIRC12Key("runter", Down_Key, 0x01, 0x75);
+ addSIRC12Key("ok", Select_Key, 0x01, 0x65);
+ addSIRC12Key("text", Unmapped_Key, 0x01, 0x3F);
+ addSIRC12Key("textaus", Unmapped_Key, 0x01, 0x38);
+ addSIRC12Key("texttransparent", Unmapped_Key, 0x01, 0x5B);
+ addSIRC12Key("text+", Unmapped_Key, 0x01, 0x3A);
+ addSIRC12Key("textseitenscrolling", Unmapped_Key, 0x03, 0x4A);
+ addSIRC12Key("rew", Rewind_Key, 0x03, 0x4C);
+ addSIRC12Key("play", Play_Key, 0x03, 0x4E);
+ addSIRC12Key("f.f.", FastForward_Key, 0x03, 0x4F);
+ addSIRC12Key("rec", Record_Key, 0x01, 0x5B);
+ addSIRC12Key("stop", Stop_Key, 0x03, 0x4D);
+ addSIRC12Key("pause", Pause_Key, 0x03, 0x48);
+}
+
+
+LifetecTV2::LifetecTV2(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "TV Keyset 2",
+ Lifetec_Make,
+ index)
+{
+}
+
+
+void LifetecTV2::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new RC5Protocol(guiObject, index);
+
+ addKey("POWER", Power_Key, 0x100C, 13);
+ addKey("1", One_Key, 0x1001, 13);
+ addKey("2", Two_Key, 0x1002, 13);
+ addKey("3", Three_Key, 0x1003, 13);
+ addKey("4", Four_Key, 0x1004, 13);
+ addKey("5", Five_Key, 0x1005, 13);
+ addKey("6", Six_Key, 0x1006, 13);
+ addKey("7", Seven_Key, 0x1007, 13);
+ addKey("8", Eight_Key, 0x1008, 13);
+ addKey("9", Nine_Key, 0x1009, 13);
+ addKey("0", Zero_Key, 0x1000, 13);
+ addKey("MUTE", Mute_Key, 0x100D, 13);
+ addKey("INFO", Info_Key, 0x100F, 13);
+ addKey("UP", Up_Key, 0x1020, 13);
+ addKey("DOWN", Down_Key, 0x1021, 13);
+ addKey("LEFT", Left_Key, 0x1011, 13);
+ addKey("RIGHT", Right_Key, 0x1010, 13);
+ addKey("TV", Unmapped_Key, 0x103C, 13);
+ addKey("OK", Select_Key, 0x1029, 13);
+ addKey("RED", Red_Key, 0x1037, 13);
+ addKey("GREEN", Green_Key, 0x1036, 13);
+ addKey("YELLOW", Yellow_Key, 0x1032, 13);
+ addKey("BLUE", Blue_Key, 0x1034, 13);
+ addKey("F1", Unmapped_Key, 0x001C, 13);
+ addKey("F2", Unmapped_Key, 0x001D, 13);
+ addKey("F3", Unmapped_Key, 0x001E, 13);
+ addKey("F4", Unmapped_Key, 0x001F, 13);
+ addKey("REWIND", Rewind_Key, 0x1165, 13);
+ addKey("STOP", Stop_Key, 0x1176, 13);
+ addKey("PLAY", Play_Key, 0x1175, 13);
+ addKey("FORWARD", FastForward_Key, 0x1166, 13);
+}
+
+
+LifetecVCR1::LifetecVCR1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "VCR Keyset 1",
+ Lifetec_Make,
+ index)
+{
+}
+
+
+void LifetecVCR1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, false);
+
+ setPreData(0x7B80, 16);
+
+ addKey("power", Power_Key, 0x13, 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("0", Zero_Key, 0x00, 8);
+ addKey("CH-", ChannelDown_Key, 0x0B, 8);
+ addKey("CH+", ChannelUp_Key, 0x0A, 8);
+ addKey("REC/OTR", Record_Key, 0x15, 8);
+ addKey("PAUSE/STILL", Pause_Key, 0x1A, 8);
+ addKey("<<", Rewind_Key, 0x19, 8);
+ addKey("PLAY/SLOW", Play_Key, 0x16, 8);
+ addKey("PLAY/SLOW", Slow_Key, 0x16, 8);
+ addKey(">>", FastForward_Key, 0x18, 8);
+ addKey("stop", Stop_Key, 0x17, 8);
+ addKey("ENTER", Select_Key, 0x45, 8);
+ addKey("INDEX", IndexSearch_Key, 0x14, 8);
+ addKey("CANCEL", Clear_Key, 0x4A, 8);
+ addKey("MENU", Menu_Key, 0x50, 8);
+ addKey("TIMER_REC", RecordTimed_Key, 0x0D, 8);
+ addKey("SHOWVIEW", Unmapped_Key, 0x1D, 8); // vhsplus+, etc.
+ addKey("CALL", Call_Key, 0x5F, 8);
+ addKey("CLOCK/COUNTER", Unmapped_Key, 0x51, 8);
+ addKey("COUNTER_RESET", Reset_Key, 0x4C, 8);
+ addKey("ZERO_RETURN", Unmapped_Key, 0x4B, 8);
+ addKey("SPEED_SP/LP", VHSSpeed_Key, 0x1E, 8);
+ addKey("TV/VCR", Input_Key, 0x12, 8);
+ addKey("AUDIO_SELECT", Audio_Key, 0x0E, 8);
+ addKey("EJECT", Eject_Key, 0x4E, 8);
+}
+
+
+LifetecAudio1::LifetecAudio1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Audio Keyset 1",
+ Lifetec_Make,
+ index)
+{
+}
+
+
+void LifetecAudio1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECXProtocol(guiObject, index, false);
+
+ setPreData(0xA4A4, 16);
+
+ addKey("power", Power_Key, 0x16, 8);
+ addKey("play", Play_Key, 0x13, 8);
+ addKey("rew", Rewind_Key, 0x04, 8);
+ addKey("ff", FastForward_Key, 0x0C, 8);
+ addKey("stop", Stop_Key, 0x1B, 8);
+ addKey("mute", Mute_Key, 0x17, 8);
+ addKey("vol+", VolumeUp_Key, 0x20, 8);
+ addKey("vol-", VolumeDown_Key, 0x60, 8);
+}
--- /dev/null
+#ifndef LIFETEC_H
+#define LIFETEC_H
+
+#include "pirkeysetmetadata.h"
+
+class QObject;
+
+class LifetecTV1: public PIRKeysetMetaData
+{
+public:
+ LifetecTV1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+
+class LifetecTV2: public PIRKeysetMetaData
+{
+public:
+ LifetecTV2(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+
+class LifetecVCR1: public PIRKeysetMetaData
+{
+public:
+ LifetecVCR1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+
+class LifetecAudio1: public PIRKeysetMetaData
+{
+public:
+ LifetecAudio1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+#endif // LIFETEC_H
addKey("TV", Input_Key, 0x15, 8);
addKey("LP", VHSSpeed_Key, 0x48, 8);
addKey("REST", Clock_Key, 0x4C, 8);
- addKey("VISS", Unmapped_Key, 0x41, 8);
- addKey("MARK", Unmapped_Key, 0x50, 8);
- addKey("ERASE", Unmapped_Key, 0x42, 8);
+ addKey("VISS", IndexSearch_Key, 0x41, 8);
+ addKey("MARK", IndexMark_Key, 0x50, 8);
+ addKey("ERASE", IndexErase_Key, 0x42, 8);
addKey("0000", Reset_Key, 0x4D, 8);
}
addKey("TvVolumeDn", Unmapped_Key, 0x1011, 13);
addKey("TvChUp", Unmapped_Key, 0x1020, 13);
addKey("TvChDn", Unmapped_Key, 0x1021, 13);
- addKey("SkipSrch", Unmapped_Key, 0x016A, 13);
+ addKey("SkipSrch", IndexSearch_Key, 0x016A, 13); // Might be wrong
addKey("FrameAdvance", StepForward_Key, 0x016B, 13);
addKey("VcrChUp", Unmapped_Key, 0x1160, 13);
addKey("VcrChDn", Unmapped_Key, 0x1161, 13);
addKey("Memo", Unmapped_Key, 0x117B, 13);
addKey("Speed", VHSSpeed_Key, 0x117A, 13);
addKey("VcrTv", Unmapped_Key, 0x117E, 13);
- addKey("2xPlay", Unmapped_Key, 0x116A, 13);
+ addKey("2xPlay", PlayX2_Key, 0x116A, 13);
}
addKey("Record", Record_Key, 0x17, 8);
addKey("Pause", Pause_Key, 0x18, 8);
addKey("Stop", Stop_Key, 0x19, 8);
- addKey("Skip", Advance_Key, 0x1A, 8);
- addKey("Replay", Replay_Key, 0x1B, 8);
+ addKey("Skip", Advance_Key, 0x1A, 8); // next?
+ addKey("Replay", Replay_Key, 0x1B, 8); // previous?
addKey("Hash", Unmapped_Key, 0x1C, 8); // "Caps Lock"
addKey("Star", Unmapped_Key, 0x1D, 8); // "Mouse"
addKey("DVD angle", Angle_Key, 0x4B, 8);
addKey("DVD audio", Audio_Key, 0x4C, 8);
addKey("DVD subtitle", Captions_Key, 0x4D, 8);
-
addKey("Print", Unmapped_Key, 0x4E, 8);
- addKey("Radio", TunerInput_Key, 0x50, 8);
+ addKey("Radio", TunerInput_Key, 0x50, 8);
+ addKey("title", DiscTitle_Key, 0x51, 8);
addKey("Teletext", Teletext_Key, 0x5A, 8);
addKey("Red", Red_Key, 0x5B, 8);
addKey("Green", Green_Key, 0x5C, 8);
setPreData(0x74, 7);
}
+
+
+MCEXboxRemote1::MCEXboxRemote1(
+ unsigned int index)
+ : MCERemote1g(index)
+{
+ setKeysetName("XBox 360 Remote 1");
+}
+
+
+void MCEXboxRemote1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ MCERemote1g::populateProtocol(guiObject);
+
+ addKey("A", Green_Key, 0x12, 8);
+ addKey("X", Blue_Key, 0x13, 8);
+ addKey("B", Red_Key, 0x25, 8);
+ addKey("Y", Yellow_Key, 0x26, 8);
+}
QObject *guiObject);
};
+class MCEXboxRemote1: public MCERemote1g
+{
+public:
+ MCEXboxRemote1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
#endif // MCE_H
--- /dev/null
+#include "medion.h"
+#include "protocols/necprotocol.h"
+#include "protocols/paceprotocol.h"
+
+MedionSTB1::MedionSTB1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "TV DVR Keyset 1",
+ Medion_Make,
+ index)
+{
+ addControlledDevice(Medion_Make, "HDD-DVR 0905", Other_Device);
+}
+
+
+void MedionSTB1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, true);
+
+ setPreData(0x6917, 16);
+
+ addKey("power", Power_Key, 0x0E, 8);
+ addKey("vol+", VolumeUp_Key, 0x49, 8);
+ addKey("vol-", VolumeDown_Key, 0x43, 8);
+ addKey("ch+", ChannelUp_Key, 0x51, 8);
+ addKey("ch-", ChannelDown_Key, 0x4D, 8);
+ addKey("left", Left_Key, 0x1C, 8);
+ addKey("right", Right_Key, 0x48, 8);
+ addKey("up", Up_Key, 0x44, 8);
+ addKey("down", Down_Key, 0x1D, 8);
+ addKey("ok", Select_Key, 0x5C, 8);
+ addKey("mute", Mute_Key, 0x16, 8);
+ addKey("menu", Menu_Key, 0x54, 8);
+ addKey("epg", Guide_Key, 0x12, 8);
+ addKey("exit", Exit_Key, 0x42, 8);
+ addKey("1", One_Key, 0x13, 8);
+ addKey("2", Two_Key, 0x10, 8);
+ addKey("3", Three_Key, 0x11, 8);
+ addKey("4", Four_Key, 0x0F, 8);
+ addKey("5", Five_Key, 0x0C, 8);
+ addKey("6", Six_Key, 0x0D, 8);
+ addKey("7", Seven_Key, 0x0B, 8);
+ addKey("8", Eight_Key, 0x08, 8);
+ addKey("9", Nine_Key, 0x09, 8);
+ addKey("0", Zero_Key, 0x47, 8);
+ addKey("av", Input_Key, 0x1F, 8);
+ addKey("-/--", DoubleDigit_Key, 0x50, 8);
+ addKey("rew", Rewind_Key, 0x15, 8);
+ addKey("play", Play_Key, 0x1B, 8);
+ addKey("fwd", FastForward_Key, 0x55, 8);
+ addKey("rec", Record_Key, 0x02, 8);
+ addKey("stop", Stop_Key, 0x59, 8);
+ addKey("pause", Pause_Key, 0x19, 8);
+ addKey("u1", Unmapped_Key, 0x04, 8);
+ addKey("u2", Unmapped_Key, 0x14, 8);
+ addKey("u3", Unmapped_Key, 0x03, 8);
+ addKey("u4", Unmapped_Key, 0x00, 8);
+ addKey("einbl", Unmapped_Key, 0x5A, 8);
+ addKey("red", Red_Key, 0x17, 8);
+ addKey("green", Green_Key, 0x52, 8);
+ addKey("yellow", Yellow_Key, 0x53, 8);
+ addKey("blue", Blue_Key, 0x18, 8);
+ addKey("pink", Unmapped_Key, 0x4C, 8);
+}
+
+
+
+MedionDVD1::MedionDVD1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "DVD Keyset 1",
+ Medion_Make,
+ index)
+{
+}
+
+
+void MedionDVD1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, false, false);
+
+ setPreData(0x00, 8);
+
+ addKey("POWER", Power_Key, 0x00, 8);
+ addKey("PAUSE", Pause_Key, 0x03, 8);
+ addKey("PLAY", Play_Key, 0x06, 8);
+ addKey("EJECT", Eject_Key, 0x0C, 8);
+ addKey("SETUP", Menu_Key, 0x0F, 8);
+
+ addKey("STOP", Stop_Key, 0x13, 8);
+
+ addKey("1", One_Key, 0x4B, 8);
+ addKey("2", Two_Key, 0x47, 8);
+ addKey("3", Three_Key, 0x43, 8);
+ addKey("4", Four_Key, 0x4A, 8);
+ addKey("5", Five_Key, 0x46, 8);
+ addKey("6", Six_Key, 0x42, 8);
+ addKey("7", Seven_Key, 0x49, 8);
+ addKey("8", Eight_Key, 0x45, 8);
+ addKey("9", Nine_Key, 0x41, 8);
+ addKey("0", Zero_Key, 0x44, 8);
+
+ addKey("FFWD", FastForward_Key, 0x50, 8);
+ addKey("NEXT", Next_Key, 0x51, 8);
+ addKey("VOLPLUS", VolumeUp_Key, 0x52, 8);
+ addKey("MUTE", Mute_Key, 0x53, 8);
+ addKey("FREV", Rewind_Key, 0x54, 8);
+ addKey("PREV", Previous_Key, 0x55, 8);
+ addKey("VOLMINUS", VolumeDown_Key, 0x56, 8);
+ addKey("SUBTITLE", Captions_Key, 0x5E, 8);
+}
+
+
+MedionDVD2::MedionDVD2(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "DVD Keyset 2",
+ Medion_Make,
+ index)
+{
+}
+
+
+void MedionDVD2::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new PaceProtocol(guiObject, index);
+
+ setPreData(0x5, 3);
+
+ addKey("ZOOM", Zoom_Key, 0x12, 6);
+ addKey("PREV", Previous_Key, 0x15, 6);
+ addKey("NEXT", Next_Key, 0x16, 6);
+ addKey("MENU", DiscMenu_Key, 0x17, 6);
+ addKey("MUTE", Mute_Key, 0x18, 6);
+ addKey("PLAY", Play_Key, 0x19, 6);
+ addKey("PAUSE", Pause_Key, 0x1A, 6);
+ addKey("8", Eight_Key, 0x1C, 6);
+ addKey("4", Four_Key, 0x1D, 6);
+ addKey("POWER", Power_Key, 0x1E, 6);
+ addKey("INDEX", Unmapped_Key, 0x1F, 6);
+
+ addKey("INFO", Info_Key, 0x20, 6);
+ addKey("RIGHT", Right_Key, 0x21, 6);
+ addKey("STOP", Stop_Key, 0x22, 6);
+ addKey("CLEAR", Clear_Key, 0x23, 6);
+ addKey("7", Seven_Key, 0x24, 6);
+ addKey("3", Three_Key, 0x25, 6);
+ addKey("EJECT", Eject_Key, 0x26, 6);
+ addKey("TITLE", DiscTitle_Key, 0x27, 6);
+ addKey("UP", Up_Key, 0x28, 6);
+ addKey("OK", Select_Key, 0x29, 6);
+ addKey("DOWN", Down_Key, 0x2A, 6);
+ addKey("0", Zero_Key, 0x2B, 6);
+ addKey("6", Six_Key, 0x2C, 6);
+ addKey("2", Two_Key, 0x2D, 6);
+ addKey("CAMERA", Angle_Key, 0x2E, 6);
+
+ addKey("EXIT", Exit_Key, 0x30, 6);
+ addKey("LEFT", Left_Key, 0x31, 6);
+ addKey("FORWARD", FastForward_Key, 0x32, 6);
+ addKey("9", Nine_Key, 0x33, 6);
+ addKey("5", Five_Key, 0x34, 6);
+ addKey("1", One_Key, 0x35, 6);
+ addKey("BACKWARD", Rewind_Key, 0x37, 6);
+}
+
+
+MedionVCR1::MedionVCR1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "VCR Keyset 1",
+ Medion_Make,
+ index)
+{
+}
+
+
+void MedionVCR1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, false);
+
+ setPreData(0x7B80, 16);
+
+ addKey("PowerOff", Power_Key, 0x13, 8);
+ addKey("Eject", Eject_Key, 0x4E, 8);
+ addKey("TimerRec", RecordTimed_Key, 0x0D, 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("0", Zero_Key, 0x00, 8);
+ addKey("TV/VCR", Input_Key, 0x12, 8);
+ addKey("CannelTracking+", ChannelUp_Key, 0x0A, 8);
+ addKey("CannelTracking+", TrackingPlus_Key, 0x0A, 8);
+ addKey("ChannelTracking-", ChannelDown_Key, 0x0B, 8);
+ addKey("ChannelTracking-", TrackingMinus_Key, 0x0B, 8);
+ addKey("SpeedSP/LP", VHSSpeed_Key, 0x1E, 8);
+ addKey("Rec-EndSearch", Unmapped_Key, 0x47, 8);
+ addKey("Call", Call_Key, 0x5F, 8);
+ addKey("REC/OTR", Record_Key, 0x15, 8);
+ addKey("Pause/Still", Pause_Key, 0x1A, 8);
+ addKey("Play", Play_Key, 0x16, 8);
+ addKey("FastReturn", Rewind_Key, 0x19, 8);
+ addKey("FastForward", FastForward_Key, 0x18, 8);
+ addKey("Stop", Stop_Key, 0x17, 8);
+ addKey("ShowView/Program", Unmapped_Key, 0x1D, 8); // vhsplus+, etc.
+ addKey("Enter", Select_Key, 0x45, 8);
+ addKey("Menu", Menu_Key, 0x50, 8);
+ addKey("Cancel", Exit_Key, 0x4A, 8);
+ addKey("Index", IndexSearch_Key, 0x14, 8);
+ addKey("ATR", AutoTracking_Key, 0x52, 8);
+ addKey("Clock/Counter", Unmapped_Key, 0x51, 8);
+ addKey("ZeroReturn", Unmapped_Key, 0x4B, 8);
+ addKey("CounterReset", Reset_Key, 0x4C, 8);
+ addKey("AudioSelect", Audio_Key, 0x0E, 8);
+}
--- /dev/null
+#ifndef MEDION_H
+#define MEDION_H
+
+#include "pirkeysetmetadata.h"
+
+class QObject;
+
+class MedionSTB1: public PIRKeysetMetaData
+{
+public:
+ MedionSTB1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+
+class MedionDVD1: public PIRKeysetMetaData
+{
+public:
+ MedionDVD1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+
+class MedionDVD2: public PIRKeysetMetaData
+{
+public:
+ MedionDVD2(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+
+class MedionVCR1: public PIRKeysetMetaData
+{
+public:
+ MedionVCR1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+#endif // MEDION_H
addKey("DEGAUSS", Unmapped_Key, 0xCE, 8);
addKey("DEMO", Unmapped_Key, 0x62, 8);
addKey("PRESET", Unmapped_Key, 0xA2, 8);
- addKey("BAND", TunerBand_Key, 0xAE, 8);
+ addKey("BAND", TunerInput_Key, 0xAE, 8);
addKey("AFT", Unmapped_Key, 0xA6, 8);
addKey("SKIP", Unmapped_Key, 0xB6, 8);
addKey("REALNAME", Unmapped_Key, 0xDA, 8);
addKey("DAILY/WEEKLY", Unmapped_Key, 0xF2, 8);
addKey("COUNT_RES", Unmapped_Key, 0xDC, 8);
addKey("display", Info_Key, 0xE4, 8); // "DATA_SCRN"
- addKey("x2", Unmapped_Key, 0x5C, 8);
+ addKey("x2", PlayX2_Key, 0x5C, 8);
addKey("audio/video", Unmapped_Key, 0x02, 8);
addKey("adjust+", Right_Key, 0x82, 8);
addKey("cancel", Exit_Key, 0xD0, 8);
addKey("TapeA-Rewind", Unmapped_Key, 0x57, 8);
addKey("Standby", Power_Key, 0x80, 8); // "RCVR_POWER"
- addKey("Input-TunerFM", Unmapped_Key, 0x81, 8);
- addKey("Input-TunerAM", Unmapped_Key, 0x82, 8);
+ addKey("Input-TunerFM", FM_Key, 0x81, 8);
+ addKey("Input-TunerAM", AM_Key, 0x82, 8);
addKey("Input-CD", CDInput_Key, 0x85, 8);
addKey("VolumeUp", VolumeUp_Key, 0x88, 8);
addKey("Input-Disc", PhonoInput_Key, 0x89, 8);
addKey("Tuner-PresetLeft", ChannelDown_Key, 0xD1, 8);
addKey("Tuner-PresetRight", ChannelUp_Key, 0xD2, 8);
- addKey("FM/AM", TunerBand_Key, 0xDD, 8); // "tuner"
addKey("FM/AM", TunerInput_Key, 0xDD, 8); // "tuner"
addKey("TapeB-Rev", Unmapped_Key, 0xDE, 8);
}
addKey("tuner-fm-mute", Unmapped_Key, 0x37, 8);
addKey("tuner-blend", Unmapped_Key, 0x35, 8);
- addKey("tuner-am-fm-dab", TunerBand_Key, 0xDD, 8);
+ addKey("tuner-am-fm-dab", TunerInput_Key, 0xDD, 8);
addKey("Standby", Power_Key, 0x80, 8); // "RCVR_POWER"
addKey("VolumeUp", VolumeUp_Key, 0x88, 8);
addKey("CH9", Nine_Key, 0x09, 8);
addKey("CHUP", Up_Key, 0x0A, 8);
addKey("CHDN", Down_Key, 0x0B, 8);
- addKey("TIMER_REC", Timer_Key, 0x0D, 8);
+ addKey("TIMER_REC", RecordTimed_Key, 0x0D, 8);
addKey("AUDIOSELECT", Audio_Key, 0x0E, 8);
addKey("CH10+", DoubleDigit_Key, 0x0F, 8);
addKey("TVVCR", Input_Key, 0x12, 8);
addKey("POWER", Power_Key, 0x13, 8);
- addKey("INDEX", Unmapped_Key, 0x14, 8);
+ addKey("INDEX", IndexSearch_Key, 0x14, 8);
addKey("RECOTR", Record_Key, 0x15, 8);
addKey("PLAY", Play_Key, 0x16, 8);
addKey("STOP", Stop_Key, 0x17, 8);
addKey("REW", Rewind_Key, 0x19, 8);
addKey("PAUSESTILL", Pause_Key, 0x1A, 8);
addKey("CLOCKSET", Unmapped_Key, 0x1C, 8);
- addKey("SHOWVIEW", Unmapped_Key, 0x1D, 8);
+ addKey("SHOWVIEW", Unmapped_Key, 0x1D, 8); // vhsplus+, etc.
addKey("SPEEDSPLP", VHSSpeed_Key, 0x1E, 8);
addKey("PRESET", Unmapped_Key, 0x40, 8);
addKaseikyoKey("INFO", Info_Key, 0x009, 0x39);
addKaseikyoKey("-/--", DoubleDigit_Key, 0x009, 0x3B);
addKaseikyoKey("POWER", Power_Key, 0x009, 0x3D);
- addKaseikyoKey("INDEX", Unmapped_Key, 0x009, 0x40);
+ addKaseikyoKey("INDEX", IndexSearch_Key, 0x009, 0x40);
addKaseikyoKey("time_search", Unmapped_Key, 0x009, 0x44);
- addKaseikyoKey("INDEXL", Unmapped_Key, 0x009, 0x49);
- addKaseikyoKey("INDEXR", Unmapped_Key, 0x009, 0x4A);
+ addKaseikyoKey("INDEXL", Previous_Key, 0x009, 0x49);
+ addKaseikyoKey("INDEXR", Next_Key, 0x009, 0x4A);
addKaseikyoKey("mem_rep", Unmapped_Key, 0x009, 0x53);
addKaseikyoKey("COUNTER_RESET", Unmapped_Key, 0x009, 0x54);
addKaseikyoKey("TAPE_REMAIN", Unmapped_Key, 0x009, 0x55);
addKaseikyoKey("TRACKING_AUTO", AutoTracking_Key, 0x009, 0xB0);
addKaseikyoKey("TRACKING_PLUS", TrackingPlus_Key, 0x009, 0xB1);
addKaseikyoKey("TRACKING_MINUS", TrackingMinus_Key, 0x009, 0xB2);
- addKaseikyoKey("TIMERREC", Timer_Key, 0x009, 0xB4);
+ addKaseikyoKey("TIMERREC", RecordTimed_Key, 0x009, 0xB4);
addKaseikyoKey("AV", Unmapped_Key, 0x009, 0xC0);
addKaseikyoKey("DIRECT_TV_REC", Unmapped_Key, 0x009, 0xC2);
addKaseikyoKey("mesecam", Unmapped_Key, 0x009, 0xC9);
addKaseikyoKey("rotatedown", Unmapped_Key, 0x019, 0x03);
addKaseikyoKey("set", Unmapped_Key, 0x019, 0x04);
addKaseikyoKey("clear", Unmapped_Key, 0x019, 0x05);
- addKaseikyoKey("VPS/PDC", Unmapped_Key, 0x019, 0x06);
+ addKaseikyoKey("VPS/PDC", RecordPDC_Key, 0x019, 0x06);
addKaseikyoKey("OffTimer", Sleep_Key, 0x019, 0x08);
addKaseikyoKey("CANCEL", Clear_Key, 0x019, 0x09);
addKaseikyoKey("SPEED", VHSSpeed_Key, 0x019, 0x0A);
addKaseikyoKey("RADIO_TUNE", Unmapped_Key, 0x019, 0x38);
addKaseikyoKey("MENU", Menu_Key, 0x019, 0x56);
addKaseikyoKey("OK", Select_Key, 0x019, 0x58);
- addKaseikyoKey("SHOWVIEW", Unmapped_Key, 0x019, 0x5D);
+ addKaseikyoKey("SHOWVIEW", Unmapped_Key, 0x019, 0x5D); // vhsplus+, etc.
addKaseikyoKey("DISPLAY", Unmapped_Key, 0x019, 0x5F);
addKaseikyoKey("EXIT", Exit_Key, 0x019, 0x66);
addKaseikyoKey("CHECK+", Unmapped_Key, 0x019, 0x90);
addKaseikyoKey("OSD", Info_Key, 0x009, 0x57);
addKaseikyoKey("AV", Input_Key, 0x009, 0xC0);
- addKaseikyoKey("DISPLAY", Info_Key, 0x019, 0x5F);
+ addKaseikyoKey("DISPLAY", Unmapped_Key, 0x019, 0x5F);
}
addPanOldKey("PLAY", Play_Key, 0x02, 0x0A);
addPanOldKey("REV_PLAY", Unmapped_Key, 0x02, 0x0B);
addPanOldKey("F.ADV", StepForward_Key, 0x02, 0x0C);
- addPanOldKey("x2", Unmapped_Key, 0x02, 0x0E);
+ addPanOldKey("x2", PlayX2_Key, 0x02, 0x0E);
addPanOldKey("SLOW", Slow_Key, 0x02, 0x0F);
addPanOldKey("1", One_Key, 0x02, 0x10);
addPanOldKey("2", Two_Key, 0x02, 0x11);
addPanOldKey("MEMORY_SEARCH", Memory_Key, 0x02, 0x32);
addPanOldKey("RESET_INDEX", Reset_Key, 0x02, 0x33);
addPanOldKey("INTRO_SCAN", Unmapped_Key, 0x02, 0x34);
- addPanOldKey("timer_rec", Timer_Key, 0x02, 0x36);
+ addPanOldKey("timer_rec", RecordTimed_Key, 0x02, 0x36);
addPanOldKey("AUDIO-SELECT", Audio_Key, 0x02, 0x3D);
- addPanOldKey("VPS", VHSSpeed_Key, 0x03, 0x06); // Might be wrong
+ addPanOldKey("VPS", RecordPDC_Key, 0x03, 0x06);
addPanOldKey("prog", Program_Key, 0x03, 0x2C);
addPanOldKey("next", Next_Key, 0x03, 0x3A);
addKaseikyoKey("vol+", VolumeUp_Key, 0xC2A, 0xB0);
addKaseikyoKey("vol-", VolumeDown_Key, 0xC2A, 0xB1);
addKaseikyoKey("cd", CDInput_Key, 0xC2A, 0xB6);
- addKaseikyoKey("tuner-band", TunerBand_Key, 0xC2A, 0xB8);
+ addKaseikyoKey("tuner-band", TunerInput_Key, 0xC2A, 0xB8);
addKaseikyoKey("sleep", Sleep_Key, 0xC2A, 0xBC);
addKaseikyoKey("power", Power_Key, 0xC2A, 0xBF);
addKey("-/--", DoubleDigit_Key, 0x114A, 13);
addKey("100", PlusOneHundred_Key, 0x114A, 13);
addKey("VCR-Dash", Dash_Key, 0x114A, 13);
- addKey("Index", Unmapped_Key, 0x0170, 13);
+ addKey("Index", IndexSearch_Key, 0x0170, 13);
addKey("reset", Reset_Key, 0x1171, 13); // "clear"
addKey("play<", Unmapped_Key, 0x116F, 13);
- addKey("x>", Unmapped_Key, 0x116A, 13); // "X2_PLAY"
+ addKey("x>", PlayX2_Key, 0x116A, 13); // "X2_PLAY"
addKey("speed", VHSSpeed_Key, 0x117A, 13); // "SP/LP"
addKey("Childlock", Unmapped_Key, 0x017F, 13);
addKey("System", Unmapped_Key, 0x094A, 13);
addKey("Previous", Previous_Key, 0x0171, 13);
addKey("Next", Next_Key, 0x0170, 13);
addKey("SET_CLOCK", Unmapped_Key, 0x1164, 13);
- addKey("VPS", Unmapped_Key, 0x114B, 13);
+ addKey("VPS", RecordPDC_Key, 0x114B, 13);
addKey("Cassette", Eject_Key, 0x017E, 13);
addKey("DECODER", Unmapped_Key, 0x0169, 13);
addKey("Tuner", TunerInput_Key, 0x017D, 13);
addKey("Monitor", Unmapped_Key, 0x017A, 13);
addKey("SYSTEM", Unmapped_Key, 0x014A, 13);
addKey("REC_MODE", Unmapped_Key, 0x115E, 13);
- addKey("SHOWVIEW", Unmapped_Key, 0x0145, 13);
+ addKey("SHOWVIEW", Unmapped_Key, 0x0145, 13); // vhsplus+, etc.
addKey("DW", Unmapped_Key, 0x0144, 13); // "D/W"
addKey("SPEED-", SlowMinus_Key, 0x1165, 13);
addKey("SPEED+", SlowPlus_Key, 0x1166, 13);
addKey("tuner_next", Next_Key, 0x1460, 13); // "presetUp"
addKey("tuner_previous", Previous_Key, 0x1461, 13); // "presetDown"
addKey("tuner_program", Program_Key, 0x047A, 13); // Create Preset
- addKey("tuner", TunerBand_Key, 0x147F, 13);
+ addKey("tuner", TunerInput_Key, 0x147F, 13);
addKey("tape_power", Unmapped_Key, 0x148C, 13);
addKey("tape_next", Unmapped_Key, 0x14A0, 13);
addKey("tape_previous", Unmapped_Key, 0x14A1, 13);
addNECKey("12/CLR", Clear_Key, 0xA6, 0x41);
addNECKey("cd", CDInput_Key, 0xA6, 0x44); // "CD_PLAY"
addNECKey("scan", Scan_Key, 0xA6, 0x48);
- addNECKey("FM/AM", TunerBand_Key, 0xA6, 0x49); // "BAND"
+ addNECKey("FM/AM", TunerInput_Key, 0xA6, 0x49); // "BAND"
addNECKey("aux", AuxInput_Key, 0xA6, 0x4C);
addNECKey("TAPE1_PLAY", Unmapped_Key, 0xA6, 0x5A);
addNECKey("KARAOKE", Unmapped_Key, 0xA6, 0x69);
addNECKey("am", Unmapped_Key, 0xA4, 0x0E);
addNECKey("tuner_station+", NextPreset_Key, 0xA4, 0x10);
addNECKey("tuner_station-", PrevPreset_Key, 0xA4, 0x11);
- addNECKey("tuner_band", TunerBand_Key, 0xA4, 0x13);
+ addNECKey("tuner_band", AM_Key, 0xA4, 0x13); // This is a hack
+ addNECKey("tuner_band", FM_Key, 0xA4, 0x13); // This too
addNECKey("tuner_power", Unmapped_Key, 0xA4, 0x1C);
addNECKey("mpx", Unmapped_Key, 0xA4, 0x1E); // Toggle mono FM
addNECKey("tunerclass", Unmapped_Key, 0xA4, 0x40); // class A, B, C
addKey("POWER", Power_Key, 0x9867, 16);
addKey("MONO", FMMode_Key, 0x48B7, 16);
addKey("MEM_SCAN", Unmapped_Key, 0x8877, 16);
- addKey("TUNER_BAND", TunerBand_Key, 0x18E7, 16);
+ addKey("TUNER_BAND", AM_Key, 0x18E7, 16); // This is a hack
+ addKey("TUNER_BAND", FM_Key, 0x18E7, 16); // This too
addKey("1", One_Key, 0x00FF, 16);
addKey("2", Two_Key, 0x807F, 16);
addKey("3", Three_Key, 0x40BF, 16);
addKey("Clock", Unmapped_Key, 0x38, 7); // "C"
addKey("Menu", Menu_Key, 0x39, 7); // "Install"
addKey("Ch.setup", Unmapped_Key, 0x3B, 7); // "B"
- addKey("Mark", Unmapped_Key, 0x3C, 7);
- addKey("Scan/Erase", Unmapped_Key, 0x3D, 7); // "Index"
+ addKey("Mark", IndexMark_Key, 0x3C, 7);
+ addKey("Scan/Erase", IndexSearch_Key, 0x3D, 7); // "Index"
}
addKey("Eject", Eject_Key, 0x20, 8);
addKey("auto_track", AutoTracking_Key, 0x21, 8); // "A.TRK"
addKey("Captions", Captions_Key, 0x22, 8);
- addKey("BAND", TunerBand_Key, 0x23, 8);
+ addKey("BAND", TunerInput_Key, 0x23, 8);
addKey("input", Unmapped_Key, 0x24, 8);
addKey("shift", Unmapped_Key, 0x25, 8);
addKey("100+", PlusOneHundred_Key, 0x26, 8);
addKey("Down", Down_Key, 0x29, 8); // "erase"
- addKey("mark/search", Unmapped_Key, 0x2B, 8); // "index"
+ addKey("mark/search", IndexSearch_Key, 0x2B, 8); // "index"
addKey("trk_up", TrackingPlus_Key, 0x2C, 8); // "FINE_UP"
addKey("trk_down", TrackingMinus_Key, 0x2D, 8); // "FINE_DOWN"
addKey("dub", Unmapped_Key, 0x2E, 8);
addKey("SYSTEM", Unmapped_Key, 0x32, 8);
addKey("CLK_COUNT", Unmapped_Key, 0x33, 8); // "clk/cnt"
addKey("PRESET", Unmapped_Key, 0x35, 8);
- addKey("VPS", Unmapped_Key, 0x38, 8);
+ addKey("VPS", RecordPDC_Key, 0x38, 8);
addKey("progressive/speed", VHSSpeed_Key, 0x3A, 8); // "SP-LP"
addKey("Q_PRO", Unmapped_Key, 0x3D, 8);
addKey("3", Three_Key, 0x06, 8);
addKey("4", Four_Key, 0x07, 8);
addKey("TV/VCR", Input_Key, 0x08, 8);
- addKey("x2", Unmapped_Key, 0x0B, 8);
+ addKey("x2", PlayX2_Key, 0x0B, 8);
addKey("5", Five_Key, 0x0C, 8);
addKey("6", Six_Key, 0x0D, 8);
addKey("7", Seven_Key, 0x0E, 8);
addKey("FF", FastForward_Key, 0x13, 8);
addKey("Play", Play_Key, 0x14, 8);
addKey("Rec", Record_Key, 0x15, 8);
- addKey("Index", Unmapped_Key, 0x19, 8);
+ addKey("Index", IndexSearch_Key, 0x19, 8);
addKey("Slow", Slow_Key, 0x1A, 8);
addKey("+100", PlusOneHundred_Key, 0x1B, 8);
addKey("9", Nine_Key, 0x1C, 8);
addKey("0", Zero_Key, 0x1D, 8);
addKey("Input", Unmapped_Key, 0x1E, 8); // need a subclass for this?
- addKey("ATR", Unmapped_Key, 0x1F, 8);
+ addKey("ATR", AutoTracking_Key, 0x1F, 8);
addKey("Memory", Memory_Key, 0x43, 8); // "->0<-"
addKey("Reset", Reset_Key, 0x44, 8);
addKey("PROG", Program_Key, 0x46, 8);
addKey("Cancel", Clear_Key, 0x4A, 8);
addKey("Ok", Select_Key, 0x4B, 8);
addKey("Display", Info_Key, 0x4C, 8);
- addKey("VPS", Unmapped_Key, 0x4F, 8); // "vps/pdc", "dpc"
+ addKey("VPS", RecordPDC_Key, 0x4F, 8); // "vps/pdc", "dpc"
addKey("Monitor", Unmapped_Key, 0x51, 8);
addKey("Clock", Clock_Key, 0x56, 8);
addKey("Power", Power_Key, 0x5B, 8);
addKey("SP/LP", VHSSpeed_Key, 0x5E, 8);
- addKey("ShowView", Unmapped_Key, 0x8C, 8);
+ addKey("ShowView", Unmapped_Key, 0x8C, 8); // vhsplus+, etc.
addKey("Right", Right_Key, 0x94, 8);
addKey("Left", Left_Key, 0x95, 8);
addKey("Down", Down_Key, 0x96, 8);
addSharpKey("Stop", Stop_Key, 0x01, 0x27);
addSharpKey("REC", Record_Key, 0x01, 0x28);
addSharpKey("Slow", Slow_Key, 0x01, 0x29);
- addSharpKey("DPSS+", Unmapped_Key, 0x01, 0x2F);
+ addSharpKey("DPSS+", SlowPlus_Key, 0x01, 0x2F);
+ addSharpKey("DPSS+", Next_Key, 0x01, 0x2F);
- addSharpKey("DPSS-", Unmapped_Key, 0x01, 0x30);
+ addSharpKey("DPSS-", SlowMinus_Key, 0x01, 0x30);
+ addSharpKey("DPSS-", Previous_Key, 0x01, 0x30);
addSharpKey("Input", Input_Key, 0x01, 0x34);
addSharpKey("ZeroBack", Unmapped_Key, 0x01, 0x83);
addSharpKey("SkipSearch", Advance_Key, 0x01, 0x90);
addSharpKey("Slow", Slow_Key, 0x03, 0x29);
addSharpKey("CLOCK", Clock_Key, 0x03, 0x2C);
addSharpKey("DPSS+", SlowPlus_Key, 0x03, 0x2F); // "slow+"
+ addSharpKey("DPSS+", Next_Key, 0x03, 0x2F);
addSharpKey("DPSS-", SlowMinus_Key, 0x03, 0x30); // "slow-"
- addSharpKey("x2", Unmapped_Key, 0x03, 0x31);
+ addSharpKey("DPSS-", Previous_Key, 0x03, 0x30); // "slow-"
+ addSharpKey("x2", PlayX2_Key, 0x03, 0x31);
addSharpKey("EJECT", Eject_Key, 0x03, 0x33);
addSharpKey("InputSelect", Input_Key, 0x03, 0x34); // "simul"
- addSharpKey("SEARCH", Unmapped_Key, 0x03, 0x37);
+ addSharpKey("SEARCH", IndexSearch_Key, 0x03, 0x37);
addSharpKey("ZeroBack", Unmapped_Key, 0x03, 0x83); // "MEMORY"
addSharpKey("cancel", Unmapped_Key, 0x03, 0x84); // could be exit key
addSharpKey("TRACKING_UP", TrackingPlus_Key, 0x03, 0x85);
addSIRC12Key("DSG", Unmapped_Key, 0x0C, 0x31);
addSIRC12Key("MEMORY", Program_Key, 0x0D, 0x0E);
- addSIRC12Key("TUNER-BAND", TunerBand_Key, 0x0D, 0x0F);
+ addSIRC12Key("TUNER-BAND", TunerInput_Key, 0x0D, 0x0F);
addSIRC12Key("TUNING_MODE", Unmapped_Key, 0x0D, 0x17);
addSIRC12Key("STEREO-MONO", FMMode_Key, 0x0D, 0x21);
addSIRC12Key("REC", Record_Key, 0x0E, 0x1E);
addSIRC12Key("TAPE", TapeInput_Key, 0x0E, 0x34);
- addSIRC12Key("tuner", TunerInput_Key, 0x10, 0x0F); // "Tune Up"
+ addSIRC12Key("tuner", ChannelUp_Key, 0x10, 0x0F); // "Tune Up"
addSIRC12Key("VOL+", VolumeUp_Key, 0x10, 0x12);
addSIRC12Key("VOL-", VolumeDown_Key, 0x10, 0x13);
addSIRC12Key("ON-OFF", Power_Key, 0x10, 0x15);
SonyDVD2::SonyDVD2(
unsigned int index)
: PIRKeysetMetaData(
- "DVD Keyset 1",
+ "DVD Keyset 2",
Sony_Make,
index)
{
--- /dev/null
+#include "sylvania.h"
+#include "protocols/necprotocol.h"
+
+SylvaniaTV1::SylvaniaTV1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "TV Keyset 1",
+ Sylvania_Make,
+ index)
+{
+ addControlledDevice(Sylvania_Make, "6513DD", TV_Device);
+ addControlledDevice(Sylvania_Make, "6519DD", TV_Device);
+}
+
+
+void SylvaniaTV1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, true);
+
+ setPreData(0x2287, 16);
+
+ addKey("A-B", RepeatAB_Key, 0x43, 8);
+ addKey("open close", Eject_Key, 0x44, 8);
+ addKey("rewind", Rewind_Key, 0x52, 8);
+ addKey("fast fwd", FastForward_Key, 0x53, 8);
+ addKey("pause", Pause_Key, 0x5B, 8);
+ addKey("mode", Mode_Key, 0x5C, 8);
+ addKey("f.rew/prev track", Previous_Key, 0x5D, 8);
+ addKey("play", Play_Key, 0x5E, 8);
+ addKey("f.fwd/next track", Next_Key, 0x5F, 8);
+ addKey("stop", Stop_Key, 0x60, 8);
+ addKey("title", DiscTitle_Key, 0x70, 8);
+ addKey("repeat", Repeat_Key, 0x70, 8);
+ addKey("menu", DiscMenu_Key, 0x71, 8);
+ addKey("select", Select_Key, 0x72, 8);
+ addKey("return", Exit_Key, 0x72, 8);
+ addKey("last (prev ch)", PrevChannel_Key, 0x73, 8);
+ addKey("angle", Angle_Key, 0x79, 8);
+ addKey("subtitle", Captions_Key, 0x7A, 8);
+ addKey("audio", Audio_Key, 0x7B, 8);
+ addKey("v.surr", Surround_Key, 0x81, 8);
+ addKey("right arrow", Right_Key, 0xC6, 8);
+ addKey("left arrow", Left_Key, 0xC7, 8);
+ addKey("channel down", ChannelDown_Key, 0xC8, 8);
+ addKey("picture", PictureMode_Key, 0xC9, 8);
+ addKey("sleep", Sleep_Key, 0xCB, 8);
+ addKey("select", Unmapped_Key, 0xCD, 8); // Two select keys?
+ addKey("display", Info_Key, 0xCF, 8);
+ addKey("channel up", ChannelUp_Key, 0xD0, 8);
+ addKey("1", One_Key, 0xDF, 8);
+ addKey("power", Power_Key, 0xE0, 8);
+ addKey("2", Two_Key, 0xE1, 8);
+ addKey("3", Three_Key, 0xE2, 8);
+ addKey("4", Four_Key, 0xE3, 8);
+ addKey("5", Five_Key, 0xE4, 8);
+ addKey("6", Six_Key, 0xE5, 8);
+ addKey("7", Seven_Key, 0xE6, 8);
+ addKey("8", Eight_Key, 0xE7, 8);
+ addKey("9", Nine_Key, 0xE8, 8);
+ addKey("0", Zero_Key, 0xE9, 8);
+ addKey("+10", DoubleDigit_Key, 0xEC, 8);
+ addKey("+100", PlusOneHundred_Key, 0xEC, 8);
+ addKey("setup", Unmapped_Key, 0xEF, 8);
+ addKey("search mode", Unmapped_Key, 0xEF, 8);
+ addKey("vol up", VolumeUp_Key, 0xF0, 8);
+ addKey("vol down", VolumeDown_Key, 0xF1, 8);
+ addKey("mute", Mute_Key, 0xF3, 8);
+ addKey("up arrow", Up_Key, 0xF6, 8);
+ addKey("down arrow", Down_Key, 0xF7, 8);
+}
--- /dev/null
+#ifndef SYLVANIA_H
+#define SYLVANIA_H
+
+#include "pirkeysetmetadata.h"
+
+class QObject;
+
+class SylvaniaTV1: public PIRKeysetMetaData
+{
+public:
+ SylvaniaTV1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+#endif // SYLVANIA_H
addKaseikyoKey("CD", CDInput_Key, 0x005, 0x94);
addKaseikyoKey("AUTO/MONO", FMMode_Key, 0x045, 0x33);
- addKaseikyoKey("TUNER/BAND", TunerBand_Key, 0x045, 0xA4);
+ addKaseikyoKey("TUNER/BAND", TunerInput_Key, 0x045, 0xA4);
addKaseikyoKey("DECKSTOP", Unmapped_Key, 0x085, 0x00);
addKaseikyoKey("DECK<<", Unmapped_Key, 0x085, 0x02);
addKaseikyoKey("muting", Mute_Key, 0x00A, 0x32);
addKaseikyoKey("VCR/VDP", VCRInput_Key, 0x00A, 0x86);
addKaseikyoKey("phono", PhonoInput_Key, 0x00A, 0x90);
- addKaseikyoKey("Amp.Tuner", TunerInput_Key, 0x00A, 0x92);
+ addKaseikyoKey("Amp.Tuner", Unmapped_Key, 0x00A, 0x92);
addKaseikyoKey("cd", CDInput_Key, 0x00A, 0x94);
addKaseikyoKey("tape", TapeInput_Key, 0x00A, 0x96);
addKaseikyoKey("TAPE2", Unmapped_Key, 0x00A, 0x97);
addKaseikyoKey("auto/mono", FMMode_Key, 0x04A, 0x33);
addKaseikyoKey("Tuner.Preset.up", ChannelUp_Key, 0x04A, 0x34);
addKaseikyoKey("Tuner.Preset.down", ChannelDown_Key, 0x04A, 0x35);
- addKaseikyoKey("tuner/band", TunerBand_Key, 0x04A, 0xA4);
+ addKaseikyoKey("tuner/band", TunerInput_Key, 0x04A, 0xA4);
addKaseikyoKey("tape_stop", Unmapped_Key, 0x08A, 0x00);
addKaseikyoKey("tape_open/close", Unmapped_Key, 0x08A, 0x01);
addKey("RED", Red_Key, 0x39, 7); // "vcr_Lock"
addKey("GREEN", Green_Key, 0x3B, 7);
addKey("vcr_timer", Timer_Key, 0x3B, 7);
- addKey("INDEX_MARK", Unmapped_Key, 0x3C, 7); // "vcr_zoom"?
+ addKey("INDEX_MARK", IndexSearch_Key, 0x3C, 7);
addKey("Reset_counter", Reset_Key, 0x3D, 7);
addKey("EXIT", Exit_Key, 0x3E, 7); // "vcr_clear" -- need child keyset?
}
addKey("trackBack", Previous_Key, 0x90, 8);
addKey("volUp", VolumeUp_Key, 0x91, 8);
addKey("soundEffect", Unmapped_Key, 0x93, 8);
- addKey("band", TunerBand_Key, 0x94, 8);
+ addKey("band", TunerInput_Key, 0x94, 8);
addKey("mode", Mode_Key, 0x95, 8);
addKey("select", Select_Key, 0x99, 8); // ?
addKey("presUp", ChannelUp_Key, 0x9C, 8);
--- /dev/null
+#include "triax.h"
+#include "protocols/rc5protocol.h"
+#include "protocols/necprotocol.h"
+
+TriaxSTB1::TriaxSTB1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Satellite Receiver 1",
+ Triax_Make,
+ index)
+{
+ addControlledDevice(Triax_Make, "DVB 40S", Other_Device);
+}
+
+
+void TriaxSTB1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new RC5Protocol(guiObject, index);
+
+ addKey("Power", Power_Key, 0x128C, 13);
+ addKey("1", One_Key, 0x1281, 13);
+ addKey("2", Two_Key, 0x1282, 13);
+ addKey("3", Three_Key, 0x1283, 13);
+ addKey("4", Four_Key, 0x1284, 13);
+ addKey("5", Five_Key, 0x1285, 13);
+ addKey("6", Six_Key, 0x1286, 13);
+ addKey("7", Seven_Key, 0x1287, 13);
+ addKey("8", Eight_Key, 0x1288, 13);
+ addKey("9", Nine_Key, 0x1289, 13);
+ addKey("0", Zero_Key, 0x1280, 13);
+ addKey("Mute", Mute_Key, 0x0286, 13);
+ addKey("Help", Unmapped_Key, 0x128F, 13);
+ addKey("Left", Left_Key, 0x0295, 13);
+ addKey("Right", Right_Key, 0x0296, 13);
+ addKey("Up", Up_Key, 0x0290, 13);
+ addKey("Down", Down_Key, 0x0291, 13);
+ addKey("Guide", Guide_Key, 0x028F, 13);
+ addKey("Menu", Menu_Key, 0x02AA, 13);
+ addKey("TV/Sat", Input_Key, 0x12A8, 13);
+ addKey("Plus", Unmapped_Key, 0x12AF, 13);
+}
+
+
+TriaxSTB2::TriaxSTB2(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Satellite Receiver 2",
+ Triax_Make,
+ index)
+{
+}
+
+
+void TriaxSTB2::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, true);
+
+ setPreData(0xDF00, 16);
+
+ addKey("f2", Unmapped_Key, 0x00, 8);
+ addKey("3", Three_Key, 0x01, 8);
+ addKey("channel up", ChannelUp_Key, 0x02, 8);
+ addKey("menu", Menu_Key, 0x03, 8);
+ addKey("2", Two_Key, 0x05, 8);
+ addKey("satellite", Input_Key, 0x06, 8);
+ addKey("1", One_Key, 0x09, 8);
+ addKey("select", Select_Key, 0x0A, 8);
+ addKey("vol down", VolumeDown_Key, 0x0B, 8);
+ addKey("power", Power_Key, 0x0C, 8);
+ addKey("vol up", VolumeUp_Key, 0x0D, 8);
+ addKey("f1", Unmapped_Key, 0x0E, 8);
+ addKey("f0", Unmapped_Key, 0x0F, 8);
+ addKey("info", Info_Key, 0x10, 8);
+ addKey("blue", Blue_Key, 0x10, 8);
+ addKey("audio", Audio_Key, 0x14, 8);
+ addKey("yellow", Yellow_Key, 0x14, 8);
+ addKey("sleep", Sleep_Key, 0x18, 8);
+ addKey("green", Green_Key, 0x18, 8);
+ addKey("tv/radio", TunerInput_Key, 0x1A, 8);
+ addKey("mosaic", PIP_Key, 0x1C, 8);
+ addKey("red", Red_Key, 0x1C, 8);
+ addKey("channel down", ChannelDown_Key, 0x1E, 8);
+ addKey("right arrow", Right_Key, 0x40, 8);
+ addKey("0", Zero_Key, 0x41, 8);
+ addKey("9", Nine_Key, 0x42, 8);
+ addKey("6", Six_Key, 0x43, 8);
+ addKey("up arrow", Up_Key, 0x44, 8);
+ addKey("teletext", Teletext_Key, 0x45, 8);
+ addKey("8", Eight_Key, 0x46, 8);
+ addKey("5", Five_Key, 0x47, 8);
+ addKey("down arrow", Down_Key, 0x48, 8);
+ addKey("exit", Exit_Key, 0x49, 8);
+ addKey("7", Seven_Key, 0x4A, 8);
+ addKey("4", Four_Key, 0x4B, 8);
+ addKey("left arrow", Left_Key, 0x4C, 8);
+ addKey("zoom", Zoom_Key, 0x50, 8);
+ addKey("mute", Mute_Key, 0x55, 8);
+ addKey("prev track", Previous_Key, 0x57, 8);
+ addKey("last (prev ch)", PrevChannel_Key, 0x59, 8);
+ addKey("next track", Next_Key, 0x5B, 8);
+ addKey("fav", Favorites_Key, 0x5C, 8);
+ addKey("program guide", Guide_Key, 0x5D, 8);
+}
+
+
+TriaxSTB2a::TriaxSTB2a(
+ unsigned int index)
+ : TriaxSTB2(index)
+{
+ setKeysetName("Satellite Receiver 2a");
+}
+
+
+void TriaxSTB2a::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ TriaxSTB2::populateProtocol(guiObject);
+
+ setPreData(0x6681, 16);
+}
--- /dev/null
+#ifndef TRIAX_H
+#define TRIAX_H
+
+#include "pirkeysetmetadata.h"
+
+class QObject;
+
+class TriaxSTB1: public PIRKeysetMetaData
+{
+public:
+ TriaxSTB1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+class TriaxSTB2: public PIRKeysetMetaData
+{
+public:
+ TriaxSTB2(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+class TriaxSTB2a: public TriaxSTB2
+{
+public:
+ TriaxSTB2a(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+#endif // TRIAX_H
addKey("play", Play_Key, 0x14, 8);
addKey("rec", Record_Key, 0x15, 8);
addKey("type", Unmapped_Key, 0x18, 8);
- addKey("index", Unmapped_Key, 0x19, 8);
+ addKey("index", IndexSearch_Key, 0x19, 8);
addKey("slow", Slow_Key, 0x1A, 8);
addKey("9", Nine_Key, 0x1C, 8);
addKey("0", Zero_Key, 0x1D, 8);
addKey("clear", Clear_Key, 0x4A, 8);
addKey("ok", Select_Key, 0x4B, 8);
addKey("display", Info_Key, 0x4C, 8);
- addKey("dpc_plus/vps/pdc", Unmapped_Key, 0x4F, 8);
+ addKey("dpc_plus/vps/pdc", RecordPDC_Key, 0x4F, 8);
addKey("Surround", Surround_Key, 0x50, 8);
addKey("remain", Unmapped_Key, 0x57, 8);
addKey("power", Power_Key, 0x5B, 8);
addKey("sp/lp", VHSSpeed_Key, 0x5E, 8);
- addKey("showview", Unmapped_Key, 0x8C, 8);
+ addKey("showview", Unmapped_Key, 0x8C, 8); // vhsplus+, etc.
addKey("pip", PIP_Key, 0x8D, 8);
addKey("strobe", Unmapped_Key, 0x9A, 8);
addKey("preset", Unmapped_Key, 0x9E, 8);
addKey("0", Zero_Key, 0x1140, 13);
addKey("+", ChannelUp_Key, 0x1160, 13);
addKey("-", ChannelDown_Key, 0x1161, 13);
- addKey("SEL/VPS", Unmapped_Key, 0x114B, 13);
+ addKey("SEL/VPS", RecordPDC_Key, 0x114B, 13);
addKey("CLEAR", Clear_Key, 0x1171, 13);
addKey("RECORD", Record_Key, 0x1177, 13);
addKey("STILL", Pause_Key, 0x1169, 13);
addKey("once", Unmapped_Key, 0x58, 8);
addKey("daily", Unmapped_Key, 0x49, 8);
addKey("weekly", Unmapped_Key, 0x4D, 8);
- addKey("timer_rec", Unmapped_Key, 0x0D, 8);
+ addKey("timer_rec", RecordTimed_Key, 0x0D, 8);
addKey("clock_counter", Unmapped_Key, 0x51, 8);
- addKey("aft_vps", Unmapped_Key, 0x46, 8);
+ addKey("aft_vps", RecordPDC_Key, 0x46, 8);
addKey("preset", Unmapped_Key, 0x40, 8);
addKey("memory", Memory_Key, 0x4B, 8);
addKey("reset", Reset_Key, 0x4C, 8);
setPreData(0x1010, 16);
- addKey("FM", TunerBand_Key, 0x00, 8);
- addKey("MW", Unmapped_Key, 0x01, 8);
- addKey("LW", Unmapped_Key, 0x02, 8);
+ addKey("FM", FM_Key, 0x00, 8);
+ addKey("MW", AM_Key, 0x01, 8);
+ addKey("LW", LW_Key, 0x02, 8);
addKey("CDP", CDInput_Key, 0x03, 8);
addKey("CD_PLAY", Play_Key, 0x04, 8);
addKey("CD_STOP", Stop_Key, 0x05, 8);
--- /dev/null
+#include "viewsonic.h"
+#include "protocols/necprotocol.h"
+
+ViewsonicProjector1::ViewsonicProjector1(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Projector Keyset 1",
+ Viewsonic_Make,
+ index)
+{
+ addControlledDevice(Viewsonic_Make, "PJ750", Other_Device);
+}
+
+
+void ViewsonicProjector1::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, true);
+
+ setPreData(0x4587, 16);
+
+ addKey("power", Power_Key, 0x17, 8);
+ addKey("RGB", Unmapped_Key, 0x18, 8);
+ addKey("video", PictureMode_Key, 0x19, 8);
+ addKey("menu", Menu_Key, 0x20, 8);
+ addKey("select", Select_Key, 0x21, 8);
+ addKey("reset", Reset_Key, 0x22, 8);
+ addKey("auto", Unmapped_Key, 0x24, 8);
+ addKey("up", Up_Key, 0x28, 8);
+ addKey("right", Right_Key, 0x2A, 8);
+ addKey("down", Down_Key, 0x2C, 8);
+ addKey("left", Left_Key, 0x2E, 8);
+ addKey("position", Unmapped_Key, 0x30, 8);
+ addKey("blank screen", Unmapped_Key, 0x41, 8);
+ addKey("vol-", VolumeDown_Key, 0x50, 8);
+ addKey("vol+", VolumeUp_Key, 0x51, 8);
+ addKey("mute", Mute_Key, 0x52, 8);
+ addKey("magnify+", Unmapped_Key, 0xB1, 8);
+ addKey("magnify-", Unmapped_Key, 0xB2, 8);
+ addKey("magnify off", Unmapped_Key, 0xB3, 8);
+ addKey("freeze", Pause_Key, 0xB4, 8);
+ addKey("keystone", Unmapped_Key, 0xB6, 8);
+}
+
+
+ViewsonicProjector2::ViewsonicProjector2(
+ unsigned int index)
+ : PIRKeysetMetaData(
+ "Projector Keyset 2",
+ Viewsonic_Make,
+ index)
+{
+ addControlledDevice(Viewsonic_Make, "PJ250", Other_Device);
+}
+
+
+void ViewsonicProjector2::populateProtocol(
+ QObject *guiObject)
+{
+ if (threadableProtocol)
+ {
+ // Keyset already populated.
+ return;
+ }
+
+ threadableProtocol = new NECProtocol(guiObject, index, true, true);
+
+ setPreData(0x1586, 16);
+
+ addKey("7", Seven_Key, 0x03, 8);
+ addKey("Video", AuxInput_Key, 0x03, 8);
+ addKey("5", Five_Key, 0x04, 8);
+ addKey("RGB", ComponentInput_Key, 0x04, 8);
+ addKey("4", Four_Key, 0x05, 8);
+ addKey("Digital", PCInput_Key, 0x05, 8);
+ addKey("tv/vcr", Input_Key, 0x06, 8);
+ addKey("Power On", Power_Key, 0x08, 8);
+ addKey("0", Zero_Key, 0x10, 8);
+ addKey("Aspect", AspectRatio_Key, 0x10, 8);
+ addKey("sleep", Sleep_Key, 0x14, 8);
+ addKey("select", Select_Key, 0x17, 8);
+ addKey("exit", Exit_Key, 0x25, 8);
+ addKey("9", Nine_Key, 0x2B, 8);
+ addKey("YCbCr", Unmapped_Key, 0x2B, 8);
+ addKey("6", Six_Key, 0x2C, 8);
+ addKey("YPbPr", Unmapped_Key, 0x2C, 8);
+ addKey("pip on/off", PIP_Key, 0x30, 8);
+ addKey("1", One_Key, 0x32, 8);
+ addKey("Horiz Keystone", Unmapped_Key, 0x32, 8);
+ addKey("enter", Enter_Key, 0x34, 8);
+ addKey("Menu", Menu_Key, 0x46, 8);
+ addKey("Mute", Mute_Key, 0x47, 8);
+ addKey("last/prev ch", PrevChannel_Key, 0x48, 8);
+ addKey("L-", Unmapped_Key, 0x4C, 8);
+ addKey("Freeze", Pause_Key, 0x4C, 8);
+ addKey("right arrow", Right_Key, 0x5C, 8);
+ addKey("left arrow", Left_Key, 0x5D, 8);
+ addKey("up arrow", Up_Key, 0x5E, 8);
+ addKey("down arrow", Down_Key, 0x5F, 8);
+ addKey("L+", Unmapped_Key, 0x89, 8);
+ addKey("Zoom", Zoom_Key, 0x89, 8);
+ addKey("3", Three_Key, 0x8B, 8);
+ addKey("Vert Keystone", Unmapped_Key, 0x8B, 8);
+ addKey("8", Eight_Key, 0xC6, 8);
+ addKey("S-Video", SVideoInput_Key, 0xC6, 8);
+ addKey("Increase (+)", Unmapped_Key, 0xDE, 8);
+ addKey("Decrease (-)", Unmapped_Key, 0xDF, 8);
+}
--- /dev/null
+#ifndef VIEWSONIC_H
+#define VIEWSONIC_H
+
+#include "pirkeysetmetadata.h"
+
+class QObject;
+
+class ViewsonicProjector1: public PIRKeysetMetaData
+{
+public:
+ ViewsonicProjector1(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+class ViewsonicProjector2: public PIRKeysetMetaData
+{
+public:
+ ViewsonicProjector2(
+ unsigned int index);
+
+ virtual void populateProtocol(
+ QObject *guiObject);
+};
+
+#endif // VIEWSONIC_H
addKey("vcr", Unmapped_Key, 0x0F, 8);
addKey("ch+", ChannelUp_Key, 0x10, 8);
addKey("ch-", ChannelDown_Key, 0x11, 8);
- addKey("abcde", TunerBand_Key, 0x12, 8); // "A/B/C/D/E" "tuner-toggle"
+ addKey("abcde", Unmapped_Key, 0x12, 8); // "A/B/C/D/E" "tuner-toggle"
addKey("GO_VCR2", Unmapped_Key, 0x13, 8);
addKey("phono", PhonoInput_Key, 0x14, 8);
addKey("cd", CDInput_Key, 0x15, 8);
addKey("tape_back", Unmapped_Key, 0x45, 8);
addKey("rec", Record_Key, 0x46, 8);
addKey("tape1/2", Unmapped_Key, 0x47, 8);
- addKey("tuner", TunerBand_Key, 0x4B, 8);
+ addKey("tuner", TunerInput_Key, 0x4B, 8);
addKey("sleep", Sleep_Key, 0x4F, 8);
addKey("up_arrow", Up_Key, 0x55, 8);
addKey("down_arrow", Down_Key, 0x56, 8);
#include "pirdocumentationform.h"
#include "piraboutform.h"
#include "dialogs/pirtabschoicedialog.h"
+#include "dialogs/pirfavoritesdialog.h"
#include "pirkeysetmanager.h"
#include "pirpanelmanager.h"
// Display the panels:
myPanels->updateTabSet();
- // Add the corner button:
- insertCornerButton();
-
// Construct the rest of the forms:
selectKeysetForm = new PIRSelectKeysetForm(this);
- myKeysets->populateSelectionWidget(selectKeysetForm);
+ favoritesDialog = new PIRFavoritesDialog(this);
+ myKeysets->populateListWidgets(selectKeysetForm, favoritesDialog);
selectDeviceForm = new PIRSelectDeviceForm(this);
PIRKeysetMetaData::populateDevices(selectDeviceForm);
preferencesForm = new PIRPreferencesForm(this, myKeysets);
- // Remember any favorites the user has already set:
- populateFavorites();
-
// Retrieve the user's preferences:
QSettings settings("pietrzak.org", "Pierogi");
if (settings.contains("currentKeysetName"))
currentKeyset);
}
+ // Add the corner buttons:
+ insertCornerButtons();
+
enableButtons();
- QListWidget *fkw = myPanels->getFavoritesListWidget();
+ QListWidget *fkw = favoritesDialog->getFavoritesListWidget();
connect(
fkw,
}
-void MainWindow::addCurrentKeyset(
- QListWidget *qlw)
+void MainWindow::addToFavorites(
+ PIRKeysetWidgetItem *kwi)
{
- // Is the current keyset already a favorite?
- int count = qlw->count();
- int index = 0;
- PIRKeysetWidgetItem *kwi = NULL;
- while (index < count)
- {
- kwi = dynamic_cast<PIRKeysetWidgetItem *>(
- qlw->item(index));
-
- if (kwi && (kwi->getID() == currentKeyset))
- {
- // Current keyset already in list! No need to continue.
- return;
- }
- ++index;
- }
-
- // Ok, add the current keyset to the favorites:
- PIRMakeName make = myKeysets->getMake(currentKeyset);
-
- QString name = makeManager.getMakeString(make);
- name.append(" ");
- name.append(myKeysets->getDisplayName(currentKeyset));
-
- qlw->addItem(new PIRKeysetWidgetItem(name, currentKeyset, make));
+ //Add keyset to the favorites:
+ favoritesDialog->addItem(new PIRKeysetWidgetItem(kwi));
// And, add the keyset id to the persistent list:
QSettings settings("pietrzak.org", "Pierogi");
settings.setValue(
"keysetMake",
- makeManager.getMakeString(myKeysets->getMake(currentKeyset)));
+ makeManager.getMakeString(kwi->getMake()));
- settings.setValue("keysetName", myKeysets->getDisplayName(currentKeyset));
+ settings.setValue("keysetName", kwi->getInternalName());
settings.endArray();
}
-void MainWindow::removeFavoriteKeyset(
- QListWidget *qlw)
+void MainWindow::removeFromFavorites(
+ unsigned int keysetID)
{
- // Deleting an item removes it from the list, so just grab the currently
- // selected item and delete it:
- QListWidgetItem *item = qlw->currentItem();
-
- if (item) delete item;
+ favoritesDialog->removeItem(keysetID);
// Remove this item from the persistent list. Well, actually, it seems a
// little more convenient to just blow away the existing list of favorites
settings.remove("favorites");
- int count = qlw->count();
+ int count = favoritesDialog->getCount();
// If the count is empty, we can stop right here:
if (count == 0) return;
settings.beginWriteArray("favorites");
while (index < count)
{
- kwi = dynamic_cast<PIRKeysetWidgetItem *>(qlw->item(index));
+ kwi = favoritesDialog->getItem(index);
settings.setArrayIndex(index);
id = kwi->getID();
}
+/*
void MainWindow::populateFavorites()
{
QSettings settings("pietrzak.org", "Pierogi");
if (kwi)
{
// Keyset does exist, so continue:
- myPanels->addFavoritesItem(kwi);
+ favoritesDialog->addItem(kwi);
}
++index;
settings.endArray();
}
+*/
void MainWindow::startRepeating(
void MainWindow::selectPrevFavKeyset()
{
- myPanels->selectPrevFavKeyset();
+ favoritesDialog->selectPrevFavKeyset();
}
void MainWindow::selectNextFavKeyset()
{
- myPanels->selectNextFavKeyset();
+ favoritesDialog->selectNextFavKeyset();
}
-void MainWindow::insertCornerButton()
+void MainWindow::insertCornerButtons()
{
- // Set up the dialog box:
+ // Set up the dialog boxes:
PIRTabsChoiceDialog *tcd = new PIRTabsChoiceDialog(this);
+// favoritesDialog = new PIRFavoritesDialog(this);
- // Next, set up the corner button itself:
+ // Next, set up the corner buttons:
QPushButton *button =
- new QPushButton(QIcon(":/icons/align_just_icon&32.png"), "");
+ new QPushButton(QIcon(":/icons/folder_plus_icon&32.png"), "");
button->setFlat(true);
SLOT(exec()),
Qt::QueuedConnection);
- ui->mainTabWidget->setCornerWidget(button);
+ ui->mainTabWidget->setCornerWidget(button, Qt::TopRightCorner);
+
+ button =
+ new QPushButton(QIcon(":/icons/align_just_icon&32.png"), "");
+
+ button->setFlat(true);
+
+ connect(
+ button,
+ SIGNAL(clicked()),
+ favoritesDialog,
+ SLOT(exec()),
+ Qt::QueuedConnection);
+
+ ui->mainTabWidget->setCornerWidget(button, Qt::TopLeftCorner);
}
class PIRPreferencesForm;
class PIRDocumentationForm;
class PIRAboutForm;
+class PIRFavoritesDialog;
+class PIRKeysetWidgetItem;
class PIRKeysetManager;
class PIRPanelManager;
void stopRepeating();
// Favorites panel actions:
- void addCurrentKeyset(
- QListWidget *qlw);
+ void addToFavorites(
+ PIRKeysetWidgetItem *kwi);
- void removeFavoriteKeyset(
- QListWidget *qlw);
+ void removeFromFavorites(
+ unsigned int keysetID);
void enableButtons();
return currentKeyset;
}
- void insertCornerButton();
+ void insertCornerButtons();
void disableUpdates();
void enableUpdates();
void clearTabs();
PIRPreferencesForm *preferencesForm;
PIRDocumentationForm *documentationForm;
PIRAboutForm *aboutForm;
+ PIRFavoritesDialog *favoritesDialog;
PIRKeysetManager *myKeysets;
PIRPanelManager *myPanels;
forms/pirkeypadform.cpp \
forms/pirmenuform.cpp \
forms/pirmediaform.cpp \
- forms/pirfavoritesform.cpp \
pirpanelmanager.cpp \
protocols/nokia32protocol.cpp \
protocols/kathreinprotocol.cpp \
dialogs/pirtabswidgetitem.cpp \
keysets/technisat.cpp \
keysets/strong.cpp \
- keysets/proview.cpp
+ keysets/proview.cpp \
+ dialogs/pireditkeysetdialog.cpp \
+ keysets/adb.cpp \
+ keysets/triax.cpp \
+ keysets/sylvania.cpp \
+ keysets/anitech.cpp \
+ keysets/viewsonic.cpp \
+ forms/pirvcrform.cpp \
+ forms/pirvideodiscform.cpp \
+ forms/piraudiodeviceform.cpp \
+ dialogs/pirfavoritesdialog.cpp \
+ keysets/medion.cpp \
+ keysets/blaupunkt.cpp \
+ keysets/lifetec.cpp
HEADERS += mainwindow.h \
pirkeynames.h \
pirmakenames.h \
forms/pirkeypadform.h \
forms/pirmenuform.h \
forms/pirmediaform.h \
- forms/pirfavoritesform.h \
pirpanelnames.h \
pirpanelmanager.h \
protocols/nokia32protocol.h \
dialogs/pirtabswidgetitem.h \
keysets/technisat.h \
keysets/strong.h \
- keysets/proview.h
+ keysets/proview.h \
+ dialogs/pireditkeysetdialog.h \
+ keysets/adb.h \
+ keysets/sylvania.h \
+ keysets/triax.h \
+ keysets/anitech.h \
+ keysets/viewsonic.h \
+ forms/pirvcrform.h \
+ forms/pirvideodiscform.h \
+ forms/piraudiodeviceform.h \
+ dialogs/pirfavoritesdialog.h \
+ keysets/medion.h \
+ keysets/blaupunkt.h \
+ keysets/lifetec.h
FORMS += mainwindow.ui \
pirdocumentationform.ui \
piraboutform.ui \
forms/pirkeypadform.ui \
forms/pirmenuform.ui \
forms/pirmediaform.ui \
- forms/pirfavoritesform.ui \
forms/pirrecordform.ui \
forms/piraltmainform.ui \
pirpreferencesform.ui \
forms/pirmacroform.ui \
dialogs/pirtextentrydialog.ui \
- dialogs/pirtabschoicedialog.ui
+ dialogs/pirtabschoicedialog.ui \
+ dialogs/pireditkeysetdialog.ui \
+ forms/pirvcrform.ui \
+ forms/pirvideodiscform.ui \
+ forms/piraudiodeviceform.ui \
+ dialogs/pirfavoritesdialog.ui
# Please do not modify the following two lines. Required for deployment.
include(deployment.pri)
qtc_packaging/debian_fremantle/postrm \
icons/red_pause.png \
icons/delete_icon&48.png \
- icons/align_just_icon&32.png
+ icons/align_just_icon&32.png \
+ icons/folder_plus_icon&32.png
RESOURCES += \
PierogiResources.qrc
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
-<!-- Written by Qt Creator 2.4.1, 2012-08-30T16:14:55. -->
+<!-- Written by Qt Creator 2.4.1, 2012-09-02T21:07:06. -->
<qtcreator>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="QString" key="ProjectExplorer.ProcessStep.Arguments">dpkg-buildpackage -sa -S -uc -us</value>
<value type="QString" key="ProjectExplorer.ProcessStep.Command">/Users/john/QtSDK/Maemo/4.6.2/bin/mad</value>
<value type="bool" key="ProjectExplorer.ProcessStep.Enabled">false</value>
- <value type="QString" key="ProjectExplorer.ProcessStep.WorkingDirectory">/Users/john/Develop/n900/pierogi-1.1.4</value>
+ <value type="QString" key="ProjectExplorer.ProcessStep.WorkingDirectory">/Users/john/Develop/n900/pierogi-1.1.5</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Custom Process Step</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName"></value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.ProcessStep</value>
<value type="QString">/Users/john/Develop/n900/pierogi-build-maemo-Qt_for_Fremantle_PR1_3_Devices__Qt_SDK__Release/pierogi_0_1_3_armel.deb</value>
<value type="QString">/Users/john/Develop/n900/pierogi-build-maemo-Qt_for_Fremantle_PR1_3_Devices__Qt_SDK__Release/pierogi_0_1_5_armel.deb</value>
<value type="QString">/Users/john/Develop/n900/pierogi-build-maemo-Qt_for_Fremantle_PR1_3_Devices__Qt_SDK__Release/pierogi_0_5_0_armel.deb</value>
+ <value type="QString">/Users/john/Develop/n900/pierogi-build-maemo-Qt_for_Fremantle_PR1_3_Devices__Qt_SDK__Release/pierogi_1_1_6_armel.deb</value>
<value type="QString">/Users/john/Develop/n900/pierogi-build-maemo-Qt_for_Fremantle_PR1_3_Devices__Qt_SDK__Release/pierogi_1_1_2_armel.deb</value>
<value type="QString">/Users/john/Develop/n900/pierogi-build-maemo-Qt_for_Fremantle_PR1_3_Devices__Qt_SDK__Release/pierogi_0_0_1_armel.deb</value>
<value type="QString">/Users/john/Develop/n900/pierogi-build-maemo-Qt_for_Fremantle_PR1_3_Devices__Qt_SDK__Release/pierogi_1_1_4_armel.deb</value>
<value type="QString">192.168.0.15</value>
<value type="QString">192.168.0.15</value>
<value type="QString">192.168.0.15</value>
+ <value type="QString">192.168.0.15</value>
<value type="QString">localhost</value>
<value type="QString">192.168.0.15</value>
<value type="QString">192.168.0.15</value>
<value type="QString"></value>
<value type="QString"></value>
<value type="QString"></value>
+ <value type="QString"></value>
</valuelist>
<valuelist type="QVariantList" key="Qt4ProjectManager.MaemoRunConfiguration.LastDeployedTimes">
<value type="QDateTime">2012-01-19T22:18:07</value>
<value type="QDateTime">2012-02-29T10:48:05</value>
<value type="QDateTime">2012-02-06T17:22:16</value>
<value type="QDateTime">2012-03-08T23:20:27</value>
- <value type="QDateTime">2012-08-30T16:08:14</value>
+ <value type="QDateTime">2012-09-02T20:43:12</value>
<value type="QDateTime">2012-02-12T23:10:44</value>
<value type="QDateTime">2012-02-09T18:12:21</value>
<value type="QDateTime">2012-02-19T10:29:22</value>
<value type="QDateTime">2012-01-17T13:21:05</value>
<value type="QDateTime">2012-01-23T09:47:37</value>
<value type="QDateTime">2012-02-03T10:04:34</value>
+ <value type="QDateTime">2012-09-02T21:07:05</value>
<value type="QDateTime">2012-03-04T19:56:48</value>
<value type="QDateTime">2012-01-01T15:35:35</value>
<value type="QDateTime">2012-03-12T20:02:57</value>
Play_Key,
Pause_Key,
Stop_Key,
- Record_Key,
- RecordPause_Key,
- RecordStop_Key,
- RecordMute_Key,
FastForward_Key,
Rewind_Key,
+ PlayX2_Key,
Next_Key,
Previous_Key,
StepForward_Key,
SlowMinus_Key,
Timer_Key,
Clock_Key,
- NextDisc_Key,
- PrevDisc_Key,
+ Record_Key,
+ RecordPause_Key,
+ RecordStop_Key,
+ RecordMute_Key,
+ RecordTimed_Key,
+ RecordPDC_Key,
// Menu control:
Menu_Key,
PIPScan_Key,
// DVD / Blue-ray / etc. keys:
+ NextDisc_Key,
+ PrevDisc_Key,
DiscTitle_Key,
DiscMenu_Key,
+ DiscOne_Key,
+ DiscTwo_Key,
+ DiscThree_Key,
Angle_Key,
// VHS / Beta / etc. keys:
TrackingPlus_Key,
TrackingMinus_Key,
AutoTracking_Key,
+ IndexSearch_Key, // also known as VISS
+ IndexMark_Key,
+ IndexErase_Key,
+ OneTouchPlayBack_Key,
// Audio/Video Adjustment Controls:
PictureMode_Key,
NextPreset_Key,
PrevPreset_Key,
+ // Audio controls:
+// TunerBand_Key,
+ FMMode_Key,
+ FM_Key,
+ AM_Key, // also "MW"
+ LW_Key,
+
// Air Conditioner controls:
TempUp_Key,
TempDown_Key,
Scan_Key,
Zoom_Key,
LiveTV_Key,
- TunerBand_Key,
- FMMode_Key,
Mode_Key
};
#include "pirkeysetmanager.h"
+#include <QSettings>
+
#include "pirkeysetmetadata.h"
#include "pirselectkeysetform.h"
#include "pirkeysetwidgetitem.h"
+#include "dialogs/pirfavoritesdialog.h"
#include "keysets/acer.h"
+#include "keysets/adb.h"
#include "keysets/admiral.h"
#include "keysets/aiwa.h"
+#include "keysets/anitech.h"
#include "keysets/aoc.h"
#include "keysets/apple.h"
#include "keysets/arcam.h"
#include "keysets/beko.h"
#include "keysets/benq.h"
+#include "keysets/blaupunkt.h"
#include "keysets/bose.h"
#include "keysets/bush.h"
#include "keysets/cambridge.h"
#include "keysets/kenwood.h"
#include "keysets/lexuz.h"
#include "keysets/lg.h"
+#include "keysets/lifetec.h"
#include "keysets/loewe.h"
#include "keysets/logitech.h"
#include "keysets/magnavox.h"
#include "keysets/magnum.h"
#include "keysets/mce.h"
+#include "keysets/medion.h"
#include "keysets/mitsubishi.h"
#include "keysets/motorola.h"
#include "keysets/nad.h"
#include "keysets/sony.h"
#include "keysets/starsat.h"
#include "keysets/strong.h"
+#include "keysets/sylvania.h"
#include "keysets/technics.h"
#include "keysets/technisat.h"
#include "keysets/telefunken.h"
#include "keysets/tivo.h"
#include "keysets/topfield.h"
#include "keysets/toshiba.h"
+#include "keysets/triax.h"
#include "keysets/united.h"
#include "keysets/universum.h"
#include "keysets/vestel.h"
#include "keysets/viewsat.h"
+#include "keysets/viewsonic.h"
#include "keysets/virgin.h"
#include "keysets/vizio.h"
#include "keysets/wd.h"
// I'll be handling the threading of the keyset commands in this object:
#include <QMutex>
+// Debugging includes:
+//#include <iostream>
+
// Global communications mechanism:
extern bool stopRepeatingFlag;
extern QMutex stopRepeatingMutex;
setupKeyset(new AcerTV1(++counter));
setupKeyset(new AcerPC1(++counter));
+ setupKeyset(new ADBSTB1(++counter));
+ setupKeyset(new ADBSTB2(++counter));
+ setupKeyset(new ADBSTB3(++counter));
+ setupKeyset(new ADBSTB4(++counter));
+
setupKeyset(new AdmiralTV1(++counter));
setupKeyset(new AdmiralTV2(++counter));
setupKeyset(new AdmiralVCR1(++counter));
setupKeyset(new AiwaCarStereo1(++counter));
setupKeyset(new AiwaDVD1(++counter));
+ setupKeyset(new AnitechTV1(++counter));
+ setupKeyset(new AnitechVCR1(++counter));
+
setupKeyset(new AOCTV1(++counter));
setupKeyset(new AppleWhiteRemote(++counter));
setupKeyset(new BenQTV1(++counter));
+ setupKeyset(new BlaupunktVCR1(++counter));
+
setupKeyset(new BoseRadio1(++counter));
setupKeyset(new BoseRadio2(++counter));
setupKeyset(new BoseRadio3(++counter));
setupKeyset(new LGVCR1b(++counter));
setupKeyset(new LGAC1(++counter));
+ setupKeyset(new LifetecTV1(++counter));
+ setupKeyset(new LifetecTV2(++counter));
+ setupKeyset(new LifetecVCR1(++counter));
+ setupKeyset(new LifetecAudio1(++counter));
+
setupKeyset(new LoeweTV1(++counter));
setupKeyset(new LoeweVCR1(++counter));
setupKeyset(new LoeweDVD1(++counter));
setupKeyset(new MCERemote1f(++counter));
setupKeyset(new MCERemote1g(++counter));
+ setupKeyset(new MedionSTB1(++counter));
+ setupKeyset(new MedionDVD1(++counter));
+ setupKeyset(new MedionDVD2(++counter));
+ setupKeyset(new MedionVCR1(++counter));
+
setupKeyset(new MitsubishiTV1(++counter));
setupKeyset(new MitsubishiTV1a(++counter));
setupKeyset(new MitsubishiVCR1(++counter));
setupKeyset(new StrongSat3(++counter));
setupKeyset(new StrongSat4(++counter));
+ setupKeyset(new SylvaniaTV1(++counter));
+
setupKeyset(new TechnicsAudio1(++counter));
setupKeyset(new TechnicsAudio1a(++counter));
setupKeyset(new TechnicsAudio2(++counter));
setupKeyset(new ToshibaDisc1c(++counter));
setupKeyset(new ToshibaDisc1d(++counter));
+ setupKeyset(new TriaxSTB1(++counter));
+ setupKeyset(new TriaxSTB2(++counter));
+ setupKeyset(new TriaxSTB2a(++counter));
+
setupKeyset(new UnitedDVD1(++counter));
setupKeyset(new UnitedDVBT1(++counter));
setupKeyset(new ViewsatSat1(++counter));
setupKeyset(new ViewsatSat1a(++counter));
+ setupKeyset(new ViewsonicProjector1(++counter));
+ setupKeyset(new ViewsonicProjector2(++counter));
+
setupKeyset(new VirginSTB1(++counter));
setupKeyset(new VizioTV1(++counter));
fullname.append(" ");
fullname.append(name);
- return new PIRKeysetWidgetItem(fullname, id, getMake(id));
+ return new PIRKeysetWidgetItem(fullname, name, id, getMake(id));
}
}
-void PIRKeysetManager::populateSelectionWidget(
- PIRSelectKeysetForm *skf) const
+struct PIRUserData
+{
+ bool favorite;
+ QString nickname;
+};
+typedef std::map<QString, PIRUserData> PIRUDInnerMap;
+typedef std::map<int, PIRUDInnerMap> PIRUDOuterMap;
+
+void PIRKeysetManager::populateListWidgets(
+ PIRSelectKeysetForm *skf,
+ PIRFavoritesDialog *fd) const
{
- PIRMakeName make;
+ // First, pull out the user's keyset metadata:
+ QSettings settings("pietrzak.org", "Pierogi");
+
+ // Part 1 - The user's keyset nicknames:
+ int size = settings.beginReadArray("userNames");
+ int index = 0;
+ QString makeStr;
+ QString name;
+ PIRMakeName makeID;
+ QString userName;
+ PIRUDOuterMap userData;
+
+ while (index < size)
+ {
+ settings.setArrayIndex(index);
+ name = settings.value("keysetName").toString();
+ makeStr = settings.value("keysetMake").toString();
+ makeID = makeManager.getMakeID(makeStr);
+ userName = settings.value("keysetNickname").toString();
+
+ // Insert an entry into the map. We initialize the favorites bool to
+ // false here, it'll be changed to true below if needed:
+ userData[makeID][name].nickname = userName;
+ userData[makeID][name].favorite = false;
+ ++index;
+ }
+ settings.endArray();
+
+ // Part 2 - The user's favorites:
+ size = settings.beginReadArray("favorites");
+ index = 0;
+
+ while (index < size)
+ {
+ settings.setArrayIndex(index);
+ name = settings.value("keysetName").toString();
+ makeStr = settings.value("keysetMake").toString();
+ makeID = makeManager.getMakeID(makeStr);
+
+ // Insert an entry into the map:
+ userData[makeID][name].favorite = true;
+
+ ++index;
+ }
+ settings.endArray();
+
+ // Now, we load the data into their respective QLists.
PIRKeysetWidgetItem *kwi;
+ QString displayString;
+ PIRUDOuterMap::const_iterator outerIter;
+ PIRUDInnerMap::const_iterator innerIter;
PIRKeysetCollection::const_iterator i = keysetsInfo.begin();
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);
+ makeID = i->second->getMake();
+ name = i->second->getKeysetName();
+ displayString = makeManager.getMakeString(makeID);
+ displayString.append(" ");
+ displayString.append(name);
+
+ kwi = new PIRKeysetWidgetItem(displayString, name, i->first, makeID);
+
+ outerIter = userData.find(makeID);
+ if (outerIter != userData.end())
+ {
+ innerIter = outerIter->second.find(name);
+ if (innerIter != outerIter->second.end())
+ {
+ // We have user data for this keyset!
+ QString nick = innerIter->second.nickname;
+ if (!nick.isEmpty())
+ {
+ kwi->setNickname(nick);
+
+ displayString = nick;
+ displayString.append(" (");
+ displayString.append(kwi->text());
+ displayString.append(")");
+ kwi->setText(displayString);
+ }
+
+ // If this is a favorite, add it to favorites list:
+ if (innerIter->second.favorite)
+ {
+ kwi->setFavorite(true);
+ fd->addItem(kwi);
+ }
+ }
+ }
+
skf->addWidgetItem(kwi);
++i;
}
}
*/
+
class QObject;
class PIRSelectKeysetForm;
class PIRSelectDeviceForm;
+class PIRFavoritesDialog;
class PIRKeysetWidgetItem;
#include <map>
~PIRKeysetManager();
- void populateSelectionWidget(
- PIRSelectKeysetForm *skf) const;
+ void populateListWidgets(
+ PIRSelectKeysetForm *skf,
+ PIRFavoritesDialog *fd) const;
bool keysetExists(
unsigned int keysetID) const;
QObject *guiObject,
unsigned int keysetID);
+ void populateFavorites(
+ PIRFavoritesDialog *favoritesDialog,
+ PIRSelectKeysetForm *keysetForm);
+
private:
void setupKeyset(
PIRKeysetMetaData *keyset);
tempString.append(i->first.model);
kwi = new PIRKeysetWidgetItem(
- tempString, i->second, i->first.make, i->first.type);
+ tempString, i->first.model, i->second, i->first.make, i->first.type);
sdf->addWidgetItem(kwi);
#include "pirkeysetwidgetitem.h"
PIRKeysetWidgetItem::PIRKeysetWidgetItem(
- QString name,
+ QString displayName,
+ QString in,
unsigned int i,
PIRMakeName m)
- : QListWidgetItem(name),
+ : QListWidgetItem(displayName),
id(i),
- make(m)
+ make(m),
+ favorite(false),
+ nicknameNotEmpty(false),
+ internalName(in)
{
}
PIRKeysetWidgetItem::PIRKeysetWidgetItem(
- QString name,
+ QString displayName,
+ QString in,
unsigned int i,
PIRMakeName m,
PIRDeviceTypeName t)
- : QListWidgetItem(name),
+ : QListWidgetItem(displayName),
id(i),
make(m),
- deviceType(t)
+ deviceType(t),
+ favorite(false),
+ nicknameNotEmpty(false),
+ internalName(in)
{
}
-unsigned int PIRKeysetWidgetItem::getID()
+PIRKeysetWidgetItem::PIRKeysetWidgetItem(
+ PIRKeysetWidgetItem *original)
+ : QListWidgetItem(original->text()),
+ id(original->getID()),
+ make(original->getMake()),
+ deviceType(original->getDeviceType()),
+ favorite(original->isFavorite()),
+ nicknameNotEmpty(original->hasNickname()),
+ internalName(original->getInternalName())
{
- return id;
+ if (nicknameNotEmpty)
+ {
+ nickname = original->getNickname();
+ }
}
-PIRMakeName PIRKeysetWidgetItem::getMake()
+void PIRKeysetWidgetItem::setNickname(
+ QString nn)
{
- return make;
-}
+ nickname = nn;
-
-PIRDeviceTypeName PIRKeysetWidgetItem::getDeviceType()
-{
- return deviceType;
+ nicknameNotEmpty = !nn.isEmpty();
}
{
public:
PIRKeysetWidgetItem(
- QString name,
+ QString displayName,
+ QString internalName,
unsigned int id,
PIRMakeName make);
PIRKeysetWidgetItem(
- QString name,
+ QString displayName,
+ QString internalName,
unsigned int id,
PIRMakeName make,
PIRDeviceTypeName dt);
+ PIRKeysetWidgetItem(
+ PIRKeysetWidgetItem *original);
+
unsigned int getID();
PIRMakeName getMake();
PIRDeviceTypeName getDeviceType();
+ void setFavorite(
+ bool favorite);
+
+ bool isFavorite();
+
+ bool hasNickname();
+
+ void setNickname(
+ QString nn);
+
+ QString getNickname();
+
+ QString getInternalName();
+
private:
unsigned int id;
PIRMakeName make;
PIRDeviceTypeName deviceType;
+ bool favorite;
+ bool nicknameNotEmpty;
+ QString internalName;
+ QString nickname;
};
+
+inline unsigned int PIRKeysetWidgetItem::getID()
+{
+ return id;
+}
+
+
+inline PIRMakeName PIRKeysetWidgetItem::getMake()
+{
+ return make;
+}
+
+
+inline PIRDeviceTypeName PIRKeysetWidgetItem::getDeviceType()
+{
+ return deviceType;
+}
+
+
+inline void PIRKeysetWidgetItem::setFavorite(
+ bool f)
+{
+ favorite = f;
+}
+
+
+inline bool PIRKeysetWidgetItem::isFavorite()
+{
+ return favorite;
+}
+
+
+inline bool PIRKeysetWidgetItem::hasNickname()
+{
+ return nicknameNotEmpty;
+}
+
+
+inline QString PIRKeysetWidgetItem::getNickname()
+{
+ return nickname;
+}
+
+
+inline QString PIRKeysetWidgetItem::getInternalName()
+{
+ return internalName;
+}
+
#endif // PIRKEYSETWIDGETITEM_H
{
makes[Any_Make] = "Any";
makes[Acer_Make] = "Acer";
+ makes[ADB_Make] = "ADB";
makes[Admiral_Make] = "Admiral";
makes[Aiwa_Make] = "Aiwa";
+ makes[Anitech_Make] = "Anitech";
makes[AOC_Make] = "AOC";
makes[Apple_Make] = "Apple";
makes[Arcam_Make] = "Arcam";
makes[Beko_Make] = "Beko";
makes[BenQ_Make] = "BenQ";
+ makes[Blaupunkt_Make] = "Blaupunkt";
makes[Bose_Make] = "Bose";
makes[Bush_Make] = "Bush";
makes[Cambridge_Make] = "Cambridge Audio";
makes[Kenwood_Make] = "Kenwood";
makes[Lexuz_Make] = "Lexuz";
makes[LG_Make] = "LG";
+ makes[Lifetec_Make] = "Lifetec";
makes[Loewe_Make] = "Loewe";
makes[Logitech_Make] = "Logitech";
makes[Magnavox_Make] = "Magnavox";
makes[Magnum_Make] = "Magnum";
+ makes[Medion_Make] = "Medion";
makes[Microsoft_Make] = "Microsoft";
makes[Mitsubishi_Make] = "Mitsubishi";
makes[Motorola_Make] = "Motorola";
makes[Sony_Make] = "Sony";
makes[Starsat_Make] = "Starsat";
makes[Strong_Make] = "Strong";
+ makes[Sylvania_Make] = "Sylvania";
makes[Technics_Make] = "Technics";
makes[Technisat_Make] = "Technisat";
makes[Telefunken_Make] = "Telefunken";
makes[Tivo_Make] = "TiVo";
makes[Topfield_Make] = "Topfield";
makes[Toshiba_Make] = "Toshiba";
+ makes[Triax_Make] = "Triax";
makes[United_Make] = "United";
makes[Universum_Make] = "Universum";
makes[Vestel_Make] = "Vestel";
makes[Viewsat_Make] = "Viewsat";
+ makes[Viewsonic_Make] = "Viewsonic";
makes[Virgin_Make] = "Virgin Media";
makes[Vizio_Make] = "Vizio";
makes[WD_Make] = "Western Digital";
makes[Xcruiser_Make] = "Xcruiser";
makes[Yamaha_Make] = "Yamaha";
makes[Zenith_Make] = "Zenith";
+
+ MakeCollection::const_iterator i = makes.begin();
+ while (i != makes.end())
+ {
+ makeIDs[i->second] = i->first;
+ ++i;
+ }
}
const char *PIRMakeMgr::getMakeString(
}
+PIRMakeName PIRMakeMgr::getMakeID(
+ QString name)
+{
+ return makeIDs[name];
+}
+
+
void PIRMakeMgr::populateComboBox(
QComboBox *cb)
{
enum PIRMakeName{
Any_Make,
Acer_Make,
+ ADB_Make,
Admiral_Make,
Aiwa_Make,
+ Anitech_Make,
AOC_Make,
Apple_Make,
Arcam_Make,
Beko_Make,
BenQ_Make,
+ Blaupunkt_Make,
Bose_Make,
Bush_Make,
Cambridge_Make,
Kenwood_Make,
Lexuz_Make,
LG_Make,
+ Lifetec_Make,
Loewe_Make,
Logitech_Make,
Magnavox_Make,
Magnum_Make,
+ Medion_Make,
Microsoft_Make,
Mitsubishi_Make,
Motorola_Make,
Sony_Make,
Starsat_Make,
Strong_Make,
+ Sylvania_Make,
Technics_Make,
Technisat_Make,
Telefunken_Make,
Tivo_Make,
Topfield_Make,
Toshiba_Make,
+ Triax_Make,
United_Make,
Universum_Make,
Vestel_Make,
Viewsat_Make,
+ Viewsonic_Make,
Virgin_Make,
Vizio_Make,
WD_Make,
// An object of convenience:
#include <map>
+#include <QString>
typedef std::map<PIRMakeName, const char *> MakeCollection;
+typedef std::map<QString, PIRMakeName> ReverseMakeCollection;
class PIRMakeMgr
{
const char *getMakeString(
PIRMakeName n);
+ PIRMakeName getMakeID(
+ QString name);
+
void populateComboBox(
QComboBox *cb);
private:
MakeCollection makes;
+ ReverseMakeCollection makeIDs;
};
#endif // PIRMAKENAMES_H
#include "forms/pirinputform.h"
#include "forms/piradjustform.h"
#include "forms/pirairconditionerform.h"
-#include "forms/pirfavoritesform.h"
+#include "forms/piraudiodeviceform.h"
#include "mainwindow.h"
inputForm(0),
adjustForm(0),
acForm(0),
- favoritesForm(0),
+ audioDeviceForm(0),
altMainPanelFlag(false),
currentTabsName(Universal_Tabs),
mainWindow(mw)
shortPanelNames[AC_Panel] = "AC";
longPanelNames[AC_Panel] =
"A/C Panel - air conditioner controls";
- shortPanelNames[Favorites_Panel] = "Favorites";
- longPanelNames[Favorites_Panel] =
- "Favorites Panel - memorized keysets";
+ shortPanelNames[Audio_Panel] = "Audio";
+ longPanelNames[Audio_Panel] =
+ "Audio Device Panel - various audio related buttons";
mainForm = new PIRMainForm(mainWindow);
panels[Main_Panel] = mainForm;
acForm = new PIRAirConditionerForm(mainWindow);
panels[AC_Panel] = acForm;
- favoritesForm = new PIRFavoritesForm(mainWindow);
- panels[Favorites_Panel] = favoritesForm;
+ audioDeviceForm = new PIRAudioDeviceForm(mainWindow);
+ panels[Audio_Panel] = audioDeviceForm;
// Set up the panel collections:
PIRPanelNameList pset;
pset.push_back(Keypad_Panel);
pset.push_back(Menu_Panel);
pset.push_back(Media_Panel);
- pset.push_back(Favorites_Panel);
+ pset.push_back(Input_Panel);
tabLists[Universal_Tabs] = pset;
// The TV collection:
pset.clear();
pset.push_back(Main_Panel);
+ pset.push_back(Utility_Panel);
pset.push_back(Keypad_Panel);
pset.push_back(Menu_Panel);
pset.push_back(TV_Panel);
pset.push_back(Adjust_Panel);
- pset.push_back(Favorites_Panel);
tabLists[TV_Tabs] = pset;
// The video media collection:
pset.push_back(Media_Panel);
pset.push_back(Media2_Panel);
pset.push_back(Input_Panel);
- pset.push_back(Favorites_Panel);
tabLists[VideoMedia_Tabs] = pset;
+ // Audio panel collection:
+ pset.clear();
+ pset.push_back(Main_Panel);
+ pset.push_back(Keypad_Panel);
+ pset.push_back(Media_Panel);
+ pset.push_back(Audio_Panel);
+ tabLists[Audio_Tabs] = pset;
+
// The air conditioner collection:
pset.clear();
pset.push_back(AC_Panel);
- pset.push_back(Favorites_Panel);
tabLists[AC_Tabs] = pset;
// The recording collection:
pset.clear();
pset.push_back(Record_Panel);
pset.push_back(Keypad_Panel);
- pset.push_back(Favorites_Panel);
tabLists[Record_Tabs] = pset;
}
inputForm->enableButtons(keyset, id);
adjustForm->enableButtons(keyset, id);
acForm->enableButtons(keyset, id);
+ audioDeviceForm->enableButtons(keyset, id);
}
}
-void PIRPanelManager::selectPrevFavKeyset()
-{
- favoritesForm->selectPrevFavKeyset();
-}
-
-
-void PIRPanelManager::selectNextFavKeyset()
-{
- favoritesForm->selectNextFavKeyset();
-}
-
-
-void PIRPanelManager::addFavoritesItem(
- PIRKeysetWidgetItem *item)
-{
- favoritesForm->addItem(item);
-}
-
-
-QListWidget *PIRPanelManager::getFavoritesListWidget()
-{
- return favoritesForm->getFavoritesListWidget();
-}
-
-
+/*
void PIRPanelManager::setupUniversalTabs()
{
if (currentTabsName == Universal_Tabs) return;
currentTabsName = Record_Tabs;
updateTabSet();
}
+*/
void PIRPanelManager::setupTabs(
class PIRInputForm;
class PIRAdjustForm;
class PIRAirConditionerForm;
-class PIRFavoritesForm;
+class PIRAudioDeviceForm;
class PIRKeysetWidgetItem;
class PIRKeysetManager;
void useMainPanel();
void useAltMainPanel();
- void selectPrevFavKeyset();
- void selectNextFavKeyset();
-
- void addFavoritesItem(
- PIRKeysetWidgetItem *item);
-
- // This is a hack:
- QListWidget *getFavoritesListWidget();
-
+/*
void setupUniversalTabs();
void setupTVTabs();
void setupVideoTabs();
void setupACTabs();
void setupRecordTabs();
+*/
void setupTabs(PIRTabBarName name);
private:
PIRInputForm *inputForm;
PIRAdjustForm *adjustForm;
PIRAirConditionerForm *acForm;
- PIRFavoritesForm *favoritesForm;
+ PIRAudioDeviceForm *audioDeviceForm;
PIRPanelDisplayNameCollection shortPanelNames;
PIRPanelDisplayNameCollection longPanelNames;
Input_Panel,
Adjust_Panel,
AC_Panel,
- Favorites_Panel,
+ Audio_Panel,
Last_Panel_Marker // Used when traversing this enumeration.
};
Universal_Tabs,
TV_Tabs,
VideoMedia_Tabs,
+// VideoDisc_Tabs,
+// VideoTape_Tabs,
+ Audio_Tabs,
AC_Tabs,
Record_Tabs
};
#include "pirselectkeysetform.h"
#include "ui_pirselectkeysetform.h"
-#include "pirkeysetwidgetitem.h"
+
//#include <QListWidget>
+//#include <QListWidgetItem>
#include <QKeyEvent>
+#include "mainwindow.h"
+#include "pirkeysetwidgetitem.h"
+#include "dialogs/pireditkeysetdialog.h"
+
extern PIRMakeMgr makeManager;
PIRSelectKeysetForm::PIRSelectKeysetForm(
- QWidget *parent)
- : QWidget(parent),
+ MainWindow *mw)
+ : QWidget(mw), // is this right?
ui(new Ui::PIRSelectKeysetForm),
+ mainWindow(mw),
+ editDialog(0),
currentMake(Any_Make)
{
ui->setupUi(this);
connect(
ui->keysetListWidget,
SIGNAL(itemActivated(QListWidgetItem *)),
- parent,
+ mainWindow,
SLOT(keysetSelectionChanged(QListWidgetItem *)),
Qt::QueuedConnection);
this,
SLOT(filterListByMake(int)),
Qt::QueuedConnection);
+
+ // Open editor dialog for indivual keysets:
+ connect(
+ ui->keysetListWidget,
+ SIGNAL(itemClicked(QListWidgetItem *)),
+ this,
+ SLOT(openKeysetDialog(QListWidgetItem *)),
+ Qt::QueuedConnection);
+
+ // Go ahead and construct the dialog window right now:
+ editDialog = new PIREditKeysetDialog(mainWindow);
}
++index;
}
}
+
+
+void PIRSelectKeysetForm::openKeysetDialog(
+ QListWidgetItem *item)
+{
+ PIRKeysetWidgetItem *kwi = dynamic_cast<PIRKeysetWidgetItem *>(item);
+
+ editDialog->setupDialog(kwi);
+
+ editDialog->exec();
+}
#include "pirmakenames.h"
class QListWidget;
+class QListWidgetItem;
class PIRKeysetWidgetItem;
class QKeyEvent;
-//class PIRSearchStringDialog;
+class PIREditKeysetDialog;
+class MainWindow;
namespace Ui {
class PIRSelectKeysetForm;
Q_OBJECT
public:
- explicit PIRSelectKeysetForm(QWidget *parent = 0);
+// explicit PIRSelectKeysetForm(QWidget *parent = 0);
+
+ PIRSelectKeysetForm(
+ MainWindow *mw);
+
~PIRSelectKeysetForm();
/*
void filterListByString(
QString string);
+
+ void openKeysetDialog(
+ QListWidgetItem *);
void on_searchStringLineEdit_textChanged(const QString &arg1);
void on_ssClosePushButton_clicked();
Ui::PIRSelectKeysetForm *ui;
+ MainWindow *mainWindow;
+ PIREditKeysetDialog *editDialog;
+
PIRMakeName currentMake;
QString searchString;
};
pierogi (1.1.6) unstable; urgency=low
- * Hey, I'm back! The big change in this update is a move back to real tabbed windows. I've finally figured out how to quickly customize the tab bar.
- * First pass at keysets for Cisco, Loewe, Orion, Proview, Strong, Technisat, and Telefunken.
- * New keysets added for Panasonic, Sony, Toshiba, and Zenith.
+ * A big change this time: the move to support true per-keyset editable config data. All favorites data has been moved into the keyset configs, and nicknames have been added. The favorites are now accessed with a pop-up menu.
+ * A new "audio" panel has been added.
+ * First pass at keysets for ADB (I-Can), Anitech, Blaupunkt, Lifetec, Medion, Sylvania, Triax, and Viewsonic.
+ * Many updates to existing keysets, too numerous to mention; mostly to support new audio panel buttons.
- -- John Pietrzak <jpietrzak8@gmail.com> Thu, 30 Aug 2012 16:16:21 -0400
+ -- John Pietrzak <jpietrzak8@gmail.com> Sun, 02 Sep 2012 20:54:03 -0400
pierogi (1.1.5) unstable; urgency=low
- * First pass at keysets for Gadmei, Onkyo.
+ * Hey, I'm back! The big change in this update is a move back to real tabbed windows. I've finally figured out how to quickly customize the tab bar.
+ * First pass at keysets for Cisco, Gadmei, Loewe, Onkyo, Orion, Proview, Strong, Technisat, and Telefunken.
+ * New keysets added for Panasonic, Sony, Toshiba, and Zenith.
- -- John Pietrzak <jpietrzak8@gmail.com> Thu, 15 Mar 2012 15:11:11 -0400
+ -- John Pietrzak <jpietrzak8@gmail.com> Thu, 30 Aug 2012 16:16:21 -0400
pierogi (1.1.4) unstable; urgency=low
* Finally added the ability to search the keyset and device lists using the keyboard.
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: Lists now searchable
- I've finally set up the keyset and device selection lists to be searchable using the keyboard. Turns out that it was easier than I expected... Also in this update, the ability to select a "default keyset", although you can't do much with it yet. In keysets, a fix to the Digital Stream keyset was made, a new Grundig satellite receiver and Daewoo TV were added, and a new keyset created for Lexuz.
+XB-Maemo-Upgrade-Description: New Favorites, Nicknames
+ With the move to per-keyset editable data, the entire favorites system is revamped, and keyset nicknames have been added. A new "audio" panel has also been created. And, a first pass made at keysets for ADB (I-Can), Anitech, Blaupunkt, Lifetec, Medion, Sylvania, Triax, and Viewsonic.
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