Qmmp
cueeditor_p.h
1 /***************************************************************************
2  * Copyright (C) 2021 by Ilya Kotov *
3  * forkotov02@ya.ru *
4  * *
5  * This program is free software; you can redistribute it and/or modify *
6  * it under the terms of the GNU General Public License as published by *
7  * the Free Software Foundation; either version 2 of the License, or *
8  * (at your option) any later version. *
9  * *
10  * This program is distributed in the hope that it will be useful, *
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13  * GNU General Public License for more details. *
14  * *
15  * You should have received a copy of the GNU General Public License *
16  * along with this program; if not, write to the *
17  * Free Software Foundation, Inc., *
18  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
19  ***************************************************************************/
20 
21 #ifndef CUEEDITOR_P_H
22 #define CUEEDITOR_P_H
23 
24 #include <QWidget>
25 #include <qmmp/cueparser.h>
26 #include <qmmp/trackinfo.h>
27 
28 namespace Ui {
29 class CueEditor;
30 }
31 
32 class MetaDataModel;
33 
34 class CueEditor : public QWidget
35 {
36  Q_OBJECT
37 
38 public:
39  explicit CueEditor(MetaDataModel *model, const TrackInfo &info, QWidget *parent = nullptr);
40  ~CueEditor();
41 
42  void save();
43  bool isEditable() const;
44  int trackCount() const;
45 
46 private slots:
47  void on_loadButton_clicked();
48  void on_deleteButton_clicked();
49  void on_saveAsButton_clicked();
50 
51 private:
52  Ui::CueEditor *m_ui;
53  MetaDataModel *m_model;
54  QString m_lastDir;
55  bool m_editable;
56  TrackInfo m_info;
57  CueParser m_parser;
58 };
59 
60 #endif // CUEEDITOR_P_H
The CueParser class provides CUE parser.
Definition: cueparser.h:35
The MetaDataModel is the base interface class of metadata access.
Definition: metadatamodel.h:81
The TrackInfo class stores metadata and other information about track.
Definition: trackinfo.h:32