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 }
0 commit comments