1 /**************************************************************************
2 * Otter Browser: Web browser controlled by the user, not vice-versa.
3 * Copyright (C) 2015 - 2017 Michal Dutkiewicz aka Emdek <michal@emdek.pl>
4 *
5 * This program is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 *
18 **************************************************************************/
19 
20 #ifndef OTTER_ACCEPTCOOKIEDIALOG_H
21 #define OTTER_ACCEPTCOOKIEDIALOG_H
22 
23 #include "../core/CookieJar.h"
24 #include "../ui/Dialog.h"
25 
26 #include <QtWidgets/QAbstractButton>
27 
28 namespace Otter
29 {
30 
31 namespace Ui
32 {
33 	class AcceptCookieDialog;
34 }
35 
36 class AcceptCookieDialog final : public Dialog
37 {
38 	Q_OBJECT
39 
40 public:
41 	enum AcceptCookieResult
42 	{
43 		AcceptCookie,
44 		AcceptAsSessionCookie,
45 		IgnoreCookie
46 	};
47 
48 	explicit AcceptCookieDialog(const QNetworkCookie &cookie, CookieJar::CookieOperation operation, CookieJar *cookieJar, QWidget *parent = nullptr);
49 	~AcceptCookieDialog();
50 
51 protected:
52 	void changeEvent(QEvent *event) override;
53 
54 protected slots:
55 	void handleButtonClicked(QAbstractButton *button);
56 
57 private:
58 	CookieJar *m_cookieJar;
59 	QNetworkCookie m_cookie;
60 	CookieJar::CookieOperation m_operation;
61 	Ui::AcceptCookieDialog *m_ui;
62 };
63 
64 }
65 
66 #endif
67