File indexing completed on 2024-05-05 05:35:25

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 class Mnemonics : public QObject
0023 {
0024 public:
0025     //* constructor
0026     explicit Mnemonics(QObject *parent)
0027         : QObject(parent)
0028     {
0029     }
0030 
0031     //* set mode
0032     void setMode(int);
0033 
0034     //* event filter
0035     bool eventFilter(QObject *, QEvent *) override;
0036 
0037     //* true if mnemonics are enabled
0038     const bool &enabled(void) const
0039     {
0040         return _enabled;
0041     }
0042 
0043     //* alignment flag
0044     int textFlags(void) const
0045     {
0046         return _enabled ? Qt::TextShowMnemonic : Qt::TextHideMnemonic;
0047     }
0048 
0049 private:
0050     //* set enable state
0051     void setEnabled(bool);
0052 
0053     //* enable state
0054     bool _enabled = true;
0055 };
0056 }
0057 
0058 #endif