class PluginTab : public QVLCFrame
{
Q_OBJECT
+public:
+ enum
+ {
+ NAME = 0,
+ CAPABILITY,
+ SCORE
+ };
protected:
virtual void keyPressEvent( QKeyEvent *keyEvent );
Q_OBJECT
public:
- ExtensionListModel( QListView *view, intf_thread_t *p_intf );
+ /* Safe copy of the extension_t struct */
+ class ExtensionCopy
+ {
+
+ public:
+ ExtensionCopy( extension_t * );
+ ~ExtensionCopy();
+ QVariant data( int role ) const;
+
+ private:
+ QString name, title, description, shortdesc, author, version, url;
+ QPixmap *icon;
+ };
+
+ ExtensionListModel( QObject *parent, intf_thread_t *p_intf );
virtual ~ExtensionListModel();
+ enum
+ {
+ DescriptionRole = Qt::UserRole,
+ VersionRole,
+ AuthorRole,
+ LinkRole,
+ NameRole
+ };
+
virtual QVariant data( const QModelIndex& index, int role ) const;
virtual QModelIndex index( int row, int column = 0,
const QModelIndex& = QModelIndex() ) const;
void updateList();
private:
+
intf_thread_t *p_intf;
QList<ExtensionCopy*> extensions;
};
class ExtensionItemDelegate : public QStyledItemDelegate
{
public:
- ExtensionItemDelegate( intf_thread_t *p_intf, QListView *view );
+ ExtensionItemDelegate( QObject *parent );
virtual ~ExtensionItemDelegate();
virtual void paint( QPainter *painter,
const QModelIndex &index ) const;
virtual QSize sizeHint( const QStyleOptionViewItem &option,
const QModelIndex &index ) const;
+ virtual void initStyleOption( QStyleOptionViewItem *option,
+ const QModelIndex &index ) const;
private:
- QListView *view;
- intf_thread_t *p_intf;
+ QMargins margins;
};
class ExtensionInfoDialog : public QVLCDialog
{
public:
- ExtensionInfoDialog( const ExtensionCopy& extension,
+ ExtensionInfoDialog( const QModelIndex &index,
intf_thread_t *p_intf, QWidget *parent );
- virtual ~ExtensionInfoDialog();
-
-private:
- ExtensionCopy *extension;
};
#endif