]> git.sesse.net Git - vlc/commitdiff
Qt: Move the clear playlist button to the context menu
authorEdward Wang <edward.c.wang@compdigitec.com>
Mon, 2 Jan 2012 13:02:56 +0000 (14:02 +0100)
committerJean-Baptiste Kempf <jb@videolan.org>
Mon, 2 Jan 2012 13:27:04 +0000 (14:27 +0100)
Modified-by: Jean-Baptiste Kempf <jb@videolan.org>
Signed-off-by: Jean-Baptiste Kempf <jb@videolan.org>
modules/gui/qt4/components/playlist/playlist.cpp
modules/gui/qt4/components/playlist/playlist_model.cpp
modules/gui/qt4/components/playlist/playlist_model.hpp

index 32b0ea92548815556cd7d45892ae2b3062ce3d3d..7d04d12f8e1ea50dde7bc6f6120d3c0a9a53f88e 100644 (file)
@@ -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>
index 8b3e089282067204a80179e44f8f7362e6a5e6cc..4e69d3c8512c19092d7423f6d07f9171df7fec35 100644 (file)
@@ -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;
+    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,10 @@ bool PLModel::popup( const QModelIndex & index, const QPoint &point, const QMode
     }
 
     menu.addSeparator();
+
+    menu.addAction( QIcon( ":/toolbar/clear" ), qtr("Clear playlist"),
+                    this, SLOT( clearPlaylist() ) );
+
     /* Playlist sorting */
     if( !sortingMenu )
     {
index 6c66c7e9e35228aa5223ad0fd9bc718d7a93a095..ea3bfb263f465bf21d2033b6a27583ad96413b1d 100644 (file)
@@ -120,7 +120,7 @@ signals:
 
 public slots:
     virtual void activateItem( const QModelIndex &index );
-
+    void clearPlaylist();
 private:
     /* General */
     PLItem *rootItem;