category-fix.diff

Arunmozhi P, 2012-12-20 12:46 PM

Download (1.67 KB)

View differences:

src/gui/symbology-ng/qgscategorizedsymbolrendererv2widget.cpp
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 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
}