Sayonara Player
Public Types | Signals | Public Member Functions | Protected Types | Protected Member Functions | Protected Slots | Protected Attributes | List of all members
AlbumCoverView Class Reference

Public Types

enum  SelectionType {
  Rows =0,
  Columns,
  Items
}
 

Signals

void sig_middle_button_clicked (const QPoint &)
 
void sig_all_selected ()
 
void sig_delete_clicked ()
 
void sig_play_next_clicked ()
 
void sig_append_clicked ()
 
void sig_refresh_clicked ()
 
void sig_import_files (const QStringList &files)
 
void sig_double_clicked (const SP::Set< int > &indexes)
 
void sig_sel_changed (const SP::Set< int > &indexes)
 
void sig_merge (const SP::Set< ID > &ids, int target_id)
 

Public Member Functions

 AlbumCoverView (QWidget *parent=nullptr)
 
int get_index_by_model_index (const QModelIndex &idx) const override
 
QModelIndex get_model_index_by_index (int idx) const override
 
void setModel (AlbumCoverModel *model)
 
void refresh ()
 
virtual void save_selections ()
 
virtual MetaDataList get_selected_metadata () const
 
void show_rc_menu_actions (int entries)
 
QMimeData * get_mimedata () const override
 
QPixmap get_pixmap () const override
 
void set_metadata_interpretation (MD::Interpretation type)
 
void set_selection_type (SayonaraSelectionView::SelectionType type) override
 
template<typename T , typename ModelType >
void fill (const T &input_data)
 
virtual void setSearchModel (SearchModelFunctionality *model) final
 
virtual QModelIndex get_index (int row, int col, const QModelIndex &parent=QModelIndex()) const override final
 
virtual int get_row_count (const QModelIndex &parent=QModelIndex()) const override final
 
virtual int get_column_count (const QModelIndex &parent=QModelIndex()) const override final
 
virtual QItemSelectionModel * get_selection_model () const override final
 
virtual void set_current_index (int idx) override final
 
bool is_minisearcher_active () const
 
SP::Set< int > get_selected_items () const
 
SayonaraSelectionView::SelectionType selection_type () const
 
virtual SP::Set< int > get_indexes_by_model_indexes (const QModelIndexList &idxs) const
 
virtual QModelIndexList get_model_indexes_by_indexes (const SP::Set< int > &idxs) const
 
void show_info ()
 Show the Info dialogs' info tab.
 
void show_lyrics ()
 Show the Info dialogs' lyrics tab.
 
void show_edit ()
 Show the tag editor.
 
void info_dialog_closed ()
 this function should not be called from outside. This function is triggered when the info dialog was closed.
 

Protected Types

enum  SearchDirection : unsigned char {
  First,
  Next,
  Prev
}
 
enum  ReleaseReason : char {
  Dropped,
  Destroyed
}
 

Protected Member Functions

void wheelEvent (QWheelEvent *e) override
 
void resizeEvent (QResizeEvent *e) override
 
void showEvent (QShowEvent *e) override
 
QStyleOptionViewItem viewOptions () const override
 
virtual void mousePressEvent (QMouseEvent *event) override
 
virtual void mouseReleaseEvent (QMouseEvent *event) override
 
virtual void mouseMoveEvent (QMouseEvent *event) override
 
virtual void mouseDoubleClickEvent (QMouseEvent *event) override
 
virtual void keyPressEvent (QKeyEvent *event) override
 
virtual void contextMenuEvent (QContextMenuEvent *event) override
 
virtual void dragEnterEvent (QDragEnterEvent *event) override
 
virtual void dragMoveEvent (QDragMoveEvent *event) override
 
virtual void dropEvent (QDropEvent *event) override
 
virtual void selectionChanged (const QItemSelection &selected, const QItemSelection &deselected) override
 
virtual void rc_menu_init ()
 
virtual MD::Interpretation get_metadata_interpretation () const override final
 get the interpretation for the metadata. Maybe a list of metadata should be intrepeted as albums while others should be considered as tracks More...
 
MetaDataList get_data_for_info_dialog () const override
 get the metadata that should be used for the info dialog So for lists, the selected tracks are used here More...
 
void handleKeyPress (QKeyEvent *e)
 
void select_rows (const SP::Set< int > &indexes, int min_col=-1, int max_col=-1)
 
void select_row (int row)
 
void select_columns (const SP::Set< int > &indexes, int min_row=-1, int max_row=-1)
 
void select_column (int col)
 
void select_items (const SP::Set< int > &items)
 
void select_item (int item)
 
void select_all ()
 
void clear_selection ()
 
int get_min_selected_item () const
 
virtual void drag_pressed (const QPoint &p) final
 
virtual QDrag * drag_moving (const QPoint &p) final
 
virtual void drag_released (ReleaseReason reason)
 

Protected Slots

virtual void rc_menu_show (const QPoint &)
 
virtual void merge_action_triggered ()
 

Protected Attributes

LibraryItemModel_model =nullptr
 
SelectionType _selection_type
 
Settings_settings =nullptr
 

Member Function Documentation

◆ get_data_for_info_dialog()

MetaDataList LibraryView::get_data_for_info_dialog ( ) const
overrideprotectedvirtualinherited

get the metadata that should be used for the info dialog So for lists, the selected tracks are used here

Returns
MetaDataList

Implements InfoDialogContainer.

◆ get_metadata_interpretation()

virtual MD::Interpretation LibraryView::get_metadata_interpretation ( ) const
finaloverrideprotectedvirtualinherited

get the interpretation for the metadata. Maybe a list of metadata should be intrepeted as albums while others should be considered as tracks

Returns
interpretation of metadata

Implements InfoDialogContainer.

Inheritance diagram for AlbumCoverView:
LibraryView SearchViewInterface< AbstractView > SayonaraClass InfoDialogContainer Dragable SearchViewFunctionality SayonaraSelectionView