File indexing completed on 2024-05-19 09:27:57

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