diff --git a/YACReaderLibrary/yacreader_libraries.cpp b/YACReaderLibrary/yacreader_libraries.cpp index 4e3f13f6..b5e63714 100644 --- a/YACReaderLibrary/yacreader_libraries.cpp +++ b/YACReaderLibrary/yacreader_libraries.cpp @@ -228,7 +228,7 @@ QString YACReaderLibrary::getPath() const QString YACReaderLibrary::getDBPath() const { - return path + "/.yacreaderlibrary"; + return YACReaderLibrary::libraryDataPath(path); } int YACReaderLibrary::getLegacyId() const @@ -251,6 +251,21 @@ bool YACReaderLibrary::operator!=(const YACReaderLibrary &other) const return !(*this == other); } +QString YACReaderLibrary::libraryDataPath(const QString &libraryPath) +{ + return QDir(libraryPath).filePath(".yacreaderlibrary"); +} + +QString YACReaderLibrary::libraryDatabasePath(const QString &libraryPath) +{ + return QDir(YACReaderLibrary::libraryDataPath(libraryPath)).filePath("library.ydb"); +} + +QString YACReaderLibrary::libraryCoversFolderPath(const QString &libraryPath) +{ + return QDir(YACReaderLibrary::libraryDataPath(libraryPath)).filePath("covers"); +} + QDataStream &operator<<(QDataStream &out, const YACReaderLibrary &library) { out << library.name << library.path << library.legacyId << library.id; diff --git a/YACReaderLibrary/yacreader_libraries.h b/YACReaderLibrary/yacreader_libraries.h index e7e8c86d..763c6b53 100644 --- a/YACReaderLibrary/yacreader_libraries.h +++ b/YACReaderLibrary/yacreader_libraries.h @@ -55,6 +55,10 @@ public: friend QDataStream &operator>>(QDataStream &in, YACReaderLibrary &library); operator QString() const { return QString("%1 [%2, %3, %4]").arg(name, QString::number(legacyId), id.toString(QUuid::WithoutBraces), path); } + static QString libraryDataPath(const QString &libraryPath); // libraryPath + /.yacreaderlibrary + static QString libraryDatabasePath(const QString &libraryPath); // libraryPath + /.yacreaderlibrary/library.ydb + static QString libraryCoversFolderPath(const QString &libraryPath); // libraryPath + /.yacreaderlibrary/covers + private: QString name; QString path;