File indexing completed on 2024-05-19 05:00:54
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 "interfaces/cookiejar.h" 0012 0013 #include <KLazyLocalizedString> 0014 0015 #include <QDialog> 0016 0017 class QWidget; 0018 class QDialogButtonBox; 0019 0020 class KCookieAdvice 0021 { 0022 public: 0023 0024 static const char *adviceToStr(KonqInterfaces::CookieJar::CookieAdvice advice) 0025 { 0026 switch (advice) { 0027 case KonqInterfaces::CookieJar::CookieAdvice::Accept: 0028 return kli18n("Accept").untranslatedText(); 0029 case KonqInterfaces::CookieJar::CookieAdvice::AcceptForSession: 0030 return kli18n("Accept For Session").untranslatedText(); 0031 case KonqInterfaces::CookieJar::CookieAdvice::Reject: 0032 return kli18n("Reject").untranslatedText(); 0033 case KonqInterfaces::CookieJar::CookieAdvice::Ask: 0034 return kli18n("Ask").untranslatedText(); 0035 default: 0036 return kli18n("Do Not Know").untranslatedText(); 0037 } 0038 } 0039 0040 static KonqInterfaces::CookieJar::CookieAdvice strToAdvice(const QString &_str) 0041 { 0042 if (_str.isEmpty()) { 0043 return KonqInterfaces::CookieJar::CookieAdvice::Unknown; 0044 } 0045 0046 QString advice = _str.toLower().remove(QLatin1Char(' ')); 0047 0048 if (advice == QLatin1String("accept")) { 0049 return KonqInterfaces::CookieJar::CookieAdvice::Accept; 0050 } else if (advice == QLatin1String("acceptforsession")) { 0051 return KonqInterfaces::CookieJar::CookieAdvice::AcceptForSession; 0052 } else if (advice == QLatin1String("reject")) { 0053 return KonqInterfaces::CookieJar::CookieAdvice::Reject; 0054 } else if (advice == QLatin1String("ask")) { 0055 return KonqInterfaces::CookieJar::CookieAdvice::Ask; 0056 } else { 0057 return KonqInterfaces::CookieJar::CookieAdvice::Unknown; 0058 } 0059 } 0060 }; 0061 0062 class KCookiesPolicySelectionDlg : public QDialog 0063 { 0064 Q_OBJECT 0065 0066 public: 0067 explicit KCookiesPolicySelectionDlg(QWidget *parent = nullptr, Qt::WindowFlags f = Qt::WindowFlags()); 0068 ~KCookiesPolicySelectionDlg() override 0069 { 0070 } 0071 0072 KonqInterfaces::CookieJar::CookieAdvice advice() const; 0073 QString domain() const; 0074 0075 void setEnableHostEdit(bool, const QString &host = QString()); 0076 void setPolicy(KonqInterfaces::CookieJar::CookieAdvice policy); 0077 0078 protected Q_SLOTS: 0079 void slotTextChanged(const QString &); 0080 void slotPolicyChanged(const QString &); 0081 0082 private: 0083 KonqInterfaces::CookieJar::CookieAdvice mOldPolicy = KonqInterfaces::CookieJar::CookieAdvice::Accept; 0084 Ui::KCookiesPolicySelectionDlgUI mUi; 0085 QDialogButtonBox *mButtonBox; 0086 }; 0087 #endif