File indexing completed on 2024-04-28 04:20:53

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: