File indexing completed on 2024-05-12 13:30:20

0001 /*
0002  * SPDX-FileCopyrightText: 2014 Hugo Pereira Da Costa <hugo.pereira@free.fr>
0003  *
0004  * SPDX-License-Identifier: GPL-2.0-or-later
0005  */
0006 
0007 #ifndef breezemnemonics_h
0008 #define breezemnemonics_h
0009 
0010 #include <QApplication>
0011 #include <QEvent>
0012 #include <QObject>
0013 
0014 #include "breezestyleconfigdata.h"
0015 
0016 namespace Breeze
0017 {
0018 class Mnemonics : public QObject
0019 {
0020     Q_OBJECT
0021 
0022 public:
0023     //* constructor
0024     explicit Mnemonics(QObject *parent)
0025         : QObject(parent)
0026     {
0027     }
0028 
0029     //* set mode
0030     void setMode(int);
0031 
0032     //* event filter
0033     bool eventFilter(QObject *, QEvent *) override;
0034 
0035     //* true if mnemonics are enabled
0036     bool enabled() const
0037     {
0038         return _enabled;
0039     }
0040 
0041     //* alignment flag
0042     int textFlags() const
0043     {
0044         return _enabled ? Qt::TextShowMnemonic : Qt::TextHideMnemonic;
0045     }
0046 
0047 protected:
0048     //* set enable state
0049     void setEnabled(bool);
0050 
0051 private:
0052     //* enable state
0053     bool _enabled = true;
0054 };
0055 
0056 }
0057 
0058 #endif