File indexing completed on 2024-05-12 15:41:57
0001 /* 0002 SPDX-FileCopyrightText: 2000 Dawit Alemayehu <adawit@kde.org> 0003 0004 SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KCOOKIESPOLICYSELECTIONDLG_H 0008 #define KCOOKIESPOLICYSELECTIONDLG_H 0009 0010 #include "ui_kcookiespolicyselectiondlg.h" 0011 #include <KLazyLocalizedString> 0012 #include <QDialog> 0013 0014 class QWidget; 0015 class QDialogButtonBox; 0016 0017 class KCookieAdvice 0018 { 0019 public: 0020 enum Value { Dunno = 0, Accept, AcceptForSession, Reject, Ask }; 0021 0022 static const char *adviceToStr(const int &advice) 0023 { 0024 switch (advice) { 0025 case KCookieAdvice::Accept: 0026 return kli18n("Accept").untranslatedText(); 0027 case KCookieAdvice::AcceptForSession: 0028 return kli18n("Accept For Session").untranslatedText(); 0029 case KCookieAdvice::Reject: 0030 return kli18n("Reject").untranslatedText(); 0031 case KCookieAdvice::Ask: 0032 return kli18n("Ask").untranslatedText(); 0033 default: 0034 return kli18n("Do Not Know").untranslatedText(); 0035 } 0036 } 0037 0038 static KCookieAdvice::Value strToAdvice(const QString &_str) 0039 { 0040 if (_str.isEmpty()) 0041 return KCookieAdvice::Dunno; 0042 0043 QString advice = _str.toLower().remove(QLatin1Char(' ')); 0044 0045 if (advice == QLatin1String("accept")) 0046 return KCookieAdvice::Accept; 0047 else if (advice == QLatin1String("acceptforsession")) 0048 return KCookieAdvice::AcceptForSession; 0049 else if (advice == QLatin1String("reject")) 0050 return KCookieAdvice::Reject; 0051 else if (advice == QLatin1String("ask")) 0052 return KCookieAdvice::Ask; 0053 0054 return KCookieAdvice::Dunno; 0055 } 0056 }; 0057 0058 class KCookiesPolicySelectionDlg : public QDialog 0059 { 0060 Q_OBJECT 0061 0062 public: 0063 explicit KCookiesPolicySelectionDlg(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()); 0064 ~KCookiesPolicySelectionDlg() override 0065 { 0066 } 0067 0068 int advice() const; 0069 QString domain() const; 0070 0071 void setEnableHostEdit(bool, const QString &host = QString()); 0072 void setPolicy(int policy); 0073 0074 protected Q_SLOTS: 0075 void slotTextChanged(const QString &); 0076 void slotPolicyChanged(const QString &); 0077 0078 private: 0079 int mOldPolicy; 0080 Ui::KCookiesPolicySelectionDlgUI mUi; 0081 QDialogButtonBox *mButtonBox; 0082 }; 0083 #endif