File indexing completed on 2024-05-19 04:48:28

0001 #pragma once
0002 
0003 #include <QObject>
0004 #include <QString>
0005 #include <QUrl>
0006 
0007 #include "taginfo.h"
0008 
0009 class MetadataEditor : public QObject
0010 {
0011     Q_OBJECT
0012     Q_PROPERTY(QUrl url READ url WRITE setUrl NOTIFY urlChanged)
0013     Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged)
0014     Q_PROPERTY(QString artist READ artist WRITE setArtist NOTIFY artistChanged)
0015     Q_PROPERTY(QString album READ album WRITE setAlbum NOTIFY albumChanged)
0016     Q_PROPERTY(int track READ track WRITE setTrack NOTIFY trackChanged)
0017     Q_PROPERTY(QString genre READ genre WRITE setGenre NOTIFY genreChanged)
0018     Q_PROPERTY(QString comment READ comment WRITE setComment NOTIFY commentChanged)
0019     Q_PROPERTY(int year READ year WRITE setYear NOTIFY yearChanged)
0020 
0021 public:
0022     explicit MetadataEditor(QObject *parent = nullptr);
0023 
0024     QUrl url() const;
0025     QString title() const;
0026     QString artist() const;
0027     QString album() const;
0028     QString genre() const;
0029     int track() const;
0030 
0031     QString comment() const;
0032 
0033     int year() const;
0034 
0035 public Q_SLOTS:
0036     void setUrl(QUrl url);
0037 
0038     void setTitle(QString title);
0039 
0040     void setArtist(QString artist);
0041 
0042     void setAlbum(QString album);
0043 
0044     void setTrack(int track);
0045 
0046     void setGenre(QString genre);
0047 
0048     void setComment(QString comment);
0049 
0050     void setYear(int year);
0051 
0052 private:
0053     TagInfo *m_tag;
0054     void getData();
0055 
0056     QUrl m_url;
0057 
0058     QString m_title;
0059 
0060     QString m_artist;
0061 
0062     QString m_album;
0063 
0064     int m_track;
0065 
0066     QString m_genre;
0067 
0068     QString m_comment;
0069 
0070     int m_year;
0071 
0072 Q_SIGNALS:
0073     void urlChanged(QUrl url);
0074     void titleChanged(QString title);
0075     void artistChanged(QString artist);
0076     void albumChanged(QString album);
0077     void trackChanged(int track);
0078     void genreChanged(QString genre);
0079     void commentChanged(QString comment);
0080     void yearChanged(int year);
0081 };