-rw-r--r-- | noncore/tools/remote/learntab.cpp | 51 | ||||
-rw-r--r-- | noncore/tools/remote/learntab.h | 4 |
2 files changed, 34 insertions, 21 deletions
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 @@ -1,66 +1,79 @@ /* Opie-Remote. emulates remote controlls on an iPaq (and maybe a Zaurus) in Opie. Copyright (C) 2002 Thomas Stephens This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "learntab.h" /* OPIE */ #include <qpe/qpeapplication.h> 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 @@ -1,48 +1,48 @@ /* Opie-Remote. emulates remote controlls on an iPaq (and maybe a Zaurus) in Opie. Copyright (C) 2002 Thomas Stephens This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <qwidget.h> #include <qlistbox.h> #include <qstring.h> #include <qstringlist.h> #include <qlayout.h> #include <qpushbutton.h> #include <qmessagebox.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <sys/types.h> #include <sys/un.h> #include <unistd.h> #include <errno.h> #include "recorddialog.h" #include "lirchandler.h" class LearnTab : public QWidget { Q_OBJECT public: LearnTab(QWidget *parent=0, const char *name=0); public slots: - void add(); - void edit(); + void learn(); void del(); + void updateRemotesList(); private: QListBox *remotesBox; }; |