summaryrefslogtreecommitdiff
path: root/src/cookieexceptiondialog.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/cookieexceptiondialog.h')
-rw-r--r--src/cookieexceptiondialog.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/src/cookieexceptiondialog.h b/src/cookieexceptiondialog.h
new file mode 100644
index 00000000..eb0608d1
--- /dev/null
+++ b/src/cookieexceptiondialog.h
@@ -0,0 +1,94 @@
+/* ============================================================
+*
+* This file is a part of the rekonq project
+*
+* Copyright (C) 2009 by Andrea Diamantini <adjam7 at gmail dot com>
+*
+*
+* This program is free software; you can redistribute it
+* and/or modify it under the terms of the GNU General
+* Public License as published by the Free Software Foundation;
+* either version 2, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* ============================================================ */
+
+
+#ifndef COOKIEEXCEPTIONDIALOG_H
+#define COOKIEEXCEPTIONDIALOG_H
+
+
+// Local Includes
+#include "cookiejar.h"
+
+// Qt Includes
+#include <QtCore/QAbstractTableModel>
+
+// Forward Declarations
+class QString;
+class QStringList;
+class QModelIndex;
+class QVariant;
+
+class CookieExceptionsModel : public QAbstractTableModel
+{
+ Q_OBJECT
+ friend class CookiesExceptionsDialog;
+
+public:
+ explicit CookieExceptionsModel(CookieJar *cookieJar, QObject *parent = 0);
+
+ QVariant headerData(int section, Qt::Orientation orientation, int role) const;
+ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
+ int columnCount(const QModelIndex &parent = QModelIndex()) const;
+ int rowCount(const QModelIndex &parent = QModelIndex()) const;
+ bool removeRows(int row, int count, const QModelIndex &parent = QModelIndex());
+
+private:
+ CookieJar *m_cookieJar;
+
+ // Domains we allow, Domains we block, Domains we allow for this session
+ QStringList m_allowedCookies;
+ QStringList m_blockedCookies;
+ QStringList m_sessionCookies;
+};
+
+
+// -----------------------------------------------------------------------------------------------
+
+
+// Ui Includes
+#include "ui_cookiesexceptions.h"
+
+//Forward Declarations
+class QSortFilterProxyModel;
+
+
+class CookiesExceptionsDialog : public KDialog
+{
+ Q_OBJECT
+
+public:
+ explicit CookiesExceptionsDialog(CookieJar *cookieJar, QWidget *parent = 0);
+
+ QSize sizeHint() const;
+
+private slots:
+ void block();
+ void allow();
+ void allowForSession();
+ void textChanged(const QString &text);
+
+private:
+ CookieExceptionsModel *m_exceptionsModel;
+ QSortFilterProxyModel *m_proxyModel;
+ CookieJar *m_cookieJar;
+
+ Ui::CookiesExceptionsWidget *m_exceptionsWidget;
+};
+
+#endif