// Open tools void QgsGrassPlugin::openTools() { if ( !mTools ) { mTools = new QgsGrassTools( qGisInterface, qGisInterface->mainWindow(), 0, Qt::Dialog ); connect( mTools, SIGNAL( regionChanged() ), this, SLOT( redrawRegion() ) ); } mTools->show(); }
void QgsGrassPlugin::mapsetChanged() { if ( !QgsGrass::activeMode() ) { mOpenToolsAction->setEnabled( false ); mRegionAction->setEnabled( false ); mEditRegionAction->setEnabled( false ); mRegionBand->reset(); mCloseMapsetAction->setEnabled( false ); mNewVectorAction->setEnabled( false ); if ( mTools ) { mTools->hide(); delete mTools; mTools = 0; } } else { mOpenToolsAction->setEnabled( true ); mRegionAction->setEnabled( true ); mEditRegionAction->setEnabled( true ); mCloseMapsetAction->setEnabled( true ); mNewVectorAction->setEnabled( true ); QSettings settings; bool on = settings.value( "/GRASS/region/on", true ).toBool(); mRegionAction->setChecked( on ); switchRegion( on ); if ( mTools ) { mTools->mapsetChanged(); } QString gisdbase = QgsGrass::getDefaultGisdbase(); QString location = QgsGrass::getDefaultLocation(); try { mCrs = QgsGrass::crsDirect( gisdbase, location ); } catch ( QgsGrass::Exception &e ) { Q_UNUSED( e ); QgsDebugMsg( "Cannot read GRASS CRS : " + QString( e.what() ) ); mCrs = QgsCoordinateReferenceSystem(); } QgsDebugMsg( "mCrs: " + mCrs.toWkt() ); setTransform(); redrawRegion(); } }