VLCModel::VLCModel( intf_thread_t *_p_intf, QObject *parent ) : QAbstractItemModel( parent ), VLCModelSubInterface(), p_intf(_p_intf) { /* Icons initialization */ #define ADD_ICON(type, x) icons[ITEM_TYPE_##type] = QIcon( x ) ADD_ICON( UNKNOWN , QPixmap( type_unknown_xpm ) ); ADD_ICON( FILE, ":/type/file" ); ADD_ICON( DIRECTORY, ":/type/directory" ); ADD_ICON( DISC, ":/type/disc" ); ADD_ICON( CDDA, ":/type/cdda" ); ADD_ICON( CARD, ":/type/capture-card" ); ADD_ICON( NET, ":/type/net" ); ADD_ICON( PLAYLIST, ":/type/playlist" ); ADD_ICON( NODE, ":/type/node" ); #undef ADD_ICON }
PLModel::PLModel( playlist_t *_p_playlist, /* THEPL */ intf_thread_t *_p_intf, /* main Qt p_intf */ playlist_item_t * p_root, QObject *parent ) /* Basic Qt parent */ : VLCModel( _p_intf, parent ) { p_playlist = _p_playlist; i_cached_id = -1; i_cached_input_id = -1; i_popup_item = i_popup_parent = -1; sortingMenu = NULL; rootItem = NULL; /* PLItem rootItem, will be set in rebuild( ) */ latestSearch = QString(); /* Icons initialization */ #define ADD_ICON(type, x) icons[ITEM_TYPE_##type] = QIcon( x ) ADD_ICON( UNKNOWN , type_unknown_xpm ); ADD_ICON( FILE, ":/type/file" ); ADD_ICON( DIRECTORY, ":/type/directory" ); ADD_ICON( DISC, ":/type/disc" ); ADD_ICON( CDDA, ":/type/cdda" ); ADD_ICON( CARD, ":/type/capture-card" ); ADD_ICON( NET, ":/type/net" ); ADD_ICON( PLAYLIST, ":/type/playlist" ); ADD_ICON( NODE, ":/type/node" ); #undef ADD_ICON i_zoom = getSettings()->value( "Playlist/zoom", 0 ).toInt(); rebuild( p_root ); DCONNECT( THEMIM->getIM(), metaChanged( input_item_t *), this, processInputItemUpdate( input_item_t *) ); DCONNECT( THEMIM, inputChanged( input_thread_t * ), this, processInputItemUpdate( input_thread_t* ) ); CONNECT( THEMIM, playlistItemAppended( int, int ), this, processItemAppend( int, int ) ); CONNECT( THEMIM, playlistItemRemoved( int ), this, processItemRemoval( int ) ); }