Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
check better if the mapset is already open
git-svn-id: http://svn.osgeo.org/qgis/trunk@5026 c8812cc2-4d05-0410-92ff-de0c093fc19c
  • Loading branch information
rblazek committed Mar 15, 2006
1 parent 9c72b9a commit a2eacd9
Showing 1 changed file with 33 additions and 16 deletions.
49 changes: 33 additions & 16 deletions src/plugins/grass/qgsgrassplugin.cpp
Expand Up @@ -714,14 +714,6 @@ void QgsGrassPlugin::projectRead()
#ifdef QGISDEBUG
std::cout << "QgsGrassPlugin::projectRead" << std::endl;
#endif
QString err = QgsGrass::closeMapset ();
if ( !err.isNull() )
{
QMessageBox::warning( 0, "Warning",
"Cannot close current mapset. " + err );
return;
}

bool ok;
QString gisdbase = QgsProject::instance()->readEntry(
"GRASS", "/WorkingGisdbase", "", &ok).trimmed();
Expand All @@ -730,18 +722,43 @@ void QgsGrassPlugin::projectRead()
QString mapset = QgsProject::instance()->readEntry(
"GRASS", "/WorkingMapset", "", &ok).trimmed();

if ( gisdbase.length() > 0 && location.length() > 0 &&
mapset.length() > 0 )
if ( gisdbase.length() == 0 || location.length() == 0 ||
mapset.length() == 0 )
{
// Mapset not specified
return;
}

QString currentPath = QgsGrass::getDefaultGisdbase() + "/"
+ QgsGrass::getDefaultLocation() + "/"
+ QgsGrass::getDefaultMapset();

QString newPath = gisdbase + "/" + location + "/" + mapset;

if ( QFileInfo(currentPath).canonicalPath() ==
QFileInfo(newPath).canonicalPath() )
{
// The same mapset is already open
return;
}

QString err = QgsGrass::closeMapset ();
if ( !err.isNull() )
{
err = QgsGrass::openMapset ( gisdbase, location, mapset );
QMessageBox::warning( 0, "Warning",
"Cannot close current mapset. " + err );
return;
}
mapsetChanged();

if ( !err.isNull() )
{
QMessageBox::warning( 0, "Warning", "Cannot open GRASS mapset. " + err );
return;
}
err = QgsGrass::openMapset ( gisdbase, location, mapset );

if ( !err.isNull() )
{
QMessageBox::warning( 0, "Warning", "Cannot open GRASS mapset. " + err );
return;
}

mapsetChanged();
}

Expand Down

0 comments on commit a2eacd9

Please sign in to comment.