-rw-r--r-- | noncore/apps/opie-console/dialer.cpp | 50 | ||||
-rw-r--r-- | noncore/apps/opie-console/dialer.h | 6 | ||||
-rw-r--r-- | noncore/apps/opie-console/io_modem.cpp | 13 | ||||
-rw-r--r-- | noncore/apps/opie-console/io_modem.h | 1 | ||||
-rw-r--r-- | noncore/apps/opie-console/opie-console.pro | 6 |
5 files changed, 63 insertions, 13 deletions
diff --git a/noncore/apps/opie-console/dialer.cpp b/noncore/apps/opie-console/dialer.cpp index 8589d14..d20965a 100644 --- a/noncore/apps/opie-console/dialer.cpp +++ b/noncore/apps/opie-console/dialer.cpp @@ -7,6 +7,9 @@ #include <qapp.h> #include <qtimer.h> +#include <unistd.h> +#include <string.h> + // State machine: | When an error occurs, we don't have to // | reset everything. // (init) <------+ | But if the user wants to reset, @@ -22,16 +25,35 @@ // | | // v | -Dialer::Dialer(const QString& number, QWidget *parent, const char *name) + +// from atconfigdialog +//initStringLine->setText( config.readEntry("InitString", MODEM_DEFAULT_INIT_STRING ) ); +//resetStringLine->setText( config.readEntry("ResetString", MODEM_DEFAULT_RESET_STRING ) ); +//dialPref1Line->setText( config.readEntry("DialPrefix1", MODEM_DEFAULT_DIAL_PREFIX1 ) ); +//dialSuf1Line->setText( config.readEntry("DialSuffix1", MODEM_DEFAULT_DIAL_SUFFIX1 ) ); +//dialPref2Line->setText( config.readEntry("DialPrefix2", MODEM_DEFAULT_DIAL_PREFIX1 ) ); +//dialSuf2Line->setText( config.readEntry("DialSuffix2", MODEM_DEFAULT_DIAL_SUFFIX1 ) ); +//dialPref3Line->setText( config.readEntry("DialPrefix3", MODEM_DEFAULT_DIAL_PREFIX1 ) ); +//dialSuf3Line->setText( config.readEntry("DialSuffix3", MODEM_DEFAULT_DIAL_SUFFIX1 ) ); +//connectLine->setText( config.readEntry("DefaultConnect" MODEM_DEFAULT_CONNECT_STRING ) ); +//hangupLine->setText( config.readEntry("HangupString", MODEM_DEFAULT_HANGUP_STRING ) ); + +// from modemconfigwidget +//int rad_flow = prof.readNumEntry("Flow"); +//int rad_parity = prof.readNumEntry("Parity"); +//int speed = prof.readNumEntry("Speed"); +//QString number = prof.readEntry("Number"); + +Dialer::Dialer(const Profile& profile, QWidget *parent, const char *name) : QDialog(parent, name, true) { QVBoxLayout *vbox; QLabel *desc; usercancel = 0; - m_number = number; + m_profile = profile; - desc = new QLabel(QObject::tr("Dialing number: %1").arg(number), this); + desc = new QLabel(QObject::tr("Dialing number: %1").arg(m_profile.readEntry("Number")), this); progress = new QProgressBar(this); status = new QLabel("", this); status->setFrameStyle(QFrame::Panel | QFrame::Sunken); @@ -56,20 +78,23 @@ Dialer::~Dialer() void Dialer::slotCancel() { - if(state != state_online) reset(); + if(state != state_online) + { + usercancel = 1; + reset(); + } else accept(); } void Dialer::reset() { switchState(state_cancel); - usercancel = 1; } void Dialer::slotAutostart() { state = state_preinit; - dial(m_number); + dial(m_profile.readEntry("Number")); } void Dialer::dial(const QString& number) @@ -137,7 +162,20 @@ void Dialer::trydial(const QString& number) void Dialer::send(const QString& msg) { + QString m = msg; + int bytes; + QString termination; + termination = m_profile.readEntry("Termination"); + if(termination == "\n") m = m + "\n"; + else if(termination == "\r") m = m + "\r"; + else m = m + "\r\n"; + + bytes = write(0, m.local8Bit(), strlen(m.local8Bit())); + if(bytes < 0) + { + reset(); + } } QString Dialer::receive() diff --git a/noncore/apps/opie-console/dialer.h b/noncore/apps/opie-console/dialer.h index 20fb3c3..8c83bb6 100644 --- a/noncore/apps/opie-console/dialer.h +++ b/noncore/apps/opie-console/dialer.h @@ -3,6 +3,8 @@ #include <qdialog.h> +#include "profile.h" + class QLabel; class QProgressBar; @@ -10,7 +12,7 @@ class Dialer : public QDialog { Q_OBJECT public: - Dialer(const QString& number, QWidget *parent = NULL, const char *name = NULL); + Dialer(const Profile& profile, QWidget *parent = NULL, const char *name = NULL); ~Dialer(); public slots: @@ -42,7 +44,7 @@ class Dialer : public QDialog QPushButton *cancel; int state; int usercancel; - QString m_number; + Profile m_profile; }; #endif diff --git a/noncore/apps/opie-console/io_modem.cpp b/noncore/apps/opie-console/io_modem.cpp index 4d6035d..41febfb 100644 --- a/noncore/apps/opie-console/io_modem.cpp +++ b/noncore/apps/opie-console/io_modem.cpp @@ -1,8 +1,10 @@ #include "io_modem.h" -IOModem:IOModem( const Profile &config ) : IOSerial( config ) { +#include "dialer.h" +IOModem:IOModem( const Profile &config ) : IOSerial( config ) { + m_config = config; } @@ -18,10 +20,15 @@ void IOModem::close() { } bool 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 ) { diff --git a/noncore/apps/opie-console/io_modem.h b/noncore/apps/opie-console/io_modem.h index f155eb1..6d44349 100644 --- a/noncore/apps/opie-console/io_modem.h +++ b/noncore/apps/opie-console/io_modem.h @@ -60,6 +60,7 @@ private: m_dialSuf2, 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); diff --git a/noncore/apps/opie-console/opie-console.pro b/noncore/apps/opie-console/opie-console.pro index 0b4676b..ef6bc21 100644 --- a/noncore/apps/opie-console/opie-console.pro +++ b/noncore/apps/opie-console/opie-console.pro @@ -32,7 +32,8 @@ HEADERS = io_layer.h io_serial.h io_irda.h io_bt.h\ emulation_widget.h procctl.h \ function_keyboard.h \ receive_layer.h filereceive.h \ - script.h + script.h \ + dialer.h SOURCES = io_layer.cpp io_serial.cpp io_irda.cpp io_bt.cpp \ file_layer.cpp filetransfer.cpp \ @@ -62,7 +63,8 @@ SOURCES = io_layer.cpp io_serial.cpp io_irda.cpp io_bt.cpp \ emulation_widget.cpp default.cpp procctl.cpp \ function_keyboard.cpp \ receive_layer.cpp filereceive.cpp \ - script.cpp + script.cpp \ + dialer.cpp INTERFACES = configurebase.ui editbase.ui INCLUDEPATH += $(OPIEDIR)/include |