X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_Workshop.cpp;h=e3db137e014486486f5838eb1501c447bd5b4a17;hb=bdf459165e3036046ce0ae3805b2391d569f9340;hp=030a3b896e2c5b5b8e10bad0ec644e784ba42f4d;hpb=88d231a4a027ec8e2dc0dc91cb114b9b7ddf9688;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_Workshop.cpp b/src/XGUI/XGUI_Workshop.cpp index 030a3b896..e3db137e0 100755 --- a/src/XGUI/XGUI_Workshop.cpp +++ b/src/XGUI/XGUI_Workshop.cpp @@ -170,8 +170,15 @@ QString XGUI_Workshop::MOVE_TO_END_COMMAND = QObject::tr("Move to the end"); //#define DEBUG_FEATURE_NAME //#define DEBUG_CLEAN_HISTORY - -static QString MyFilter(QObject::tr("OpenParts files (*.opp)")); +#ifdef HAVE_SALOME +static QString MyFilter(QObject::tr("SHAPER files (*.shaper *.opp)")); +static QString MyFilter2(QObject::tr("SHAPER files (*.shaper)")); +static QString MyExtension(".shaper"); +#else +static QString MyFilter(QObject::tr("OpenParts files (*.opp);;All files (*.*)")); +static QString MyFilter2(QObject::tr("OpenParts files (*.opp)")); +static QString MyExtension(".opp"); +#endif //****************************************************** @@ -289,8 +296,6 @@ XGUI_Workshop::XGUI_Workshop(XGUI_SalomeConnector* theConnector) //IMP: an attempt to use result selection with other selection modes myViewerSelMode.append(ModuleBase_ResultPrs::Sel_Result);//TopAbs_VERTEX); myViewerSelMode.append(TopAbs_COMPSOLID); - - qDebug("### Tmp: %s", qPrintable(myTmpDir.path())); } //****************************************************** @@ -305,6 +310,8 @@ XGUI_Workshop::~XGUI_Workshop(void) delete myDisplayer; delete myDataModelXMLReader; + delete mySelectionActivate; + delete myMenuMgr; clearTemporaryDir(); } @@ -435,13 +442,13 @@ void XGUI_Workshop::initMenu() salomeConnector()->addDesktopMenuSeparator("MEN_DESK_EDIT"); - aAction = salomeConnector()->addDesktopCommand("AUTOCOMPUTE_CMD", tr("Block auto-apply"), + aAction = salomeConnector()->addDesktopCommand("AUTOCOMPUTE_CMD", tr("Auto rebuild"), tr("Blocks immediate apply of modifications"), QIcon(":pictures/autoapply.png"), QKeySequence(), - true, "MEN_DESK_EDIT"); + false, "MEN_DESK_EDIT"); salomeConnector()->addActionInToolbar( aAction, aToolBarTitle ); - connect(aAction, SIGNAL(toggled(bool)), this, SLOT(onAutoApply(bool))); + connect(aAction, SIGNAL(triggered(bool)), this, SLOT(onAutoApply())); salomeConnector()->addDesktopMenuSeparator("MEN_DESK_EDIT"); @@ -949,7 +956,8 @@ void XGUI_Workshop::openFile(const QString& theDirectory) aSession->closeAll(); clearTemporaryDir(); - XGUI_CompressFiles::uncompress(myCurrentFile, myTmpDir.path()); + if (!XGUI_CompressFiles::uncompress(myCurrentFile, myTmpDir.path())) + return; aSession->load(myTmpDir.path().toLatin1().constData()); myObjectBrowser->rebuildDataTree(); @@ -1067,7 +1075,8 @@ bool XGUI_Workshop::onSave() std::list aFiles; saveDocument(myTmpDir.path(), aFiles); - XGUI_CompressFiles::compress(myCurrentFile, aFiles); + if (!XGUI_CompressFiles::compress(myCurrentFile, aFiles)) + return false; updateCommandStatus(); #ifndef HAVE_SALOME @@ -1081,13 +1090,18 @@ bool XGUI_Workshop::onSaveAs() { if(!myOperationMgr->abortAllOperations(XGUI_OperationMgr::XGUI_InformationMessage)) return false; -#ifndef HAVE_SALOME myCurrentFile = QFileDialog::getSaveFileName(desktop(), tr("Select name to save file..."), - QString(), MyFilter); + QString(), MyFilter2); if (!myCurrentFile.isNull()) { + if (!myCurrentFile.endsWith(MyExtension)) { + myCurrentFile += MyExtension; + } + } + else + return false; +#ifndef HAVE_SALOME myMainWindow->setCurrentDir(myCurrentFile, false); myMainWindow->setModifiedState(false); - } #endif return onSave(); } @@ -2709,9 +2723,7 @@ void XGUI_Workshop::highlightResults(const QObjectPtrList& theObjects) } if (aSelList.count() > theObjects.count()) { // if something was found - bool aBlocked = objectBrowser()->blockSignals(true); objectBrowser()->setObjectsSelected(aSelList); - objectBrowser()->blockSignals(aBlocked); objectBrowser()->ensureVisible(aNewSel.first()); } if (aHasHidden) @@ -2738,9 +2750,7 @@ void XGUI_Workshop::highlightFeature(const QObjectPtrList& theObjects) } if (aSelList.count() > theObjects.count()) { // if something was found - bool aBlocked = objectBrowser()->blockSignals(true); objectBrowser()->setObjectsSelected(aSelList); - objectBrowser()->blockSignals(aBlocked); objectBrowser()->ensureVisible(aNewSel.first()); } }