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 }