int K3b::InteractionDialog::exec() { qDebug() << this; loadStartupSettings(); if( m_delayedInit ) QMetaObject::invokeMethod( this, "slotInternalInit", Qt::QueuedConnection ); else slotInternalInit(); return QDialog::exec(); }
int K3bInteractionDialog::exec( bool returnOnHide ) { m_exitLoopOnHide = returnOnHide; // the following code is mainly taken from QDialog::exec if( m_inLoop ) { kdError() << "(K3bInteractionDialog::exec) Recursive call detected." << endl; return -1; } bool destructiveClose = testWFlags( WDestructiveClose ); clearWFlags( WDestructiveClose ); bool wasShowModal = testWFlags( WShowModal ); setWFlags( WShowModal ); setResult( 0 ); loadStartupSettings(); show(); if( m_delayedInit ) QTimer::singleShot( 0, this, SLOT(slotDelayedInit()) ); else init(); m_inLoop = true; QApplication::eventLoop()->enterLoop(); if( !wasShowModal ) clearWFlags( WShowModal ); int res = result(); if( destructiveClose ) delete this; return res; }