Fix middle button pan on Connections tab
Some checks failed
Build Porymap / build-linux (5.14.2) (push) Has been cancelled
Build Porymap / build-linux (6.8.2) (push) Has been cancelled
Build Porymap / build-macos (macos-15-intel) (push) Has been cancelled
Build Porymap / build-macos (macos-latest) (push) Has been cancelled
Build Porymap / build-static-windows (push) Has been cancelled

This commit is contained in:
GriffinR 2025-11-14 22:29:21 -05:00
parent 9f71023863
commit 79e935f8ac
5 changed files with 18 additions and 12 deletions

View File

@ -1249,7 +1249,7 @@
</spacer>
</item>
<item row="2" column="1">
<widget class="NoScrollGraphicsView" name="graphicsView_Collision">
<widget class="NoScrollGraphicsView" name="graphicsView_CollisionSelector">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
@ -2605,9 +2605,6 @@
<property name="sizeAdjustPolicy">
<enum>QAbstractScrollArea::SizeAdjustPolicy::AdjustIgnored</enum>
</property>
<property name="dragMode">
<enum>QGraphicsView::DragMode::NoDrag</enum>
</property>
<property name="transformationAnchor">
<enum>QGraphicsView::ViewportAnchor::AnchorUnderMouse</enum>
</property>

View File

@ -259,6 +259,7 @@ private:
void onMapStartPaint(QGraphicsSceneMouseEvent *event, LayoutPixmapItem *item);
void onMapEndPaint(QGraphicsSceneMouseEvent *event, LayoutPixmapItem *item);
void setStatusFromMapPos(const QPoint &pos);
bool isMiddleButtonScrollInProgress() const;
private slots:
void setSmartPathCursorMode(QGraphicsSceneMouseEvent *event);

View File

@ -118,7 +118,9 @@ class ConnectionsView : public GraphicsView
{
Q_OBJECT
public:
ConnectionsView(QWidget *parent = nullptr) : GraphicsView(parent) {}
ConnectionsView(QWidget *parent = nullptr) : GraphicsView(parent) {
this->enableMiddleMouseButtonScroll = true;
}
signals:
void pressedDelete();

View File

@ -1432,9 +1432,15 @@ void Editor::adjustStraightPathPos(QGraphicsSceneMouseEvent *event, LayoutPixmap
}
}
bool Editor::isMiddleButtonScrollInProgress() const {
if (this->editMode == EditMode::Connections)
return ui->graphicsView_Connections->getIsMiddleButtonScrollInProgress();
return ui->graphicsView_Map->getIsMiddleButtonScrollInProgress();
}
void Editor::mouseEvent_map(QGraphicsSceneMouseEvent *event, LayoutPixmapItem *item) {
auto editAction = getEditAction();
if (editAction == EditAction::Move || ui->graphicsView_Map->getIsMiddleButtonScrollInProgress()) {
if (editAction == EditAction::Move || isMiddleButtonScrollInProgress()) {
event->ignore();
return;
}

View File

@ -1302,9 +1302,9 @@ void MainWindow::refreshMapScene() {
ui->graphicsView_currentMetatileSelection->setScene(editor->scene_current_metatile_selection);
ui->graphicsView_currentMetatileSelection->setFixedSize(editor->current_metatile_selection_item->pixmap().width() + 2, editor->current_metatile_selection_item->pixmap().height() + 2);
ui->graphicsView_Collision->setScene(editor->scene_collision_metatiles);
//ui->graphicsView_Collision->setSceneRect(editor->scene_collision_metatiles->sceneRect());
ui->graphicsView_Collision->setFixedSize(editor->movement_permissions_selector_item->pixmap().width() + 2, editor->movement_permissions_selector_item->pixmap().height() + 2);
ui->graphicsView_CollisionSelector->setScene(editor->scene_collision_metatiles);
//ui->graphicsView_CollisionSelector->setSceneRect(editor->scene_collision_metatiles->sceneRect());
ui->graphicsView_CollisionSelector->setFixedSize(editor->movement_permissions_selector_item->pixmap().width() + 2, editor->movement_permissions_selector_item->pixmap().height() + 2);
on_mainTabBar_tabBarClicked(ui->mainTabBar->currentIndex());
}
@ -3150,9 +3150,9 @@ void MainWindow::on_horizontalSlider_CollisionZoom_valueChanged(int value) {
editor->movement_permissions_selector_item->pixmap().height());
size *= scale;
ui->graphicsView_Collision->setResizeAnchor(QGraphicsView::NoAnchor);
ui->graphicsView_Collision->setTransform(transform);
ui->graphicsView_Collision->setFixedSize(size.width() + 2, size.height() + 2);
ui->graphicsView_CollisionSelector->setResizeAnchor(QGraphicsView::NoAnchor);
ui->graphicsView_CollisionSelector->setTransform(transform);
ui->graphicsView_CollisionSelector->setFixedSize(size.width() + 2, size.height() + 2);
ui->scrollAreaWidgetContents_Collision->adjustSize();
}