File indexing completed on 2024-04-28 15:29:21

0001 /*
0002     This file is part of the KDE project
0003     SPDX-FileCopyrightText: 1999 Simon Hausmann <hausmann@kde.org>
0004     SPDX-FileCopyrightText: 1999 David Faure <faure@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.0-or-later
0007 */
0008 
0009 #include "openurlevent.h"
0010 #include "event_p.h"
0011 
0012 #include <QUrl>
0013 
0014 using namespace KParts;
0015 
0016 class KParts::OpenUrlEventPrivate : public KParts::EventPrivate
0017 {
0018 public:
0019     OpenUrlEventPrivate(const char *eventName, ReadOnlyPart *part, const QUrl &url, const OpenUrlArguments &args, const BrowserArguments &browserArgs)
0020         : EventPrivate(eventName)
0021         , m_part(part)
0022         , m_url(url)
0023         , m_args(args)
0024         , m_browserArgs(browserArgs)
0025     {
0026     }
0027     ~OpenUrlEventPrivate() override
0028     {
0029     }
0030     static const char s_strOpenUrlEvent[];
0031     ReadOnlyPart *const m_part;
0032     const QUrl m_url;
0033     const OpenUrlArguments m_args;
0034     const BrowserArguments m_browserArgs;
0035 };
0036 
0037 const char KParts::OpenUrlEventPrivate::s_strOpenUrlEvent[] = "KParts/BrowserExtension/OpenURLevent";
0038 
0039 OpenUrlEvent::OpenUrlEvent(ReadOnlyPart *part, const QUrl &url, const OpenUrlArguments &args, const BrowserArguments &browserArgs)
0040     : Event(*new OpenUrlEventPrivate(OpenUrlEventPrivate::s_strOpenUrlEvent, part, url, args, browserArgs))
0041 {
0042 }
0043 
0044 OpenUrlEvent::~OpenUrlEvent() = default;
0045 
0046 ReadOnlyPart *OpenUrlEvent::part() const
0047 {
0048     Q_D(const OpenUrlEvent);
0049 
0050     return d->m_part;
0051 }
0052 
0053 QUrl OpenUrlEvent::url() const
0054 {
0055     Q_D(const OpenUrlEvent);
0056 
0057     return d->m_url;
0058 }
0059 
0060 OpenUrlArguments OpenUrlEvent::arguments() const
0061 {
0062     Q_D(const OpenUrlEvent);
0063 
0064     return d->m_args;
0065 }
0066 
0067 BrowserArguments OpenUrlEvent::browserArguments() const
0068 {
0069     Q_D(const OpenUrlEvent);
0070 
0071     return d->m_browserArgs;
0072 }
0073 
0074 bool OpenUrlEvent::test(const QEvent *event)
0075 {
0076     return Event::test(event, OpenUrlEventPrivate::s_strOpenUrlEvent);
0077 }