File indexing completed on 2024-04-28 05:26:22

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 #pragma once
0008 
0009 #include <QApplication>
0010 #include <QEvent>
0011 #include <QObject>
0012 
0013 #include "breezestyleconfigdata.h"
0014 
0015 namespace Breeze
0016 {
0017 class Mnemonics : public QObject
0018 {
0019     Q_OBJECT
0020 
0021 public:
0022     //* constructor
0023     explicit Mnemonics(QObject *parent)
0024         : QObject(parent)
0025     {
0026     }
0027 
0028     //* set mode
0029     void setMode(int);
0030 
0031     //* event filter
0032     bool eventFilter(QObject *, QEvent *) override;
0033 
0034     //* true if mnemonics are enabled
0035     bool enabled() const
0036     {
0037         return _enabled;
0038     }
0039 
0040     //* alignment flag
0041     int textFlags() const
0042     {
0043         return _enabled ? Qt::TextShowMnemonic : Qt::TextHideMnemonic;
0044     }
0045 
0046 protected:
0047     //* set enable state
0048     void setEnabled(bool);
0049 
0050 private:
0051     //* enable state
0052     bool _enabled = true;
0053 };
0054 
0055 }