Add additional escape key sequences for AZERTY layouts
Using the Escape key followed by Shift and a number key to insert a foreground mosaic attribute doesn't work on an AZERTY keyboard layout where the Shift key is always needed to type a number. The additional escape keys are on the top row of letters situated below the equivalent number key as those letters were not previously not used. Red: 1 or A Green: 2 or Z Yellow: 3 or E Blue: 4 or R Magenta: 5 or T Cyan: 6 or Y White: 7 or U Black: 0 or P
This commit is contained in:
@@ -824,16 +824,23 @@ void MainWindow::createActions()
|
|||||||
QMenu *alphaColourSubMenu = insertMenu->addMenu(tr("Alphanumeric colour"));
|
QMenu *alphaColourSubMenu = insertMenu->addMenu(tr("Alphanumeric colour"));
|
||||||
QMenu *mosaicColourSubMenu = insertMenu->addMenu(tr("Mosaic colour"));
|
QMenu *mosaicColourSubMenu = insertMenu->addMenu(tr("Mosaic colour"));
|
||||||
for (int i=0; i<=7; i++) {
|
for (int i=0; i<=7; i++) {
|
||||||
const char *colours[] = { "Black", "Red", "Green", "Yellow", "Blue", "Magenta", "Cyan", "White" };
|
const char *colourNames[] = { "Black", "Red", "Green", "Yellow", "Blue", "Magenta", "Cyan", "White" };
|
||||||
|
const QChar azertyKeys[] = { 'P', 'A', 'Z', 'E', 'R', 'T', 'Y', 'U' };
|
||||||
|
|
||||||
QAction *alphaColour = alphaColourSubMenu->addAction(tr(colours[i]));
|
QAction *alphaColour = alphaColourSubMenu->addAction(tr(colourNames[i]));
|
||||||
alphaColour->setShortcut(QKeySequence(QString("Esc, %1").arg(i)));
|
alphaColour->setShortcuts(QList<QKeySequence> {
|
||||||
alphaColour->setStatusTip(QString("Insert alphanumeric %1 attribute").arg(QString(colours[i]).toLower()));
|
QKeySequence(QString("Esc, %1").arg(i)),
|
||||||
|
QKeySequence(QString("Esc, %1").arg(azertyKeys[i]))
|
||||||
|
} );
|
||||||
|
alphaColour->setStatusTip(QString("Insert alphanumeric %1 attribute").arg(QString(colourNames[i]).toLower()));
|
||||||
connect(alphaColour, &QAction::triggered, [=]() { m_textWidget->setCharacter(i); });
|
connect(alphaColour, &QAction::triggered, [=]() { m_textWidget->setCharacter(i); });
|
||||||
|
|
||||||
QAction *mosaicColour = mosaicColourSubMenu->addAction(tr(colours[i]));
|
QAction *mosaicColour = mosaicColourSubMenu->addAction(tr(colourNames[i]));
|
||||||
mosaicColour->setShortcut(QKeySequence(QString("Esc, Shift+%1").arg(i)));
|
mosaicColour->setShortcuts(QList<QKeySequence> {
|
||||||
mosaicColour->setStatusTip(QString("Insert mosaic %1 attribute").arg(QString(colours[i]).toLower()));
|
QKeySequence(QString("Esc, Shift+%1").arg(i)),
|
||||||
|
QKeySequence(QString("Esc, Shift+%1").arg(azertyKeys[i]))
|
||||||
|
} );
|
||||||
|
mosaicColour->setStatusTip(QString("Insert mosaic %1 attribute").arg(QString(colourNames[i]).toLower()));
|
||||||
connect(mosaicColour, &QAction::triggered, [=]() { m_textWidget->setCharacter(i+0x10); });
|
connect(mosaicColour, &QAction::triggered, [=]() { m_textWidget->setCharacter(i+0x10); });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user