summaryrefslogtreecommitdiff
authorpaule <paule>2007-02-07 10:31:30 (UTC)
committer paule <paule>2007-02-07 10:31:30 (UTC)
commit5f5827b8e28311589e821f199dcefeb964538301 (patch) (side-by-side diff)
treeedb64c2c0d4ab9795e18a95121a63df393ca55bf
parent83d7fd04cc8e1fcafb345f74bc861515e17c5414 (diff)
downloadopie-5f5827b8e28311589e821f199dcefeb964538301.zip
opie-5f5827b8e28311589e821f199dcefeb964538301.tar.gz
opie-5f5827b8e28311589e821f199dcefeb964538301.tar.bz2
Start up gracefully when lircd is not properly configured yet
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/tools/remote/mainview.cpp5
-rw-r--r--noncore/tools/remote/mainview.h1
-rw-r--r--noncore/tools/remote/remote.cpp18
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;
}