File indexing completed on 2024-04-28 04:49:19
0001 /* 0002 * SPDX-FileCopyrightText: 2023 George Florea Bănuș <georgefb899@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 */ 0006 0007 #ifndef MPVPREVIEW_H 0008 #define MPVPREVIEW_H 0009 0010 #include <MpvAbstractItem> 0011 0012 class MpvRenderer; 0013 0014 class MpvPreview : public MpvAbstractItem 0015 { 0016 Q_OBJECT 0017 QML_ELEMENT 0018 0019 Q_PROPERTY(double position READ position WRITE setPosition NOTIFY positionChanged) 0020 Q_PROPERTY(double aspectRatio READ aspectRatio NOTIFY aspectRatioChanged) 0021 Q_PROPERTY(QString file READ file WRITE setFile NOTIFY fileChanged) 0022 Q_PROPERTY(bool accuratePreview READ accuratePreview WRITE setAccuratePreview NOTIFY accuratePreviewChanged) 0023 Q_PROPERTY(bool isLocalFile READ isLocalFile WRITE setIsLocalFile NOTIFY isLocalFileChanged) 0024 0025 public: 0026 MpvPreview(); 0027 0028 double position(); 0029 void setPosition(double value); 0030 0031 double aspectRatio(); 0032 0033 QString file() const; 0034 void setFile(const QString &_file); 0035 0036 Q_INVOKABLE void loadFile(); 0037 0038 bool accuratePreview() const; 0039 void setAccuratePreview(bool _accuratePreview); 0040 0041 bool isLocalFile() const; 0042 void setIsLocalFile(bool _isLocalFile); 0043 0044 Q_SIGNALS: 0045 void positionChanged(); 0046 void aspectRatioChanged(); 0047 void fileChanged(); 0048 void accuratePreviewChanged(); 0049 void isLocalFileChanged(); 0050 0051 private: 0052 double m_position{0.0}; 0053 QString m_file; 0054 bool m_accuratePreview; 0055 bool m_isLocalFile{false}; 0056 bool m_isReady{false}; 0057 }; 0058 0059 #endif // MPVPREVIEW_H