summaryrefslogtreecommitdiff
path: root/noncore/tools/remote/recorddialog.cpp
authorspiralman <spiralman>2002-07-23 22:34:51 (UTC)
committer spiralman <spiralman>2002-07-23 22:34:51 (UTC)
commit7b69ef59464072521adb20148d49f9c654c066ee (patch) (side-by-side diff)
tree449ef1dbfeac19f18b1ded20b4865353fa71452c /noncore/tools/remote/recorddialog.cpp
parentc344a4f4d0a614cfeb75d1d935e1f519d473c068 (diff)
downloadopie-7b69ef59464072521adb20148d49f9c654c066ee.zip
opie-7b69ef59464072521adb20148d49f9c654c066ee.tar.gz
opie-7b69ef59464072521adb20148d49f9c654c066ee.tar.bz2
Added code for irrecord frontend, doesnt work yet.
Diffstat (limited to 'noncore/tools/remote/recorddialog.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/tools/remote/recorddialog.cpp81
1 files changed, 81 insertions, 0 deletions
diff --git a/noncore/tools/remote/recorddialog.cpp b/noncore/tools/remote/recorddialog.cpp
new file mode 100644
index 0000000..642e99c
--- a/dev/null
+++ b/noncore/tools/remote/recorddialog.cpp
@@ -0,0 +1,81 @@
+/*
+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 "recorddialog.h"
+
+RecordDialog::RecordDialog(QWidget *parent=0, const char *name=0):QDialog(parent, name)
+{
+ QVBoxLayout *layout = new QVBoxLayout(this);
+ QHBoxLayout *hlayout = new QHBoxLayout(this);
+
+ layout->insertSpacing(0,5);
+ output = new QTextView("Please enter the name of the new remote, and press Return\n", 0, this, "output");
+ layout->insertWidget(-1, output);
+ layout->insertSpacing(-1, 5);
+ layout->insertLayout(-1, hlayout);
+ layout->insertSpacing(-1, 5);
+
+ hlayout->insertSpacing(0, 5);
+ input = new QLineEdit(this, "input");
+ hlayout->insertWidget(-1, input, 1);
+ hlayout->insertSpacing(-1, 5);
+
+ QPushButton *ret = new QPushButton("Return", this, "return");
+ hlayout->insertWidget(-1, ret);
+ hlayout->insertSpacing(-1, 5);
+ connect(ret, SIGNAL(clicked()), this, SLOT(retPressed()) );
+ where = 0;
+
+ record = new OProcess;
+}
+
+void RecordDialog::retPressed()
+{
+ printf("RecordDialog::retPressed: ret pressed\n");
+
+ if(where == 0)
+ {
+ connect(record, SIGNAL(receivedStdout(OProcess *, char *, int)), this, SLOT(incoming(OProcess *, char *, int)) );
+ connect(record, SIGNAL(receivedStderr(OProcess *, char *, int)), this, SLOT(incoming(OProcess *, char *, int)) );
+ connect(record, SIGNAL(processExited(OProcess *)), this, SLOT(done(OProcess *)) );
+ printf("RecordDialog::retPressed: starting irrecord\n");
+ QString file = "/tmp/" + input->text();
+ *record<<"irrecord"<<file.latin1();
+ if(!record->start(OProcess::NotifyOnExit, OProcess::AllOutput))
+ {
+ QMessageBox *mb = new QMessageBox("Error!",
+ "Could not start irrecord. You must<br>use an lirc ipkg that includes<br>irrecord",
+ QMessageBox::NoIcon,
+ QMessageBox::Ok,
+ QMessageBox::NoButton,
+ QMessageBox::NoButton);
+ mb->exec();
+ return;
+ }
+// record->resume();
+ where = 1;
+ }
+}
+
+void RecordDialog::incoming(OProcess *proc, char *buffer, int len)
+{
+ output->setText(output->text() + QString(buffer).truncate(len-1));
+ printf("RecordDialog::incoming: got text from irrecord\n");
+}
+
+void RecordDialog::done(OProcess *proc)
+{
+}