1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-25 15:01:11 +02:00

* Fixed selecting correct sidebar item after destroying temporary page.

This commit is contained in:
Christian Muehlhaeuser
2014-09-08 15:40:57 +02:00
parent 675a288a69
commit 336bccaf40
3 changed files with 16 additions and 13 deletions

View File

@@ -568,7 +568,7 @@ ViewManager::setPage( ViewPage* page, bool trackHistory )
emit historyBackAvailable( m_pageHistoryBack.count() ); emit historyBackAvailable( m_pageHistoryBack.count() );
emit historyForwardAvailable( m_pageHistoryFwd.count() ); emit historyForwardAvailable( m_pageHistoryFwd.count() );
qDebug() << "View page shown:" << page->title(); tDebug() << "View page shown:" << page->title();
emit viewPageActivated( page ); emit viewPageActivated( page );
if ( page->isTemporaryPage() ) if ( page->isTemporaryPage() )

View File

@@ -436,12 +436,13 @@ SourcesModel::viewPageActivated( Tomahawk::ViewPage* page )
{ {
Q_ASSERT( m_sourceTreeLinks[ page ] ); Q_ASSERT( m_sourceTreeLinks[ page ] );
tDebug() << "Got view page activated for item:" << m_sourceTreeLinks[ page ]->text(); tDebug() << "Got view page activated for item:" << m_sourceTreeLinks[ page ]->text();
QModelIndex idx = indexFromItem( m_sourceTreeLinks[ page ] ); QPersistentModelIndex idx = indexFromItem( m_sourceTreeLinks[ page ] );
tDebug() << "Got view page activated for index:" << idx;
if ( !idx.isValid() ) if ( !idx.isValid() )
m_sourceTreeLinks.remove( page ); m_sourceTreeLinks.remove( page );
else else
emit selectRequest( QPersistentModelIndex( idx ) ); emit selectRequest( idx );
} }
else else
{ {
@@ -683,7 +684,7 @@ void
SourcesModel::onWidgetDestroyed( QWidget* w ) SourcesModel::onWidgetDestroyed( QWidget* w )
{ {
int ret = m_sourceTreeLinks.remove( dynamic_cast< Tomahawk::ViewPage* > ( w ) ); int ret = m_sourceTreeLinks.remove( dynamic_cast< Tomahawk::ViewPage* > ( w ) );
qDebug() << "REMOVED STALE SOURCE PAGE?" << ret; tDebug() << "Removed stale source page:" << ret;
} }

View File

@@ -274,9 +274,13 @@ SourceTreeItem::removeFromList()
void void
SourceTreeItem::pageDestroyed() SourceTreeItem::pageDestroyed()
{ {
//FIXME: this seems to be triggered twice for temporary pages
model()->removeSourceItemLink( this ); model()->removeSourceItemLink( this );
int idx = parent()->children().indexOf( this ); int idx = parent()->children().indexOf( this );
if ( idx < 0 )
return;
parent()->beginRowsRemoved( idx, idx ); parent()->beginRowsRemoved( idx, idx );
parent()->removeChild( this ); parent()->removeChild( this );
parent()->endRowsRemoved(); parent()->endRowsRemoved();
@@ -284,5 +288,3 @@ SourceTreeItem::pageDestroyed()
emit removed(); emit removed();
deleteLater(); deleteLater();
} }