@@ -49,6 +49,7 @@ extern "C" {
49
49
#include " ../../src/providers/grass/qgsgrass.h"
50
50
#include " qgsgrassmodel.h"
51
51
#include " qgsgrassbrowser.h"
52
+ #include " qgsgrassselect.h"
52
53
53
54
QgsGrassBrowser::QgsGrassBrowser ( QgisIface *iface,
54
55
QWidget * parent, Qt::WFlags f )
@@ -148,13 +149,24 @@ void QgsGrassBrowser::addMap()
148
149
}
149
150
else if ( type == QgsGrassModel::VectorLayer )
150
151
{
152
+ QString map = mModel ->itemMap (*it);
153
+ QString name = map;
154
+
155
+ QStringList list = QgsGrassSelect::vectorLayers (
156
+ QgsGrass::getDefaultGisdbase (),
157
+ QgsGrass::getDefaultLocation (),
158
+ mModel ->itemMapset (*it), map );
159
+
151
160
// TODO: common method for vector names
152
161
QStringList split = QStringList::split ( ' /' , uri );
153
162
QString layer = split.last ();
154
- split.pop_back (); // map
155
- QString vector = split.last ();
156
- mIface ->addVectorLayer ( uri, layer, " grass" );
157
- std::cerr << " add vector: " << uri.ascii () << std::endl;
163
+
164
+ if ( list.size () > 1 )
165
+ {
166
+ name += " " + layer;
167
+ }
168
+
169
+ mIface ->addVectorLayer ( uri, name, " grass" );
158
170
mapSelected = true ;
159
171
}
160
172
}
0 commit comments