@@ -305,15 +305,13 @@ sharedLibExtension = "*.so*";
305
305
myData.setTitle (pName ());
306
306
myData.setDetail (pDesc ());
307
307
myData.setRenderAsWidget (false );
308
- QVariant myVariant = qVariantFromValue (myData);
308
+ myData.setCheckable (true );
309
+ myData.setChecked (false ); // start unchecked - we will check it later if needed
310
+
309
311
// round trip test - delete this...no need to uncomment
310
312
// QgsDetailedItemData myData2 = qVariantValue<QgsDetailedItemData>(myVariant);
311
313
// Q_ASSERT(myData.title() == myData2.title());
312
314
// round trip test ends
313
- mypDetailItem->setData (myVariant,PLUGIN_DATA_ROLE);
314
- // Let the first col have a checkbox
315
- mypDetailItem->setCheckable (true );
316
- mypDetailItem->setEditable (false );
317
315
318
316
QgsDebugMsg (" Getting an instance of the QgsPluginRegistry" );
319
317
@@ -332,9 +330,11 @@ sharedLibExtension = "*.so*";
332
330
if (libName == myLib->fileName ())
333
331
{
334
332
// set the checkbox
335
- mypDetailItem-> setCheckState (Qt::Checked );
333
+ myData. setChecked ( true );
336
334
}
337
335
}
336
+ QVariant myVariant = qVariantFromValue (myData);
337
+ mypDetailItem->setData (myVariant,PLUGIN_DATA_ROLE);
338
338
// Add items to model
339
339
mModelPlugins ->appendRow (mypDetailItem);
340
340
@@ -437,8 +437,13 @@ void QgsPluginManager::selectAll()
437
437
// select all plugins
438
438
for (int row=0 ;row < mModelPlugins ->rowCount ();row++)
439
439
{
440
- QStandardItem *myItem=mModelPlugins ->item (row,0 );
441
- myItem->setCheckState (Qt::Checked);
440
+ QStandardItem *mypItem=mModelPlugins ->item (row,0 );
441
+ QgsDetailedItemData myData =
442
+ qVariantValue<QgsDetailedItemData>(mypItem->data (PLUGIN_DATA_ROLE));
443
+ myData.setChecked (true );
444
+ QVariant myVariant = qVariantFromValue (myData);
445
+ mypItem->setData (myVariant,PLUGIN_DATA_ROLE);
446
+
442
447
}
443
448
}
444
449
@@ -447,8 +452,12 @@ void QgsPluginManager::clearAll()
447
452
// clear all selection checkboxes
448
453
for (int row=0 ;row < mModelPlugins ->rowCount ();row++)
449
454
{
450
- QStandardItem *myItem=mModelPlugins ->item (row,0 );
451
- myItem->setCheckState (Qt::Unchecked);
455
+ QStandardItem *mypItem=mModelPlugins ->item (row,0 );
456
+ QgsDetailedItemData myData =
457
+ qVariantValue<QgsDetailedItemData>(mypItem->data (PLUGIN_DATA_ROLE));
458
+ myData.setChecked (false );
459
+ QVariant myVariant = qVariantFromValue (myData);
460
+ mypItem->setData (myVariant,PLUGIN_DATA_ROLE);
452
461
}
453
462
}
454
463
@@ -463,14 +472,18 @@ void QgsPluginManager::on_vwPlugins_clicked(const QModelIndex &theIndex )
463
472
//
464
473
QStandardItem * mypItem =
465
474
mModelPlugins ->findItems (theIndex.data (Qt ::DisplayRole).toString ()).first ();
466
- if ( mypItem->checkState () == Qt::Checked )
475
+ QgsDetailedItemData myData =
476
+ qVariantValue<QgsDetailedItemData>(mypItem->data (PLUGIN_DATA_ROLE));
477
+ if ( myData.isChecked () )
467
478
{
468
- mypItem-> setCheckState (Qt::Unchecked );
479
+ myData. setChecked ( false );
469
480
}
470
481
else
471
482
{
472
- mypItem-> setCheckState (Qt::Checked );
483
+ myData. setChecked ( true );
473
484
}
485
+ QVariant myVariant = qVariantFromValue (myData);
486
+ mypItem->setData (myVariant,PLUGIN_DATA_ROLE);
474
487
}
475
488
}
476
489
0 commit comments