mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-31 04:25:35 +08:00
Ref T30, added font shortcuts to CShortcut and allow to pass context shortcut
This commit is contained in:
committed by
Mathew Sutcliffe
parent
7370b6f33b
commit
fcdf238512
@@ -9,6 +9,7 @@
|
|||||||
|
|
||||||
#include "fontmenus.h"
|
#include "fontmenus.h"
|
||||||
#include "blackgui/guiapplication.h"
|
#include "blackgui/guiapplication.h"
|
||||||
|
#include "blackgui/shortcut.h"
|
||||||
#include "blackmisc/verify.h"
|
#include "blackmisc/verify.h"
|
||||||
#include <QShortcut>
|
#include <QShortcut>
|
||||||
|
|
||||||
@@ -25,22 +26,22 @@ namespace BlackGui
|
|||||||
return cats;
|
return cats;
|
||||||
}
|
}
|
||||||
|
|
||||||
CFontMenu::CFontMenu(QWidget *widget, bool separator) :
|
CFontMenu::CFontMenu(QWidget *widget, bool separator, Qt::ShortcutContext shortcutContext) :
|
||||||
IMenuDelegate(widget, separator), m_widget(widget)
|
IMenuDelegate(widget, separator), m_widget(widget)
|
||||||
{
|
{
|
||||||
this->m_fontDialogAction.reset(new QAction(CIcons::font16(), "Font", this));
|
this->m_fontDialogAction.reset(new QAction(CIcons::font16(), "Font", this));
|
||||||
QObject::connect(this->m_fontDialogAction.data(), &QAction::triggered, this, &CFontMenu::changeFontDialog);
|
QObject::connect(this->m_fontDialogAction.data(), &QAction::triggered, this, &CFontMenu::changeFontDialog);
|
||||||
|
|
||||||
m_fontSizePlusShortcut = new QShortcut(Qt::CTRL + Qt::Key_Plus, this->m_widget);
|
m_fontSizePlusShortcut = new QShortcut(CShortcut::keyFontPlus(), this->m_widget);
|
||||||
m_fontSizePlusShortcut->setContext(Qt::WidgetShortcut);
|
m_fontSizePlusShortcut->setContext(shortcutContext);
|
||||||
QObject::connect(this->m_fontSizePlusShortcut, &QShortcut::activated, this, &CFontMenu::fontSizePlus);
|
QObject::connect(this->m_fontSizePlusShortcut, &QShortcut::activated, this, &CFontMenu::fontSizePlus);
|
||||||
|
|
||||||
m_fontSizeMinusShortcut = new QShortcut(Qt::CTRL + Qt::Key_Minus, this->m_widget);
|
m_fontSizeMinusShortcut = new QShortcut(CShortcut::keyFontMinus(), this->m_widget);
|
||||||
m_fontSizeMinusShortcut->setContext(Qt::WidgetShortcut);
|
m_fontSizeMinusShortcut->setContext(shortcutContext);
|
||||||
QObject::connect(this->m_fontSizeMinusShortcut, &QShortcut::activated, this, &CFontMenu::fontSizeMinus);
|
QObject::connect(this->m_fontSizeMinusShortcut, &QShortcut::activated, this, &CFontMenu::fontSizeMinus);
|
||||||
|
|
||||||
m_fontResetShortcut = new QShortcut(Qt::CTRL + Qt::Key_0, this->m_widget);
|
m_fontResetShortcut = new QShortcut(CShortcut::keyFontReset(), this->m_widget);
|
||||||
m_fontResetShortcut->setContext(Qt::WidgetShortcut);
|
m_fontResetShortcut->setContext(shortcutContext);
|
||||||
QObject::connect(this->m_fontResetShortcut, &QShortcut::activated, this, &CFontMenu::fontReset);
|
QObject::connect(this->m_fontResetShortcut, &QShortcut::activated, this, &CFontMenu::fontReset);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,6 +56,11 @@ namespace BlackGui
|
|||||||
return QList<QAction *>({ m_fontDialogAction.data() });
|
return QList<QAction *>({ m_fontDialogAction.data() });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QList<QShortcut *> CFontMenu::getShortcuts() const
|
||||||
|
{
|
||||||
|
return QList<QShortcut *>({ m_fontResetShortcut, m_fontSizeMinusShortcut, m_fontSizePlusShortcut });
|
||||||
|
}
|
||||||
|
|
||||||
void CFontMenu::changeFontDialog()
|
void CFontMenu::changeFontDialog()
|
||||||
{
|
{
|
||||||
Q_ASSERT_X(m_widget, Q_FUNC_INFO, "No widget");
|
Q_ASSERT_X(m_widget, Q_FUNC_INFO, "No widget");
|
||||||
@@ -64,7 +70,7 @@ namespace BlackGui
|
|||||||
m_dialog->setModal(true);
|
m_dialog->setModal(true);
|
||||||
}
|
}
|
||||||
m_dialog->setCurrentFont(m_widget->font());
|
m_dialog->setCurrentFont(m_widget->font());
|
||||||
int r = m_dialog->exec();
|
const int r = m_dialog->exec();
|
||||||
if (r == QDialog::Rejected) { return; }
|
if (r == QDialog::Rejected) { return; }
|
||||||
const QString qss(m_dialog->getQss());
|
const QString qss(m_dialog->getQss());
|
||||||
m_widget->setStyleSheet(qss);
|
m_widget->setStyleSheet(qss);
|
||||||
@@ -73,7 +79,7 @@ namespace BlackGui
|
|||||||
void CFontMenu::fontSizePlus()
|
void CFontMenu::fontSizePlus()
|
||||||
{
|
{
|
||||||
Q_ASSERT_X(m_widget, Q_FUNC_INFO, "No widget");
|
Q_ASSERT_X(m_widget, Q_FUNC_INFO, "No widget");
|
||||||
int pt = m_widget->font().pointSize() + 1;
|
const int pt = m_widget->font().pointSize() + 1;
|
||||||
if (pt > 24) { return; }
|
if (pt > 24) { return; }
|
||||||
m_widget->setStyleSheet(
|
m_widget->setStyleSheet(
|
||||||
CStyleSheetUtility::asStylesheet(m_widget, pt)
|
CStyleSheetUtility::asStylesheet(m_widget, pt)
|
||||||
@@ -83,7 +89,7 @@ namespace BlackGui
|
|||||||
void CFontMenu::fontSizeMinus()
|
void CFontMenu::fontSizeMinus()
|
||||||
{
|
{
|
||||||
Q_ASSERT_X(m_widget, Q_FUNC_INFO, "No widget");
|
Q_ASSERT_X(m_widget, Q_FUNC_INFO, "No widget");
|
||||||
int pt = m_widget->font().pointSize() - 1;
|
const int pt = m_widget->font().pointSize() - 1;
|
||||||
if (pt < 5) { return; }
|
if (pt < 5) { return; }
|
||||||
m_widget->setStyleSheet(
|
m_widget->setStyleSheet(
|
||||||
CStyleSheetUtility::asStylesheet(m_widget, pt)
|
CStyleSheetUtility::asStylesheet(m_widget, pt)
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ namespace BlackGui
|
|||||||
{
|
{
|
||||||
namespace Menus
|
namespace Menus
|
||||||
{
|
{
|
||||||
//! Standard font (size, style) menus for fonts.
|
//! Standard font (size, style) menus.
|
||||||
//! Can be used as nested menu or via getActions added manually
|
//! Can be used as nested menu or via getActions added manually
|
||||||
class CFontMenu : public IMenuDelegate
|
class CFontMenu : public IMenuDelegate
|
||||||
{
|
{
|
||||||
@@ -33,7 +33,7 @@ namespace BlackGui
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
//! Constructor
|
//! Constructor
|
||||||
CFontMenu(QWidget *widget, bool separator = true);
|
CFontMenu(QWidget *widget, bool separator = true, Qt::ShortcutContext shortcutContext = Qt::WidgetShortcut);
|
||||||
|
|
||||||
//! Log.categories
|
//! Log.categories
|
||||||
static const BlackMisc::CLogCategoryList &getLogCategories();
|
static const BlackMisc::CLogCategoryList &getLogCategories();
|
||||||
@@ -44,6 +44,9 @@ namespace BlackGui
|
|||||||
//! Allow to use the actions directly
|
//! Allow to use the actions directly
|
||||||
QList<QAction *> getActions() const;
|
QList<QAction *> getActions() const;
|
||||||
|
|
||||||
|
//! The shortcus owned by QWidget
|
||||||
|
QList<QShortcut *> getShortcuts() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void changeFontDialog();
|
void changeFontDialog();
|
||||||
void fontSizePlus();
|
void fontSizePlus();
|
||||||
|
|||||||
@@ -70,4 +70,22 @@ namespace BlackGui
|
|||||||
static const QKeySequence k(Qt::CTRL + Qt::Key_C);
|
static const QKeySequence k(Qt::CTRL + Qt::Key_C);
|
||||||
return k;
|
return k;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const QKeySequence &CShortcut::keyFontPlus()
|
||||||
|
{
|
||||||
|
static const QKeySequence k(Qt::CTRL + Qt::Key_Plus);
|
||||||
|
return k;
|
||||||
|
}
|
||||||
|
|
||||||
|
const QKeySequence &CShortcut::keyFontMinus()
|
||||||
|
{
|
||||||
|
static const QKeySequence k(Qt::CTRL + Qt::Key_Minus);
|
||||||
|
return k;
|
||||||
|
}
|
||||||
|
|
||||||
|
const QKeySequence &CShortcut::keyFontReset()
|
||||||
|
{
|
||||||
|
static const QKeySequence k(Qt::CTRL + Qt::Key_0);
|
||||||
|
return k;
|
||||||
|
}
|
||||||
} // ns
|
} // ns
|
||||||
|
|||||||
@@ -55,6 +55,15 @@ namespace BlackGui
|
|||||||
|
|
||||||
//! Copy
|
//! Copy
|
||||||
static const QKeySequence &keyCopy();
|
static const QKeySequence &keyCopy();
|
||||||
|
|
||||||
|
//! Font plus
|
||||||
|
static const QKeySequence &keyFontPlus();
|
||||||
|
|
||||||
|
//! Font minus
|
||||||
|
static const QKeySequence &keyFontMinus();
|
||||||
|
|
||||||
|
//! Font reset
|
||||||
|
static const QKeySequence &keyFontReset();
|
||||||
};
|
};
|
||||||
} // ns
|
} // ns
|
||||||
#endif // guard
|
#endif // guard
|
||||||
|
|||||||
Reference in New Issue
Block a user