From c4fbb6e0a7d0977b3b4ed12fccbb782aa94c41cd Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Fri, 26 Aug 2011 00:48:39 +0200 Subject: [PATCH] * Fixed TWK-461: Always pre-sort searches by score column. --- src/libtomahawk/playlist/playlistview.cpp | 4 +++- src/libtomahawk/playlist/trackheader.cpp | 5 +++-- src/libtomahawk/playlist/trackheader.h | 4 ++-- src/libtomahawk/playlist/trackview.cpp | 13 ++++++++++--- src/libtomahawk/widgets/searchwidget.cpp | 2 +- 5 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/libtomahawk/playlist/playlistview.cpp b/src/libtomahawk/playlist/playlistview.cpp index 18aa319e0..a34c60650 100644 --- a/src/libtomahawk/playlist/playlistview.cpp +++ b/src/libtomahawk/playlist/playlistview.cpp @@ -62,8 +62,10 @@ PlaylistView::setPlaylistModel( PlaylistModel* model ) TrackView::setTrackModel( m_model ); setColumnHidden( TrackModel::Age, true ); // Hide age column per default - if ( !m_model->playlist().isNull() ) + if ( guid().isEmpty() && !m_model->playlist().isNull() ) + { setGuid( QString( "playlistview/%1/%2" ).arg( m_model->columnCount() ).arg( m_model->playlist()->guid() ) ); + } else { setGuid( QString( "playlistview/%1" ).arg( m_model->columnCount() ) ); diff --git a/src/libtomahawk/playlist/trackheader.cpp b/src/libtomahawk/playlist/trackheader.cpp index cfaf0801e..35bb2cb43 100644 --- a/src/libtomahawk/playlist/trackheader.cpp +++ b/src/libtomahawk/playlist/trackheader.cpp @@ -71,11 +71,11 @@ TrackHeader::visibleSectionCount() const } -void +bool TrackHeader::checkState() { if ( !count() || m_init ) - return; + return false; QByteArray state = TomahawkSettings::instance()->playlistColumnSizes( m_parent->guid() ); if ( !state.isEmpty() ) @@ -102,6 +102,7 @@ TrackHeader::checkState() } m_init = true; + return true; } diff --git a/src/libtomahawk/playlist/trackheader.h b/src/libtomahawk/playlist/trackheader.h index 49aa0ec7a..6bed2492a 100644 --- a/src/libtomahawk/playlist/trackheader.h +++ b/src/libtomahawk/playlist/trackheader.h @@ -1,5 +1,5 @@ /* === This file is part of Tomahawk Player - === - * + * * Copyright 2010-2011, Christian Muehlhaeuser * * Tomahawk is free software: you can redistribute it and/or modify @@ -40,7 +40,7 @@ public: public slots: void toggleVisibility( int index ); - void checkState(); + bool checkState(); protected: void contextMenuEvent( QContextMenuEvent* e ); diff --git a/src/libtomahawk/playlist/trackview.cpp b/src/libtomahawk/playlist/trackview.cpp index 444512a22..99c1d4cbc 100644 --- a/src/libtomahawk/playlist/trackview.cpp +++ b/src/libtomahawk/playlist/trackview.cpp @@ -62,8 +62,7 @@ TrackView::TrackView( QWidget* parent ) setVerticalScrollMode( QAbstractItemView::ScrollPerPixel ); setRootIsDecorated( false ); setUniformRowHeights( true ); - setMinimumWidth( 300 ); - // setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOn ); + setMinimumWidth( 200 ); setHeader( m_header ); setSortingEnabled( true ); @@ -204,7 +203,15 @@ void TrackView::resizeEvent( QResizeEvent* event ) { QTreeView::resizeEvent( event ); - m_header->checkState(); + + int sortSection = m_header->sortIndicatorSection(); + Qt::SortOrder sortOrder = m_header->sortIndicatorOrder(); + + if ( m_header->checkState() && sortSection >= 0 ) + { + // restoreState keeps overwriting our previous sort-order + sortByColumn( sortSection, sortOrder ); + } } diff --git a/src/libtomahawk/widgets/searchwidget.cpp b/src/libtomahawk/widgets/searchwidget.cpp index 5b253c83a..208c223bf 100644 --- a/src/libtomahawk/widgets/searchwidget.cpp +++ b/src/libtomahawk/widgets/searchwidget.cpp @@ -39,6 +39,7 @@ SearchWidget::SearchWidget( const QString& search, QWidget* parent ) { ui->setupUi( this ); + ui->resultsView->setGuid( "searchwidget" ); m_resultsModel = new PlaylistModel( ui->resultsView ); ui->resultsView->setPlaylistModel( m_resultsModel ); ui->resultsView->overlay()->setEnabled( false ); @@ -96,7 +97,6 @@ SearchWidget::onResultsFound( const QList& results ) Tomahawk::query_ptr q = result->toQuery(); q->setResolveFinished( true ); q->addResults( rl ); - qDebug() << result->toString(); m_resultsModel->append( q ); }