-rw-r--r-- | noncore/apps/opie-console/mainwindow.cpp | 24 | ||||
-rw-r--r-- | noncore/apps/opie-console/session.cpp | 10 | ||||
-rw-r--r-- | noncore/apps/opie-console/session.h | 5 | ||||
-rw-r--r-- | noncore/apps/opie-console/transferdialog.cpp | 15 | ||||
-rw-r--r-- | noncore/apps/opie-console/transferdialog.h | 2 |
5 files changed, 46 insertions, 10 deletions
diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp index c44b359..5f6dc12 100644 --- a/noncore/apps/opie-console/mainwindow.cpp +++ b/noncore/apps/opie-console/mainwindow.cpp | |||
@@ -531,12 +531,15 @@ void MainWindow::slotClose() { | |||
531 | */ | 531 | */ |
532 | void MainWindow::slotProfile( int id) { | 532 | void MainWindow::slotProfile( int id) { |
533 | Profile prof = manager()->profile( m_sessionsPop->text( id) ); | 533 | Profile prof = manager()->profile( m_sessionsPop->text( id) ); |
534 | create( prof ); | 534 | create( prof ); |
535 | } | 535 | } |
536 | void MainWindow::create( const Profile& prof ) { | 536 | void MainWindow::create( const Profile& prof ) { |
537 | if(m_curSession) | ||
538 | if(m_curSession->transferDialog()) m_curSession->transferDialog()->hide(); | ||
539 | |||
537 | Session *ses = manager()->fromProfile( prof, tabWidget() ); | 540 | Session *ses = manager()->fromProfile( prof, tabWidget() ); |
538 | 541 | ||
539 | if((!ses) || (!ses->layer()) || (!ses->widgetStack())) | 542 | if((!ses) || (!ses->layer()) || (!ses->widgetStack())) |
540 | { | 543 | { |
541 | QMessageBox::warning(this, | 544 | QMessageBox::warning(this, |
542 | QObject::tr("Session failed"), | 545 | QObject::tr("Session failed"), |
@@ -575,16 +578,21 @@ void MainWindow::create( const Profile& prof ) { | |||
575 | m_kb->load(currentSession()->profile()); | 578 | m_kb->load(currentSession()->profile()); |
576 | } | 579 | } |
577 | 580 | ||
578 | void MainWindow::slotTransfer() | 581 | void MainWindow::slotTransfer() |
579 | { | 582 | { |
580 | if ( currentSession() ) { | 583 | if ( currentSession() ) { |
581 | TransferDialog dlg(currentSession()->widgetStack(), this); | 584 | Session *mysession = currentSession(); |
582 | dlg.showMaximized(); | 585 | TransferDialog dlg(mysession->widgetStack(), this); |
586 | mysession->setTransferDialog(&dlg); | ||
587 | dlg.show(); | ||
588 | //dlg.showMaximized(); | ||
583 | //currentSession()->widgetStack()->add(dlg); | 589 | //currentSession()->widgetStack()->add(dlg); |
584 | dlg.exec(); | 590 | //dlg.exec(); |
591 | while(dlg.isRunning()) qApp->processEvents(); | ||
592 | mysession->setTransferDialog(0l); | ||
585 | } | 593 | } |
586 | } | 594 | } |
587 | 595 | ||
588 | 596 | ||
589 | void MainWindow::slotOpenKeb(bool state) { | 597 | void MainWindow::slotOpenKeb(bool state) { |
590 | 598 | ||
@@ -604,12 +612,18 @@ void MainWindow::slotOpenButtons( bool state ) { | |||
604 | } | 612 | } |
605 | 613 | ||
606 | 614 | ||
607 | 615 | ||
608 | void MainWindow::slotSessionChanged( Session* ses ) { | 616 | void MainWindow::slotSessionChanged( Session* ses ) { |
609 | qWarning("changed!"); | 617 | qWarning("changed!"); |
618 | |||
619 | if(m_curSession) | ||
620 | if(m_curSession->transferDialog()) m_curSession->transferDialog()->hide(); | ||
621 | if(ses) | ||
622 | if(ses->transferDialog()) ses->transferDialog()->show(); | ||
623 | |||
610 | if ( ses ) { | 624 | if ( ses ) { |
611 | m_curSession = ses; | 625 | m_curSession = ses; |
612 | qDebug(QString("is connected : %1").arg( m_curSession->layer()->isConnected() ) ); | 626 | qDebug(QString("is connected : %1").arg( m_curSession->layer()->isConnected() ) ); |
613 | if ( m_curSession->layer()->isConnected() ) { | 627 | if ( m_curSession->layer()->isConnected() ) { |
614 | m_connect->setEnabled( false ); | 628 | m_connect->setEnabled( false ); |
615 | m_disconnect->setEnabled( true ); | 629 | m_disconnect->setEnabled( true ); |
@@ -627,16 +641,12 @@ void MainWindow::slotSessionChanged( Session* ses ) { | |||
627 | if ( ( m_curSession->layer() )->supports()[1] == 0 ) { | 641 | if ( ( m_curSession->layer() )->supports()[1] == 0 ) { |
628 | m_transfer->setEnabled( false ); | 642 | m_transfer->setEnabled( false ); |
629 | } else { | 643 | } else { |
630 | m_transfer->setEnabled( true ); | 644 | m_transfer->setEnabled( true ); |
631 | } | 645 | } |
632 | 646 | ||
633 | |||
634 | |||
635 | |||
636 | |||
637 | QWidget *w = m_curSession->widget(); | 647 | QWidget *w = m_curSession->widget(); |
638 | if(w) w->setFocus(); | 648 | if(w) w->setFocus(); |
639 | 649 | ||
640 | m_kb->load(currentSession()->profile()); | 650 | m_kb->load(currentSession()->profile()); |
641 | } | 651 | } |
642 | } | 652 | } |
diff --git a/noncore/apps/opie-console/session.cpp b/noncore/apps/opie-console/session.cpp index c166d95..4f52584 100644 --- a/noncore/apps/opie-console/session.cpp +++ b/noncore/apps/opie-console/session.cpp | |||
@@ -8,12 +8,13 @@ | |||
8 | 8 | ||
9 | 9 | ||
10 | Session::Session() { | 10 | Session::Session() { |
11 | m_widget = 0l; | 11 | m_widget = 0l; |
12 | m_layer = 0l; | 12 | m_layer = 0l; |
13 | m_emu = 0l; | 13 | m_emu = 0l; |
14 | m_transfer = 0l; | ||
14 | } | 15 | } |
15 | Session::Session( const QString& na, QWidgetStack* widget, IOLayer* lay) | 16 | Session::Session( const QString& na, QWidgetStack* widget, IOLayer* lay) |
16 | : m_name( na ), m_widget( widget ), m_layer( lay ) | 17 | : m_name( na ), m_widget( widget ), m_layer( lay ) |
17 | { | 18 | { |
18 | // m_widLay = 0l; | 19 | // m_widLay = 0l; |
19 | // m_emLay = 0l; | 20 | // m_emLay = 0l; |
@@ -101,7 +102,16 @@ void Session::setProfile( const Profile& prof ) { | |||
101 | /* | 102 | /* |
102 | void Session::setEmulationWidget( WidgetLayer* lay ) { | 103 | void Session::setEmulationWidget( WidgetLayer* lay ) { |
103 | delete m_widLay; | 104 | delete m_widLay; |
104 | m_widLay = lay; | 105 | m_widLay = lay; |
105 | } | 106 | } |
106 | */ | 107 | */ |
108 | void Session::setTransferDialog(QWidget *d) | ||
109 | { | ||
110 | m_transfer = d; | ||
111 | } | ||
112 | |||
113 | QWidget *Session::transferDialog() | ||
114 | { | ||
115 | return m_transfer; | ||
116 | } | ||
107 | 117 | ||
diff --git a/noncore/apps/opie-console/session.h b/noncore/apps/opie-console/session.h index f60a6c0..d69224a 100644 --- a/noncore/apps/opie-console/session.h +++ b/noncore/apps/opie-console/session.h | |||
@@ -61,17 +61,20 @@ public: | |||
61 | void setWidgetStack( QWidgetStack* widget ); | 61 | void setWidgetStack( QWidgetStack* widget ); |
62 | void setEmulationHandler( EmulationHandler* lay ); | 62 | void setEmulationHandler( EmulationHandler* lay ); |
63 | void setIOLayer( IOLayer* ); | 63 | void setIOLayer( IOLayer* ); |
64 | void setName( const QString& ); | 64 | void setName( const QString& ); |
65 | void setProfile( const Profile& ); | 65 | void setProfile( const Profile& ); |
66 | 66 | ||
67 | void setTransferDialog(QWidget *d); | ||
68 | QWidget *transferDialog(); | ||
69 | |||
67 | private: | 70 | private: |
68 | QString m_name; | 71 | QString m_name; |
69 | QWidgetStack* m_widget; | 72 | QWidgetStack* m_widget; |
70 | IOLayer* m_layer; | 73 | IOLayer* m_layer; |
71 | EmulationHandler* m_emu; | 74 | EmulationHandler* m_emu; |
72 | bool m_connected : 1; | 75 | bool m_connected : 1; |
73 | Profile m_prof; | 76 | Profile m_prof; |
74 | 77 | QWidget *m_transfer; | |
75 | }; | 78 | }; |
76 | 79 | ||
77 | #endif | 80 | #endif |
diff --git a/noncore/apps/opie-console/transferdialog.cpp b/noncore/apps/opie-console/transferdialog.cpp index 75c4c72..0af1911 100644 --- a/noncore/apps/opie-console/transferdialog.cpp +++ b/noncore/apps/opie-console/transferdialog.cpp | |||
@@ -15,23 +15,24 @@ | |||
15 | #include "metafactory.h" | 15 | #include "metafactory.h" |
16 | #include "mainwindow.h" | 16 | #include "mainwindow.h" |
17 | 17 | ||
18 | #include "transferdialog.h" | 18 | #include "transferdialog.h" |
19 | 19 | ||
20 | TransferDialog::TransferDialog(QWidget *parent, MainWindow *mainwindow, const char *) | 20 | TransferDialog::TransferDialog(QWidget *parent, MainWindow *mainwindow, const char *) |
21 | : QDialog(parent, 0l, true), m_win(mainwindow) | 21 | : QDialog(parent, 0l, false), m_win(mainwindow) |
22 | { | 22 | { |
23 | m_lay = 0l; | 23 | m_lay = 0l; |
24 | m_recvlay = 0l; | 24 | m_recvlay = 0l; |
25 | QVBoxLayout *vbox, *vbox2; | 25 | QVBoxLayout *vbox, *vbox2; |
26 | QHBoxLayout *hbox, *hbox2, *hbox3; | 26 | QHBoxLayout *hbox, *hbox2, *hbox3; |
27 | QLabel *file, *mode, *progress, *status; | 27 | QLabel *file, *mode, *progress, *status; |
28 | QButtonGroup *group; | 28 | QButtonGroup *group; |
29 | QRadioButton *mode_send, *mode_receive; | 29 | QRadioButton *mode_send, *mode_receive; |
30 | 30 | ||
31 | m_autocleanup = 0; | 31 | m_autocleanup = 0; |
32 | m_running = true; | ||
32 | 33 | ||
33 | group = new QButtonGroup(QObject::tr("Transfer mode"), this); | 34 | group = new QButtonGroup(QObject::tr("Transfer mode"), this); |
34 | mode_send = new QRadioButton(QObject::tr("Send"), group); | 35 | mode_send = new QRadioButton(QObject::tr("Send"), group); |
35 | mode_receive = new QRadioButton(QObject::tr("Receive"), group); | 36 | mode_receive = new QRadioButton(QObject::tr("Receive"), group); |
36 | group->insert(mode_send, id_send); | 37 | group->insert(mode_send, id_send); |
37 | group->insert(mode_receive, id_receive); | 38 | group->insert(mode_receive, id_receive); |
@@ -164,22 +165,27 @@ void TransferDialog::slotCancel() | |||
164 | ok->setEnabled(true); | 165 | ok->setEnabled(true); |
165 | statusbar->setText(QObject::tr("Ready")); | 166 | statusbar->setText(QObject::tr("Ready")); |
166 | 167 | ||
167 | if((m_lay) || (m_recvlay)) | 168 | if((m_lay) || (m_recvlay)) |
168 | { | 169 | { |
169 | cleanup(); | 170 | cleanup(); |
170 | if(m_autocleanup) close(); | 171 | if(m_autocleanup) |
172 | { | ||
173 | m_running = false; | ||
174 | close(); | ||
175 | } | ||
171 | else | 176 | else |
172 | { | 177 | { |
173 | QMessageBox::information(this, | 178 | QMessageBox::information(this, |
174 | QObject::tr("Cancelled"), | 179 | QObject::tr("Cancelled"), |
175 | QObject::tr("The file transfer has been cancelled.")); | 180 | QObject::tr("The file transfer has been cancelled.")); |
176 | } | 181 | } |
177 | } | 182 | } |
178 | else | 183 | else |
179 | { | 184 | { |
185 | m_running = false; | ||
180 | close(); | 186 | close(); |
181 | } | 187 | } |
182 | } | 188 | } |
183 | 189 | ||
184 | void TransferDialog::slotProgress(const QString& , int progress, int , int , int, int ) | 190 | void TransferDialog::slotProgress(const QString& , int progress, int , int , int, int ) |
185 | { | 191 | { |
@@ -261,6 +267,11 @@ void TransferDialog::slotMode(int id) | |||
261 | selector->setEnabled(false); | 267 | selector->setEnabled(false); |
262 | filename->setEnabled(false); | 268 | filename->setEnabled(false); |
263 | } | 269 | } |
264 | m_transfermode = id; | 270 | m_transfermode = id; |
265 | } | 271 | } |
266 | 272 | ||
273 | bool TransferDialog::isRunning() | ||
274 | { | ||
275 | return m_running; | ||
276 | } | ||
277 | |||
diff --git a/noncore/apps/opie-console/transferdialog.h b/noncore/apps/opie-console/transferdialog.h index d87be6a..23691e0 100644 --- a/noncore/apps/opie-console/transferdialog.h +++ b/noncore/apps/opie-console/transferdialog.h | |||
@@ -15,12 +15,13 @@ class ReceiveLayer; | |||
15 | class TransferDialog : public QDialog | 15 | class TransferDialog : public QDialog |
16 | { | 16 | { |
17 | Q_OBJECT | 17 | Q_OBJECT |
18 | public: | 18 | public: |
19 | TransferDialog(QWidget *parent = 0l, MainWindow *mainwindow = 0l, const char *name = 0l); | 19 | TransferDialog(QWidget *parent = 0l, MainWindow *mainwindow = 0l, const char *name = 0l); |
20 | ~TransferDialog(); | 20 | ~TransferDialog(); |
21 | bool isRunning(); | ||
21 | 22 | ||
22 | public slots: | 23 | public slots: |
23 | void slotFilename(); | 24 | void slotFilename(); |
24 | void slotTransfer(); | 25 | void slotTransfer(); |
25 | void slotCancel(); | 26 | void slotCancel(); |
26 | void slotProgress(const QString&, int, int, int, int, int); | 27 | void slotProgress(const QString&, int, int, int, int, int); |
@@ -45,10 +46,11 @@ class TransferDialog : public QDialog | |||
45 | QPushButton *ok, *cancel, *selector; | 46 | QPushButton *ok, *cancel, *selector; |
46 | MainWindow* m_win; | 47 | MainWindow* m_win; |
47 | FileTransferLayer* m_lay; | 48 | FileTransferLayer* m_lay; |
48 | ReceiveLayer *m_recvlay; | 49 | ReceiveLayer *m_recvlay; |
49 | int m_transfermode; | 50 | int m_transfermode; |
50 | int m_autocleanup; | 51 | int m_autocleanup; |
52 | bool m_running; | ||
51 | }; | 53 | }; |
52 | 54 | ||
53 | #endif | 55 | #endif |
54 | 56 | ||