[vlc-devel] [PATCH] Qt4: Move clear playlist to context menu
Edward Wang
edward.c.wang at compdigitec.com
Mon Jan 2 00:29:17 CET 2012
Move the clear playlist button to the context menu.
---
modules/gui/qt4/components/playlist/playlist.cpp | 18 +-----------------
.../gui/qt4/components/playlist/playlist_model.cpp | 16 ++++++++++++++++
.../gui/qt4/components/playlist/playlist_model.hpp | 2 +-
3 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/modules/gui/qt4/components/playlist/playlist.cpp b/modules/gui/qt4/components/playlist/playlist.cpp
index 32b0ea9..7d04d12 100644
--- a/modules/gui/qt4/components/playlist/playlist.cpp
+++ b/modules/gui/qt4/components/playlist/playlist.cpp
@@ -112,13 +112,6 @@ PlaylistWidget::PlaylistWidget( intf_thread_t *_p_i, QWidget *_par )
layout->addLayout( topbarLayout, 0, 1 );
topbarLayout->setSpacing( 10 );
- /* Button to clear playlist */
- QToolButton *clearPlaylistButton = new QToolButton( this );
- clearPlaylistButton->setIcon( style()->standardIcon( QStyle::SP_TrashIcon ) );
- clearPlaylistButton->setToolTip( qtr("Clear playlist") );
- topbarLayout->addWidget( clearPlaylistButton );
- CONNECT( clearPlaylistButton, clicked(), this, clearPlaylist() );
-
/* Button to switch views */
QToolButton *viewButton = new QToolButton( this );
viewButton->setIcon( style()->standardIcon( QStyle::SP_FileDialogDetailedView ) );
@@ -262,16 +255,7 @@ void PlaylistWidget::changeView( const QModelIndex& index )
void PlaylistWidget::clearPlaylist()
{
- PLModel *model = PLModel::getPLModel( p_intf );
- if( model->rowCount() < 1 ) return;
-
- QModelIndexList* l = new QModelIndexList();
- for( int i = 0; i < model->rowCount(); i++)
- {
- QModelIndex indexrecord = model->index( i, 0, QModelIndex() );
- l->append( indexrecord );
- }
- model->doDelete(*l);
+ PLModel::getPLModel( p_intf )->clearPlaylist();
}
#include <QSignalMapper>
#include <QMenu>
diff --git a/modules/gui/qt4/components/playlist/playlist_model.cpp b/modules/gui/qt4/components/playlist/playlist_model.cpp
index 8b3e089..f0d1967 100644
--- a/modules/gui/qt4/components/playlist/playlist_model.cpp
+++ b/modules/gui/qt4/components/playlist/playlist_model.cpp
@@ -888,6 +888,19 @@ void PLModel::search( const QString& search_text, const QModelIndex & idx, bool
rebuild();
}
+void PLModel::clearPlaylist()
+{
+ if( rowCount() < 1 ) return;
+
+ QModelIndexList* l = new QModelIndexList();
+ for( int i = 0; i < rowCount(); i++)
+ {
+ QModelIndex indexrecord = index( i, 0, QModelIndex() );
+ l->append( indexrecord );
+ }
+ doDelete(*l);
+};
+
/*********** Popup *********/
bool PLModel::popup( const QModelIndex & index, const QPoint &point, const QModelIndexList &list )
{
@@ -964,6 +977,9 @@ bool PLModel::popup( const QModelIndex & index, const QPoint &point, const QMode
}
menu.addSeparator();
+ menu.addAction( QIcon( ":/buttons/playlist/playlist_remove" ), qtr("Clear playlist"),
+ this, SLOT( clearPlaylist() ) );
+ menu.addSeparator();
/* Playlist sorting */
if( !sortingMenu )
{
diff --git a/modules/gui/qt4/components/playlist/playlist_model.hpp b/modules/gui/qt4/components/playlist/playlist_model.hpp
index 6c66c7e..ea3bfb2 100644
--- a/modules/gui/qt4/components/playlist/playlist_model.hpp
+++ b/modules/gui/qt4/components/playlist/playlist_model.hpp
@@ -120,7 +120,7 @@ signals:
public slots:
virtual void activateItem( const QModelIndex &index );
-
+ void clearPlaylist();
private:
/* General */
PLItem *rootItem;
--
1.7.5.4
More information about the vlc-devel
mailing list