author | paule <paule> | 2007-02-07 10:31:30 (UTC) |
---|---|---|
committer | paule <paule> | 2007-02-07 10:31:30 (UTC) |
commit | 5f5827b8e28311589e821f199dcefeb964538301 (patch) (side-by-side diff) | |
tree | edb64c2c0d4ab9795e18a95121a63df393ca55bf | |
parent | 83d7fd04cc8e1fcafb345f74bc861515e17c5414 (diff) | |
download | opie-5f5827b8e28311589e821f199dcefeb964538301.zip opie-5f5827b8e28311589e821f199dcefeb964538301.tar.gz opie-5f5827b8e28311589e821f199dcefeb964538301.tar.bz2 |
Start up gracefully when lircd is not properly configured yet
-rw-r--r-- | noncore/tools/remote/mainview.cpp | 5 | ||||
-rw-r--r-- | noncore/tools/remote/mainview.h | 1 | ||||
-rw-r--r-- | noncore/tools/remote/remote.cpp | 18 |
3 files changed, 20 insertions, 4 deletions
diff --git a/noncore/tools/remote/mainview.cpp b/noncore/tools/remote/mainview.cpp index 8c87785..a00a75a 100644 --- a/noncore/tools/remote/mainview.cpp +++ b/noncore/tools/remote/mainview.cpp @@ -1,54 +1,59 @@ /* 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 "mainview.h" #include <opie2/oresource.h> MainView::MainView(QWidget *parent, const char *name) : QWidget(parent, name) { setIcon( Opie::Core::OResource::loadPixmap( "remote", Opie::Core::OResource::SmallIcon ) ); setCaption(tr("Remote") ); QVBoxLayout *layout = new QVBoxLayout(this); QTabWidget *tabs = new QTabWidget(this); layout->addWidget(tabs); remote = new RemoteTab(tabs); learn = new LearnTab(tabs); config = new ConfigTab(tabs); help = new HelpTab(tabs); connect(config, SIGNAL(remotesChanged()), this, SLOT(updateRemotesList()) ); tabs->addTab(remote, tr("Remote") ); tabs->addTab(learn,tr("Learn") ); tabs->addTab(config,tr("Config") ); tabs->addTab(help, tr("Help") ); printf("1\n"); cfg = new Config("Remote"); printf("2\n"); remote->setConfig(cfg); config->setConfig(cfg); } void MainView::updateRemotesList() { remote->updateRemotesList(); printf("MainView: got remotes changed signal\n"); } + +void MainView::updateLearnTab() +{ + learn->updateRemotesList(); +} diff --git a/noncore/tools/remote/mainview.h b/noncore/tools/remote/mainview.h index b1ddde4..26b8086 100644 --- a/noncore/tools/remote/mainview.h +++ b/noncore/tools/remote/mainview.h @@ -1,52 +1,53 @@ /* 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 <qpe/qpeapplication.h> #include <qpe/config.h> #include <qpushbutton.h> #include <qtabwidget.h> #include <qlayout.h> #include <qmessagebox.h> #include <qpaintdevice.h> #include <qobject.h> #include <sys/socket.h> #include <sys/types.h> #include <sys/un.h> #include <unistd.h> #include <stdio.h> #include <signal.h> #include "remotetab.h" #include "learntab.h" #include "configtab.h" #include "helptab.h" #define BUFFERSIZE 256 class MainView : public QWidget { Q_OBJECT public: MainView(QWidget *parent=0, const char *name=0); public slots: void updateRemotesList(); + void updateLearnTab(); private: RemoteTab *remote; ConfigTab *config; LearnTab *learn; HelpTab *help; Config *cfg; }; diff --git a/noncore/tools/remote/remote.cpp b/noncore/tools/remote/remote.cpp index 5b756cb..03d70c4 100644 --- a/noncore/tools/remote/remote.cpp +++ b/noncore/tools/remote/remote.cpp @@ -1,64 +1,74 @@ /* 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 "mainview.h" /* OPIE */ #include <qpe/qpeapplication.h> #include <qpe/config.h> /* QT */ #include <qpushbutton.h> #include <qtabwidget.h> #include <qlayout.h> #include <qmessagebox.h> #include <qpaintdevice.h> #include <qobject.h> /* STD */ #include <sys/socket.h> #include <sys/types.h> #include <sys/un.h> #include <unistd.h> #include <stdio.h> #include <signal.h> int main( int argc, char **argv ) { QPEApplication a( argc, argv ); LircHandler lh; + bool disablelirc = false; lh.disableIrDA(); lh.setupModules(); lh.startLircd(); - if(!lh.isLircdRunning()) { - QMessageBox::critical(NULL, QObject::tr("Error"), - QObject::tr("Unable to start lircd"), - QMessageBox::Ok, QMessageBox::NoButton); + + if(lh.checkLircdConfValid(false)) { + if(!lh.isLircdRunning()) { + QMessageBox::critical(NULL, QObject::tr("Error"), + QObject::tr("Unable to start lircd"), + QMessageBox::Ok, QMessageBox::NoButton); + disablelirc = true; + } + } + else { + disablelirc = true; } MainView w; + if(!disablelirc) + w.updateLearnTab(); a.setMainWidget( &w ); QPEApplication::showWidget( &w ); int result = a.exec(); lh.stopLircd(); lh.cleanupModules(); return result; } |