-rw-r--r-- | noncore/apps/opie-console/io_modem.cpp | 6 | ||||
-rw-r--r-- | noncore/apps/opie-console/io_serial.cpp | 1 | ||||
-rw-r--r-- | noncore/apps/opie-console/mainwindow.cpp | 10 |
3 files changed, 13 insertions, 4 deletions
diff --git a/noncore/apps/opie-console/io_modem.cpp b/noncore/apps/opie-console/io_modem.cpp index 22a3673..41f553b 100644 --- a/noncore/apps/opie-console/io_modem.cpp +++ b/noncore/apps/opie-console/io_modem.cpp | |||
@@ -18,33 +18,37 @@ void IOModem::close() { | |||
18 | // maybe do a hangup here just in case...? | 18 | // maybe do a hangup here just in case...? |
19 | 19 | ||
20 | IOSerial::close(); | 20 | IOSerial::close(); |
21 | } | 21 | } |
22 | 22 | ||
23 | bool IOModem::open() { | 23 | bool IOModem::open() { |
24 | bool ret = IOSerial::open(); | 24 | bool ret = IOSerial::open(); |
25 | if(!ret) return false; | 25 | if(!ret) return false; |
26 | 26 | ||
27 | Dialer d(m_profile); | 27 | Dialer d(m_profile); |
28 | 28 | ||
29 | int result = d.exec(); | 29 | int result = d.exec(); |
30 | if(result == QDialog::Accepted) | 30 | if(result == QDialog::Accepted) |
31 | { | 31 | { |
32 | return true; | 32 | return true; |
33 | } | 33 | } |
34 | else return false; | 34 | else |
35 | { | ||
36 | close(); | ||
37 | return false; | ||
38 | } | ||
35 | } | 39 | } |
36 | 40 | ||
37 | void IOModem::reload( const Profile &config ) { | 41 | void IOModem::reload( const Profile &config ) { |
38 | 42 | ||
39 | m_device = config.readEntry("Device", MODEM_DEFAULT_DEVICE); | 43 | m_device = config.readEntry("Device", MODEM_DEFAULT_DEVICE); |
40 | m_baud = config.readNumEntry("Baud", MODEM_DEFAULT_BAUD); | 44 | m_baud = config.readNumEntry("Baud", MODEM_DEFAULT_BAUD); |
41 | m_parity = config.readNumEntry("Parity", MODEM_DEFAULT_PARITY); | 45 | m_parity = config.readNumEntry("Parity", MODEM_DEFAULT_PARITY); |
42 | m_dbits = config.readNumEntry("DataBits", MODEM_DEFAULT_DBITS); | 46 | m_dbits = config.readNumEntry("DataBits", MODEM_DEFAULT_DBITS); |
43 | m_sbits = config.readNumEntry("StopBits", MODEM_DEFAULT_SBITS); | 47 | m_sbits = config.readNumEntry("StopBits", MODEM_DEFAULT_SBITS); |
44 | m_flow = config.readNumEntry("Flow", MODEM_DEFAULT_FLOW); | 48 | m_flow = config.readNumEntry("Flow", MODEM_DEFAULT_FLOW); |
45 | 49 | ||
46 | m_initString = config.readEntry("InitString", MODEM_DEFAULT_INIT_STRING ); | 50 | m_initString = config.readEntry("InitString", MODEM_DEFAULT_INIT_STRING ); |
47 | m_resetString = config.readEntry("ResetString", MODEM_DEFAULT_RESET_STRING ); | 51 | m_resetString = config.readEntry("ResetString", MODEM_DEFAULT_RESET_STRING ); |
48 | m_dialPref1 = config.readEntry("DialPrefix1", MODEM_DEFAULT_DIAL_PREFIX1 ); | 52 | m_dialPref1 = config.readEntry("DialPrefix1", MODEM_DEFAULT_DIAL_PREFIX1 ); |
49 | m_dialSuf1 = config.readEntry("DialSuffix1", MODEM_DEFAULT_DIAL_SUFFIX1 ); | 53 | m_dialSuf1 = config.readEntry("DialSuffix1", MODEM_DEFAULT_DIAL_SUFFIX1 ); |
50 | m_dialPref2 = config.readEntry("DialPrefix2", MODEM_DEFAULT_DIAL_PREFIX1 ); | 54 | m_dialPref2 = config.readEntry("DialPrefix2", MODEM_DEFAULT_DIAL_PREFIX1 ); |
diff --git a/noncore/apps/opie-console/io_serial.cpp b/noncore/apps/opie-console/io_serial.cpp index b89a53b..cc63c58 100644 --- a/noncore/apps/opie-console/io_serial.cpp +++ b/noncore/apps/opie-console/io_serial.cpp | |||
@@ -33,32 +33,33 @@ void IOSerial::close() { | |||
33 | delete m_error; | 33 | delete m_error; |
34 | ::close(m_fd); | 34 | ::close(m_fd); |
35 | m_fd = 0; | 35 | m_fd = 0; |
36 | m_connected = false; | 36 | m_connected = false; |
37 | } else { | 37 | } else { |
38 | m_connected = false; | 38 | m_connected = false; |
39 | emit error(Refuse, tr("Not connected")); | 39 | emit error(Refuse, tr("Not connected")); |
40 | } | 40 | } |
41 | } | 41 | } |
42 | 42 | ||
43 | bool IOSerial::open() { | 43 | bool IOSerial::open() { |
44 | if (!m_fd) { | 44 | if (!m_fd) { |
45 | struct termios tty; | 45 | struct termios tty; |
46 | m_fd = ::open(m_device, O_RDWR | O_NOCTTY | O_NONBLOCK); | 46 | m_fd = ::open(m_device, O_RDWR | O_NOCTTY | O_NONBLOCK); |
47 | if (m_fd < 0) { | 47 | if (m_fd < 0) { |
48 | emit error(CouldNotOpen, strerror(errno)); | 48 | emit error(CouldNotOpen, strerror(errno)); |
49 | m_fd = 0; | ||
49 | return FALSE; | 50 | return FALSE; |
50 | } | 51 | } |
51 | tcgetattr(m_fd, &tty); | 52 | tcgetattr(m_fd, &tty); |
52 | 53 | ||
53 | /* Baud rate */ | 54 | /* Baud rate */ |
54 | int speed = baud(m_baud); | 55 | int speed = baud(m_baud); |
55 | if (speed == -1) { | 56 | if (speed == -1) { |
56 | emit error(Refuse, tr("Invalid baud rate")); | 57 | emit error(Refuse, tr("Invalid baud rate")); |
57 | } | 58 | } |
58 | cfsetospeed(&tty, speed); | 59 | cfsetospeed(&tty, speed); |
59 | cfsetispeed(&tty, speed); | 60 | cfsetispeed(&tty, speed); |
60 | 61 | ||
61 | /* Take care of Space / Mark parity */ | 62 | /* Take care of Space / Mark parity */ |
62 | if (m_dbits == 7 && (m_parity == ParitySpace || m_parity == ParityMark)) { | 63 | if (m_dbits == 7 && (m_parity == ParitySpace || m_parity == ParityMark)) { |
63 | m_dbits = 8; | 64 | m_dbits = 8; |
64 | } | 65 | } |
diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp index 4326609..9ccefa0 100644 --- a/noncore/apps/opie-console/mainwindow.cpp +++ b/noncore/apps/opie-console/mainwindow.cpp | |||
@@ -305,34 +305,36 @@ void MainWindow::slotRunScript() { | |||
305 | types.insert("Script", script); | 305 | types.insert("Script", script); |
306 | QString filename = OFileDialog::getOpenFileName(2, "/", QString::null, types); | 306 | QString filename = OFileDialog::getOpenFileName(2, "/", QString::null, types); |
307 | if (!filename.isEmpty()) { | 307 | if (!filename.isEmpty()) { |
308 | Script script(DocLnk(filename).file()); | 308 | Script script(DocLnk(filename).file()); |
309 | currentSession()->emulationLayer()->runScript(&script); | 309 | currentSession()->emulationLayer()->runScript(&script); |
310 | } | 310 | } |
311 | } | 311 | } |
312 | */ | 312 | */ |
313 | } | 313 | } |
314 | 314 | ||
315 | void MainWindow::slotConnect() { | 315 | void MainWindow::slotConnect() { |
316 | if ( currentSession() ) { | 316 | if ( currentSession() ) { |
317 | bool ret = currentSession()->layer()->open(); | 317 | bool ret = currentSession()->layer()->open(); |
318 | if(!ret) QMessageBox::warning(currentSession()->widgetStack(), | 318 | if(!ret) QMessageBox::warning(currentSession()->widgetStack(), |
319 | QObject::tr("Failed"), | 319 | QObject::tr("Failed"), |
320 | QObject::tr("Connecting failed for this session.")); | 320 | QObject::tr("Connecting failed for this session.")); |
321 | m_connect->setEnabled( false ); | 321 | else { |
322 | m_disconnect->setEnabled( true ); | 322 | m_connect->setEnabled( false ); |
323 | m_disconnect->setEnabled( true ); | ||
324 | } | ||
323 | } | 325 | } |
324 | } | 326 | } |
325 | 327 | ||
326 | void MainWindow::slotDisconnect() { | 328 | void MainWindow::slotDisconnect() { |
327 | if ( currentSession() ) { | 329 | if ( currentSession() ) { |
328 | currentSession()->layer()->close(); | 330 | currentSession()->layer()->close(); |
329 | m_connect->setEnabled( true ); | 331 | m_connect->setEnabled( true ); |
330 | m_disconnect->setEnabled( false ); | 332 | m_disconnect->setEnabled( false ); |
331 | } | 333 | } |
332 | } | 334 | } |
333 | 335 | ||
334 | void MainWindow::slotTerminate() { | 336 | void MainWindow::slotTerminate() { |
335 | if ( currentSession() ) | 337 | if ( currentSession() ) |
336 | currentSession()->layer()->close(); | 338 | currentSession()->layer()->close(); |
337 | 339 | ||
338 | slotClose(); | 340 | slotClose(); |
@@ -351,33 +353,35 @@ void MainWindow::slotConfigure() { | |||
351 | populateProfiles(); | 353 | populateProfiles(); |
352 | } | 354 | } |
353 | } | 355 | } |
354 | /* | 356 | /* |
355 | * we will remove | 357 | * we will remove |
356 | * this window from the tabwidget | 358 | * this window from the tabwidget |
357 | * remove it from the list | 359 | * remove it from the list |
358 | * delete it | 360 | * delete it |
359 | * and set the currentSession() | 361 | * and set the currentSession() |
360 | */ | 362 | */ |
361 | void MainWindow::slotClose() { | 363 | void MainWindow::slotClose() { |
362 | if (!currentSession() ) | 364 | if (!currentSession() ) |
363 | return; | 365 | return; |
364 | 366 | ||
365 | Session* ses = currentSession(); | 367 | Session* ses = currentSession(); |
366 | qWarning("removing! currentSession %s", currentSession()->name().latin1() ); | 368 | qWarning("removing! currentSession %s", currentSession()->name().latin1() ); |
367 | tabWidget()->remove( currentSession() ); | 369 | /* set to NULL to be safe, if its needed slotSessionChanged resets it automatically */ |
370 | m_curSession = NULL; | ||
371 | tabWidget()->remove( /*currentSession()*/ses ); | ||
368 | /*it's autodelete */ | 372 | /*it's autodelete */ |
369 | m_sessions.remove( ses ); | 373 | m_sessions.remove( ses ); |
370 | qWarning("after remove!!"); | 374 | qWarning("after remove!!"); |
371 | 375 | ||
372 | if (!currentSession() ) { | 376 | if (!currentSession() ) { |
373 | m_connect->setEnabled( false ); | 377 | m_connect->setEnabled( false ); |
374 | m_disconnect->setEnabled( false ); | 378 | m_disconnect->setEnabled( false ); |
375 | m_terminate->setEnabled( false ); | 379 | m_terminate->setEnabled( false ); |
376 | m_transfer->setEnabled( false ); | 380 | m_transfer->setEnabled( false ); |
377 | m_recordScript->setEnabled( false ); | 381 | m_recordScript->setEnabled( false ); |
378 | m_saveScript->setEnabled( false ); | 382 | m_saveScript->setEnabled( false ); |
379 | m_runScript->setEnabled( false ); | 383 | m_runScript->setEnabled( false ); |
380 | m_fullscreen->setEnabled( false ); | 384 | m_fullscreen->setEnabled( false ); |
381 | m_closewindow->setEnabled( false ); | 385 | m_closewindow->setEnabled( false ); |
382 | } | 386 | } |
383 | } | 387 | } |