From: Jean-Baptiste Kempf Date: Tue, 26 Jan 2010 00:23:38 +0000 (+0100) Subject: Qt: track the currentView and simplify the code X-Git-Tag: 1.1.0-ff~871 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=ede2bb15ef44639f38c2139c1a1f1eefc0678058;p=vlc Qt: track the currentView and simplify the code --- diff --git a/modules/gui/qt4/components/playlist/standardpanel.cpp b/modules/gui/qt4/components/playlist/standardpanel.cpp index ae4d309a49..4da7e87e51 100644 --- a/modules/gui/qt4/components/playlist/standardpanel.cpp +++ b/modules/gui/qt4/components/playlist/standardpanel.cpp @@ -175,14 +175,9 @@ void StandardPLPanel::popupSelectColumn( QPoint pos ) void StandardPLPanel::popupPlView( const QPoint &point ) { - QAbstractItemView *aView; - if ( treeView && treeView->isVisible() ) aView = treeView; - else if( iconView && iconView->isVisible() ) aView = iconView; - else return; - - QModelIndex index = aView->indexAt( point ); - QPoint globalPoint = aView->viewport()->mapToGlobal( point ); - QItemSelectionModel *selection = aView->selectionModel(); + QModelIndex index = currentView->indexAt( point ); + QPoint globalPoint = currentView->viewport()->mapToGlobal( point ); + QItemSelectionModel *selection = currentView->selectionModel(); QModelIndexList list = selection->selectedIndexes(); model->popup( index, globalPoint, list ); } @@ -258,9 +253,7 @@ void StandardPLPanel::keyPressEvent( QKeyEvent *e ) void StandardPLPanel::deleteSelection() { - //FIXME - if( !treeView ) return; - QItemSelectionModel *selection = treeView->selectionModel(); + QItemSelectionModel *selection = currentView->selectionModel(); QModelIndexList list = selection->selectedIndexes(); model->doDelete( list ); } @@ -307,7 +300,7 @@ void StandardPLPanel::createTreeView() { for( int m = 1, c = 0; m != COLUMN_END; m <<= 1, c++ ) { - treeView->setClumnHidden( c, !( m & COLUMN_DEFAULT ) ); + treeView->setColumnHidden( c, !( m & COLUMN_DEFAULT ) ); if( m == COLUMN_TITLE ) treeView->header()->resizeSection( c, 200 ); else if( m == COLUMN_DURATION ) treeView->header()->resizeSection( c, 80 ); } @@ -341,11 +334,16 @@ void StandardPLPanel::toggleView() treeView->hide(); iconView->show(); + currentView = iconView; } else { + if( treeView == NULL ) + createTreeView(); + iconView->hide(); treeView->show(); + currentView = treeView; } } diff --git a/modules/gui/qt4/components/playlist/standardpanel.hpp b/modules/gui/qt4/components/playlist/standardpanel.hpp index 715583aeb9..0da499eb57 100644 --- a/modules/gui/qt4/components/playlist/standardpanel.hpp +++ b/modules/gui/qt4/components/playlist/standardpanel.hpp @@ -71,6 +71,7 @@ private: QTreeView *treeView; PlIconView *iconView; + QAbstractItemView *currentView; int currentRootId; QSignalMapper *selectColumnsSigMapper;