|
branches/KDE/4.3/kdepim/kmail/messagelistview/core: msg#12794kde-commits
SVN commit 1005089 by tmcguire: Backport r1003213 by stefanek from trunk to the 4.3 branch: Fix a problem with the sort indicator not properly restored after a folder change. M +35 -4 widgetbase.cpp --- branches/KDE/4.3/kdepim/kmail/messagelistview/core/widgetbase.cpp #1005088:1005089 @@ -680,14 +680,14 @@ // try to find the specified message sorting in the theme columns const QList< Theme::Column * > & columns = mTheme->columns(); int idx = 0; + + // First try with a well defined message sorting. + foreach( const Theme::Column* column, columns ) { if ( !mView->header()->isSectionHidden( idx ) ) { - if ( ( column->messageSorting() == messageSorting || - ( column->messageSorting() == SortOrder::SortMessagesBySenderOrReceiver ) ) && - ( messageSorting == SortOrder::SortMessagesByReceiver || - messageSorting == SortOrder::SortMessagesBySender ) ) + if ( column->messageSorting() == messageSorting ) { // found a visible column with this message sorting logicalHeaderColumnIndex = idx; @@ -696,6 +696,36 @@ } ++idx; } + + // if still not found, try again with a wider range + if ( logicalHeaderColumnIndex == 1 ) + { + idx = 0; + foreach( const Theme::Column* column, columns ) + { + if ( !mView->header()->isSectionHidden( idx ) ) + { + if ( + ( + ( column->messageSorting() == SortOrder::SortMessagesBySenderOrReceiver ) || + ( column->messageSorting() == SortOrder::SortMessagesByReceiver ) || + ( column->messageSorting() == SortOrder::SortMessagesBySender ) + ) && + ( + ( messageSorting == SortOrder::SortMessagesBySenderOrReceiver ) || + ( messageSorting == SortOrder::SortMessagesByReceiver ) || + ( messageSorting == SortOrder::SortMessagesBySender ) + ) + ) + { + // found a visible column with this message sorting + logicalHeaderColumnIndex = idx; + break; + } + } + ++idx; + } + } } if ( logicalHeaderColumnIndex == -1 ) @@ -706,6 +736,7 @@ } mView->header()->setSortIndicatorShown( true ); + if ( sortDirection == SortOrder::Ascending ) mView->header()->setSortIndicator( logicalHeaderColumnIndex, Qt::AscendingOrder ); else
|
|
||||||||||||||||||||||||||
|
|
|
| News | Mail Home | sitemap | FAQ | advertise |