File indexing completed on 2024-04-28 15:39:48
0001 // SPDX-FileCopyrightText: 2012-2022 Jesper K. Pedersen <blackie@kde.org> 0002 // 0003 // SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0004 0005 #ifndef BACKGROUNDTASKS_STATUSINDICATOR_H 0006 #define BACKGROUNDTASKS_STATUSINDICATOR_H 0007 0008 #include <KLed> 0009 0010 class QTimer; 0011 class QHelpEvent; 0012 0013 namespace BackgroundTaskManager 0014 { 0015 class JobViewer; 0016 0017 class StatusIndicator : public KLed 0018 { 0019 Q_OBJECT 0020 0021 public: 0022 explicit StatusIndicator(QWidget *parent); 0023 bool event(QEvent *event) override; 0024 0025 protected: 0026 void mouseReleaseEvent(QMouseEvent *event) override; 0027 0028 private Q_SLOTS: 0029 void flicker(); 0030 void maybeStartFlicker(); 0031 0032 private: 0033 QColor currentColor() const; 0034 void showToolTip(QHelpEvent *event); 0035 QTimer *m_timer; 0036 JobViewer *m_jobViewer; 0037 }; 0038 0039 } // namespace BackgroundTaskManager 0040 0041 #endif // BACKGROUNDTASKS_STATUSINDICATOR_H 0042 // vi:expandtab:tabstop=4 shiftwidth=4: