diff options
Diffstat (limited to 'konq-plugins/adblock/adblock.h')
-rw-r--r-- | konq-plugins/adblock/adblock.h | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/konq-plugins/adblock/adblock.h b/konq-plugins/adblock/adblock.h new file mode 100644 index 0000000..4b6154e --- /dev/null +++ b/konq-plugins/adblock/adblock.h @@ -0,0 +1,99 @@ +// -*- mode: c++; c-basic-offset: 4 -*- +/* + Copyright (C) 2006 Daniele Galdi <daniele.galdi@gmail.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 of the License, 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. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. +*/ + +#ifndef KONQ_ADBLOCK_H +#define KONQ_ADBLOCK_H + +#include <qguardedptr.h> +#include <qvaluelist.h> +#include <kparts/plugin.h> + +class KHTMLPart; +class KURLLabel; +class KHTMLSettings; +class AdElement; +class KPopupMenu; + +namespace KParts +{ + class StatusBarExtension; +} + +namespace DOM +{ + class DOMString; +} + +typedef QValueList<AdElement> AdElementList; + +class AdBlock : public KParts::Plugin +{ + Q_OBJECT + +public: + AdBlock(QObject *parent, const char *name, const QStringList &); + ~AdBlock(); + +private: + QGuardedPtr<KHTMLPart> m_part; + KURLLabel *m_label; + KPopupMenu *m_menu; + + void fillBlockableElements(AdElementList &elements); + void fillWithImages(AdElementList &elements); + void fillWithHtmlTag(AdElementList &elements, + const DOM::DOMString &tagName, + const DOM::DOMString &attrName, + const QString &category); + +private slots: + void initLabel(); + void showDialogue(); + void addAdFilter(const QString &url); + void contextMenu(); + void showKCModule(); +}; + +// ---------------------------------------------------------------------------- + +class AdElement +{ +private: + QString m_url; + QString m_category; + QString m_type; + bool m_blocked; + +public: + AdElement(); + AdElement(const QString &url, const QString &category, + const QString &type, bool blocked); + + AdElement &operator=(const AdElement &); + bool operator==(const AdElement &e1); + + bool isBlocked() const; + void setBlocked(bool blocked); + const QString &url() const; + const QString &category() const; + const QString &type() const; +}; + +#endif |