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; +}