File indexing completed on 2024-05-12 04:46:01
0001 #pragma once 0002 0003 #include <QObject> 0004 0005 #include <MauiKit3/FileBrowsing/fmlist.h> 0006 #include <MauiKit3/FileBrowsing/fmstatic.h> 0007 #include <QQmlParserStatus> 0008 0009 class QSettings; 0010 0011 class FolderConfig : public QObject , public QQmlParserStatus 0012 { 0013 Q_OBJECT 0014 Q_INTERFACES(QQmlParserStatus) 0015 0016 Q_PROPERTY(QUrl path READ getPath WRITE setPath NOTIFY pathChanged) 0017 0018 Q_PROPERTY(FMList::SORTBY sortKey READ sortKey WRITE setSortKey NOTIFY sortKeyChanged) 0019 Q_PROPERTY(FMList::SORTBY fallbackSortKey READ fallbackSortKey WRITE setFallbackSortKey NOTIFY fallbackSortKeyChanged) 0020 0021 Q_PROPERTY(FMList::VIEW_TYPE viewType READ viewType WRITE setViewType NOTIFY viewTypeChanged) 0022 Q_PROPERTY(FMList::VIEW_TYPE fallbackViewType READ fallbackViewType WRITE setFallbackViewType NOTIFY fallbackViewTypeChanged) 0023 0024 Q_PROPERTY(bool terminalVisible READ terminalVisible WRITE setTerminalVisible NOTIFY terminalVisibleChanged) 0025 0026 Q_PROPERTY(bool enabled READ enabled WRITE setEnabled NOTIFY enabledChanged) 0027 0028 0029 public: 0030 explicit FolderConfig(QObject *parent = nullptr); 0031 ~FolderConfig(); 0032 0033 void setSortKey(const FMList::SORTBY &value); 0034 FMList::SORTBY sortKey() const; 0035 0036 void setTerminalVisible(const bool &value); 0037 bool terminalVisible() const; 0038 0039 QUrl getPath() const; 0040 void setPath(QUrl path); 0041 0042 FMList::VIEW_TYPE viewType() const; 0043 0044 FMList::SORTBY fallbackSortKey() const; 0045 0046 FMList::VIEW_TYPE fallbackViewType() const; 0047 0048 public Q_SLOTS: 0049 void setViewType(FMList::VIEW_TYPE viewType); 0050 0051 void setFallbackSortKey(FMList::SORTBY fallbackSortKey); 0052 0053 void setFallbackViewType(FMList::VIEW_TYPE fallbackViewType); 0054 0055 void setEnabled(bool enabled); 0056 0057 private: 0058 QSettings *m_settings; 0059 QUrl m_path; 0060 bool m_terminalVisible = false; 0061 0062 const QVariantMap dirConf(const QUrl &path); 0063 void setDirConf(const QString &key, const QVariant &value); 0064 0065 void setValues(); 0066 void resetToFallbackValues(); 0067 0068 FMList::SORTBY m_sortKey ; 0069 FMList::SORTBY m_fallbackSortKey; 0070 0071 FMList::VIEW_TYPE m_fallbackViewType; 0072 FMList::VIEW_TYPE m_viewType; 0073 0074 bool m_enabled = false; 0075 0076 Q_SIGNALS: 0077 void sortKeyChanged(); 0078 void terminalVisibleChanged(); 0079 void pathChanged(QUrl path); 0080 void viewTypeChanged(FMList::VIEW_TYPE viewType); 0081 void fallbackSortKeyChanged(); 0082 void fallbackViewTypeChanged(); 0083 0084 void enabledChanged(); 0085 0086 public: 0087 void classBegin() override final; 0088 void componentComplete() override final; 0089 bool enabled() const; 0090 }; 0091