summaryrefslogtreecommitdiff
authorjosef <josef>2002-10-14 17:21:03 (UTC)
committer josef <josef>2002-10-14 17:21:03 (UTC)
commit51e18b363eb37621479a059af58da3040db1be7e (patch) (side-by-side diff)
tree0099ca456633dda2ef68c3336a1541ecb95d1ae8
parent49d40f92a6988a3deaf9b775803092616d312403 (diff)
downloadopie-51e18b363eb37621479a059af58da3040db1be7e.zip
opie-51e18b363eb37621479a059af58da3040db1be7e.tar.gz
opie-51e18b363eb37621479a059af58da3040db1be7e.tar.bz2
- only allow sessions if all components (layer, widgetstack) are available
- add io_modem to .pro file so it gets compiled - fix io_modem compilation (untested, but better than nothing)
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/io_modem.cpp8
-rw-r--r--noncore/apps/opie-console/io_modem.h3
-rw-r--r--noncore/apps/opie-console/mainwindow.cpp10
-rw-r--r--noncore/apps/opie-console/opie-console.pro4
4 files changed, 19 insertions, 6 deletions
diff --git a/noncore/apps/opie-console/io_modem.cpp b/noncore/apps/opie-console/io_modem.cpp
index eb0aeb7..56147d8 100644
--- a/noncore/apps/opie-console/io_modem.cpp
+++ b/noncore/apps/opie-console/io_modem.cpp
@@ -1,34 +1,35 @@
#include "io_modem.h"
#include "dialer.h"
-IOModem:IOModem( const Profile &config ) : IOSerial( config ) {
- m_config = config;
+IOModem::IOModem( const Profile &profile )
+ : IOSerial( profile ), m_profile( profile ) {
}
IOModem::~IOModem() {
}
void IOModem::close() {
IOSerial::close();
}
bool IOModem::open() {
+ qWarning("IOModem::open");
IOSerial::open();
Dialer d(m_profile);
int result = d.exec();
if(result == QDialog::Accepted)
{
return true;
}
else return false;
}
void IOModem::reload( const Profile &config ) {
@@ -59,15 +60,16 @@ void IOModem::reload( const Profile &config ) {
m_multiLineUntag = config.readBoolEntry("MultiLineUntag", MODEM_DEFAULT_MULTI_LINE_UNTAG );
}
QString IOModem::identifier() const {
return "modem";
}
QString IOModem::name() const {
return "Modem IO Layer";
}
-void IOIrda::slotExited(OProcess* proc ){
+void IOModem::slotExited(OProcess* proc ){
close();
}
+
diff --git a/noncore/apps/opie-console/io_modem.h b/noncore/apps/opie-console/io_modem.h
index 6d44349..d681f66 100644
--- a/noncore/apps/opie-console/io_modem.h
+++ b/noncore/apps/opie-console/io_modem.h
@@ -1,17 +1,18 @@
#ifndef OPIE_IO_MODEM
#define OPIE_IO_MODEM
#include <opie/oprocess.h>
#include "io_serial.h"
+#include "profile.h"
/* Default values to be used if the profile information is incomplete */
#define MODEM_DEFAULT_DEVICE "/dev/ttyS0"
#define MODEM_DEFAULT_BAUD 9600
#define MODEM_DEFAULT_PARITY 0
#define MODEM_DEFAULT_DBITS 8
#define MODEM_DEFAULT_SBITS 1
#define MODEM_DEFAULT_FLOW 0
#define MODEM_DEFAULT_INIT_STRING "~^M~ATZ^M~"
#define MODEM_DEFAULT_RESET_STRING "~^M~ATZ^M~"
#define MODEM_DEFAULT_DIAL_PREFIX1 "ATDT"
@@ -48,23 +49,23 @@ public:
signals:
void received(const QByteArray &);
void error(int, const QString &);
public slots:
bool open();
void close();
void reload(const Profile &);
private:
QString m_initString, m_resetString, m_dialPref1, m_dialSuf1, m_dialPref2,
- m_dialSuf2, dialPref3, m_dialSuf3, m_connect, m_hangup, m_cancel;
+ m_dialSuf2, m_dialPref3, m_dialSuf3, m_connect, m_hangup, m_cancel;
int m_dialTime, m_delayRedial, m_numberTries, m_dtrDropTime,
m_bpsDetect, m_dcdLines, m_multiLineUntag;
const Profile& m_profile;
private slots:
void slotExited(OProcess* proc);
};
#endif
diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp
index 415259e..1adb43d 100644
--- a/noncore/apps/opie-console/mainwindow.cpp
+++ b/noncore/apps/opie-console/mainwindow.cpp
@@ -1,20 +1,21 @@
#include <qaction.h>
#include <qmenubar.h>
#include <qlabel.h>
#include <qpopupmenu.h>
#include <qtoolbar.h>
#include <qpe/resource.h>
#include <opie/ofiledialog.h>
+#include <qmessagebox.h>
#include "profileeditordialog.h"
#include "configdialog.h"
#include "default.h"
#include "metafactory.h"
#include "profile.h"
#include "profilemanager.h"
#include "mainwindow.h"
#include "tabwidget.h"
#include "transferdialog.h"
#include "function_keyboard.h"
#include "script.h"
@@ -300,24 +301,33 @@ void MainWindow::slotClose() {
/*
* We will get the name
* Then the profile
* and then we will make a profile
*/
void MainWindow::slotProfile( int id) {
Profile prof = manager()->profile( m_sessionsPop->text( id) );
create( prof );
}
void MainWindow::create( const Profile& prof ) {
Session *ses = manager()->fromProfile( prof, tabWidget() );
+ if((!ses) || (!ses->layer()) || (!ses->widgetStack()))
+ {
+ QMessageBox::warning(this,
+ QObject::tr("Session failed"),
+ QObject::tr("Cannot open session: Not all components were found."));
+ //if(ses) delete ses;
+ return;
+ }
+
m_sessions.append( ses );
tabWidget()->add( ses );
m_curSession = ses;
}
void MainWindow::slotTransfer()
{
// if ( currentSession() ) {
TransferDialog dlg(this);
dlg.showMaximized();
dlg.exec();
diff --git a/noncore/apps/opie-console/opie-console.pro b/noncore/apps/opie-console/opie-console.pro
index ef6bc21..26bce83 100644
--- a/noncore/apps/opie-console/opie-console.pro
+++ b/noncore/apps/opie-console/opie-console.pro
@@ -1,17 +1,17 @@
TEMPLATE = app
#CONFIG = qt warn_on release
CONFIG = qt debug
DESTDIR = $(OPIEDIR)/bin
-HEADERS = io_layer.h io_serial.h io_irda.h io_bt.h\
+HEADERS = io_layer.h io_serial.h io_irda.h io_bt.h io_modem.h \
file_layer.h filetransfer.h \
metafactory.h \
session.h \
mainwindow.h \
profile.h \
profileconfig.h \
profilemanager.h \
configwidget.h \
tabwidget.h \
configdialog.h \
emulation_layer.h \
vt102emulation.h \
@@ -26,25 +26,25 @@ HEADERS = io_layer.h io_serial.h io_irda.h io_bt.h\
default.h \
terminalwidget.h \
iolayerbase.h \
serialconfigwidget.h irdaconfigwidget.h \
btconfigwidget.h modemconfigwidget.h \
atconfigdialog.h dialdialog.h \
emulation_widget.h procctl.h \
function_keyboard.h \
receive_layer.h filereceive.h \
script.h \
dialer.h
-SOURCES = io_layer.cpp io_serial.cpp io_irda.cpp io_bt.cpp \
+SOURCES = io_layer.cpp io_serial.cpp io_irda.cpp io_bt.cpp io_modem.cpp \
file_layer.cpp filetransfer.cpp \
main.cpp \
metafactory.cpp \
session.cpp \
mainwindow.cpp \
profile.cpp \
profileconfig.cpp \
profilemanager.cpp \
tabwidget.cpp \
configdialog.cpp \
emulation_layer.cpp \
vt102emulation.cpp \