[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