Parent: [85ffd4] (diff)

Child: [27e872] (diff)

Download this file

GUI_Playlist.h    135 lines (92 with data), 3.2 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
/* GUI_Playlist.h */
/* Copyright (C) 2011 Lucio Carreras
*
* This file is part of sayonara player
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
/*
* GUI_Playlist.h
*
* Created on: Apr 6, 2011
* Author: luke
*/
#ifndef GUI_PLAYLIST_H_
#define GUI_PLAYLIST_H_
#include "GUI_Playlist.h"
#include "ui_GUI_Playlist.h"
#include "GUI/playlist/delegate/PlaylistItemDelegate.h"
//#include "GUI/InfoDialog/GUI_InfoDialog.h"
#include "playlist/Playlist.h"
#include "HelperStructs/MetaData.h"
#include "HelperStructs/PlaylistMode.h"
#include <QObject>
#include <QMainWindow>
#include <QWidget>
#include <QKeyEvent>
#include <QTextEdit>
#include <QList>
#include <QFocusEvent>
#include <string>
class GUI_InfoDialog;
class GUI_Playlist : public QWidget, private Ui::Playlist_Window {
Q_OBJECT
public:
GUI_Playlist(QWidget *parent, GUI_InfoDialog* dialog);
~GUI_Playlist();
void dragEnterEvent(QDragEnterEvent* event);
void dragLeaveEvent(QDragLeaveEvent* event);
void dropEvent(QDropEvent* event);
void dragMoveEvent(QDragMoveEvent* event);
signals:
void selected_row_changed(int);
void clear_playlist();
void save_playlist(const QString&);
void playlist_mode_changed(const Playlist_Mode&);
void dropped_tracks(const MetaDataList&, int);
void sig_rows_removed(const QList<int>&, bool);
void search_similar_artists(const QString&);
void sig_no_focus();
public slots:
void fillPlaylist(MetaDataList&, int, int);
void track_changed(int);
void library_path_changed(QString);
void set_radio_active(int radio);
void psl_show_small_playlist_items(bool small_items);
void language_changed();
private slots:
void selection_changed(MetaDataList&);
void double_clicked(int);
void clear_playlist_slot();
void playlist_mode_changed_slot();
void psl_info_tracks();
void psl_edit_tracks();
void btn_numbers_changed(bool);
void metadata_dropped(const MetaDataList&, int);
void rows_removed(const QList<int>&, bool select_next_row);
void no_focus();
private:
Ui::Playlist_Window* ui;
QWidget* _parent;
GUI_InfoDialog* _info_dialog;
Playlist_Mode _playlist_mode;
int _radio_active;
qint64 _total_msecs;
void initGUI();
void set_total_time_label();
void check_dynamic_play_button();
protected:
void changeEvent(QEvent* e);
void resizeEvent(QResizeEvent *e);
void focusInEvent(QFocusEvent *e);
};
#endif /* GUI_PLAYLIST_H_ */