File indexing completed on 2024-05-12 17:07:10

0001 /*
0002     SPDX-FileCopyrightText: 2020 Kevin Ottens <kevin.ottens@enioka.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <KCoreConfigSkeleton>
0010 
0011 class XdgPathsSettingsStore;
0012 
0013 class DesktopPathsSettings : public KCoreConfigSkeleton
0014 {
0015     Q_OBJECT
0016 public:
0017     DesktopPathsSettings(QObject *parent = nullptr);
0018 
0019     QUrl desktopLocation() const;
0020     void setDesktopLocation(const QUrl &url);
0021     QUrl defaultDesktopLocation() const;
0022 
0023     QUrl documentsLocation() const;
0024     void setDocumentsLocation(const QUrl &url);
0025     QUrl defaultDocumentsLocation() const;
0026 
0027     QUrl downloadsLocation() const;
0028     void setDownloadsLocation(const QUrl &url);
0029     QUrl defaultDownloadsLocation() const;
0030 
0031     QUrl musicLocation() const;
0032     void setMusicLocation(const QUrl &url);
0033     QUrl defaultMusicLocation() const;
0034 
0035     QUrl picturesLocation() const;
0036     void setPicturesLocation(const QUrl &url);
0037     QUrl defaultPicturesLocation() const;
0038 
0039     QUrl videosLocation() const;
0040     void setVideosLocation(const QUrl &url);
0041     QUrl defaultVideosLocation() const;
0042 
0043     QUrl publicLocation() const;
0044     void setPublicLocation(const QUrl &url);
0045     QUrl defaultPublicLocation() const;
0046 
0047     QUrl templatesLocation() const;
0048     void setTemplatesLocation(const QUrl &url);
0049     QUrl defaultTemplatesLocation() const;
0050 
0051 Q_SIGNALS:
0052     void widgetChanged();
0053 
0054 private:
0055     void addItemInternal(const QByteArray &propertyName, const QVariant &defaultValue);
0056 
0057 private:
0058     XdgPathsSettingsStore *const m_xdgPathsStore;
0059 };