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 }