From 3e81347908c61a3fd788aa4da905a6cb674ca729 Mon Sep 17 00:00:00 2001 From: mzn Date: Sat, 7 Jun 2008 12:49:40 +0000 Subject: [PATCH] Fix for bug 0019870(Import/Export should show current directory). --- src/SMESHGUI/SMESHGUI.cxx | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/SMESHGUI/SMESHGUI.cxx b/src/SMESHGUI/SMESHGUI.cxx index 6e946de8c..2d89fec36 100644 --- a/src/SMESHGUI/SMESHGUI.cxx +++ b/src/SMESHGUI/SMESHGUI.cxx @@ -185,8 +185,8 @@ using namespace std; } QString anInitialPath = ""; - //if ( SUIT_FileDlg::getLastVisitedPath().isEmpty() ) - // anInitialPath = QDir::currentDirPath(); + if ( SUIT_FileDlg::getLastVisitedPath().isEmpty() ) + anInitialPath = QDir::currentDirPath(); QString filename = SUIT_FileDlg::getFileName(SMESHGUI::desktop(), anInitialPath, @@ -354,10 +354,12 @@ using namespace std; if ( resMgr ) toCreateGroups = resMgr->booleanValue( "SMESH", "auto_groups", false ); - if ( theCommandID != 122 && theCommandID != 125 && theCommandID != 140 && theCommandID != 141) - - aFilename = SUIT_FileDlg::getFileName(SMESHGUI::desktop(), "", aFilter, aTitle, false); + QString anInitialPath = ""; + if ( SUIT_FileDlg::getLastVisitedPath().isEmpty() ) + anInitialPath = QDir::currentDirPath(); + if ( theCommandID != 122 && theCommandID != 125 && theCommandID != 140 && theCommandID != 141) + aFilename = SUIT_FileDlg::getFileName(SMESHGUI::desktop(), anInitialPath, aFilter, aTitle, false); else if(theCommandID == 140 || theCommandID == 141) { // Export to STL QStringList filters; QMap::const_iterator it = aFilterMapSTL.begin(); @@ -368,6 +370,8 @@ using namespace std; fd->setCaption( aTitle ); fd->setFilters( filters ); fd->setSelectedFilter( QObject::tr("STL ASCII (*.stl)") ); + if ( anInitialPath.isEmpty() ) + fd->setDir( anInitialPath ); bool is_ok = false; while (!is_ok) { fd->exec(); @@ -395,6 +399,8 @@ using namespace std; //fd->setSelectedFilter( QObject::tr("MED 2.2 (*.med)") ); fd->setSelectedFilter(aDefaultFilter); fd->SetChecked(toCreateGroups); + if ( anInitialPath.isEmpty() ) + fd->setDir( anInitialPath ); bool is_ok = false; while (!is_ok) { fd->exec(); -- 2.39.2