@@ -188,17 +188,26 @@ void QgsGrass::init( void )
188
188
*/
189
189
bool QgsGrass::isValidGrassBaseDir (QString const gisBase)
190
190
{
191
+ std::cerr << " isValidGrassBaseDir()" << std::endl;
191
192
if ( gisBase.isEmpty () )
192
193
{
193
194
return FALSE ;
194
195
}
195
-
196
- QFileInfo gbi ( gisBase + " /etc/element_list" );
197
- if ( gbi.exists () ) {
198
- return TRUE ;
199
- } else {
200
- return FALSE ;
201
- }
196
+
197
+ /* TODO: G_is_gisbase() was added to GRASS 6.1 06-05-24,
198
+ enable its use after some period (others do update) */
199
+ /*
200
+ if ( QgsGrass::versionMajor() > 6 || QgsGrass::versionMinor() > 0 )
201
+ {
202
+ if ( G_is_gisbase( gisBase.toLocal8Bit().constData() ) ) return TRUE;
203
+ }
204
+ else
205
+ {
206
+ */
207
+ QFileInfo gbi ( gisBase + " /etc/element_list" );
208
+ if ( gbi.exists () ) return TRUE ;
209
+ // }
210
+ return FALSE ;
202
211
}
203
212
204
213
bool QgsGrass::activeMode ( void )
@@ -566,9 +575,37 @@ QStringList QgsGrass::mapsets ( QString locationPath )
566
575
QStringList QgsGrass::vectors ( QString gisbase, QString locationName,
567
576
QString mapsetName)
568
577
{
578
+ std::cerr << " QgsGrass::vectors()" << std::endl;
579
+
569
580
if ( gisbase.isEmpty () || locationName.isEmpty () || mapsetName.isEmpty () )
570
581
return QStringList ();
571
582
583
+ /* TODO: G_list() was added to GRASS 6.1 06-05-24,
584
+ enable its use after some period (others do update) */
585
+ /*
586
+ if ( QgsGrass::versionMajor() > 6 || QgsGrass::versionMinor() > 0 )
587
+ {
588
+ QStringList list;
589
+
590
+ char **glist = G_list( G_ELEMENT_VECTOR,
591
+ gisbase.toLocal8Bit().constData(),
592
+ locationName.toLocal8Bit().constData(),
593
+ mapsetName.toLocal8Bit().constData() );
594
+
595
+ int i = 0;
596
+
597
+ while ( glist[i] )
598
+ {
599
+ list.append( QString(glist[i]) );
600
+ i++;
601
+ }
602
+
603
+ G_free_list ( glist );
604
+
605
+ return list;
606
+ }
607
+ */
608
+
572
609
return QgsGrass::vectors ( gisbase + " /" + locationName + " /" + mapsetName );
573
610
}
574
611
@@ -602,9 +639,38 @@ QStringList QgsGrass::vectors ( QString mapsetPath )
602
639
QStringList QgsGrass::rasters ( QString gisbase, QString locationName,
603
640
QString mapsetName)
604
641
{
642
+ std::cerr << " QgsGrass::rasters()" << std::endl;
643
+
605
644
if ( gisbase.isEmpty () || locationName.isEmpty () || mapsetName.isEmpty () )
606
645
return QStringList ();
607
646
647
+
648
+ /* TODO: G_list() was added to GRASS 6.1 06-05-24,
649
+ enable its use after some period (others do update) */
650
+ /*
651
+ if ( QgsGrass::versionMajor() > 6 || QgsGrass::versionMinor() > 0 )
652
+ {
653
+ QStringList list;
654
+
655
+ char **glist = G_list( G_ELEMENT_RASTER,
656
+ gisbase.toLocal8Bit().constData(),
657
+ locationName.toLocal8Bit().constData(),
658
+ mapsetName.toLocal8Bit().constData() );
659
+
660
+ int i = 0;
661
+
662
+ while ( glist[i] )
663
+ {
664
+ list.append( QString(glist[i]) );
665
+ i++;
666
+ }
667
+
668
+ G_free_list ( glist );
669
+
670
+ return list;
671
+ }
672
+ */
673
+
608
674
return QgsGrass::rasters ( gisbase + " /" + locationName + " /" + mapsetName );
609
675
}
610
676
@@ -858,4 +924,20 @@ int QgsGrass::versionMinor()
858
924
return QString (GRASS_VERSION_MINOR).toInt ();
859
925
}
860
926
927
+ bool QgsGrass::isMapset ( QString path )
928
+ {
929
+ /* TODO: G_is_mapset() was added to GRASS 6.1 06-05-24,
930
+ enable its use after some period (others do update) */
931
+ if ( QgsGrass::versionMajor () > 6 || QgsGrass::versionMinor () > 0 )
932
+ {
933
+ if ( G_is_mapset ( path.toLocal8Bit ().constData () ) ) return true ;
934
+ }
935
+ else
936
+ {
937
+ QString windf = path + " /WIND" ;
938
+ if ( QFile::exists ( windf ) ) return true ;
939
+ }
940
+
941
+ return false ;
942
+ }
861
943
0 commit comments