aboutsummaryrefslogtreecommitdiff
path: root/src/qmmp/metadatamodel.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmmp/metadatamodel.h')
-rw-r--r--src/qmmp/metadatamodel.h40
1 files changed, 26 insertions, 14 deletions
diff --git a/src/qmmp/metadatamodel.h b/src/qmmp/metadatamodel.h
index 57a3ee26b..46851d03f 100644
--- a/src/qmmp/metadatamodel.h
+++ b/src/qmmp/metadatamodel.h
@@ -27,6 +27,7 @@
#include <QObject>
#include <QPixmap>
#include <QVariant>
+#include <QFlags>
#include "tagmodel.h"
@@ -54,39 +55,50 @@ class QMMP_EXPORT MetaDataModel : public QObject
{
Q_OBJECT
public:
+ enum DialogHint
+ {
+ NO_HINTS = 0x0,
+ IS_COVER_EDITABLE = 0x1,
+ COMPLETE_PROPERTY_LIST = 0x2
+ };
+ Q_DECLARE_FLAGS(DialogHints, DialogHint)
/*!
* Constructor.
* @param parent Parent Object.
*/
- MetaDataModel(QObject *parent = 0);
+ MetaDataModel(bool readOnly = true, QObject *parent = 0);
/*!
* Destructor.
*/
virtual ~MetaDataModel();
- /*!
- * Returns an associative array of the audio properties.
- * Subclass should reimplement this function. Default implementation returns empty array.
- */
- virtual QHash<QString, QString> audioProperties();
- /*!
- * Returns an associative array of the long descriptions.
- * Subclass should reimplement this function. Default implementation returns empty array.
- */
- virtual QHash<QString, QString> descriptions();
+
+ virtual QList<MetaDataItem> extraProperties() const;
+ virtual QList<MetaDataItem> descriptions() const;
/*!
* Returns a list of available tags.
* Subclass should reimplement this function. Default implementation returns empty array.
*/
- virtual QList<TagModel* > tags();
+ virtual QList<TagModel* > tags() const;
/*!
* Returns cover pixmap.
* Subclass should reimplement this function. Default implementation returns empty pixmap.
*/
- virtual QPixmap cover();
+ virtual QPixmap cover() const;
/*!
* Returns path to cover pixmap.
*/
- virtual QString coverPath();
+ virtual QString coverPath() const;
+ void setCover(const QPixmap &cover);
+ bool isReadOnly() const;
+ const DialogHints &dialogHints() const;
+
+protected:
+ void setDialogHints(const DialogHints &hints);
+ void setReadOnly(bool readOnly);
+
+private:
+ bool m_readOnly;
+ DialogHints m_dialogHints;
};
#endif // METADATAMODEL_H