-rw-r--r-- | noncore/apps/opie-console/mainwindow.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp index 5f6dc12..e3c3c38 100644 --- a/noncore/apps/opie-console/mainwindow.cpp +++ b/noncore/apps/opie-console/mainwindow.cpp | |||
@@ -405,97 +405,104 @@ void MainWindow::slotRecordScript() { | |||
405 | m_recordScript->setEnabled(false); | 405 | m_recordScript->setEnabled(false); |
406 | } | 406 | } |
407 | } | 407 | } |
408 | 408 | ||
409 | void MainWindow::slotSaveScript() { | 409 | void MainWindow::slotSaveScript() { |
410 | if (currentSession() && currentSession()->emulationHandler()->isRecording()) { | 410 | if (currentSession() && currentSession()->emulationHandler()->isRecording()) { |
411 | QMap<QString, QStringList> map; | 411 | QMap<QString, QStringList> map; |
412 | QStringList text; | 412 | QStringList text; |
413 | text << "text/plain"; | 413 | text << "text/plain"; |
414 | map.insert(tr("Script"), text ); | 414 | map.insert(tr("Script"), text ); |
415 | QString filename = OFileDialog::getSaveFileName(2, QPEApplication::documentDir(), QString::null, map); | 415 | QString filename = OFileDialog::getSaveFileName(2, QPEApplication::documentDir(), QString::null, map); |
416 | if (!filename.isEmpty()) { | 416 | if (!filename.isEmpty()) { |
417 | QFileInfo info(filename); | 417 | QFileInfo info(filename); |
418 | if (info.extension(FALSE) != "script") | 418 | if (info.extension(FALSE) != "script") |
419 | filename += ".script"; | 419 | filename += ".script"; |
420 | DocLnk nf; | 420 | DocLnk nf; |
421 | nf.setType("text/plain"); | 421 | nf.setType("text/plain"); |
422 | nf.setFile(filename); | 422 | nf.setFile(filename); |
423 | nf.setName(info.fileName()); | 423 | nf.setName(info.fileName()); |
424 | FileManager fm; | 424 | FileManager fm; |
425 | fm.saveFile(nf, currentSession()->emulationHandler()->script()->script()); | 425 | fm.saveFile(nf, currentSession()->emulationHandler()->script()->script()); |
426 | currentSession()->emulationHandler()->clearScript(); | 426 | currentSession()->emulationHandler()->clearScript(); |
427 | m_saveScript->setEnabled(false); | 427 | m_saveScript->setEnabled(false); |
428 | m_recordScript->setEnabled(true); | 428 | m_recordScript->setEnabled(true); |
429 | populateScripts(); | 429 | populateScripts(); |
430 | } | 430 | } |
431 | } | 431 | } |
432 | } | 432 | } |
433 | 433 | ||
434 | void MainWindow::slotRunScript(int id) { | 434 | void MainWindow::slotRunScript(int id) { |
435 | if (currentSession()) { | 435 | if (currentSession()) { |
436 | int index = m_scriptsPop->indexOf(id); | 436 | int index = m_scriptsPop->indexOf(id); |
437 | DocLnk *lnk = m_scriptsData.at(index); | 437 | DocLnk *lnk = m_scriptsData.at(index); |
438 | QString filePath = lnk->file(); | 438 | QString filePath = lnk->file(); |
439 | Script script(filePath); | 439 | Script script(filePath); |
440 | currentSession()->emulationHandler()->runScript(&script); | 440 | currentSession()->emulationHandler()->runScript(&script); |
441 | } | 441 | } |
442 | } | 442 | } |
443 | 443 | ||
444 | void MainWindow::slotConnect() { | 444 | void MainWindow::slotConnect() { |
445 | if ( currentSession() ) { | 445 | if ( currentSession() ) { |
446 | bool ret = currentSession()->layer()->open(); | 446 | bool ret = currentSession()->layer()->open(); |
447 | if(!ret) QMessageBox::warning(currentSession()->widgetStack(), | 447 | if(!ret) QMessageBox::warning(currentSession()->widgetStack(), |
448 | QObject::tr("Failed"), | 448 | QObject::tr("Failed"), |
449 | QObject::tr("Connecting failed for this session.")); | 449 | QObject::tr("Connecting failed for this session.")); |
450 | else { | 450 | else { |
451 | m_connect->setEnabled( false ); | 451 | m_connect->setEnabled( false ); |
452 | m_disconnect->setEnabled( true ); | 452 | m_disconnect->setEnabled( true ); |
453 | m_transfer->setEnabled( true ); | 453 | |
454 | // if it does not support file transfer, disable the menu entry | ||
455 | if ( ( m_curSession->layer() )->supports()[1] == 0 ) { | ||
456 | m_transfer->setEnabled( false ); | ||
457 | } else { | ||
458 | m_transfer->setEnabled( true ); | ||
459 | } | ||
460 | |||
454 | m_recordScript->setEnabled( true ); | 461 | m_recordScript->setEnabled( true ); |
455 | m_scripts->setItemEnabled(m_runScript_id, true); | 462 | m_scripts->setItemEnabled(m_runScript_id, true); |
456 | } | 463 | } |
457 | } | 464 | } |
458 | } | 465 | } |
459 | 466 | ||
460 | void MainWindow::slotDisconnect() { | 467 | void MainWindow::slotDisconnect() { |
461 | if ( currentSession() ) { | 468 | if ( currentSession() ) { |
462 | currentSession()->layer()->close(); | 469 | currentSession()->layer()->close(); |
463 | m_connect->setEnabled( true ); | 470 | m_connect->setEnabled( true ); |
464 | m_disconnect->setEnabled( false ); | 471 | m_disconnect->setEnabled( false ); |
465 | m_transfer->setEnabled( false ); | 472 | m_transfer->setEnabled( false ); |
466 | m_recordScript->setEnabled( false); | 473 | m_recordScript->setEnabled( false); |
467 | m_saveScript->setEnabled( false ); | 474 | m_saveScript->setEnabled( false ); |
468 | m_scripts->setItemEnabled(m_runScript_id, false); | 475 | m_scripts->setItemEnabled(m_runScript_id, false); |
469 | } | 476 | } |
470 | } | 477 | } |
471 | 478 | ||
472 | void MainWindow::slotTerminate() { | 479 | void MainWindow::slotTerminate() { |
473 | if ( currentSession() ) | 480 | if ( currentSession() ) |
474 | currentSession()->layer()->close(); | 481 | currentSession()->layer()->close(); |
475 | 482 | ||
476 | slotClose(); | 483 | slotClose(); |
477 | /* FIXME move to the next session */ | 484 | /* FIXME move to the next session */ |
478 | } | 485 | } |
479 | 486 | ||
480 | void MainWindow::slotConfigure() { | 487 | void MainWindow::slotConfigure() { |
481 | ConfigDialog conf( manager()->all(), factory() ); | 488 | ConfigDialog conf( manager()->all(), factory() ); |
482 | conf.showMaximized(); | 489 | conf.showMaximized(); |
483 | 490 | ||
484 | int ret = conf.exec(); | 491 | int ret = conf.exec(); |
485 | 492 | ||
486 | if ( QDialog::Accepted == ret ) { | 493 | if ( QDialog::Accepted == ret ) { |
487 | manager()->setProfiles( conf.list() ); | 494 | manager()->setProfiles( conf.list() ); |
488 | manager()->save(); | 495 | manager()->save(); |
489 | populateProfiles(); | 496 | populateProfiles(); |
490 | } | 497 | } |
491 | } | 498 | } |
492 | /* | 499 | /* |
493 | * we will remove | 500 | * we will remove |
494 | * this window from the tabwidget | 501 | * this window from the tabwidget |
495 | * remove it from the list | 502 | * remove it from the list |
496 | * delete it | 503 | * delete it |
497 | * and set the currentSession() | 504 | * and set the currentSession() |
498 | */ | 505 | */ |
499 | void MainWindow::slotClose() { | 506 | void MainWindow::slotClose() { |
500 | if (!currentSession() ) | 507 | if (!currentSession() ) |
501 | return; | 508 | return; |
@@ -526,97 +533,96 @@ void MainWindow::slotClose() { | |||
526 | 533 | ||
527 | /* | 534 | /* |
528 | * We will get the name | 535 | * We will get the name |
529 | * Then the profile | 536 | * Then the profile |
530 | * and then we will make a profile | 537 | * and then we will make a profile |
531 | */ | 538 | */ |
532 | void MainWindow::slotProfile( int id) { | 539 | void MainWindow::slotProfile( int id) { |
533 | Profile prof = manager()->profile( m_sessionsPop->text( id) ); | 540 | Profile prof = manager()->profile( m_sessionsPop->text( id) ); |
534 | create( prof ); | 541 | create( prof ); |
535 | } | 542 | } |
536 | void MainWindow::create( const Profile& prof ) { | 543 | void MainWindow::create( const Profile& prof ) { |
537 | if(m_curSession) | 544 | if(m_curSession) |
538 | if(m_curSession->transferDialog()) m_curSession->transferDialog()->hide(); | 545 | if(m_curSession->transferDialog()) m_curSession->transferDialog()->hide(); |
539 | 546 | ||
540 | Session *ses = manager()->fromProfile( prof, tabWidget() ); | 547 | Session *ses = manager()->fromProfile( prof, tabWidget() ); |
541 | 548 | ||
542 | if((!ses) || (!ses->layer()) || (!ses->widgetStack())) | 549 | if((!ses) || (!ses->layer()) || (!ses->widgetStack())) |
543 | { | 550 | { |
544 | QMessageBox::warning(this, | 551 | QMessageBox::warning(this, |
545 | QObject::tr("Session failed"), | 552 | QObject::tr("Session failed"), |
546 | QObject::tr("<qt>Cannot open session: Not all components were found.</qt>")); | 553 | QObject::tr("<qt>Cannot open session: Not all components were found.</qt>")); |
547 | //if(ses) delete ses; | 554 | //if(ses) delete ses; |
548 | return; | 555 | return; |
549 | } | 556 | } |
550 | 557 | ||
551 | m_sessions.append( ses ); | 558 | m_sessions.append( ses ); |
552 | tabWidget()->add( ses ); | 559 | tabWidget()->add( ses ); |
553 | tabWidget()->repaint(); | 560 | tabWidget()->repaint(); |
554 | m_curSession = ses; | 561 | m_curSession = ses; |
555 | 562 | ||
556 | // dicide if its a local term ( then no connction and no tranfer), maybe make a wrapper method out of it | 563 | // dicide if its a local term ( then no connction and no tranfer), maybe make a wrapper method out of it |
557 | m_connect->setEnabled( true ); | 564 | m_connect->setEnabled( true ); |
558 | m_disconnect->setEnabled( false ); | 565 | m_disconnect->setEnabled( false ); |
559 | m_terminate->setEnabled( true ); | 566 | m_terminate->setEnabled( true ); |
560 | m_fullscreen->setEnabled( true ); | 567 | m_fullscreen->setEnabled( true ); |
561 | m_closewindow->setEnabled( true ); | 568 | m_closewindow->setEnabled( true ); |
562 | m_transfer->setEnabled( false ); | 569 | m_transfer->setEnabled( false ); |
563 | m_recordScript->setEnabled( false ); | 570 | m_recordScript->setEnabled( false ); |
564 | m_saveScript->setEnabled( false ); | 571 | m_saveScript->setEnabled( false ); |
565 | m_scripts->setItemEnabled(m_runScript_id, false); | 572 | m_scripts->setItemEnabled(m_runScript_id, false); |
566 | 573 | ||
567 | // is io_layer wants direct connection, then autoconnect | 574 | // is io_layer wants direct connection, then autoconnect |
568 | //if ( ( m_curSession->layer() )->supports()[0] == 1 ) { | 575 | //if ( ( m_curSession->layer() )->supports()[0] == 1 ) { |
569 | if (prof.autoConnect()) { | 576 | if (prof.autoConnect()) { |
570 | slotConnect(); | 577 | slotConnect(); |
571 | } | 578 | } |
572 | 579 | ||
573 | 580 | ||
574 | |||
575 | QWidget *w = currentSession()->widget(); | 581 | QWidget *w = currentSession()->widget(); |
576 | if(w) w->setFocus(); | 582 | if(w) w->setFocus(); |
577 | 583 | ||
578 | m_kb->load(currentSession()->profile()); | 584 | m_kb->load(currentSession()->profile()); |
579 | } | 585 | } |
580 | 586 | ||
581 | void MainWindow::slotTransfer() | 587 | void MainWindow::slotTransfer() |
582 | { | 588 | { |
583 | if ( currentSession() ) { | 589 | if ( currentSession() ) { |
584 | Session *mysession = currentSession(); | 590 | Session *mysession = currentSession(); |
585 | TransferDialog dlg(mysession->widgetStack(), this); | 591 | TransferDialog dlg(mysession->widgetStack(), this); |
586 | mysession->setTransferDialog(&dlg); | 592 | mysession->setTransferDialog(&dlg); |
587 | dlg.show(); | 593 | dlg.show(); |
588 | //dlg.showMaximized(); | 594 | //dlg.showMaximized(); |
589 | //currentSession()->widgetStack()->add(dlg); | 595 | //currentSession()->widgetStack()->add(dlg); |
590 | //dlg.exec(); | 596 | //dlg.exec(); |
591 | while(dlg.isRunning()) qApp->processEvents(); | 597 | while(dlg.isRunning()) qApp->processEvents(); |
592 | mysession->setTransferDialog(0l); | 598 | mysession->setTransferDialog(0l); |
593 | } | 599 | } |
594 | } | 600 | } |
595 | 601 | ||
596 | 602 | ||
597 | void MainWindow::slotOpenKeb(bool state) { | 603 | void MainWindow::slotOpenKeb(bool state) { |
598 | 604 | ||
599 | if (state) m_keyBar->show(); | 605 | if (state) m_keyBar->show(); |
600 | else m_keyBar->hide(); | 606 | else m_keyBar->hide(); |
601 | 607 | ||
602 | } | 608 | } |
603 | 609 | ||
604 | 610 | ||
605 | void MainWindow::slotOpenButtons( bool state ) { | 611 | void MainWindow::slotOpenButtons( bool state ) { |
606 | 612 | ||
607 | if ( state ) { | 613 | if ( state ) { |
608 | m_buttonBar->show(); | 614 | m_buttonBar->show(); |
609 | } else { | 615 | } else { |
610 | m_buttonBar->hide(); | 616 | m_buttonBar->hide(); |
611 | } | 617 | } |
612 | } | 618 | } |
613 | 619 | ||
614 | 620 | ||
615 | 621 | ||
616 | void MainWindow::slotSessionChanged( Session* ses ) { | 622 | void MainWindow::slotSessionChanged( Session* ses ) { |
617 | qWarning("changed!"); | 623 | qWarning("changed!"); |
618 | 624 | ||
619 | if(m_curSession) | 625 | if(m_curSession) |
620 | if(m_curSession->transferDialog()) m_curSession->transferDialog()->hide(); | 626 | if(m_curSession->transferDialog()) m_curSession->transferDialog()->hide(); |
621 | if(ses) | 627 | if(ses) |
622 | if(ses->transferDialog()) ses->transferDialog()->show(); | 628 | if(ses->transferDialog()) ses->transferDialog()->show(); |