File indexing completed on 2024-04-28 15:29:20
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 "event.h" 0010 #include "event_p.h" 0011 0012 using namespace KParts; 0013 0014 // the answer! 0015 #define KPARTS_EVENT_MAGIC 42 0016 0017 Event::Event(const char *eventName) 0018 : Event(*new EventPrivate(eventName)) 0019 { 0020 } 0021 0022 Event::Event(EventPrivate &dd) 0023 : QEvent((QEvent::Type)(QEvent::User + KPARTS_EVENT_MAGIC)) 0024 , d(&dd) 0025 { 0026 } 0027 0028 Event::~Event() = default; 0029 0030 const char *Event::eventName() const 0031 { 0032 Q_D(const Event); 0033 0034 return d->m_eventName; 0035 } 0036 0037 bool Event::test(const QEvent *event) 0038 { 0039 if (!event) { 0040 return false; 0041 } 0042 0043 return (event->type() == (QEvent::Type)(QEvent::User + KPARTS_EVENT_MAGIC)); 0044 } 0045 0046 bool Event::test(const QEvent *event, const char *name) 0047 { 0048 if (!test(event)) { 0049 return false; 0050 } 0051 0052 return (strcmp(name, ((Event *)event)->eventName()) == 0); 0053 }