File indexing completed on 2024-05-12 15:41:57

0001 /*
0002     kcookiespolicies.h - Cookies configuration
0003 
0004     Original Authors
0005     SPDX-FileCopyrightText: Waldo Bastian <bastian@kde.org>
0006     SPDX-FileCopyrightText: 1999 David Faure <faure@kde.org>
0007 
0008     Re-written by:
0009     SPDX-FileCopyrightText: 2000 Dawit Alemayehu <adawit@kde.org>
0010 
0011     SPDX-License-Identifier: GPL-2.0-or-later
0012 */
0013 
0014 #ifndef KCOOKIESPOLICIES_H
0015 #define KCOOKIESPOLICIES_H
0016 
0017 #include <KCModule>
0018 #include <QMap>
0019 
0020 #include "kcookiespolicyselectiondlg.h"
0021 #include "ui_kcookiespolicies.h"
0022 
0023 class QTreeWidgetItem;
0024 
0025 class KCookiesPolicies : public KCModule
0026 {
0027     Q_OBJECT
0028 
0029 public:
0030     explicit KCookiesPolicies(QWidget *parent, const QVariantList &args);
0031     ~KCookiesPolicies() override;
0032 
0033     void load() override;
0034     void save() override;
0035     void defaults() override;
0036     QString quickHelp() const override;
0037 
0038     void setPolicy(const QString &domain);
0039 
0040 protected Q_SLOTS:
0041     void cookiesEnabled(bool);
0042     void configChanged();
0043 
0044     void selectionChanged();
0045     void updateButtons();
0046 
0047     void deleteAllPressed();
0048     void deletePressed();
0049     void changePressed();
0050     void addPressed();
0051     void changePressed(QTreeWidgetItem *, bool state = true);
0052     void addPressed(const QString &, bool state = true);
0053 
0054 private:
0055     void updateDomainList(const QStringList &list);
0056     bool handleDuplicate(const QString &domain, int);
0057     void splitDomainAdvice(const QString &configStr, QString &domain, KCookieAdvice::Value &advice);
0058 
0059 private:
0060     quint64 mSelectedItemsCount;
0061     Ui::KCookiePoliciesUI mUi;
0062     QMap<QString, const char *> mDomainPolicyMap;
0063 };
0064 
0065 #endif // KCOOKIESPOLICIES_H