#ifndef VORPHANFILE_H #define VORPHANFILE_H #include "vfile.h" // VOrphanFile is a file not belonging to any notebooks or directories. // Such as external files, system files. // It uses the file path to locate and identify a file. class VOrphanFile : public VFile { Q_OBJECT public: VOrphanFile(QObject *p_parent, const QString &p_path, bool p_modifiable, bool p_systemFile = false); QString fetchPath() const Q_DECL_OVERRIDE; QString fetchBasePath() const Q_DECL_OVERRIDE; QString fetchImageFolderPath() const Q_DECL_OVERRIDE; // Whether use a relative image folder. bool useRelativeImageFolder() const Q_DECL_OVERRIDE; // Return the image folder part in an image link. QString getImageFolderInLink() const Q_DECL_OVERRIDE; // Return image folder config. const QString getImageFolder() const; // Set the image folder config. void setImageFolder(const QString &p_path); bool isSystemFile() const; // Get the recycle bin folder for this file. QString fetchRecycleBinFolderPath() const; private: // Full path of this file. QString m_path; // Image folder path of this file. // It could be an absolute or relative path. // Empty to use the global default config. // Valid only within a session. QString m_imageFolder; // Recycle bin forlder. // May be absolute or relative path. // Empty to use the global default config. // Valid only within a session. QString m_recycleBinFolder; // Whether it is a system internal file. bool m_systemFile; }; inline const QString VOrphanFile::getImageFolder() const { return m_imageFolder; } inline void VOrphanFile::setImageFolder(const QString &p_path) { m_imageFolder = p_path; } inline bool VOrphanFile::isSystemFile() const { return m_systemFile; } #endif // VORPHANFILE_H