swift
fontmenus.h
1 // SPDX-FileCopyrightText: Copyright (C) 2017 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
4 #ifndef SWIFT_GUI_MENUS_FONTMENUS_H
5 #define SWIFT_GUI_MENUS_FONTMENUS_H
6 
7 #include <QObject>
8 
10 #include "gui/menus/menudelegate.h"
12 
13 class QAction;
14 class QShortcut;
15 
16 namespace swift::gui::menus
17 {
20  class CFontMenu : public IMenuDelegate
21  {
22  Q_OBJECT
23 
24  public:
26  CFontMenu(QWidget *widget, Qt::ShortcutContext shortcutContext = Qt::WidgetShortcut);
27 
29  static const QStringList &getLogCategories();
30 
32  virtual void customMenu(CMenuActions &menuActions) override;
33 
35  QList<QAction *> getActions() const;
36 
38  QList<QShortcut *> getShortcuts() const;
39 
40  signals:
43  void fontSizePlus();
44  void fontSizeMinus();
46 
47  private:
48  void changeFontDialog();
49  void onFontSizePlus();
50  void onFontSizeMinus();
51  void onFontReset();
52 
53  QWidget *m_widget = nullptr;
54  QShortcut *m_fontSizePlusShortcut = nullptr;
55  QShortcut *m_fontSizeMinusShortcut = nullptr;
56  QShortcut *m_fontResetShortcut = nullptr;
57  QScopedPointer<QAction> m_fontDialogAction;
58  QScopedPointer<swift::gui::components::CSettingsFontDialog> m_dialog;
59  };
60 } // namespace swift::gui::menus
61 
62 #endif // SWIFT_GUI_MENUS_FONTMENUS_H
Standard font (size, style) menus. Can be used as nested menu or via getActions added manually.
Definition: fontmenus.h:21
QList< QAction * > getActions() const
Allow to use the actions directly.
Definition: fontmenus.cpp:46
virtual void customMenu(CMenuActions &menuActions)
Display custom menu.
Definition: fontmenus.cpp:40
void fontSizePlus()
Font size signals.
void fontSizeMinus()
Font size signals.
static const QStringList & getLogCategories()
Log.categories.
Definition: fontmenus.cpp:16
QList< QShortcut * > getShortcuts() const
The shortcus owned by QWidget.
Definition: fontmenus.cpp:48
CFontMenu(QWidget *widget, Qt::ShortcutContext shortcutContext=Qt::WidgetShortcut)
Constructor.
Definition: fontmenus.cpp:22
Bunch of CMenuAction objects.
Definition: menuaction.h:384
Interface to implement a custom menu.
Definition: menudelegate.h:21