Files
pilotclient/src/blackgui/menus/fontmenus.h
Lars Toenning bcc4bdd31e Add SPDX identifiers for REUSE compliance
Co-authored-by: Mat Sutcliffe <oktal3700@gmail.com>
2023-10-03 09:29:49 +02:00

65 lines
1.9 KiB
C++

// SPDX-FileCopyrightText: Copyright (C) 2017 swift Project Community / Contributors
// SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
#ifndef BLACKGUI_MENUS_FONTMENUS_H
#define BLACKGUI_MENUS_FONTMENUS_H
#include "blackgui/components/settingsfontdialog.h"
#include "blackgui/menus/menudelegate.h"
#include "blackgui/views/aircraftmodelview.h"
#include "blackgui/overlaymessagesframe.h"
#include "blackmisc/simulation/aircraftmodelinterfaces.h"
#include <QObject>
class QAction;
class QShortcut;
namespace BlackGui::Menus
{
//! Standard font (size, style) menus.
//! Can be used as nested menu or via getActions added manually
class CFontMenu : public IMenuDelegate
{
Q_OBJECT
public:
//! Constructor
CFontMenu(QWidget *widget, Qt::ShortcutContext shortcutContext = Qt::WidgetShortcut);
//! Log.categories
static const QStringList &getLogCategories();
//! \copydoc IMenuDelegate::customMenu
virtual void customMenu(CMenuActions &menuActions) override;
//! Allow to use the actions directly
QList<QAction *> getActions() const;
//! The shortcus owned by QWidget
QList<QShortcut *> getShortcuts() const;
signals:
//! @{
//! Font size signals
void fontSizePlus();
void fontSizeMinus();
//! @}
private:
void changeFontDialog();
void onFontSizePlus();
void onFontSizeMinus();
void onFontReset();
QWidget *m_widget = nullptr;
QShortcut *m_fontSizePlusShortcut = nullptr; //! owned by widget
QShortcut *m_fontSizeMinusShortcut = nullptr; //! owned by widget
QShortcut *m_fontResetShortcut = nullptr; //! owned by widget
QScopedPointer<QAction> m_fontDialogAction;
QScopedPointer<BlackGui::Components::CSettingsFontDialog> m_dialog;
};
} // ns
#endif // guard