X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSUIT%2FSUIT_ViewWindow.cxx;h=d5d9032faeed6fff80f6bbf0b1d9f253a446034e;hb=efe3cdefadc31ad9cdaa9fd7fc368e2931cebdf1;hp=040926319f35426dbc65eb8f0e08669553dd461d;hpb=a157565d49fe0b2a946903d78342a0ed8dfeb524;p=modules%2Fgui.git diff --git a/src/SUIT/SUIT_ViewWindow.cxx b/src/SUIT/SUIT_ViewWindow.cxx index 040926319..d5d9032fa 100755 --- a/src/SUIT/SUIT_ViewWindow.cxx +++ b/src/SUIT/SUIT_ViewWindow.cxx @@ -94,11 +94,6 @@ QImage SUIT_ViewWindow::dumpView() return QImage(); } -bool SUIT_ViewWindow::dumpViewToPSFormat(const QString& fileName) -{ - return false; -} - /*! Saves image to file according to the format \param image - image @@ -177,16 +172,9 @@ void SUIT_ViewWindow::onDumpView() /*! \return filters for image files */ -QString SUIT_ViewWindow::filter(bool includePS) const +QString SUIT_ViewWindow::filter() const { - QString aFilter = tr( "TLT_IMAGE_FILES" ); - if (!includePS) - return aFilter; - else - { - aFilter+=";;"+tr( "POSTSCRIPT_FILES" ); - return aFilter; - } + return tr( "TLT_IMAGE_FILES" ); } /*! Reaction view window on event \a e. @@ -199,26 +187,20 @@ bool SUIT_ViewWindow::event( QEvent* e ) SUIT_Application* app = NULL; if (myManager && myManager->study() && myManager->study()->application()) app = myManager->study()->application(); - bool IncludePs = true; QString fileName; if (app) - fileName = app->getFileName( false, QString(), filter(IncludePs), tr( "TLT_DUMP_VIEW" ), 0 ); //old way + fileName = app->getFileName( false, QString(), filter(), tr( "TLT_DUMP_VIEW" ), 0 ); //old way else { - QStringList fls = filter(IncludePs).split( ";;", QString::SkipEmptyParts ); + QStringList fls = filter().split( ";;", QString::SkipEmptyParts ); fileName = SUIT_FileDlg::getFileName( NULL, QString(), fls, tr( "TLT_DUMP_VIEW" ), false, true ); } if ( !fileName.isEmpty() ) { QString fmt = SUIT_Tools::extension( fileName ).toUpper(); - if (fmt == "PS" || fmt == "EPS" ) - bOk = dumpViewToPSFormat(fileName); - else - { - QImage im = dumpView(); - Qtx::Localizer loc; - bOk = dumpViewToFormat( im, fileName, fmt ); - } + QImage im = dumpView(); + Qtx::Localizer loc; + bOk = dumpViewToFormat( im, fileName, fmt ); } else bOk = true; // cancelled @@ -567,3 +549,15 @@ void SUIT_ViewWindow::synchronizeView( SUIT_ViewWindow* viewWindow, int id ) } } } + +void SUIT_ViewWindow::setVisible( bool on ) +{ + // This is a workaround to avoid showing view window as a top-level window + // before re-parenting it to workstack (issue #23467). + // See SUIT_Desktop::childEvent(). + QApplication::sendPostedEvents( 0, QEvent::ChildRemoved ); + QApplication::sendPostedEvents( 0, QEvent::ChildAdded ); + QApplication::sendPostedEvents( 0, QEvent::ChildPolished ); + if ( !property( "blockShow" ).toBool() ) + QMainWindow::setVisible( on ); +}