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
@@ -533,8 +533,11 @@ 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()))
{
@@ -577,12 +580,17 @@ void MainWindow::create( const Profile& prof ) {
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);
}
}
@@ -606,8 +614,14 @@ 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() ) {
@@ -629,12 +643,8 @@ void MainWindow::slotSessionChanged( Session* ses ) {
} else {
m_transfer->setEnabled( true );
}
-
-
-
-
QWidget *w = m_curSession->widget();
if(w) w->setFocus();
m_kb->load(currentSession()->profile());