File indexing completed on 2024-06-23 05:18:38

0001 /*
0002    SPDX-FileCopyrightText: 2014-2024 Laurent Montel <montel@kde.org>
0003 
0004    SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "messagecomposer_export.h"
0010 #include <QLabel>
0011 namespace MessageComposer
0012 {
0013 /**
0014  * @brief The StatusBarLabelToggledState class
0015  * @author Laurent Montel <montel@kde.org>
0016  */
0017 class MESSAGECOMPOSER_EXPORT StatusBarLabelToggledState : public QLabel
0018 {
0019     Q_OBJECT
0020 public:
0021     explicit StatusBarLabelToggledState(QWidget *parent = nullptr);
0022     ~StatusBarLabelToggledState() override;
0023 
0024     void setToggleMode(bool state);
0025 
0026     [[nodiscard]] bool toggleMode() const;
0027 
0028     void setStateString(const QString &toggled, const QString &untoggled);
0029 Q_SIGNALS:
0030     void toggleModeChanged(bool state);
0031 
0032 protected:
0033     void mousePressEvent(QMouseEvent *ev) override;
0034 
0035 private:
0036     MESSAGECOMPOSER_NO_EXPORT void updateLabel();
0037     QString mToggled;
0038     QString mUnToggled;
0039     bool mToggleMode = false;
0040 };
0041 }