File indexing completed on 2024-04-28 05:26:47

0001 /*
0002  *   SPDX-FileCopyrightText: 2014 Aleix Pol Gonzalez <aleixpol@blue-systems.com>
0003  *
0004  *   SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005  */
0006 
0007 #pragma once
0008 
0009 #include "DiscoverNotifier.h"
0010 #include <KStatusNotifierItem>
0011 #include <QObject>
0012 
0013 class NotifierItem : public QObject
0014 {
0015     Q_OBJECT
0016 public:
0017     NotifierItem();
0018 
0019     void setupNotifierItem();
0020     void refresh();
0021 
0022     bool isStatusNotifierEnabled() const
0023     {
0024         return m_statusNotifierEnabled;
0025     }
0026     void setStatusNotifierEnabled(bool enabled);
0027 
0028 private:
0029     // Whether the Status Notifier Item is enabled; if disabled it will never be shown
0030     bool m_statusNotifierEnabled = false;
0031     void refreshStatusNotifierVisibility();
0032     void setStatusNotifierVisibility(bool visible);
0033     bool shouldShowStatusNotifier() const;
0034     DiscoverNotifier m_notifier;
0035     QPointer<KStatusNotifierItem> m_item;
0036 };