File indexing completed on 2024-05-19 05:00:39

0001 /*
0002  * SPDX-FileCopyrightText: 2014 Daniel Vrátil <dvratil@redhat.com>
0003  * SPDX-FileCopyrightText: 2016 Elvis Angelaccio <elvis.angelaccio@kde.org>
0004  * SPDX-FileCopyrightText: 2019 David Barchiesi <david@barchie.si>
0005  *
0006  * SPDX-License-Identifier: GPL-2.0-or-later
0007  *
0008  */
0009 
0010 #ifndef GDRIVEURL_U
0011 #define GDRIVEURL_U
0012 
0013 #include <QUrl>
0014 
0015 class GDriveUrl
0016 {
0017 public:
0018     explicit GDriveUrl(const QUrl &url);
0019 
0020     QString account() const;
0021     QString filename() const;
0022     bool isRoot() const;
0023     bool isAccountRoot() const;
0024     bool isNewAccountPath() const;
0025     bool isTopLevel() const;
0026     bool isSharedWithMeRoot() const;
0027     bool isSharedWithMeTopLevel() const;
0028     bool isSharedWithMe() const;
0029     bool isSharedDrivesRoot() const;
0030     bool isSharedDrive() const;
0031     bool isTrashDir() const;
0032     bool isTrashed() const;
0033     QUrl url() const;
0034     QString parentPath() const;
0035     QStringList pathComponents() const;
0036 
0037     static QString buildSharedDrivePath(const QString &accountId, const QString &drive);
0038 
0039     static const QString Scheme;
0040     static const QString SharedWithMeDir;
0041     static const QString SharedDrivesDir;
0042     static const QString TrashDir;
0043     static const QString NewAccountPath;
0044 
0045 private:
0046     QUrl m_url;
0047     QStringList m_components;
0048 };
0049 
0050 #endif // GDRIVEURL_U