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

0001 /*
0002     This file is part of the KDE libraries
0003     SPDX-FileCopyrightText: 2005-2006 Olivier Goffart <ogoffart at kde.org>
0004     SPDX-FileCopyrightText: 2013-2014 Martin Klapetek <mklapetek@kde.org>
0005 
0006     code from KNotify/KNotifyClient
0007     SPDX-FileCopyrightText: 1997 Christian Esken <esken@kde.org>
0008     SPDX-FileCopyrightText: 2000 Charles Samuels <charles@kde.org>
0009     SPDX-FileCopyrightText: 2000 Stefan Schimanski <1Stein@gmx.de>
0010     SPDX-FileCopyrightText: 2000 Matthias Ettrich <ettrich@kde.org>
0011     SPDX-FileCopyrightText: 2000 Waldo Bastian <bastian@kde.org>
0012     SPDX-FileCopyrightText: 2000-2003 Carsten Pfeiffer <pfeiffer@kde.org>
0013     SPDX-FileCopyrightText: 2005 Allan Sandfeld Jensen <kde@carewolf.com>
0014 
0015     SPDX-License-Identifier: LGPL-2.0-only
0016 */
0017 
0018 #ifndef KNOITIFICATION_P_H
0019 #define KNOITIFICATION_P_H
0020 
0021 #include <QTimer>
0022 
0023 struct Q_DECL_HIDDEN KNotification::Private {
0024     QString eventId;
0025     int id = -1;
0026     int ref = 0;
0027 
0028     QWidget *widget = nullptr;
0029     QString title;
0030     QString text;
0031     QString iconName;
0032     QString defaultAction;
0033     QStringList actions;
0034     QString xdgActivationToken;
0035     std::unique_ptr<KNotificationReplyAction> replyAction;
0036     QPixmap pixmap;
0037     ContextList contexts;
0038     NotificationFlags flags = KNotification::CloseOnTimeout;
0039     QString componentName;
0040     KNotification::Urgency urgency = KNotification::DefaultUrgency;
0041     QVariantMap hints;
0042 
0043     QTimer updateTimer;
0044     bool needUpdate = false;
0045     bool isNew = true;
0046     bool autoDelete = true;
0047 
0048 #if KNOTIFICATIONS_BUILD_DEPRECATED_SINCE(5, 67)
0049     /**
0050      * recursive function that raise the widget. @p w
0051      *
0052      * @see raiseWidget()
0053      */
0054     void raiseWidget(QWidget *w);
0055 #endif
0056 };
0057 
0058 #endif