summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/mainwindow.cpp
Side-by-side diff
Diffstat (limited to 'noncore/apps/opie-console/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/mainwindow.cpp24
1 files changed, 17 insertions, 7 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() {
*/
void MainWindow::slotProfile( int id) {
Profile prof = manager()->profile( m_sessionsPop->text( id) );
create( prof );
}
void MainWindow::create( const Profile& prof ) {
+ if(m_curSession)
+ if(m_curSession->transferDialog()) m_curSession->transferDialog()->hide();
+
Session *ses = manager()->fromProfile( prof, tabWidget() );
if((!ses) || (!ses->layer()) || (!ses->widgetStack()))
{
QMessageBox::warning(this,
QObject::tr("Session failed"),
@@ -575,16 +578,21 @@ void MainWindow::create( const Profile& prof ) {
m_kb->load(currentSession()->profile());
}
void MainWindow::slotTransfer()
{
if ( currentSession() ) {
- TransferDialog dlg(currentSession()->widgetStack(), this);
- dlg.showMaximized();
+ Session *mysession = currentSession();
+ TransferDialog dlg(mysession->widgetStack(), this);
+ mysession->setTransferDialog(&dlg);
+ dlg.show();
+ //dlg.showMaximized();
//currentSession()->widgetStack()->add(dlg);
- dlg.exec();
+ //dlg.exec();
+ while(dlg.isRunning()) qApp->processEvents();
+ mysession->setTransferDialog(0l);
}
}
void MainWindow::slotOpenKeb(bool state) {
@@ -604,12 +612,18 @@ void MainWindow::slotOpenButtons( bool state ) {
}
void MainWindow::slotSessionChanged( Session* ses ) {
qWarning("changed!");
+
+ if(m_curSession)
+ if(m_curSession->transferDialog()) m_curSession->transferDialog()->hide();
+ if(ses)
+ if(ses->transferDialog()) ses->transferDialog()->show();
+
if ( ses ) {
m_curSession = ses;
qDebug(QString("is connected : %1").arg( m_curSession->layer()->isConnected() ) );
if ( m_curSession->layer()->isConnected() ) {
m_connect->setEnabled( false );
m_disconnect->setEnabled( true );
@@ -627,16 +641,12 @@ void MainWindow::slotSessionChanged( Session* ses ) {
if ( ( m_curSession->layer() )->supports()[1] == 0 ) {
m_transfer->setEnabled( false );
} else {
m_transfer->setEnabled( true );
}
-
-
-
-
QWidget *w = m_curSession->widget();
if(w) w->setFocus();
m_kb->load(currentSession()->profile());
}
}