From 84f52870e0d4f3a0583e604b45862b5eaf921d2d Mon Sep 17 00:00:00 2001 From: Tomaz Canabrava Date: Thu, 3 Jun 2021 14:46:56 +0100 Subject: [PATCH] Fix vertical snapping --- src/widgets/ViewSplitter.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/widgets/ViewSplitter.cpp b/src/widgets/ViewSplitter.cpp index 5d12f292..0f0a4c28 100644 --- a/src/widgets/ViewSplitter.cpp +++ b/src/widgets/ViewSplitter.cpp @@ -492,9 +492,8 @@ void Konsole::ViewSplitterHandle::mousePressEvent(QMouseEvent *ev) std::sort(std::begin(allSplitterSizes), std::end(allSplitterSizes)); QPoint thisPoint = parentSplitter->mapToTopLevel(mapToParent(ev->pos())); - const int thisValue = search_closest(allSplitterSizes, Qt::Horizontal ? thisPoint.x() : thisPoint.y()); + const int thisValue = search_closest(allSplitterSizes, orientation() == Qt::Horizontal ? thisPoint.x() : thisPoint.y()); allSplitterSizes.removeOne(thisValue); - { // context for the splitterSet temporary. auto splitterSet = QSet(std::begin(allSplitterSizes), std::end(allSplitterSizes)); allSplitterSizes = QList(std::begin(splitterSet), std::end(splitterSet)); @@ -516,13 +515,13 @@ void Konsole::ViewSplitterHandle::mouseMoveEvent(QMouseEvent *ev) QPoint thisPoint = parentSplitter->mapToTopLevel(mapToParent(ev->pos())); - const int thisValue = Qt::Horizontal ? thisPoint.x() : thisPoint.y(); + const int thisValue = orientation() == Qt::Horizontal ? thisPoint.x() : thisPoint.y(); const int nearest = search_closest(allSplitterSizes, thisValue ); const int threshould = qAbs(nearest - thisValue); if (threshould <= 20) { auto *thisSplitter = qobject_cast(splitter()); - QPoint localPoint = thisSplitter->mapFromTopLevel(Qt::Horizontal ? QPoint(nearest, 0) : QPoint(0, nearest)); - moveSplitter(Qt::Horizontal ? localPoint.x() : localPoint.y()); + QPoint localPoint = thisSplitter->mapFromTopLevel(orientation() == Qt::Horizontal ? QPoint(nearest, 0) : QPoint(0, nearest)); + moveSplitter(orientation() == Qt::Horizontal ? localPoint.x() : localPoint.y()); return; }