File indexing completed on 2024-06-02 05:24:51

0001 /* -*- mode: c++; c-basic-offset:4 -*-
0002     utils/path-helper.h
0003 
0004     This file is part of Kleopatra, the KDE keymanager
0005     SPDX-FileCopyrightText: 2009 Klarälvdalens Datakonsult AB
0006 
0007     SPDX-License-Identifier: GPL-2.0-or-later
0008 */
0009 
0010 #pragma once
0011 
0012 #include <QtSystemDetection>
0013 
0014 class QString;
0015 #include <QStringList>
0016 class QDir;
0017 class QFileInfo;
0018 
0019 namespace Kleo
0020 {
0021 
0022 QString heuristicBaseDirectory(const QStringList &files);
0023 QStringList makeRelativeTo(const QDir &dir, const QStringList &files);
0024 QStringList makeRelativeTo(const QString &dir, const QStringList &files);
0025 QString stripSuffix(const QString &fileName);
0026 
0027 /**
0028  * Checks if the file/directory referenced by \p fi is writable.
0029  *
0030  * On Windows, a temporary file is created to check if a directory is writable.
0031  * \sa QFileInfo::isWritable
0032  */
0033 bool isWritable(const QFileInfo &fi);
0034 
0035 #ifdef Q_OS_WIN
0036 void recursivelyRemovePath(const QString &path);
0037 bool recursivelyCopy(const QString &src, const QString &dest);
0038 bool moveDir(const QString &src, const QString &dest);
0039 #endif
0040 }