1 /*****************************************************************************
2 * panels.hpp : Panels for the playlist
3 ****************************************************************************
4 * Copyright (C) 2000-2005 the VideoLAN team
7 * Authors: Clément Stenac <zorglub@videolan.org>
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22 *****************************************************************************/
32 #include "components/playlist/playlist.hpp"
34 #include <QModelIndex>
39 #include <vlc_playlist.h>
51 class StandardPLPanel
: public QWidget
56 StandardPLPanel( PlaylistWidget
*, intf_thread_t
*,
57 playlist_t
*,playlist_item_t
* );
58 virtual ~StandardPLPanel();
60 friend class PlaylistWidget
;
62 virtual void keyPressEvent( QKeyEvent
*e
);
63 virtual void wheelEvent( QWheelEvent
*e
);
67 intf_thread_t
*p_intf
;
71 QPushButton
*addButton
;
73 LocationBar
*locationBar
;
77 QAbstractItemView
*currentView
;
80 QSignalMapper
*selectColumnsSigMapper
;
81 QSignalMapper
*viewSelectionMapper
;
83 int last_activated_id
;
91 void createTreeView();
92 void createIconView();
95 void removeItem( int );
96 virtual void setRoot( playlist_item_t
* );
98 void deleteSelection();
99 void handleExpansion( const QModelIndex
& );
100 void gotoPlayingItem();
101 void search( const QString
& searchText
);
103 void popupSelectColumn( QPoint
);
104 void popupPlView( const QPoint
& );
105 void toggleColumnShown( int );
106 void showView( int );
107 void activate( const QModelIndex
& );
108 void handleInputChange( input_thread_t
* );
111 class LocationBar
: public QToolBar
115 LocationBar( PLModel
* );
116 void setIndex( const QModelIndex
& );
118 void invoked( const QModelIndex
& );
120 void invoke( int i_item_id
);
123 QSignalMapper
*mapper
;