diff options
| author | Tannin <devnull@localhost> | 2014-08-18 23:01:25 +0200 |
|---|---|---|
| committer | Tannin <devnull@localhost> | 2014-08-18 23:01:25 +0200 |
| commit | fc2591e028473c414049b3b16e9cd579703bb1c4 (patch) | |
| tree | fd844f216eb3f33c809f2d82da4630ca9c8bd6ad /src | |
| parent | 9a97098cc3a9b164c3cb65bd6b21768e8f633a0f (diff) | |
- new plugin-api to determine the origin of a file
Diffstat (limited to 'src')
| -rw-r--r-- | src/organizerproxy.cpp | 16 | ||||
| -rw-r--r-- | src/organizerproxy.h | 1 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/organizerproxy.cpp b/src/organizerproxy.cpp index 8adfda7e..903c979e 100644 --- a/src/organizerproxy.cpp +++ b/src/organizerproxy.cpp @@ -175,6 +175,22 @@ QStringList OrganizerProxy::findFiles(const QString &path, const std::function<b return result;
}
+QStringList OrganizerProxy::getFileOrigins(const QString &fileName) const
+{
+ QStringList result;
+ const FileEntry::Ptr file = m_Proxied->m_DirectoryStructure->searchFile(ToWString(QFileInfo(fileName).fileName()), NULL);
+
+ if (file.get() != NULL) {
+ result.append(ToQString(m_Proxied->m_DirectoryStructure->getOriginByID(file->getOrigin()).getName()));
+ foreach (int i, file->getAlternatives()) {
+ result.append(ToQString(m_Proxied->m_DirectoryStructure->getOriginByID(i).getName()));
+ }
+ } else {
+ qDebug("%s not found", qPrintable(fileName));
+ }
+ return result;
+}
+
QList<MOBase::IOrganizer::FileInfo> OrganizerProxy::findFileInfos(const QString &path, const std::function<bool (const MOBase::IOrganizer::FileInfo &)> &filter) const
{
return m_Proxied->findFileInfos(path, filter);
diff --git a/src/organizerproxy.h b/src/organizerproxy.h index 7e49c99c..affa2d55 100644 --- a/src/organizerproxy.h +++ b/src/organizerproxy.h @@ -29,6 +29,7 @@ public: virtual QString resolvePath(const QString &fileName) const;
virtual QStringList listDirectories(const QString &directoryName) const;
virtual QStringList findFiles(const QString &path, const std::function<bool(const QString &)> &filter) const;
+ virtual QStringList getFileOrigins(const QString &fileName) const;
virtual QList<FileInfo> findFileInfos(const QString &path, const std::function<bool(const FileInfo&)> &filter) const;
virtual MOBase::IDownloadManager *downloadManager();
|
