diff --git a/gio-qt/dgiofile.cpp b/gio-qt/dgiofile.cpp index d845d92..3daa72f 100644 --- a/gio-qt/dgiofile.cpp +++ b/gio-qt/dgiofile.cpp @@ -132,7 +132,7 @@ QExplicitlySharedDataPointer DGioFile::createFileSystemInfo() QExplicitlySharedDataPointer fileInfoPtr(new DGioFileInfo(gmmFileInfo.release())); return fileInfoPtr; } - } catch (Glib::Error error) { + } catch (const Glib::Error &error) { qDebug() << QString::fromStdString(error.what().raw()); } diff --git a/gio-qt/dgiofileinfo.cpp b/gio-qt/dgiofileinfo.cpp index 758b774..c242fb7 100644 --- a/gio-qt/dgiofileinfo.cpp +++ b/gio-qt/dgiofileinfo.cpp @@ -60,7 +60,14 @@ DGioFileInfo::~DGioFileInfo() } -bool DGioFileInfo::isReadOnly() const +DGioFileType DGioFileInfo::fileType() const +{ + Q_D(const DGioFileInfo); + + return static_cast(d->getGmmFileInfoInstance()->get_file_type()); +} + +bool DGioFileInfo::fsReadOnly() const { Q_D(const DGioFileInfo); diff --git a/gio-qt/dgiofileinfo.h b/gio-qt/dgiofileinfo.h index f2ac0f2..b607ff0 100644 --- a/gio-qt/dgiofileinfo.h +++ b/gio-qt/dgiofileinfo.h @@ -4,6 +4,17 @@ #include #include +enum DGioFileType { + FILE_TYPE_NOT_KNOWN, + FILE_TYPE_REGULAR, + FILE_TYPE_DIRECTORY, + FILE_TYPE_SYMBOLIC_LINK, + FILE_TYPE_SPECIAL, + FILE_TYPE_SHORTCUT, + FILE_TYPE_MOUNTABLE +}; +Q_ENUMS(DGioFileType); + namespace Gio { class FileInfo; } @@ -16,8 +27,11 @@ public: explicit DGioFileInfo(Gio::FileInfo *gmmFileInfoInfoPtr, QObject *parent = nullptr); ~DGioFileInfo(); - bool isReadOnly() const; + // file info + DGioFileType fileType() const; + // filesystem info. + bool fsReadOnly() const; quint64 fsTotalBytes() const; quint64 fsUsedBytes() const; quint64 fsFreeBytes() const; diff --git a/gio-qt/dgiomount.cpp b/gio-qt/dgiomount.cpp index 725c707..5a7e6e2 100644 --- a/gio-qt/dgiomount.cpp +++ b/gio-qt/dgiomount.cpp @@ -86,7 +86,7 @@ DGioMount *DGioMount::createFromPath(QString path, QObject *parent) if (gmmMount) { return new DGioMount(gmmMount.release(), parent); } - } catch (Glib::Error error) { + } catch (const Glib::Error &error) { qDebug() << QString::fromStdString(error.what().raw()); }