From 5d3f540fc6bea4d6a4dfb94ebecc98a59035d8d2 Mon Sep 17 00:00:00 2001 From: Gatis Paeglis Date: Mon, 29 Jan 2018 16:56:09 +0100 Subject: tests: improve shortcut manual test Change-Id: Id45bbe77a59917f25a031539f8414dc27d8fe19f Reviewed-by: Shawn Rutledge --- tests/manual/shortcuts/main.cpp | 262 +++++++++++++++++++++++++++------------- 1 file changed, 180 insertions(+), 82 deletions(-) (limited to 'tests/manual/shortcuts') diff --git a/tests/manual/shortcuts/main.cpp b/tests/manual/shortcuts/main.cpp index 55ade1040a..849f8728b3 100644 --- a/tests/manual/shortcuts/main.cpp +++ b/tests/manual/shortcuts/main.cpp @@ -31,106 +31,202 @@ #include #include #include +#include class ShortcutTester : public QWidget { public: ShortcutTester() { setupLayout(); - setFixedWidth(200); } protected: void setupLayout() { QVBoxLayout *layout = new QVBoxLayout(this); - - 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); + setLayout(layout); QLabel *testPurpose = new QLabel(); testPurpose->setWordWrap(true); testPurpose->setSizePolicy(QSizePolicy::Ignored, QSizePolicy::Expanding); - testPurpose->setText("This test come in handy to verify shortcuts under different" - " keyboard layouts - qwerty, dvorak, non-latin (russian, arabic), etc."); + testPurpose->setText("This test come in handy to verify shortcuts under different " + "keyboard layouts - qwerty, dvorak, non-latin (russian, arabic), etc."); 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); + + 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")); - layout->addWidget(b14); - layout->addWidget(new QLabel("Russian layout")); - layout->addWidget(b15); + // LATIN SMALL LETTER O WITH STROKE + QKeySequence norwegianO(QString(QStringLiteral("\u00F8"))); + QPushButton *_norwegianO = new QPushButton(norwegianO.toString()); + _norwegianO->setShortcut(norwegianO); + layout->addWidget(_norwegianO); - setLayout(layout); + 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); + qDebug() << qVersion(); + ShortcutTester tester; tester.show(); -- cgit v1.2.3