QgsGrassTools::QgsGrassTools( QgisInterface *iface, QWidget * parent, const char * name, Qt::WFlags f ) : QDialog( parent, f ), QgsGrassToolsBase() , mBrowser( 0 ) , mModulesListModel( 0 ), mModelProxy( 0 ), mDirectModulesListModel( 0 ), mDirectModelProxy( 0 ) { Q_UNUSED( name ); setupUi( this ); QgsDebugMsg( "QgsGrassTools()" ); qRegisterMetaType<QgsDetailedItemData>(); setWindowTitle( tr( "GRASS Tools" ) ); // setupUi(this); mIface = iface; mCanvas = mIface->mapCanvas(); connect( qApp, SIGNAL( aboutToQuit() ), this, SLOT( closeTools() ) ); //statusBar()->hide(); // set the dialog title QString title = tr( "GRASS Tools: %1/%2" ).arg( QgsGrass::getDefaultLocation() ).arg( QgsGrass::getDefaultMapset() ); setWindowTitle( title ); // Add map browser mBrowser = new QgsGrassBrowser( mIface, this ); connect( mBrowser, SIGNAL( regionChanged() ), this, SLOT( emitRegionChanged() ) ); // Tree view code. mModulesTree->header()->hide(); connect( mModulesTree, SIGNAL( itemClicked( QTreeWidgetItem *, int ) ), this, SLOT( moduleClicked( QTreeWidgetItem *, int ) ) ); mDirectModulesTree->header()->hide(); connect( mDirectModulesTree, SIGNAL( itemClicked( QTreeWidgetItem *, int ) ), this, SLOT( directModuleClicked( QTreeWidgetItem *, int ) ) ); // List view with filter mModulesListModel = new QStandardItemModel( 0, 1 ); mModelProxy = new QSortFilterProxyModel( this ); mModelProxy->setSourceModel( mModulesListModel ); mModelProxy->setFilterRole( Qt::UserRole + 2 ); mListView->setModel( mModelProxy ); connect( mListView, SIGNAL( clicked( const QModelIndex ) ), this, SLOT( listItemClicked( const QModelIndex ) ) ); mDirectModulesListModel = new QStandardItemModel( 0, 1 ); mDirectModelProxy = new QSortFilterProxyModel( this ); mDirectModelProxy->setSourceModel( mDirectModulesListModel ); mDirectModelProxy->setFilterRole( Qt::UserRole + 2 ); mDirectListView->setModel( mDirectModelProxy ); connect( mDirectListView, SIGNAL( clicked( const QModelIndex ) ), this, SLOT( directListItemClicked( const QModelIndex ) ) ); // Show before loadConfig() so that user can see loading restorePosition(); showTabs(); }
QgsGrassTools::QgsGrassTools( QgisInterface *iface, QWidget * parent, const char * name, Qt::WFlags f ) : QDialog( parent, f ), QgsGrassToolsBase() { setupUi( this ); QgsDebugMsg( "QgsGrassTools()" ); qRegisterMetaType<QgsDetailedItemData>(); setWindowTitle( tr( "GRASS Tools" ) ); // setupUi(this); mIface = iface; mCanvas = mIface->mapCanvas(); connect( qApp, SIGNAL( aboutToQuit() ), this, SLOT( closeTools() ) ); // // Radims original tree view code. // mModulesTree->header()->hide(); connect( mModulesTree, SIGNAL( itemClicked( QTreeWidgetItem *, int ) ), this, SLOT( moduleClicked( QTreeWidgetItem *, int ) ) ); // // Tims experimental list view with filter // mModelTools = new QStandardItemModel( 0, 1 ); mModelProxy = new QSortFilterProxyModel( this ); mModelProxy->setSourceModel( mModelTools ); mModelProxy->setFilterRole( Qt::UserRole + 2 ); mListView->setModel( mModelProxy ); mListView->setItemDelegateForColumn( 0, new QgsDetailedItemDelegate() ); mListView->setUniformItemSizes( false ); //mListView2 = new QListView(this); //mDockWidget = new QDockWidget(tr("Grass Tools"), 0); //mDockWidget->setWidget(mListView2); //mDockWidget->setObjectName("GrassTools"); //mDockWidget->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); //mIface->addDockWidget(Qt::LeftDockWidgetArea, mDockWidget); connect( mListView, SIGNAL( clicked( const QModelIndex ) ), this, SLOT( listItemClicked( const QModelIndex ) ) ); // // End of Tims experimental bit // // // Load the modules lists // // Show before loadConfig() so that user can see loading QString conf = QgsApplication::pkgDataPath() + "/grass/config/default.qgc"; restorePosition(); QApplication::setOverrideCursor( Qt::WaitCursor ); loadConfig( conf ); QApplication::restoreOverrideCursor(); //statusBar()->hide(); // set the dialog title QString title = tr( "GRASS Tools: " ) + QgsGrass::getDefaultLocation() + "/" + QgsGrass::getDefaultMapset(); setWindowTitle( title ); // Add map browser mBrowser = new QgsGrassBrowser( mIface, this ); mTabWidget->addTab( mBrowser, tr( "Browser" ) ); connect( mBrowser, SIGNAL( regionChanged() ), this, SLOT( emitRegionChanged() ) ); }