File indexing completed on 2024-05-12 04:46:01
0001 #pragma once 0002 0003 #include <QObject> 0004 #include <QUrl> 0005 #include <QQmlParserStatus> 0006 0007 class DirInfo : public QObject 0008 { 0009 // Q_INTERFACES(QQmlParserStatus) 0010 0011 Q_OBJECT 0012 Q_PROPERTY(QUrl url READ url WRITE setUrl NOTIFY urlChanged) 0013 Q_PROPERTY(quint64 size READ size NOTIFY sizeChanged FINAL) 0014 Q_PROPERTY(QString sizeString READ sizeString NOTIFY sizeChanged FINAL) 0015 0016 Q_PROPERTY(quint64 filesCount READ filesCount NOTIFY filesCountChanged FINAL) 0017 Q_PROPERTY(quint64 dirCount READ dirCount NOTIFY dirsCountChanged FINAL) 0018 0019 Q_PROPERTY(quint64 avaliableSpace READ avaliableSpace NOTIFY avaliableSpaceChanged FINAL) 0020 Q_PROPERTY(quint64 totalSpace READ totalSpace NOTIFY totalSpaceChanged FINAL) 0021 0022 Q_PROPERTY(QString avaliableSpaceString READ avaliableSpaceString NOTIFY avaliableSpaceChanged FINAL) 0023 Q_PROPERTY(QString totalSpaceString READ totalSpaceString NOTIFY totalSpaceChanged FINAL) 0024 0025 public: 0026 explicit DirInfo(QObject *parent = nullptr); 0027 0028 QUrl url() const; 0029 0030 quint64 size() const; 0031 0032 quint64 dirCount() const; 0033 0034 quint64 filesCount() const; 0035 0036 QString sizeString() const; 0037 0038 quint64 avaliableSpace() const; 0039 0040 quint64 totalSpace() const; 0041 0042 QString avaliableSpaceString() const; 0043 0044 QString totalSpaceString() const; 0045 0046 public Q_SLOTS: 0047 void setUrl(QUrl url); 0048 0049 private: 0050 void getSize(); 0051 0052 QUrl m_url; 0053 quint64 m_size = 0; 0054 quint64 m_filesCount = 0; 0055 quint64 m_dirCount = 0; 0056 0057 quint64 m_avaliableSpace = 0; 0058 0059 quint64 m_totalSpace = 0; 0060 0061 Q_SIGNALS: 0062 void urlChanged(QUrl url); 0063 void sizeChanged(quint64 size); 0064 void dirsCountChanged(quint64 dirCount); 0065 void filesCountChanged(quint64 filesCount); 0066 0067 void avaliableSpaceChanged(quint64 avaliableSpace); 0068 void totalSpaceChanged(quint64 totalSpace); 0069 };