From 4fb8986d11799dab3d0d31989bbfee39f2083702 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Wed, 13 Nov 2019 16:37:02 +0800 Subject: [PATCH] feat: add binding for g_file_find_enclosing_mount(). --- gio-qt/include/dgiofile.h | 3 +++ gio-qt/source/dgiofile.cpp | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/gio-qt/include/dgiofile.h b/gio-qt/include/dgiofile.h index 9654c07..62bf97e 100644 --- a/gio-qt/include/dgiofile.h +++ b/gio-qt/include/dgiofile.h @@ -37,6 +37,7 @@ enum DGioFileQueryInfoFlag Q_DECLARE_FLAGS(DGioFileQueryInfoFlags, DGioFileQueryInfoFlag) class DGioFileInfo; +class DGioMount; class DGioFileIterator; class DGioMountOperation; class DGioFilePrivate; @@ -62,6 +63,8 @@ public: void mountEnclosingVolume(DGioMountOperation *dgioMountOperation); + QExplicitlySharedDataPointer findEnclosingMount(); + Q_SIGNALS: void createFileIteratorReady(QExplicitlySharedDataPointer iter); void mountEnclosingVolumeReady(bool result, QString msg); diff --git a/gio-qt/source/dgiofile.cpp b/gio-qt/source/dgiofile.cpp index f51dd7c..2616866 100644 --- a/gio-qt/source/dgiofile.cpp +++ b/gio-qt/source/dgiofile.cpp @@ -21,6 +21,7 @@ #include "dgiofile.h" #include "dgiofileinfo.h" #include "dgiofileiterator.h" +#include "dgiomount.h" #include @@ -343,3 +344,15 @@ void DGioFile::mountEnclosingVolume(DGioMountOperation *dgioMountOperation) d->getGmmFileInstance()->mount_enclosing_volume(dgioMountOperation->getGIOMountOperationObj(), sigc::mem_fun(d, &DGioFilePrivate::slot_mountEnclosingVolumeResult)); } + +QExplicitlySharedDataPointer DGioFile::findEnclosingMount() +{ + Q_D(DGioFile); + QExplicitlySharedDataPointer ret; + try { + ret = new DGioMount(d->getGmmFileInstance()->find_enclosing_mount().release()); + } catch (const Glib::Error &error) { + qDebug() << QString::fromStdString(error.what().raw()); + } + return ret; +}