File indexing completed on 2024-05-12 15:55:34
0001 // SPDX-FileCopyrightText: 2003-2010 Jesper K. Pedersen <blackie@kde.org> 0002 // SPDX-FileCopyrightText: 2021 Johannes Zarl-Zierl <johannes@zarl-zierl.at> 0003 // 0004 // SPDX-License-Identifier: GPL-2.0-or-later 0005 0006 #include "FileNameUtil.h" 0007 0008 #include "FileName.h" 0009 #include "SettingsData.h" 0010 0011 QString Utilities::stripEndingForwardSlash(const QString &fileName) 0012 { 0013 if (fileName.endsWith(QStringLiteral("/"))) 0014 return fileName.left(fileName.length() - 1); 0015 else 0016 return fileName; 0017 } 0018 0019 QString Utilities::relativeFolderName(const QString &fileName) 0020 { 0021 static QChar slash = QChar::fromLatin1('/'); 0022 int index = fileName.lastIndexOf(slash, -1); 0023 if (index == -1) 0024 return QString(); 0025 else 0026 return fileName.left(index); 0027 } 0028 0029 DB::FileName Utilities::fileNameFromUserData(const QString &fileName) 0030 { 0031 const auto inputUrl = QUrl::fromUserInput(fileName, Settings::SettingsData::instance()->imageDirectory(), QUrl::AssumeLocalFile); 0032 if (!inputUrl.isLocalFile()) 0033 return {}; 0034 0035 const auto inputFileName = inputUrl.toLocalFile(); 0036 if (inputFileName.startsWith(QStringLiteral("/"))) 0037 return DB::FileName::fromAbsolutePath(inputFileName); 0038 else 0039 return DB::FileName::fromRelativePath(inputFileName); 0040 } 0041 0042 // vi:expandtab:tabstop=4 shiftwidth=4: