tests: improve shortcut manual test

Change-Id: Id45bbe77a59917f25a031539f8414dc27d8fe19f
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
This commit is contained in:
Gatis Paeglis 2018-01-29 16:56:09 +01:00
parent 1aec1a2d8d
commit 5d3f540fc6

View File

@ -31,106 +31,202 @@
#include <QWidget> #include <QWidget>
#include <QLabel> #include <QLabel>
#include <QPushButton> #include <QPushButton>
#include <QDebug>
class ShortcutTester : public QWidget class ShortcutTester : public QWidget
{ {
public: public:
ShortcutTester() { ShortcutTester() {
setupLayout(); setupLayout();
setFixedWidth(200);
} }
protected: protected:
void setupLayout() void setupLayout()
{ {
QVBoxLayout *layout = new QVBoxLayout(this); QVBoxLayout *layout = new QVBoxLayout(this);
setLayout(layout);
QKeySequence sq1(Qt::AltModifier + Qt::ShiftModifier + Qt::Key_G);
QPushButton *b1 = new QPushButton(sq1.toString());
b1->setShortcut(sq1);
QKeySequence sq2(Qt::AltModifier + Qt::Key_G);
QPushButton *b2 = new QPushButton(sq2.toString());
b2->setShortcut(sq2);
QKeySequence sq3(Qt::ControlModifier + Qt::ShiftModifier + Qt::Key_R);
QPushButton *b3 = new QPushButton(sq3.toString());
b3->setShortcut(sq3);
QKeySequence sq4(Qt::ControlModifier + Qt::Key_R);
QPushButton *b4 = new QPushButton(sq4.toString());
b4->setShortcut(sq4);
QKeySequence sq5(Qt::ControlModifier + Qt::Key_Return);
QPushButton *b5 = new QPushButton(sq5.toString());
b5->setShortcut(sq5);
QKeySequence sq6(Qt::ControlModifier + Qt::ShiftModifier + Qt::AltModifier + Qt::Key_R);
QPushButton *b6 = new QPushButton(sq6.toString());
b6->setShortcut(sq6);
QKeySequence sq7(Qt::ShiftModifier + Qt::Key_5);
QPushButton *b7 = new QPushButton(sq7.toString());
b7->setShortcut(sq7);
QKeySequence sq8(Qt::ControlModifier + Qt::Key_Q);
QPushButton *b8 = new QPushButton(sq8.toString());
b8->setShortcut(sq8);
QKeySequence sq9(Qt::ControlModifier + Qt::Key_Plus);
QPushButton *b9 = new QPushButton(sq9.toString());
b9->setShortcut(sq9);
QKeySequence sq10(Qt::ControlModifier + Qt::Key_Y);
QPushButton *b10 = new QPushButton(sq10.toString());
b10->setShortcut(sq10);
QKeySequence sq11(Qt::ShiftModifier + Qt::Key_Comma);
QPushButton *b11 = new QPushButton(sq11.toString());
b11->setShortcut(sq11);
QKeySequence sq12(Qt::ControlModifier + Qt::Key_Slash);
QPushButton *b12 = new QPushButton(sq12.toString());
b12->setShortcut(sq12);
QKeySequence sq13(Qt::ControlModifier + Qt::Key_BracketRight);
QPushButton *b13 = new QPushButton(sq13.toString());
b13->setShortcut(sq13);
// LATIN SMALL LETTER O WITH STROKE
QKeySequence sq14(QString(QChar(ushort(0xf8))));
QPushButton *b14 = new QPushButton(sq14.toString());
b14->setShortcut(sq14);
// CYRILLIC SMALL LETTER ZHE
QKeySequence sq15(QString(QChar(ushort(0x436))));
QPushButton *b15 = new QPushButton(sq15.toString());
b15->setShortcut(sq15);
QLabel *testPurpose = new QLabel(); QLabel *testPurpose = new QLabel();
testPurpose->setWordWrap(true); testPurpose->setWordWrap(true);
testPurpose->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Expanding); testPurpose->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Expanding);
testPurpose->setText("This test come in handy to verify shortcuts under different" testPurpose->setText("This test come in handy to verify shortcuts under different "
" keyboard layouts - qwerty, dvorak, non-latin (russian, arabic), etc."); "keyboard layouts - qwerty, dvorak, non-latin (russian, arabic), etc.");
layout->addWidget(testPurpose); layout->addWidget(testPurpose);
layout->addWidget(b1);
layout->addWidget(b2);
layout->addWidget(b3);
layout->addWidget(b4);
layout->addWidget(b5);
layout->addWidget(b6);
layout->addWidget(b7);
layout->addWidget(b8);
layout->addWidget(b9);
layout->addWidget(b10);
layout->addWidget(b11);
layout->addWidget(b12);
layout->addWidget(b13);
layout->addWidget(new QLabel("Norwegian layout"));
layout->addWidget(b14);
layout->addWidget(new QLabel("Russian layout"));
layout->addWidget(b15);
setLayout(layout); QKeySequence altShiftG(Qt::AltModifier + Qt::ShiftModifier + Qt::Key_G);
QPushButton *_altShiftG = new QPushButton(altShiftG.toString());
_altShiftG->setShortcut(altShiftG);
layout->addWidget(_altShiftG);
QKeySequence altG(Qt::AltModifier + Qt::Key_G);
QPushButton *_altG = new QPushButton(altG.toString());
_altG->setShortcut(altG);
layout->addWidget(_altG);
QKeySequence ctrlShiftR(Qt::ControlModifier + Qt::ShiftModifier + Qt::Key_R);
QPushButton *_ctrlShiftR = new QPushButton(ctrlShiftR.toString());
_ctrlShiftR->setShortcut(ctrlShiftR);
layout->addWidget(_ctrlShiftR);
QKeySequence ctrlR(Qt::ControlModifier + Qt::Key_R);
QPushButton *_ctrlR = new QPushButton(ctrlR.toString());
_ctrlR->setShortcut(ctrlR);
layout->addWidget(_ctrlR);
QKeySequence ctrlReturn(Qt::ControlModifier + Qt::Key_Return);
QPushButton *_ctrlReturn = new QPushButton(ctrlReturn.toString());
_ctrlReturn->setShortcut(ctrlReturn);
layout->addWidget(_ctrlReturn);
QKeySequence ctrlEnter(Qt::ControlModifier + Qt::Key_Enter);
QPushButton *_ctrlEnter = new QPushButton(ctrlEnter.toString());
_ctrlEnter->setShortcut(ctrlEnter);
layout->addWidget(_ctrlEnter);
QKeySequence ctrlShiftAltR(Qt::ControlModifier + Qt::ShiftModifier + Qt::AltModifier + Qt::Key_R);
QPushButton *_ctrlShiftAltR = new QPushButton(ctrlShiftAltR.toString());
_ctrlShiftAltR->setShortcut(ctrlShiftAltR);
layout->addWidget(_ctrlShiftAltR);
QKeySequence shift5(Qt::ShiftModifier + Qt::Key_5);
QPushButton *_shift5 = new QPushButton(shift5.toString());
_shift5->setShortcut(shift5);
layout->addWidget(_shift5);
QKeySequence shiftPercent(Qt::ShiftModifier + Qt::Key_Percent);
QPushButton *_shiftPercent = new QPushButton(shiftPercent.toString());
_shiftPercent->setShortcut(shiftPercent);
layout->addWidget(_shiftPercent);
QKeySequence percent(Qt::Key_Percent);
QPushButton *_percent = new QPushButton(percent.toString());
_percent->setShortcut(percent);
layout->addWidget(_percent);
QKeySequence key5(Qt::Key_5);
QPushButton *_key5 = new QPushButton(key5.toString());
_key5->setShortcut(key5);
layout->addWidget(_key5);
QKeySequence keyQ(Qt::Key_Q);
QPushButton *_keyQ = new QPushButton(keyQ.toString());
_keyQ->setShortcut(keyQ);
layout->addWidget(_keyQ);
QKeySequence ctrlPercent(Qt::ControlModifier + Qt::Key_Percent);
QPushButton *_ctrlPercent = new QPushButton(ctrlPercent.toString());
_ctrlPercent->setShortcut(ctrlPercent);
layout->addWidget(_ctrlPercent);
QKeySequence ctrlShift5(Qt::ControlModifier + Qt::ShiftModifier + Qt::Key_5);
QPushButton *_ctrlShift5 = new QPushButton(ctrlShift5.toString());
_ctrlShift5->setShortcut(ctrlShift5);
layout->addWidget(_ctrlShift5);
QKeySequence ctrl5(Qt::ControlModifier + Qt::Key_5);
QPushButton *_ctrl5 = new QPushButton(ctrl5.toString());
_ctrl5->setShortcut(ctrl5);
layout->addWidget(_ctrl5);
QKeySequence alt5(Qt::AltModifier + Qt::Key_5);
QPushButton *_alt5 = new QPushButton(alt5.toString());
_alt5->setShortcut(alt5);
layout->addWidget(_alt5);
QKeySequence ctrlPlus(Qt::ControlModifier + Qt::Key_Plus);
QPushButton *_ctrlPlus = new QPushButton(ctrlPlus.toString());
_ctrlPlus->setShortcut(ctrlPlus);
layout->addWidget(_ctrlPlus);
QKeySequence ctrlShiftPlus(Qt::ControlModifier + Qt::ShiftModifier + Qt::Key_Plus);
QPushButton *_ctrlShiftPlus = new QPushButton(ctrlShiftPlus.toString());
_ctrlShiftPlus->setShortcut(ctrlShiftPlus);
layout->addWidget(_ctrlShiftPlus);
QKeySequence ctrlY(Qt::ControlModifier + Qt::Key_Y);
QPushButton *_ctrlY = new QPushButton(ctrlY.toString());
_ctrlY->setShortcut(ctrlY);
layout->addWidget(_ctrlY);
QKeySequence shiftComma(Qt::ShiftModifier + Qt::Key_Comma);
QPushButton *_shiftComma = new QPushButton(shiftComma.toString());
_shiftComma->setShortcut(shiftComma);
layout->addWidget(_shiftComma);
QKeySequence ctrlComma(Qt::ControlModifier + Qt::Key_Comma);
QPushButton *_ctrlComma = new QPushButton(ctrlComma.toString());
_ctrlComma->setShortcut(ctrlComma);
layout->addWidget(_ctrlComma);
QKeySequence ctrlSlash(Qt::ControlModifier + Qt::Key_Slash);
QPushButton *_ctrlSlash = new QPushButton(ctrlSlash.toString());
_ctrlSlash->setShortcut(ctrlSlash);
layout->addWidget(_ctrlSlash);
QKeySequence ctrlBackslash(Qt::ControlModifier + Qt::Key_Backslash);
QPushButton *_ctrlBackslash = new QPushButton(ctrlBackslash.toString());
_ctrlBackslash->setShortcut(ctrlBackslash);
layout->addWidget(_ctrlBackslash);
QKeySequence metaShiftA(Qt::MetaModifier + Qt::ShiftModifier + Qt::Key_A);
QPushButton *_metaShiftA = new QPushButton(metaShiftA.toString());
_metaShiftA->setShortcut(metaShiftA);
layout->addWidget(_metaShiftA);
QKeySequence metaShift5(Qt::MetaModifier + Qt::ShiftModifier + Qt::Key_5);
QPushButton *_metaShift5 = new QPushButton(metaShift5.toString());
_metaShift5->setShortcut(metaShift5);
layout->addWidget(_metaShift5);
QKeySequence ctrlBracketRigth(Qt::ControlModifier + Qt::Key_BracketRight);
QPushButton *_ctrlBracketRigth = new QPushButton(ctrlBracketRigth.toString());
_ctrlBracketRigth->setShortcut(ctrlBracketRigth);
layout->addWidget(_ctrlBracketRigth);
QKeySequence shiftF3(Qt::ShiftModifier + Qt::Key_F3);
QPushButton *_shiftF3 = new QPushButton(shiftF3.toString());
_shiftF3->setShortcut(shiftF3);
layout->addWidget(_shiftF3);
QKeySequence ctrlF3(Qt::ControlModifier + Qt::Key_F3);
QPushButton *_ctrlF3 = new QPushButton(ctrlF3.toString());
_ctrlF3->setShortcut(ctrlF3);
layout->addWidget(_ctrlF3);
QKeySequence euro(0x20AC); // EURO SIGN e.g. US (with euro on 5) on 3rd keyboard level
QPushButton *_euro = new QPushButton(euro.toString());
_euro->setShortcut(euro);
layout->addWidget(_euro);
QKeySequence ctrlEuro(Qt::ControlModifier + 0x20AC);
QPushButton *_ctrlEuro = new QPushButton(ctrlEuro.toString());
_ctrlEuro->setShortcut(ctrlEuro);
layout->addWidget(_ctrlEuro);
// with german (neo 2) layout on linux under ISO_Level3_Shift + ISO_Level5_Shift + I
QKeySequence greekPsi(QString(QStringLiteral("\u03A8")));
QPushButton *_greekPsi = new QPushButton(greekPsi.toString());
_greekPsi->setShortcut(greekPsi);
layout->addWidget(_greekPsi);
layout->addWidget(new QLabel("Norwegian layout"));
// LATIN SMALL LETTER O WITH STROKE
QKeySequence norwegianO(QString(QStringLiteral("\u00F8")));
QPushButton *_norwegianO = new QPushButton(norwegianO.toString());
_norwegianO->setShortcut(norwegianO);
layout->addWidget(_norwegianO);
layout->addWidget(new QLabel("Russian layout"));
// CYRILLIC SMALL LETTER ZHE
QKeySequence zhe(QString(QStringLiteral("\u0436")));
QPushButton *_zhe = new QPushButton(zhe.toString());
_zhe->setShortcut(zhe);
layout->addWidget(_zhe);
// for sequence definitons see qplatformtheme.cpp
layout->addWidget(new QLabel("QKeySequence::StandardKey(s)"));
QPushButton *_open = new QPushButton("Open");
_open->setShortcut(QKeySequence::Open); // Qt::CTRL | Qt::Key_O
layout->addWidget(_open);
} }
}; };
@ -138,6 +234,8 @@ int main(int argc, char *argv[])
{ {
QApplication a(argc, argv); QApplication a(argc, argv);
qDebug() << qVersion();
ShortcutTester tester; ShortcutTester tester;
tester.show(); tester.show();