summaryrefslogtreecommitdiff
path: root/noncore
Side-by-side diff
Diffstat (limited to 'noncore') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/tools/remote/buttondialog.cpp45
-rw-r--r--noncore/tools/remote/buttondialog.h6
2 files changed, 34 insertions, 17 deletions
diff --git a/noncore/tools/remote/buttondialog.cpp b/noncore/tools/remote/buttondialog.cpp
index 56738d1..7d03f27 100644
--- a/noncore/tools/remote/buttondialog.cpp
+++ b/noncore/tools/remote/buttondialog.cpp
@@ -16,7 +16,8 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#include "buttondialog.h"
-ButtonDialog::ButtonDialog(QString buttonName, QWidget *parent, const char*name, bool modal, WFlags f):QDialog(parent, name, modal, f)
+ButtonDialog::ButtonDialog(QString buttonName, QString action, QWidget *parent, const char*name, bool modal, WFlags f)
+: QDialog(parent, name, modal, f)
{
setCaption(tr(buttonName));
@@ -43,7 +44,6 @@ ButtonDialog::ButtonDialog(QString buttonName, QWidget *parent, const char*name,
hlayout1->addSpacing(5);
hlayout1->addWidget(remote);
hlayout1->addSpacing(5);
- remote->insertItem("Remote ");
remote->insertStringList(lh->getRemotes());
connect(remote, SIGNAL(activated(const QString&)), this, SLOT(remoteSelected(const QString&)) );
@@ -54,8 +54,6 @@ ButtonDialog::ButtonDialog(QString buttonName, QWidget *parent, const char*name,
hlayout2->addSpacing(5);
hlayout2->addWidget(button);
hlayout2->addSpacing(5);
- button->insertItem("Button ");
- connect(button, SIGNAL(activated(const QString&)), this, SLOT(buttonSelected(const QString&)) );
label = new QLineEdit(this, "label");
label->setText(buttonName);
@@ -65,6 +63,32 @@ ButtonDialog::ButtonDialog(QString buttonName, QWidget *parent, const char*name,
hlayout3->addSpacing(5);
hlayout3->addWidget(label);
hlayout3->addSpacing(5);
+
+ QStringList actionArgs = QStringList::split(' ', action);
+ if(actionArgs.count() > 1) {
+ // Remote
+ for(int i=0;i<remote->count();i++) {
+ if(remote->text(i) == actionArgs[1]) {
+ remote->setCurrentItem(i);
+ break;
+ }
+ }
+ }
+ // Populate the list of buttons
+ remoteSelected(remote->currentText());
+
+ if(actionArgs.count() > 2) {
+ // Button
+ for(int i=0;i<button->count();i++) {
+ if(button->text(i) == actionArgs[2]) {
+ button->setCurrentItem(i);
+ break;
+ }
+ }
+ }
+ else {
+ button->setCurrentItem(-1);
+ }
}
ButtonDialog::~ButtonDialog()
@@ -74,19 +98,14 @@ ButtonDialog::~ButtonDialog()
void ButtonDialog::remoteSelected(const QString &string)
{
+ button->clear();
button->insertStringList(lh->getButtons(string.latin1()) );
- list="SEND_ONCE";
- list+=string;
-}
-
-void ButtonDialog::buttonSelected(const QString &string)
-{
- list+=string;
}
-QStringList ButtonDialog::getList()
+QString ButtonDialog::getAction()
{
- return list;
+ QString action("SEND_ONCE " + remote->currentText() + " " + button->currentText());
+ return action;
}
QString ButtonDialog::getLabel()
diff --git a/noncore/tools/remote/buttondialog.h b/noncore/tools/remote/buttondialog.h
index cc697b5..f66903f 100644
--- a/noncore/tools/remote/buttondialog.h
+++ b/noncore/tools/remote/buttondialog.h
@@ -37,17 +37,15 @@ class ButtonDialog : public QDialog
{
Q_OBJECT
public:
- ButtonDialog(QString buttonName, QWidget *parent=0, const char*name=0, bool modal=FALSE, WFlags f=0);
+ ButtonDialog(QString buttonName, QString action, QWidget *parent=0, const char*name=0, bool modal=FALSE, WFlags f=0);
~ButtonDialog();
- QStringList getList();
+ QString getAction();
QString getLabel();
public slots:
void remoteSelected(const QString &string);
- void buttonSelected(const QString &string);
private:
QComboBox *remote;
QComboBox *button;
- QStringList list;
QLineEdit *label;
LircHandler *lh;
};