From 83d7fd04cc8e1fcafb345f74bc861515e17c5414 Mon Sep 17 00:00:00 2001 From: paule Date: Wed, 07 Feb 2007 10:29:42 +0000 Subject: Rename Add button to Learn; remove Edit button; move list updating to its own public slot and don't call it automatically (should be called from MainView when lircd is properly set up); correctly show learn dialog modal and update list when it closes; delete learn dialog when done --- diff --git a/noncore/tools/remote/learntab.cpp b/noncore/tools/remote/learntab.cpp index 69d2e7f..82de631 100644 --- a/noncore/tools/remote/learntab.cpp +++ b/noncore/tools/remote/learntab.cpp @@ -21,46 +21,59 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA LearnTab::LearnTab(QWidget *parent, const char *name):QWidget(parent,name) { - LircHandler lh; - QVBoxLayout *layout = new QVBoxLayout(this); QHBoxLayout *bottomLayout = new QHBoxLayout(this); layout->insertSpacing(0,5); remotesBox = new QListBox(this, "remotesBox"); layout->insertWidget(0, remotesBox, 1); - remotesBox->insertStringList(lh.getRemotes()); layout->insertSpacing(-1,5); layout->insertLayout(-1, bottomLayout); layout->insertSpacing(-1,5); - QPushButton *add = new QPushButton("Add", this, "add"); - bottomLayout->insertSpacing(-1, 5); - bottomLayout->insertWidget(-1, add); + QPushButton *learn = new QPushButton(tr("Learn"), this, "learn"); bottomLayout->insertSpacing(-1, 5); - QPushButton *edit = new QPushButton("Edit", this, "edit"); - bottomLayout->insertWidget(-1, edit); + bottomLayout->insertWidget(-1, learn); bottomLayout->insertSpacing(-1, 5); - QPushButton *del = new QPushButton("Delete", this, "delete"); + QPushButton *del = new QPushButton(tr("Delete"), this, "delete"); bottomLayout->insertWidget(-1, del); bottomLayout->insertSpacing(-1, 5); - connect(add, SIGNAL(clicked()), this, SLOT(add()) ); - connect(edit, SIGNAL(clicked()), this, SLOT(edit()) ); + connect(learn, SIGNAL(clicked()), this, SLOT(learn()) ); connect(del, SIGNAL(clicked()), this, SLOT(del()) ); } -void LearnTab::add() +void LearnTab::learn() { - printf("LearnTab::add: add pressed\n"); - RecordDialog *dialog = new RecordDialog(this); - QPEApplication::showDialog( dialog ); + printf("LearnTab::learn: learn pressed\n"); + RecordDialog *dialog = new RecordDialog(this); + dialog->showMaximized(); + dialog->exec(); + delete dialog; + updateRemotesList(); } -void LearnTab::edit() -{} - void LearnTab::del() -{} +{ + QString remotename = remotesBox->currentText(); + + if(remotename != "") { + if (QMessageBox::warning(this, tr("Delete"), + tr("Are you sure you want\n to delete %1?").arg(remotename), + QMessageBox::Yes, QMessageBox::No) == QMessageBox::Yes) { + LircHandler lh; + lh.removeRemote(remotename); + lh.reloadLircdConf(); + updateRemotesList(); + } + } +} +void LearnTab::updateRemotesList() +{ + LircHandler lh; + remotesBox->clear(); + if(lh.checkLircdConfValid(true)) + remotesBox->insertStringList(lh.getRemotes()); +} diff --git a/noncore/tools/remote/learntab.h b/noncore/tools/remote/learntab.h index c9d8e41..ac9568a 100644 --- a/noncore/tools/remote/learntab.h +++ b/noncore/tools/remote/learntab.h @@ -40,9 +40,9 @@ class LearnTab : public QWidget public: LearnTab(QWidget *parent=0, const char *name=0); public slots: - void add(); - void edit(); + void learn(); void del(); + void updateRemotesList(); private: QListBox *remotesBox; }; -- cgit v0.9.0.2