Skip to content

File tree

2 files changed

+55
-58
lines changed

2 files changed

+55
-58
lines changed
 

‎src/plugins/grass/qgsgrasstools.cpp

Lines changed: 50 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -15,43 +15,38 @@
1515
***************************************************************************/
1616
#include <iostream>
1717

18-
#include <qapplication.h>
19-
#include <qdir.h>
20-
#include <qfile.h>
21-
#include <qsettings.h>
22-
#include <qpixmap.h>
23-
#include <q3listbox.h>
24-
#include <qstringlist.h>
25-
#include <qlabel.h>
18+
#include <QApplication>
19+
#include <QDir>
20+
#include <QFile>
21+
#include <QSettings>
22+
#include <QPixmap>
23+
#include <QStringList>
24+
#include <QLabel>
2625
#include <QComboBox>
27-
#include <qspinbox.h>
28-
#include <qmessagebox.h>
29-
#include <qinputdialog.h>
30-
#include <qsettings.h>
31-
#include <qpainter.h>
32-
#include <qpen.h>
33-
#include <q3pointarray.h>
34-
#include <qcursor.h>
35-
#include <qnamespace.h>
36-
#include <q3listview.h>
37-
#include <qcolordialog.h>
38-
#include <q3table.h>
39-
#include <qstatusbar.h>
40-
#include <qevent.h>
41-
#include <qpoint.h>
42-
#include <qsize.h>
43-
#include <qdom.h>
44-
#include <qtabwidget.h>
45-
#include <qlayout.h>
46-
#include <qcheckbox.h>
47-
#include <q3process.h>
48-
#include <qicon.h>
49-
//Added by qt3to4:
26+
#include <QSpinBox>
27+
#include <QMessageBox>
28+
#include <QInputDialog>
29+
#include <QSettings>
30+
#include <QPainter>
31+
#include <QPen>
32+
#include <QCursor>
33+
//#include <qnamespace.h>
34+
#include <QColorDialog>
35+
#include <QStatusBar>
36+
#include <QEvent>
37+
#include <QPoint>
38+
#include <QSize>
39+
#include <QDomDocument>
40+
#include <QTabWidget>
41+
#include <QLayout>
42+
#include <QCheckBox>
43+
#include <QIcon>
5044
#include <QCloseEvent>
5145
#include <QTabBar>
52-
#include <QListView>
53-
#include <QProcess>
46+
#include <QTreeWidget>
47+
#include <QTreeWidgetItem>
5448
#include <QHeaderView>
49+
#include <QProcess>
5550

5651
#include "qgis.h"
5752
#include "qgisinterface.h"
@@ -116,20 +111,21 @@ QgsGrassTools::QgsGrassTools ( QgisInterface *iface,
116111
layout1->addWidget(mTabWidget);
117112

118113

119-
mModulesListView = new Q3ListView();
114+
mModulesListView = new QTreeWidget();
120115
mTabWidget->addTab( mModulesListView, tr("Modules") );
121-
mModulesListView->addColumn("col1",0);
122-
116+
mModulesListView->setColumnCount(1);
117+
QStringList headers;
118+
headers << tr("Modules");
119+
mModulesListView->setHeaderLabels(headers);
123120
// Set list view
124-
mModulesListView->setColumnText(0,tr("Modules"));
125121
mModulesListView->clear();
126-
mModulesListView->setSorting(-1);
122+
mModulesListView->setSortingEnabled(false);
127123
mModulesListView->setRootIsDecorated(true);
128-
mModulesListView->setResizeMode(Q3ListView::AllColumns);
124+
// mModulesListView->setResizeMode(QTreeWidget::AllColumns);
129125
mModulesListView->header()->hide();
130126

131-
connect( mModulesListView, SIGNAL(clicked(Q3ListViewItem *)),
132-
this, SLOT(moduleClicked( Q3ListViewItem *)) );
127+
connect( mModulesListView, SIGNAL(itemClicked(QTreeWidgetItem *, int)),
128+
this, SLOT(moduleClicked( QTreeWidgetItem *, int)) );
133129

134130
QString title = "GRASS Tools: " + QgsGrass::getDefaultLocation()
135131
+ "/" + QgsGrass::getDefaultMapset();
@@ -157,15 +153,15 @@ QgsGrassTools::QgsGrassTools ( QgisInterface *iface,
157153
this, SLOT(emitRegionChanged()) );
158154
}
159155

160-
void QgsGrassTools::moduleClicked( Q3ListViewItem * item )
156+
void QgsGrassTools::moduleClicked( QTreeWidgetItem * item, int column )
161157
{
162-
#ifdef QGISDEBUG
158+
// #ifdef QGISDEBUG
163159
std::cerr << "QgsGrassTools::moduleClicked()" << std::endl;
164-
#endif
160+
// #endif
165161
if ( !item ) return;
166162

167163
QString name = item->text(1);
168-
//std::cerr << "name = " << name << std::endl;
164+
std::cerr << "name = " << name.ascii() << std::endl;
169165

170166
if ( name.length() == 0 ) return; // Section
171167

@@ -221,7 +217,7 @@ void QgsGrassTools::moduleClicked( Q3ListViewItem * item )
221217
proc->start(msysPath + " " + myArguments);
222218
proc->waitForStarted();
223219
if ( proc->state() != QProcess::Running )
224-
{
220+
{
225221
QMessageBox::warning( 0, "Warning",
226222
"Cannot start MSYS (" + msysPath + ")" );
227223
}
@@ -278,6 +274,7 @@ bool QgsGrassTools::loadConfig(QString filePath)
278274
std::cerr << "QgsGrassTools::loadConfig(): " << filePath.toLocal8Bit().data() << std::endl;
279275
#endif
280276
mModulesListView->clear();
277+
mModulesListView->setIconSize(QSize(80,22));
281278

282279
QFile file ( filePath );
283280

@@ -320,12 +317,12 @@ bool QgsGrassTools::loadConfig(QString filePath)
320317
return true;
321318
}
322319

323-
void QgsGrassTools::addModules ( Q3ListViewItem *parent, QDomElement &element )
320+
void QgsGrassTools::addModules ( QTreeWidgetItem *parent, QDomElement &element )
324321
{
325322
QDomNode n = element.firstChild();
326323

327-
Q3ListViewItem *item;
328-
Q3ListViewItem *lastItem = 0;
324+
QTreeWidgetItem *item;
325+
QTreeWidgetItem *lastItem = 0;
329326
while( !n.isNull() ) {
330327
QDomElement e = n.toElement();
331328
if( !e.isNull() ) {
@@ -337,16 +334,16 @@ void QgsGrassTools::addModules ( Q3ListViewItem *parent, QDomElement &element )
337334
}
338335

339336
if ( parent ) {
340-
item = new Q3ListViewItem( parent, lastItem );
337+
item = new QTreeWidgetItem( parent, lastItem );
341338
} else {
342-
item = new Q3ListViewItem( mModulesListView, lastItem );
339+
item = new QTreeWidgetItem( mModulesListView, lastItem );
343340
}
344341

345342
if ( e.tagName() == "section" ) {
346343
QString label = e.attribute("label");
347344
std::cout << "label = " << label.toLocal8Bit().data() << std::endl;
348345
item->setText( 0, label );
349-
item->setOpen(true); // for debuging to spare one click
346+
item->setExpanded(true); // for debuging to spare one click
350347

351348
addModules ( item, e );
352349

@@ -360,7 +357,7 @@ void QgsGrassTools::addModules ( Q3ListViewItem *parent, QDomElement &element )
360357
QPixmap pixmap = QgsGrassModule::pixmap ( path, 25 );
361358

362359
item->setText( 0, label );
363-
item->setPixmap( 0, pixmap );
360+
item->setIcon( 0, QIcon(pixmap) );
364361
item->setText( 1, name );
365362
lastItem = item;
366363
}

‎src/plugins/grass/qgsgrasstools.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020

2121
class QCloseEvent;
2222
class QString;
23-
class Q3ListView;
24-
class Q3ListViewItem;
23+
class QTreeWidget;
24+
class QTreeWidgetItem;
2525
class QDomNode;
2626
class QDomElement;
2727
class QSize;
@@ -66,7 +66,7 @@ class QgsGrassTools: public QDialog
6666

6767
//! Recursively add sections and modules to the list view
6868
// If parent is 0, the modules are added to mModulesListView root
69-
void addModules ( Q3ListViewItem *parent, QDomElement &element );
69+
void addModules ( QTreeWidgetItem *parent, QDomElement &element );
7070

7171
//! Returns application directory
7272
QString appDir();
@@ -88,7 +88,7 @@ public slots:
8888
void saveWindowLocation();
8989

9090
//! Module in list clicked
91-
void moduleClicked ( Q3ListViewItem * item );
91+
void moduleClicked ( QTreeWidgetItem * item, int column );
9292

9393
//! Current mapset changed
9494
void mapsetChanged();
@@ -113,7 +113,7 @@ public slots:
113113
QgsGrassBrowser *mBrowser;
114114

115115
QgsGrassToolsTabWidget *mTabWidget;
116-
Q3ListView *mModulesListView;
116+
QTreeWidget *mModulesListView;
117117
};
118118

119119
#endif // QGSGRASSTOOLS_H

0 commit comments

Comments
 (0)
Please sign in to comment.