File indexing completed on 2024-05-05 04:44:01
0001 /* 0002 SPDX-FileCopyrightText: 2009 Dawit Alemayehu <adawit@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "passwordbar.h" 0008 0009 #include "kwebkitpart_debug.h" 0010 #include "settings/webkitsettings.h" 0011 0012 #include <KColorScheme> 0013 #include <KLocalizedString> 0014 0015 #include <QCoreApplication> 0016 #include <QAction> 0017 #include <QPalette> 0018 0019 0020 PasswordBar::PasswordBar(QWidget *parent) 0021 :KMessageWidget(parent) 0022 { 0023 setCloseButtonVisible(false); 0024 setMessageType(KMessageWidget::Information); 0025 0026 QAction* action = new QAction(i18nc("@action:remember password", "&Remember"), this); 0027 connect(action, SIGNAL(triggered()), this, SLOT(onRememberButtonClicked())); 0028 addAction(action); 0029 0030 action = new QAction(i18nc("@action:never for this site", "Ne&ver for this site"), this); 0031 connect(action, SIGNAL(triggered()), this, SLOT(onNeverButtonClicked())); 0032 addAction(action); 0033 0034 action = new QAction(i18nc("@action:not now", "N&ot now"), this); 0035 connect(action, SIGNAL(triggered()), this, SLOT(onNotNowButtonClicked())); 0036 addAction(action); 0037 } 0038 0039 PasswordBar::~PasswordBar() 0040 { 0041 } 0042 0043 QUrl PasswordBar::url() const 0044 { 0045 return m_url; 0046 } 0047 0048 QString PasswordBar::requestKey() const 0049 { 0050 return m_requestKey; 0051 } 0052 0053 void PasswordBar::setUrl (const QUrl& url) 0054 { 0055 m_url = url; 0056 } 0057 0058 void PasswordBar::setRequestKey (const QString& key) 0059 { 0060 m_requestKey = key; 0061 } 0062 0063 void PasswordBar::onNotNowButtonClicked() 0064 { 0065 animatedHide(); 0066 emit saveFormDataRejected (m_requestKey); 0067 emit done(); 0068 clear(); 0069 } 0070 0071 void PasswordBar::onNeverButtonClicked() 0072 { 0073 WebKitSettings::self()->addNonPasswordStorableSite(m_url.host()); 0074 onNotNowButtonClicked(); 0075 } 0076 0077 void PasswordBar::onRememberButtonClicked() 0078 { 0079 animatedHide(); 0080 emit saveFormDataAccepted(m_requestKey); 0081 emit done(); 0082 clear(); 0083 } 0084 0085 void PasswordBar::clear() 0086 { 0087 m_requestKey.clear(); 0088 m_url.clear(); 0089 }