author | josef <josef> | 2002-10-26 11:38:42 (UTC) |
---|---|---|
committer | josef <josef> | 2002-10-26 11:38:42 (UTC) |
commit | 2dc92ada34785bbfff8ca1202e4d53eb0606c362 (patch) (unidiff) | |
tree | c92a92b5cbb1d80962821212b9157260a9faa0f6 | |
parent | 65ada01d36dc25f053a09222e8abdb21f2fc3a2a (diff) | |
download | opie-2dc92ada34785bbfff8ca1202e4d53eb0606c362.zip opie-2dc92ada34785bbfff8ca1202e4d53eb0606c362.tar.gz opie-2dc92ada34785bbfff8ca1202e4d53eb0606c362.tar.bz2 |
- nonmodal file transfer (doesn't work yet!)
-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 | |||
@@ -529,16 +529,19 @@ void MainWindow::slotClose() { | |||
529 | * Then the profile | 529 | * Then the profile |
530 | * and then we will make a profile | 530 | * and then we will make a profile |
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"), |
543 | QObject::tr("<qt>Cannot open session: Not all components were found.</qt>")); | 546 | QObject::tr("<qt>Cannot open session: Not all components were found.</qt>")); |
544 | //if(ses) delete ses; | 547 | //if(ses) delete ses; |
@@ -573,20 +576,25 @@ void MainWindow::create( const Profile& prof ) { | |||
573 | if(w) w->setFocus(); | 576 | if(w) w->setFocus(); |
574 | 577 | ||
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 | ||
591 | if (state) m_keyBar->show(); | 599 | if (state) m_keyBar->show(); |
592 | else m_keyBar->hide(); | 600 | else m_keyBar->hide(); |
@@ -602,16 +610,22 @@ void MainWindow::slotOpenButtons( bool state ) { | |||
602 | m_buttonBar->hide(); | 610 | m_buttonBar->hide(); |
603 | } | 611 | } |
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 ); |
616 | m_recordScript->setEnabled(!m_curSession->emulationHandler()->isRecording()); | 630 | m_recordScript->setEnabled(!m_curSession->emulationHandler()->isRecording()); |
617 | m_saveScript->setEnabled(m_curSession->emulationHandler()->isRecording()); | 631 | m_saveScript->setEnabled(m_curSession->emulationHandler()->isRecording()); |
@@ -625,20 +639,16 @@ void MainWindow::slotSessionChanged( Session* ses ) { | |||
625 | } | 639 | } |
626 | 640 | ||
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 | } |
643 | 653 | ||
644 | void MainWindow::slotFullscreen() { | 654 | void MainWindow::slotFullscreen() { |
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 | |||
@@ -6,16 +6,17 @@ | |||
6 | #include "emulation_handler.h" | 6 | #include "emulation_handler.h" |
7 | #include "session.h" | 7 | #include "session.h" |
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; |
20 | m_emu = 0l; | 21 | m_emu = 0l; |
21 | } | 22 | } |
@@ -99,9 +100,18 @@ void Session::setProfile( const Profile& prof ) { | |||
99 | m_prof = prof; | 100 | m_prof = prof; |
100 | } | 101 | } |
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 | |||
@@ -59,19 +59,22 @@ public: | |||
59 | void disconnect(); | 59 | void disconnect(); |
60 | 60 | ||
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 | |||
@@ -13,27 +13,28 @@ | |||
13 | #include "file_layer.h" | 13 | #include "file_layer.h" |
14 | #include "receive_layer.h" | 14 | #include "receive_layer.h" |
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); |
38 | vbox2 = new QVBoxLayout(group, 2); | 39 | vbox2 = new QVBoxLayout(group, 2); |
39 | vbox2->addSpacing(10); | 40 | vbox2->addSpacing(10); |
@@ -162,26 +163,31 @@ void TransferDialog::cleanup() | |||
162 | void TransferDialog::slotCancel() | 163 | void TransferDialog::slotCancel() |
163 | { | 164 | { |
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 | { |
186 | progressbar->setProgress(progress); | 192 | progressbar->setProgress(progress); |
187 | } | 193 | } |
@@ -259,8 +265,13 @@ void TransferDialog::slotMode(int id) | |||
259 | else | 265 | else |
260 | { | 266 | { |
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 | |||
@@ -13,16 +13,17 @@ class FileTransferLayer; | |||
13 | class ReceiveLayer; | 13 | class ReceiveLayer; |
14 | 14 | ||
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); |
27 | void slotError(int error, const QString& message); | 28 | void slotError(int error, const QString& message); |
28 | void slotSent(); | 29 | void slotSent(); |
@@ -43,12 +44,13 @@ class TransferDialog : public QDialog | |||
43 | QProgressBar *progressbar; | 44 | QProgressBar *progressbar; |
44 | QLabel *statusbar; | 45 | QLabel *statusbar; |
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 | ||