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
@@ -39,16 +39,21 @@ MainView::MainView(QWidget *parent, const char *name) : QWidget(parent, name)
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
@@ -30,23 +30,24 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#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
@@ -29,36 +29,46 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#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;
}