21 #ifndef DIRECTORYTREEVIEW_H
22 #define DIRECTORYTREEVIEW_H
24 #include "DirectoryModel.h"
25 #include "Gui/Utils/SearchableWidget/SearchableView.h"
26 #include "Gui/Utils/Widgets/WidgetTemplate.h"
27 #include "Gui/Utils/Widgets/Dragable.h"
28 #include "Utils/Pimpl.h"
31 #include <QModelIndexList>
39 class LibraryContextMenu;
62 void sig_info_clicked();
63 void sig_edit_clicked();
64 void sig_lyrics_clicked();
65 void sig_delete_clicked();
66 void sig_play_clicked();
67 void sig_play_new_tab_clicked();
68 void sig_play_next_clicked();
69 void sig_append_clicked();
70 void sig_directory_loaded(
const QModelIndex& index);
71 void sig_current_index_changed(
const QModelIndex& index);
73 void sig_enter_pressed();
74 void sig_import_requested(LibraryId lib_id,
const QStringList& v_md,
const QString& target_dir);
76 void sig_copy_started();
77 void sig_copy_finished();
83 QModelIndex search(
const QString& search_term);
84 QString directory_name(
const QModelIndex& index);
85 QString directory_name_origin(
const QModelIndex& index);
87 QModelIndexList selected_indexes()
const;
88 QStringList selected_paths()
const;
90 QMimeData* dragable_mimedata()
const override;
91 LibraryId library_id(
const QModelIndex& index)
const;
101 void init_context_menu();
102 DropAction show_drop_menu(
const QPoint& pos);
105 void selection_changed(
const QItemSelection& selected,
const QItemSelection& deselected);
106 void drag_move_timer_finished();
107 void create_dir_clicked();
108 void rename_dir_clicked();
110 void copy_finished();
113 void keyPressEvent(QKeyEvent* event)
override;
114 void mousePressEvent(QMouseEvent* event)
override;
115 void mouseMoveEvent(QMouseEvent *event)
override;
117 void dragEnterEvent(QDragEnterEvent *event)
override;
118 void dragLeaveEvent(QDragLeaveEvent* event)
override;
119 void dragMoveEvent(QDragMoveEvent *event)
override;
120 void dropEvent(QDropEvent *event)
override;
123 int index_by_model_index(
const QModelIndex& idx)
const override;
126 void select_match(
const QString& str, SearchDirection direction)
override;
129 bool has_drag_label()
const override;
130 QString drag_label()
const override;
132 void skin_changed()
override;
133 void language_changed()
override;
140 #endif // DIRECTORYTREEVIEW_H