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: