summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (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
@@ -18,3 +18,4 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-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)
{
@@ -45,3 +46,2 @@ ButtonDialog::ButtonDialog(QString buttonName, QWidget *parent, const char*name,
hlayout1->addSpacing(5);
- remote->insertItem("Remote ");
remote->insertStringList(lh->getRemotes());
@@ -56,4 +56,2 @@ ButtonDialog::ButtonDialog(QString buttonName, QWidget *parent, const char*name,
hlayout2->addSpacing(5);
- button->insertItem("Button ");
- connect(button, SIGNAL(activated(const QString&)), this, SLOT(buttonSelected(const QString&)) );
@@ -67,2 +65,28 @@ ButtonDialog::ButtonDialog(QString buttonName, QWidget *parent, const char*name,
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);
+ }
}
@@ -76,15 +100,10 @@ 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;
}
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
@@ -39,5 +39,5 @@ class ButtonDialog : public QDialog
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();
@@ -45,3 +45,2 @@ public slots:
void remoteSelected(const QString &string);
- void buttonSelected(const QString &string);
private:
@@ -49,3 +48,2 @@ private:
QComboBox *button;
- QStringList list;
QLineEdit *label;