Skip to content

Commit 834c1d0

Browse files
committed
Fix handling of link category boundaries with sorting of rows
1 parent 1841225 commit 834c1d0

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

src/gui/symbology-ng/qgsgraduatedsymbolrendererv2widget.cpp

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -326,6 +326,7 @@ void QgsGraduatedSymbolRendererV2Model::sort( int column, Qt::SortOrder order )
326326
{
327327
mRenderer->sortByLabel( order );
328328
}
329+
emit rowsMoved();
329330
emit dataChanged( createIndex( 0, 0, 0 ), createIndex( mRenderer->ranges().size(), 0 ) );
330331
QgsDebugMsg( "Done" );
331332
}
@@ -798,22 +799,19 @@ void QgsGraduatedSymbolRendererV2Widget::toggleBoundariesLink( bool linked )
798799
//This is done by updating all lower ranges to the upper value of the range above
799800
if ( linked )
800801
{
801-
// Cannot link ranges if they are not sorted - results will be crazy
802-
// qSort( mRenderer->ranges() );
803-
// Could not get qSort to work with copy/swap idiom on QgsVectorRange
804-
805802
if ( ! rowsOrdered() )
806803
{
807804
int result = QMessageBox::warning(
808805
this,
809806
tr( "Linked range warning" ),
810-
tr( "Linking ranges that are not ordered may produced unexpected results. Proceed?" ),
807+
tr( "Rows will be reordered before linking boundaries. Continue?" ),
811808
QMessageBox::Ok | QMessageBox::Cancel );
812809
if ( result != QMessageBox::Ok )
813810
{
814811
cbxLinkBoundaries->setChecked( false );
815812
return;
816813
}
814+
mRenderer->sortByValue();
817815
}
818816

819817
// Ok to proceed
@@ -920,16 +918,16 @@ void QgsGraduatedSymbolRendererV2Widget::showSymbolLevels()
920918
void QgsGraduatedSymbolRendererV2Widget::rowsMoved()
921919
{
922920
viewGraduated->selectionModel()->clear();
923-
}
924-
925-
void QgsGraduatedSymbolRendererV2Widget::modelDataChanged()
926-
{
927921
if ( ! rowsOrdered() )
928922
{
929923
cbxLinkBoundaries->setChecked( false );
930924
}
931925
}
932926

927+
void QgsGraduatedSymbolRendererV2Widget::modelDataChanged()
928+
{
929+
}
930+
933931
void QgsGraduatedSymbolRendererV2Widget::keyPressEvent( QKeyEvent* event )
934932
{
935933
if ( !event )

0 commit comments

Comments
 (0)