15
15
***************************************************************************/
16
16
#include < iostream>
17
17
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>
26
25
#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>
50
44
#include < QCloseEvent>
51
45
#include < QTabBar>
52
- #include < QListView >
53
- #include < QProcess >
46
+ #include < QTreeWidget >
47
+ #include < QTreeWidgetItem >
54
48
#include < QHeaderView>
49
+ #include < QProcess>
55
50
56
51
#include " qgis.h"
57
52
#include " qgisinterface.h"
@@ -116,20 +111,21 @@ QgsGrassTools::QgsGrassTools ( QgisInterface *iface,
116
111
layout1->addWidget (mTabWidget );
117
112
118
113
119
- mModulesListView = new Q3ListView ();
114
+ mModulesListView = new QTreeWidget ();
120
115
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);
123
120
// Set list view
124
- mModulesListView ->setColumnText (0 ,tr (" Modules" ));
125
121
mModulesListView ->clear ();
126
- mModulesListView ->setSorting (- 1 );
122
+ mModulesListView ->setSortingEnabled ( false );
127
123
mModulesListView ->setRootIsDecorated (true );
128
- mModulesListView ->setResizeMode (Q3ListView ::AllColumns);
124
+ // mModulesListView->setResizeMode(QTreeWidget ::AllColumns);
129
125
mModulesListView ->header ()->hide ();
130
126
131
- connect ( mModulesListView , SIGNAL (clicked (Q3ListViewItem * )),
132
- this , SLOT (moduleClicked ( Q3ListViewItem * )) );
127
+ connect ( mModulesListView , SIGNAL (itemClicked (QTreeWidgetItem *, int )),
128
+ this , SLOT (moduleClicked ( QTreeWidgetItem *, int )) );
133
129
134
130
QString title = " GRASS Tools: " + QgsGrass::getDefaultLocation ()
135
131
+ " /" + QgsGrass::getDefaultMapset ();
@@ -157,15 +153,15 @@ QgsGrassTools::QgsGrassTools ( QgisInterface *iface,
157
153
this , SLOT (emitRegionChanged ()) );
158
154
}
159
155
160
- void QgsGrassTools::moduleClicked ( Q3ListViewItem * item )
156
+ void QgsGrassTools::moduleClicked ( QTreeWidgetItem * item, int column )
161
157
{
162
- #ifdef QGISDEBUG
158
+ // #ifdef QGISDEBUG
163
159
std::cerr << " QgsGrassTools::moduleClicked()" << std::endl;
164
- #endif
160
+ // #endif
165
161
if ( !item ) return ;
166
162
167
163
QString name = item->text (1 );
168
- // std::cerr << "name = " << name << std::endl;
164
+ std::cerr << " name = " << name. ascii () << std::endl;
169
165
170
166
if ( name.length () == 0 ) return ; // Section
171
167
@@ -221,7 +217,7 @@ void QgsGrassTools::moduleClicked( Q3ListViewItem * item )
221
217
proc->start (msysPath + " " + myArguments);
222
218
proc->waitForStarted ();
223
219
if ( proc->state () != QProcess::Running )
224
- {
220
+ {
225
221
QMessageBox::warning ( 0 , " Warning" ,
226
222
" Cannot start MSYS (" + msysPath + " )" );
227
223
}
@@ -278,6 +274,7 @@ bool QgsGrassTools::loadConfig(QString filePath)
278
274
std::cerr << " QgsGrassTools::loadConfig(): " << filePath.toLocal8Bit ().data () << std::endl;
279
275
#endif
280
276
mModulesListView ->clear ();
277
+ mModulesListView ->setIconSize (QSize (80 ,22 ));
281
278
282
279
QFile file ( filePath );
283
280
@@ -320,12 +317,12 @@ bool QgsGrassTools::loadConfig(QString filePath)
320
317
return true ;
321
318
}
322
319
323
- void QgsGrassTools::addModules ( Q3ListViewItem *parent, QDomElement &element )
320
+ void QgsGrassTools::addModules ( QTreeWidgetItem *parent, QDomElement &element )
324
321
{
325
322
QDomNode n = element.firstChild ();
326
323
327
- Q3ListViewItem *item;
328
- Q3ListViewItem *lastItem = 0 ;
324
+ QTreeWidgetItem *item;
325
+ QTreeWidgetItem *lastItem = 0 ;
329
326
while ( !n.isNull () ) {
330
327
QDomElement e = n.toElement ();
331
328
if ( !e.isNull () ) {
@@ -337,16 +334,16 @@ void QgsGrassTools::addModules ( Q3ListViewItem *parent, QDomElement &element )
337
334
}
338
335
339
336
if ( parent ) {
340
- item = new Q3ListViewItem ( parent, lastItem );
337
+ item = new QTreeWidgetItem ( parent, lastItem );
341
338
} else {
342
- item = new Q3ListViewItem ( mModulesListView , lastItem );
339
+ item = new QTreeWidgetItem ( mModulesListView , lastItem );
343
340
}
344
341
345
342
if ( e.tagName () == " section" ) {
346
343
QString label = e.attribute (" label" );
347
344
std::cout << " label = " << label.toLocal8Bit ().data () << std::endl;
348
345
item->setText ( 0 , label );
349
- item->setOpen (true ); // for debuging to spare one click
346
+ item->setExpanded (true ); // for debuging to spare one click
350
347
351
348
addModules ( item, e );
352
349
@@ -360,7 +357,7 @@ void QgsGrassTools::addModules ( Q3ListViewItem *parent, QDomElement &element )
360
357
QPixmap pixmap = QgsGrassModule::pixmap ( path, 25 );
361
358
362
359
item->setText ( 0 , label );
363
- item->setPixmap ( 0 , pixmap );
360
+ item->setIcon ( 0 , QIcon ( pixmap) );
364
361
item->setText ( 1 , name );
365
362
lastItem = item;
366
363
}
0 commit comments