@@ -445,10 +445,9 @@ QgsFeatureRendererV2* QgsCategorizedSymbolRendererV2Widget::renderer()
445
445
446
446
void QgsCategorizedSymbolRendererV2Widget::changeSelectedSymbols ()
447
447
{
448
- QItemSelectionModel* m = viewCategories->selectionModel ();
449
- QModelIndexList selectedIndexes = m->selectedRows ( 1 );
448
+ QList<int > selectedCats = selectedCategories ();
450
449
451
- if ( m && selectedIndexes .size () > 0 )
450
+ if ( selectedCats .size () > 0 )
452
451
{
453
452
QgsSymbolV2* newSymbol = mCategorizedSymbol ->clone ();
454
453
QgsSymbolV2SelectorDialog dlg ( newSymbol, mStyle , mLayer , this );
@@ -458,15 +457,13 @@ void QgsCategorizedSymbolRendererV2Widget::changeSelectedSymbols()
458
457
return ;
459
458
}
460
459
461
- foreach ( QModelIndex idx, selectedIndexes )
460
+ foreach ( const int idx, selectedCats )
462
461
{
463
- if ( idx.isValid () )
464
- {
465
- int catIdx = mRenderer ->categoryIndexForValue ( idx.data ( Qt::UserRole + 1 ) );
466
- QgsSymbolV2* newCatSymbol = newSymbol->clone ();
467
- newCatSymbol->setColor ( mRenderer ->categories ()[catIdx].symbol ()->color () );
468
- mRenderer ->updateCategorySymbol ( catIdx, newCatSymbol );
469
- }
462
+ QgsRendererCategoryV2 category = mRenderer ->categories ().value ( idx );
463
+
464
+ QgsSymbolV2* newCatSymbol = newSymbol->clone ();
465
+ newCatSymbol->setColor ( mRenderer ->categories ()[idx].symbol ()->color () );
466
+ mRenderer ->updateCategorySymbol ( idx, newCatSymbol );
470
467
}
471
468
}
472
469
}
0 commit comments