1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-08 23:26:40 +02:00

* Fixed TrackDetailView's layout issues.

This commit is contained in:
Christian Muehlhaeuser
2014-10-11 05:04:06 +02:00
parent 83a108168f
commit 5f2127a977
2 changed files with 18 additions and 10 deletions

View File

@@ -108,14 +108,15 @@ TrackDetailView::TrackDetailView( QWidget* parent )
m_resultsBox->setLayout( resultsLayout ); m_resultsBox->setLayout( resultsLayout );
m_resultsBox->hide(); m_resultsBox->hide();
QScrollArea* resultsScrollArea = new QScrollArea; m_resultsScrollArea = new QScrollArea;
resultsScrollArea->setWidgetResizable( false ); m_resultsScrollArea->setWidgetResizable( true );
resultsScrollArea->setWidget( m_resultsBox ); m_resultsScrollArea->setWidget( m_resultsBox );
resultsScrollArea->setFrameShape( QFrame::NoFrame ); m_resultsScrollArea->setFrameShape( QFrame::NoFrame );
resultsScrollArea->setAttribute( Qt::WA_MacShowFocusRect, 0 ); m_resultsScrollArea->setAttribute( Qt::WA_MacShowFocusRect, 0 );
resultsScrollArea->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); m_resultsScrollArea->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
resultsScrollArea->setSizePolicy( QSizePolicy::Minimum, QSizePolicy::MinimumExpanding ); m_resultsScrollArea->setSizePolicy( QSizePolicy::Minimum, QSizePolicy::MinimumExpanding );
TomahawkStyle::styleScrollBar( resultsScrollArea->verticalScrollBar() ); TomahawkStyle::styleScrollBar( m_resultsScrollArea->verticalScrollBar() );
m_resultsScrollArea->hide();
QVBoxLayout* layout = new QVBoxLayout; QVBoxLayout* layout = new QVBoxLayout;
TomahawkUtils::unmarginLayout( layout ); TomahawkUtils::unmarginLayout( layout );
@@ -127,8 +128,9 @@ TrackDetailView::TrackDetailView( QWidget* parent )
layout->addSpacerItem( new QSpacerItem( 0, 32, QSizePolicy::Minimum, QSizePolicy::Fixed ) ); layout->addSpacerItem( new QSpacerItem( 0, 32, QSizePolicy::Minimum, QSizePolicy::Fixed ) );
layout->addWidget( m_resultsBoxLabel ); layout->addWidget( m_resultsBoxLabel );
layout->addSpacerItem( new QSpacerItem( 0, 8, QSizePolicy::Minimum, QSizePolicy::Fixed ) ); layout->addSpacerItem( new QSpacerItem( 0, 8, QSizePolicy::Minimum, QSizePolicy::Fixed ) );
layout->addWidget( resultsScrollArea ); layout->addWidget( m_resultsScrollArea );
layout->setStretchFactor( resultsScrollArea, 1 ); layout->addStretch();
layout->setStretchFactor( m_resultsScrollArea, 1 );
setLayout( layout ); setLayout( layout );
setQuery( query_ptr() ); setQuery( query_ptr() );
@@ -278,16 +280,20 @@ TrackDetailView::onResultsChanged()
m_resultsBox->layout()->addWidget( hbox ); m_resultsBox->layout()->addWidget( hbox );
} }
qobject_cast<QVBoxLayout*>(m_resultsBox->layout())->addStretch();
} }
if ( m_query && m_query->numResults( true ) > 1 ) if ( m_query && m_query->numResults( true ) > 1 )
{ {
m_resultsBoxLabel->show(); m_resultsBoxLabel->show();
m_resultsBox->show(); m_resultsBox->show();
m_resultsScrollArea->show();
} }
else else
{ {
m_resultsBoxLabel->hide(); m_resultsBoxLabel->hide();
m_resultsBox->hide(); m_resultsBox->hide();
m_resultsScrollArea->hide();
} }
} }

View File

@@ -29,6 +29,7 @@ class QLabel;
class CaptionLabel; class CaptionLabel;
class PlayableCover; class PlayableCover;
class QueryLabel; class QueryLabel;
class QScrollArea;
class DLLEXPORT TrackDetailView : public QWidget, private TomahawkUtils::DpiScaler class DLLEXPORT TrackDetailView : public QWidget, private TomahawkUtils::DpiScaler
{ {
@@ -67,6 +68,7 @@ private:
QWidget* m_infoBox; QWidget* m_infoBox;
QWidget* m_resultsBox; QWidget* m_resultsBox;
QScrollArea* m_resultsScrollArea;
Tomahawk::query_ptr m_query; Tomahawk::query_ptr m_query;
QPixmap m_pixmap; QPixmap m_pixmap;