bool MLModel::popup( const QModelIndex & index, const QPoint &point, const QModelIndexList &list ) { current_selection = list; current_index = index; QMenu menu; if( index.isValid() ) { menu.addAction( QIcon( ":/menu/play" ), qtr(I_POP_PLAY), this, SLOT( popupPlay() ) ); menu.addAction( QIcon( ":/menu/stream" ), qtr(I_POP_STREAM), this, SLOT( popupStream() ) ); menu.addAction( qtr(I_POP_SAVE), this, SLOT( popupSave() ) ); menu.addAction( QIcon( ":/menu/info" ), qtr(I_POP_INFO), this, SLOT( popupInfo() ) ); menu.addSeparator(); } QIcon addIcon( ":/buttons/playlist/playlist_add" ); menu.addSeparator(); //menu.addAction( addIcon, qtr(I_PL_ADDF), THEDP, SLOT( simpleMLAppendDialog()) ); //menu.addAction( addIcon, qtr(I_PL_ADDDIR), THEDP, SLOT( MLAppendDir() ) ); //menu.addAction( addIcon, qtr(I_OP_ADVOP), THEDP, SLOT( MLAppendDialog() ) ); if( index.isValid() ) { menu.addAction( QIcon( ":/buttons/playlist/playlist_remove" ), qtr(I_POP_DEL), this, SLOT( popupDel() ) ); menu.addSeparator(); } if( !menu.isEmpty() ) { menu.exec( point ); return true; } else return false; }
int PLModel::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QAbstractItemModel::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: currentChanged((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break; case 1: rootChanged(); break; case 2: activateItem((*reinterpret_cast< const QModelIndex(*)>(_a[1]))); break; case 3: activateItem((*reinterpret_cast< playlist_item_t*(*)>(_a[1]))); break; case 4: popupPlay(); break; case 5: popupDel(); break; case 6: popupInfo(); break; case 7: popupStream(); break; case 8: popupSave(); break; case 9: popupExplore(); break; case 10: popupAddNode(); break; case 11: popupSort((*reinterpret_cast< int(*)>(_a[1]))); break; case 12: processInputItemUpdate((*reinterpret_cast< input_item_t*(*)>(_a[1]))); break; case 13: processInputItemUpdate((*reinterpret_cast< input_thread_t*(*)>(_a[1]))); break; case 14: processItemRemoval((*reinterpret_cast< int(*)>(_a[1]))); break; case 15: processItemAppend((*reinterpret_cast< int(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break; default: ; } _id -= 16; } return _id; }