[vlc-devel] commit: Qt iconView: initial attempt at item browsing/playing (Jakob Leben )

git version control git at videolan.org
Mon Jan 25 16:52:07 CET 2010


vlc | branch: master | Jakob Leben <jleben at videolan.org> | Mon Jan 25 16:49:55 2010 +0100| [91d00d909f5ab02b1ffc6073500667cfb6679b7d] | committer: Jakob Leben 

Qt iconView: initial attempt at item browsing/playing

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=91d00d909f5ab02b1ffc6073500667cfb6679b7d
---

 modules/gui/qt4/components/playlist/icon_view.cpp |   14 ++++++++++++++
 modules/gui/qt4/components/playlist/icon_view.hpp |    2 ++
 2 files changed, 16 insertions(+), 0 deletions(-)

diff --git a/modules/gui/qt4/components/playlist/icon_view.cpp b/modules/gui/qt4/components/playlist/icon_view.cpp
index b55aee1..b3101e9 100644
--- a/modules/gui/qt4/components/playlist/icon_view.cpp
+++ b/modules/gui/qt4/components/playlist/icon_view.cpp
@@ -103,4 +103,18 @@ PlIconView::PlIconView( PLModel *model, QWidget *parent ) : QListView( parent )
 
     PlListViewItemDelegate *pl = new PlListViewItemDelegate();
     setItemDelegate( pl );
+
+    CONNECT( this, activated( const QModelIndex & ), this, activate( const QModelIndex & ) );
+}
+
+void PlIconView::activate( const QModelIndex & index )
+{
+    if( model()->hasChildren( index ) )
+        setRootIndex( index );
+    else
+    {
+        PLModel *plModel = qobject_cast<PLModel*>( model() );
+        if( !plModel ) return;
+        plModel->activateItem( index );
+    }
 }
diff --git a/modules/gui/qt4/components/playlist/icon_view.hpp b/modules/gui/qt4/components/playlist/icon_view.hpp
index 1d73384..9819eb0 100644
--- a/modules/gui/qt4/components/playlist/icon_view.hpp
+++ b/modules/gui/qt4/components/playlist/icon_view.hpp
@@ -47,6 +47,8 @@ class PlIconView : public QListView
 
 public:
     PlIconView( PLModel *model, QWidget *parent = 0 );
+public slots:
+    void activate( const QModelIndex & index );
 };
 
 #endif




More information about the vlc-devel mailing list