@@ -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()
920918void 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+
933931void QgsGraduatedSymbolRendererV2Widget::keyPressEvent ( QKeyEvent* event )
934932{
935933 if ( !event )
0 commit comments