summaryrefslogtreecommitdiff
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/dialer.cpp50
-rw-r--r--noncore/apps/opie-console/dialer.h6
-rw-r--r--noncore/apps/opie-console/io_modem.cpp13
-rw-r--r--noncore/apps/opie-console/io_modem.h1
-rw-r--r--noncore/apps/opie-console/opie-console.pro6
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
@@ -1,96 +1,121 @@
1#include "dialer.h" 1#include "dialer.h"
2 2
3#include <qlayout.h> 3#include <qlayout.h>
4#include <qprogressbar.h> 4#include <qprogressbar.h>
5#include <qlabel.h> 5#include <qlabel.h>
6#include <qpushbutton.h> 6#include <qpushbutton.h>
7#include <qapp.h> 7#include <qapp.h>
8#include <qtimer.h> 8#include <qtimer.h>
9 9
10#include <unistd.h>
11#include <string.h>
12
10// State machine: | When an error occurs, we don't have to 13// State machine: | When an error occurs, we don't have to
11// | reset everything. 14// | reset everything.
12// (init) <------+ | But if the user wants to reset, 15// (init) <------+ | But if the user wants to reset,
13// | | | we stop dialing immediately. 16// | | | we stop dialing immediately.
14// v | | 17// v | |
15// (options) ----+ | Following the state machine is necessary 18// (options) ----+ | Following the state machine is necessary
16// | \ | to get determinable results. 19// | \ | to get determinable results.
17// v ^ | 20// v ^ |
18// (dial) ----+ | 21// (dial) ----+ |
19// | ^ | 22// | ^ |
20// v | | 23// v | |
21// (online) --+ | 24// (online) --+ |
22// | | 25// | |
23// v | 26// v |
24 27
25Dialer::Dialer(const QString& number, QWidget *parent, const char *name) 28
29// from atconfigdialog
30//initStringLine->setText( config.readEntry("InitString", MODEM_DEFAULT_INIT_STRING ) );
31//resetStringLine->setText( config.readEntry("ResetString", MODEM_DEFAULT_RESET_STRING ) );
32//dialPref1Line->setText( config.readEntry("DialPrefix1", MODEM_DEFAULT_DIAL_PREFIX1 ) );
33//dialSuf1Line->setText( config.readEntry("DialSuffix1", MODEM_DEFAULT_DIAL_SUFFIX1 ) );
34//dialPref2Line->setText( config.readEntry("DialPrefix2", MODEM_DEFAULT_DIAL_PREFIX1 ) );
35//dialSuf2Line->setText( config.readEntry("DialSuffix2", MODEM_DEFAULT_DIAL_SUFFIX1 ) );
36//dialPref3Line->setText( config.readEntry("DialPrefix3", MODEM_DEFAULT_DIAL_PREFIX1 ) );
37//dialSuf3Line->setText( config.readEntry("DialSuffix3", MODEM_DEFAULT_DIAL_SUFFIX1 ) );
38//connectLine->setText( config.readEntry("DefaultConnect" MODEM_DEFAULT_CONNECT_STRING ) );
39//hangupLine->setText( config.readEntry("HangupString", MODEM_DEFAULT_HANGUP_STRING ) );
40
41// from modemconfigwidget
42//int rad_flow = prof.readNumEntry("Flow");
43//int rad_parity = prof.readNumEntry("Parity");
44//int speed = prof.readNumEntry("Speed");
45//QString number = prof.readEntry("Number");
46
47Dialer::Dialer(const Profile& profile, QWidget *parent, const char *name)
26: QDialog(parent, name, true) 48: QDialog(parent, name, true)
27{ 49{
28 QVBoxLayout *vbox; 50 QVBoxLayout *vbox;
29 QLabel *desc; 51 QLabel *desc;
30 52
31 usercancel = 0; 53 usercancel = 0;
32 m_number = number; 54 m_profile = profile;
33 55
34 desc = new QLabel(QObject::tr("Dialing number: %1").arg(number), this); 56 desc = new QLabel(QObject::tr("Dialing number: %1").arg(m_profile.readEntry("Number")), this);
35 progress = new QProgressBar(this); 57 progress = new QProgressBar(this);
36 status = new QLabel("", this); 58 status = new QLabel("", this);
37 status->setFrameStyle(QFrame::Panel | QFrame::Sunken); 59 status->setFrameStyle(QFrame::Panel | QFrame::Sunken);
38 cancel = new QPushButton(QObject::tr("Cancel"), this); 60 cancel = new QPushButton(QObject::tr("Cancel"), this);
39 61
40 vbox = new QVBoxLayout(this, 2); 62 vbox = new QVBoxLayout(this, 2);
41 vbox->add(desc); 63 vbox->add(desc);
42 vbox->add(progress); 64 vbox->add(progress);
43 vbox->add(status); 65 vbox->add(status);
44 vbox->add(cancel); 66 vbox->add(cancel);
45 67
46 connect(cancel, SIGNAL(clicked()), SLOT(slotCancel())); 68 connect(cancel, SIGNAL(clicked()), SLOT(slotCancel()));
47 69
48 show(); 70 show();
49 71
50 QTimer::singleShot(500, this, SLOT(slotAutostart())); 72 QTimer::singleShot(500, this, SLOT(slotAutostart()));
51} 73}
52 74
53Dialer::~Dialer() 75Dialer::~Dialer()
54{ 76{
55} 77}
56 78
57void Dialer::slotCancel() 79void Dialer::slotCancel()
58{ 80{
59 if(state != state_online) reset(); 81 if(state != state_online)
82 {
83 usercancel = 1;
84 reset();
85 }
60 else accept(); 86 else accept();
61} 87}
62 88
63void Dialer::reset() 89void Dialer::reset()
64{ 90{
65 switchState(state_cancel); 91 switchState(state_cancel);
66 usercancel = 1;
67} 92}
68 93
69void Dialer::slotAutostart() 94void Dialer::slotAutostart()
70{ 95{
71 state = state_preinit; 96 state = state_preinit;
72 dial(m_number); 97 dial(m_profile.readEntry("Number"));
73} 98}
74 99
75void Dialer::dial(const QString& number) 100void Dialer::dial(const QString& number)
76{ 101{
77 while(state != state_online) 102 while(state != state_online)
78 { 103 {
79 if(!usercancel) 104 if(!usercancel)
80 { 105 {
81 trydial(number); 106 trydial(number);
82 } 107 }
83 else break; 108 else break;
84 } 109 }
85 110
86 if(usercancel) 111 if(usercancel)
87 { 112 {
88 reject(); 113 reject();
89 } 114 }
90} 115}
91 116
92void Dialer::trydial(const QString& number) 117void Dialer::trydial(const QString& number)
93{ 118{
94 if(state != state_cancel) 119 if(state != state_cancel)
95 { 120 {
96 switchState(state_preinit); 121 switchState(state_preinit);
@@ -116,49 +141,62 @@ void Dialer::trydial(const QString& number)
116 if(state != state_cancel) 141 if(state != state_cancel)
117 { 142 {
118 switchState(state_dialtone); 143 switchState(state_dialtone);
119 144
120 send("ATX1"); 145 send("ATX1");
121 QString response4 = receive(); 146 QString response4 = receive();
122 } 147 }
123 148
124 if(state != state_cancel) 149 if(state != state_cancel)
125 { 150 {
126 switchState(state_dialing); 151 switchState(state_dialing);
127 152
128 send(QString("ATDT %1").arg(number)); 153 send(QString("ATDT %1").arg(number));
129 QString response5 = receive(); 154 QString response5 = receive();
130 } 155 }
131 156
132 if(state != state_cancel) 157 if(state != state_cancel)
133 { 158 {
134 switchState(state_online); 159 switchState(state_online);
135 } 160 }
136} 161}
137 162
138void Dialer::send(const QString& msg) 163void Dialer::send(const QString& msg)
139{ 164{
165 QString m = msg;
166 int bytes;
167 QString termination;
140 168
169 termination = m_profile.readEntry("Termination");
170 if(termination == "\n") m = m + "\n";
171 else if(termination == "\r") m = m + "\r";
172 else m = m + "\r\n";
173
174 bytes = write(0, m.local8Bit(), strlen(m.local8Bit()));
175 if(bytes < 0)
176 {
177 reset();
178 }
141} 179}
142 180
143QString Dialer::receive() 181QString Dialer::receive()
144{ 182{
145 for(int i = 0; i < 200000;i++) 183 for(int i = 0; i < 200000;i++)
146 qApp->processEvents(); 184 qApp->processEvents();
147 return QString::null; 185 return QString::null;
148} 186}
149 187
150void Dialer::switchState(int newstate) 188void Dialer::switchState(int newstate)
151{ 189{
152 int oldstate = state; 190 int oldstate = state;
153 state = newstate; 191 state = newstate;
154 192
155 switch(state) 193 switch(state)
156 { 194 {
157 case state_cancel: 195 case state_cancel:
158 status->setText(QObject::tr("Cancelling...")); 196 status->setText(QObject::tr("Cancelling..."));
159 progress->setProgress(0); 197 progress->setProgress(0);
160 break; 198 break;
161 case state_preinit: 199 case state_preinit:
162 status->setText(QObject::tr("Searching modem")); 200 status->setText(QObject::tr("Searching modem"));
163 progress->setProgress(10); 201 progress->setProgress(10);
164 break; 202 break;
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
@@ -1,49 +1,51 @@
1#ifndef DIALER_H 1#ifndef DIALER_H
2#define DIALER_H 2#define DIALER_H
3 3
4#include <qdialog.h> 4#include <qdialog.h>
5 5
6#include "profile.h"
7
6class QLabel; 8class QLabel;
7class QProgressBar; 9class QProgressBar;
8 10
9class Dialer : public QDialog 11class Dialer : public QDialog
10{ 12{
11 Q_OBJECT 13 Q_OBJECT
12 public: 14 public:
13 Dialer(const QString& number, QWidget *parent = NULL, const char *name = NULL); 15 Dialer(const Profile& profile, QWidget *parent = NULL, const char *name = NULL);
14 ~Dialer(); 16 ~Dialer();
15 17
16 public slots: 18 public slots:
17 void slotCancel(); 19 void slotCancel();
18 void slotAutostart(); 20 void slotAutostart();
19 21
20 private: 22 private:
21 void switchState(int newstate); 23 void switchState(int newstate);
22 void reset(); 24 void reset();
23 void dial(const QString& number); 25 void dial(const QString& number);
24 void trydial(const QString& number); 26 void trydial(const QString& number);
25 27
26 void send(const QString& msg); 28 void send(const QString& msg);
27 QString receive(); 29 QString receive();
28 30
29 enum States 31 enum States
30 { 32 {
31 state_cancel, 33 state_cancel,
32 state_preinit, 34 state_preinit,
33 state_init, 35 state_init,
34 state_options, 36 state_options,
35 state_dialtone, 37 state_dialtone,
36 state_dialing, 38 state_dialing,
37 state_online 39 state_online
38 }; 40 };
39 41
40 QLabel *status; 42 QLabel *status;
41 QProgressBar *progress; 43 QProgressBar *progress;
42 QPushButton *cancel; 44 QPushButton *cancel;
43 int state; 45 int state;
44 int usercancel; 46 int usercancel;
45 QString m_number; 47 Profile m_profile;
46}; 48};
47 49
48#endif 50#endif
49 51
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,48 +1,55 @@
1 1
2#include "io_modem.h" 2#include "io_modem.h"
3 3
4IOModem:IOModem( const Profile &config ) : IOSerial( config ) { 4#include "dialer.h"
5 5
6IOModem:IOModem( const Profile &config ) : IOSerial( config ) {
7 m_config = config;
6} 8}
7 9
8 10
9IOModem::~IOModem() { 11IOModem::~IOModem() {
10 12
11} 13}
12 14
13 15
14void IOModem::close() { 16void IOModem::close() {
15 17
16 IOSerial::close(); 18 IOSerial::close();
17 19
18} 20}
19 21
20bool IOModem::open() { 22bool IOModem::open() {
21
22
23 IOSerial::open(); 23 IOSerial::open();
24 24
25 Dialer d(m_profile);
26 int result = d.exec();
27 if(result == QDialog::Accepted)
28 {
29 return true;
30 }
31 else return false;
25} 32}
26 33
27void IOModem::reload( const Profile &config ) { 34void IOModem::reload( const Profile &config ) {
28 m_device = config.readEntry("Device", MODEM_DEFAULT_DEVICE); 35 m_device = config.readEntry("Device", MODEM_DEFAULT_DEVICE);
29 m_baud = config.readNumEntry("Baud", MODEM_DEFAULT_BAUD); 36 m_baud = config.readNumEntry("Baud", MODEM_DEFAULT_BAUD);
30 m_parity = config.readNumEntry("Parity", MODEM_DEFAULT_PARITY); 37 m_parity = config.readNumEntry("Parity", MODEM_DEFAULT_PARITY);
31 m_dbits = config.readNumEntry("DataBits", MODEM_DEFAULT_DBITS); 38 m_dbits = config.readNumEntry("DataBits", MODEM_DEFAULT_DBITS);
32 m_sbits = config.readNumEntry("StopBits", MODEM_DEFAULT_SBITS); 39 m_sbits = config.readNumEntry("StopBits", MODEM_DEFAULT_SBITS);
33 m_flow = config.readNumEntry("Flow", MODEM_DEFAULT_FLOW); 40 m_flow = config.readNumEntry("Flow", MODEM_DEFAULT_FLOW);
34 41
35 m_initString = config.readEntry("InitString", MODEM_DEFAULT_INIT_STRING ); 42 m_initString = config.readEntry("InitString", MODEM_DEFAULT_INIT_STRING );
36 m_resetString = config.readEntry("ResetString", MODEM_DEFAULT_RESET_STRING ); 43 m_resetString = config.readEntry("ResetString", MODEM_DEFAULT_RESET_STRING );
37 m_dialPref1 = config.readEntry("DialPrefix1", MODEM_DEFAULT_DIAL_PREFIX1 ); 44 m_dialPref1 = config.readEntry("DialPrefix1", MODEM_DEFAULT_DIAL_PREFIX1 );
38 m_dialSuf1 = config.readEntry("DialSuffix1", MODEM_DEFAULT_DIAL_SUFFIX1 ); 45 m_dialSuf1 = config.readEntry("DialSuffix1", MODEM_DEFAULT_DIAL_SUFFIX1 );
39 m_dialPref2 = config.readEntry("DialPrefix2", MODEM_DEFAULT_DIAL_PREFIX1 ); 46 m_dialPref2 = config.readEntry("DialPrefix2", MODEM_DEFAULT_DIAL_PREFIX1 );
40 m_dialSuf2 = config.readEntry("DialSuffix2", MODEM_DEFAULT_DIAL_SUFFIX1 ); 47 m_dialSuf2 = config.readEntry("DialSuffix2", MODEM_DEFAULT_DIAL_SUFFIX1 );
41 m_dialPref3 = config.readEntry("DialPrefix3", MODEM_DEFAULT_DIAL_PREFIX1 ); 48 m_dialPref3 = config.readEntry("DialPrefix3", MODEM_DEFAULT_DIAL_PREFIX1 );
42 m_dialSuf3 = config.readEntry("DialSuffix3", MODEM_DEFAULT_DIAL_SUFFIX1 ); 49 m_dialSuf3 = config.readEntry("DialSuffix3", MODEM_DEFAULT_DIAL_SUFFIX1 );
43 m_connect = config.readEntry("DefaultConnect" MODEM_DEFAULT_CONNECT_STRING ); 50 m_connect = config.readEntry("DefaultConnect" MODEM_DEFAULT_CONNECT_STRING );
44 m_hangup = config.readEntry("HangupString", MODEM_DEFAULT_HANGUP_STRING ); 51 m_hangup = config.readEntry("HangupString", MODEM_DEFAULT_HANGUP_STRING );
45 m_cancel = config.readEntry("CancelString" MODEM_DEFAULT_CANCEL_STRING ); 52 m_cancel = config.readEntry("CancelString" MODEM_DEFAULT_CANCEL_STRING );
46 m_dialTime = config.readEntry("DialTime" MODEM_DEFAULT_DIAL_TIME ); 53 m_dialTime = config.readEntry("DialTime" MODEM_DEFAULT_DIAL_TIME );
47 m_delayRedial = config.readEntry("DelayRedial", MODEM_DEFAULT_DELAY_REDIAL ); 54 m_delayRedial = config.readEntry("DelayRedial", MODEM_DEFAULT_DELAY_REDIAL );
48 m_numberTries = config.readEntry("NumberTries", MODEM_DEFAULT_NUMBER_TRIES ); 55 m_numberTries = config.readEntry("NumberTries", MODEM_DEFAULT_NUMBER_TRIES );
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
@@ -39,31 +39,32 @@ class IOModem : public IOSerial {
39 39
40public: 40public:
41 41
42 IOModem(const Profile &); 42 IOModem(const Profile &);
43 ~IOModem(); 43 ~IOModem();
44 44
45 QString identifier() const; 45 QString identifier() const;
46 QString name() const; 46 QString name() const;
47 47
48signals: 48signals:
49 void received(const QByteArray &); 49 void received(const QByteArray &);
50 void error(int, const QString &); 50 void error(int, const QString &);
51 51
52public slots: 52public slots:
53 bool open(); 53 bool open();
54 void close(); 54 void close();
55 void reload(const Profile &); 55 void reload(const Profile &);
56 56
57private: 57private:
58 58
59 QString m_initString, m_resetString, m_dialPref1, m_dialSuf1, m_dialPref2, 59 QString m_initString, m_resetString, m_dialPref1, m_dialSuf1, m_dialPref2,
60 m_dialSuf2, dialPref3, m_dialSuf3, m_connect, m_hangup, m_cancel; 60 m_dialSuf2, dialPref3, m_dialSuf3, m_connect, m_hangup, m_cancel;
61 int m_dialTime, m_delayRedial, m_numberTries, m_dtrDropTime, 61 int m_dialTime, m_delayRedial, m_numberTries, m_dtrDropTime,
62 m_bpsDetect, m_dcdLines, m_multiLineUntag; 62 m_bpsDetect, m_dcdLines, m_multiLineUntag;
63 const Profile& m_profile;
63 64
64private slots: 65private slots:
65 void slotExited(OProcess* proc); 66 void slotExited(OProcess* proc);
66 67
67}; 68};
68 69
69#endif 70#endif
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
@@ -11,62 +11,64 @@ HEADERS = io_layer.h io_serial.h io_irda.h io_bt.h\
11 profileconfig.h \ 11 profileconfig.h \
12 profilemanager.h \ 12 profilemanager.h \
13 configwidget.h \ 13 configwidget.h \
14 tabwidget.h \ 14 tabwidget.h \
15 configdialog.h \ 15 configdialog.h \
16 emulation_layer.h \ 16 emulation_layer.h \
17 vt102emulation.h \ 17 vt102emulation.h \
18 common.h \ 18 common.h \
19 history.h \ 19 history.h \
20 screen.h \ 20 screen.h \
21 keytrans.h \ 21 keytrans.h \
22 widget_layer.h \ 22 widget_layer.h \
23 transferdialog.h \ 23 transferdialog.h \
24 profiledialogwidget.h \ 24 profiledialogwidget.h \
25 profileeditordialog.h \ 25 profileeditordialog.h \
26 default.h \ 26 default.h \
27 terminalwidget.h \ 27 terminalwidget.h \
28 iolayerbase.h \ 28 iolayerbase.h \
29 serialconfigwidget.h irdaconfigwidget.h \ 29 serialconfigwidget.h irdaconfigwidget.h \
30 btconfigwidget.h modemconfigwidget.h \ 30 btconfigwidget.h modemconfigwidget.h \
31 atconfigdialog.h dialdialog.h \ 31 atconfigdialog.h dialdialog.h \
32 emulation_widget.h procctl.h \ 32 emulation_widget.h procctl.h \
33 function_keyboard.h \ 33 function_keyboard.h \
34 receive_layer.h filereceive.h \ 34 receive_layer.h filereceive.h \
35 script.h 35 script.h \
36 dialer.h
36 37
37SOURCES = io_layer.cpp io_serial.cpp io_irda.cpp io_bt.cpp \ 38SOURCES = io_layer.cpp io_serial.cpp io_irda.cpp io_bt.cpp \
38 file_layer.cpp filetransfer.cpp \ 39 file_layer.cpp filetransfer.cpp \
39 main.cpp \ 40 main.cpp \
40 metafactory.cpp \ 41 metafactory.cpp \
41 session.cpp \ 42 session.cpp \
42 mainwindow.cpp \ 43 mainwindow.cpp \
43 profile.cpp \ 44 profile.cpp \
44 profileconfig.cpp \ 45 profileconfig.cpp \
45 profilemanager.cpp \ 46 profilemanager.cpp \
46 tabwidget.cpp \ 47 tabwidget.cpp \
47 configdialog.cpp \ 48 configdialog.cpp \
48 emulation_layer.cpp \ 49 emulation_layer.cpp \
49 vt102emulation.cpp \ 50 vt102emulation.cpp \
50 history.cpp \ 51 history.cpp \
51 screen.cpp \ 52 screen.cpp \
52 keytrans.cpp \ 53 keytrans.cpp \
53 widget_layer.cpp \ 54 widget_layer.cpp \
54 transferdialog.cpp \ 55 transferdialog.cpp \
55 profiledialogwidget.cpp \ 56 profiledialogwidget.cpp \
56 profileeditordialog.cpp \ 57 profileeditordialog.cpp \
57 terminalwidget.cpp \ 58 terminalwidget.cpp \
58 iolayerbase.cpp \ 59 iolayerbase.cpp \
59 serialconfigwidget.cpp irdaconfigwidget.cpp \ 60 serialconfigwidget.cpp irdaconfigwidget.cpp \
60 btconfigwidget.cpp modemconfigwidget.cpp \ 61 btconfigwidget.cpp modemconfigwidget.cpp \
61 atconfigdialog.cpp dialdialog.cpp \ 62 atconfigdialog.cpp dialdialog.cpp \
62 emulation_widget.cpp default.cpp procctl.cpp \ 63 emulation_widget.cpp default.cpp procctl.cpp \
63 function_keyboard.cpp \ 64 function_keyboard.cpp \
64 receive_layer.cpp filereceive.cpp \ 65 receive_layer.cpp filereceive.cpp \
65 script.cpp 66 script.cpp \
67 dialer.cpp
66 68
67INTERFACES = configurebase.ui editbase.ui 69INTERFACES = configurebase.ui editbase.ui
68INCLUDEPATH += $(OPIEDIR)/include 70INCLUDEPATH += $(OPIEDIR)/include
69DEPENDPATH += $(OPIEDIR)/include 71DEPENDPATH += $(OPIEDIR)/include
70LIBS += -lqpe -lopie 72LIBS += -lqpe -lopie
71TARGET = opie-console 73TARGET = opie-console
72 74