diff options
author | Joanna Hulboj <joanna.hulboj@isode.com> | 2017-01-11 09:20:07 (GMT) |
---|---|---|
committer | Joanna Hulboj <joanna.hulboj@isode.com> | 2017-01-11 09:20:57 (GMT) |
commit | a0c339f80e4585341179edef1898defd21a0d36a (patch) | |
tree | 9eec5ff9da0c75f1df0965a13829e4cde4fb9d79 /Swift/QtUI/Trellis | |
parent | 6e1b4401f1aaf639293a2bc5b0669b6a07cedeb7 (diff) | |
download | swift-a0c339f80e4585341179edef1898defd21a0d36a.zip swift-a0c339f80e4585341179edef1898defd21a0d36a.tar.bz2 |
Allow cancelling trellis resize window with escape key
Test-Information:
From view menu chose "Change Layout". Cancelled the trellis resizer
using Escape.
Change-Id: I82e196f813cf34db9b50d812ce0597975432869f
Diffstat (limited to 'Swift/QtUI/Trellis')
-rw-r--r-- | Swift/QtUI/Trellis/QtGridSelectionDialog.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/Swift/QtUI/Trellis/QtGridSelectionDialog.cpp b/Swift/QtUI/Trellis/QtGridSelectionDialog.cpp index f03d0ec..f67a4b8 100644 --- a/Swift/QtUI/Trellis/QtGridSelectionDialog.cpp +++ b/Swift/QtUI/Trellis/QtGridSelectionDialog.cpp @@ -60,60 +60,64 @@ QSize QtGridSelectionDialog::getMinGridSize() const { } void QtGridSelectionDialog::setMaxGridSize(const QSize& size) { maxGridSize = size; emit maxGridSizeChanged(size); } QSize QtGridSelectionDialog::getMaxGridSize() const { return maxGridSize; } void QtGridSelectionDialog::keyReleaseEvent(QKeyEvent* event) { if (event) { QSize newGridSize = currentGridSize; if (event->key() == Qt::Key_Up) { newGridSize += QSize(0, -1); } else if (event->key() == Qt::Key_Down) { newGridSize += QSize(0, 1); } else if (event->key() == Qt::Key_Left) { newGridSize += QSize(-1, 0); } else if (event->key() == Qt::Key_Right) { newGridSize += QSize(1, 0); } else if (event->key() == Qt::Key_Return) { hide(); setCurrentGridSize(currentGridSize); } + else if (event->key() == Qt::Key_Escape) { + hide(); + } + if (minGridSize.expandedTo(newGridSize).boundedTo(maxGridSize) != currentGridSize) { currentGridSize = minGridSize.expandedTo(newGridSize).boundedTo(maxGridSize); QSize newSizeHint = sizeHint(); resize(newSizeHint); QCursor::setPos(mapToGlobal(QPoint(newSizeHint.width(), newSizeHint.height()) - QPoint(frameSize.width() / 2, frameSize.height() / 2))); } } } void QtGridSelectionDialog::mousePressEvent(QMouseEvent*) { hide(); setCurrentGridSize(currentGridSize); } void QtGridSelectionDialog::paintEvent(QPaintEvent*) { QPainter painter(this); // draw grid QRect gridCell = QRect(QPoint(0,0), frameSize); painter.setBrush(palette().highlight()); painter.setPen(Qt::NoPen); for (int x = 0; x < currentGridSize.width(); x++) { for (int y = 0; y < currentGridSize.height(); y++) { int xPos = horizontalMargin + (x * (frameSize.width() + padding)); int yPos = verticalMargin + (y * (frameSize.height() + padding)); gridCell.moveTo(QPoint(xPos, yPos)); painter.drawRect(gridCell); } } |