21 DIRS = DRIVE | DIR | SYMLINK | SPECIAL,
22 ALL = DRIVE | DIR | FILE | SYMLINK | SPECIAL
25 Q_DECLARE_FLAGS(TYPES, TYPE)
31 enum class ColumnValue {
41 [[nodiscard]]
static QString HeaderData(
int section);
42 [[nodiscard]] QVariant Data(
int column);
44 [[nodiscard]]
int ChildCount();
45 [[nodiscard]]
int ColumnCount();
53 int RemoveChild(
int index);
57 [[nodiscard]]
int IndexOf(
const QString& szPath);
58 [[nodiscard]]
int IndexOfParent();
66 [[nodiscard]]
const State GetState()
const;
67 void SetState(State s);
69 [[nodiscard]] QString GetPath();
70 [[nodiscard]] QString GetName();
72 [[nodiscard]] quint64 GetSize();
73 void SetSize(quint64 size);
75 [[nodiscard]] TYPES GetType();
76 [[nodiscard]]
bool IsDir();
77 [[nodiscard]] QIcon Icon();
79 [[nodiscard]] QDateTime GetCreateTime();
80 void SetCreateTime(
const QDateTime &date);
81 [[nodiscard]] QDateTime GetLastModified();
82 void SetLastModified(
const QDateTime& date);
84 void SetPermissions(QFileDevice::Permissions privileges);
85 [[nodiscard]] QFileDevice::Permissions GetPermissions();
87 [[nodiscard]] QString GetOwner();
88 void SetOwner(QString szOwner);
92 QVector<CRemoteFileSystem*> m_vChild;
96 QDateTime m_createTime;
97 QDateTime m_lastModifed;
98 QFileDevice::Permissions m_Permissions;
109 QObject *parent =
nullptr,
110 CRemoteFileSystem::TYPES filter = CRemoteFileSystem::TYPE::ALL
114 QModelIndex SetRootPath(
const QString &szPath);
116 [[nodiscard]]
CRemoteFileSystem* GetRemoteFileSystemFromIndex(
const QModelIndex &index)
const;
117 [[nodiscard]] CRemoteFileSystem::TYPES GetFilter();
119 void CreateDir(QModelIndex index,
const QString& dir);
120 void RemoveDir(QModelIndex index);
122 QVariant headerData(
int section,
123 Qt::Orientation orientation,
124 int role = Qt::DisplayRole)
const override;
127 [[nodiscard]] QModelIndex index(
const QString& szPath)
const;
128 QModelIndex index(
int row,
int column,
const QModelIndex &parent = QModelIndex())
const override;
129 QModelIndex parent(
const QModelIndex &index)
const override;
131 int rowCount(
const QModelIndex &parent = QModelIndex())
const override;
132 int columnCount(
const QModelIndex &parent = QModelIndex())
const override;
134 virtual Qt::ItemFlags flags(
const QModelIndex &index)
const override;
135 virtual bool setData(
const QModelIndex &index,
const QVariant &value,
int role)
override;
136 QVariant data(
const QModelIndex &index,
int role = Qt::DisplayRole)
const override;
137 virtual void fetchMore(
const QModelIndex &parent)
override;
138 virtual bool canFetchMore(
const QModelIndex &parent)
const override;
142 void sigMakeDir(
const QString& dir);
143 void sigRemoveDir(
const QString& szPath);
144 void sigRemoveFile(
const QString& szFile);
145 void sigRename(
const QString& oldName,
const QString& newName);
148 QVector<QSharedPointer<CRemoteFileSystem> > contents,
153 CRemoteFileSystem::TYPES m_Filter;
154 QList<CRemoteFileSystem*> m_GetFolder;