Sketcher: Coin resize when screen change. Fix #23267 (#23865)

* Sketcher: Coin resize when screen change. Fix #23267

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Update ViewProviderSketch.cpp

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
PaddleStroke
2025-09-13 12:03:39 +02:00
committed by GitHub
parent 93ab6f1a33
commit 50db055a0f
4 changed files with 65 additions and 52 deletions

View File

@@ -38,6 +38,7 @@
#include <QMessageBox>
#include <QScreen>
#include <QTextStream>
#include <QWindow>
#include <limits>
#endif
@@ -3738,6 +3739,15 @@ void ViewProviderSketch::setEditViewer(Gui::View3DInventorViewer* viewer, int Mo
cameraSensor.attach(viewer->getCamera());
blockContextMenu = false;
if (auto* window = viewer->window()->windowHandle()) {
screenChangeConnection = QObject::connect(window, &QWindow::screenChanged, [this](QScreen*) {
if (isInEditMode() && editCoinManager) {
editCoinManager->updateElementSizeParameters();
draw();
}
});
}
}
void ViewProviderSketch::unsetEditViewer(Gui::View3DInventorViewer* viewer)
@@ -3753,6 +3763,8 @@ void ViewProviderSketch::unsetEditViewer(Gui::View3DInventorViewer* viewer)
viewer->setSelectionEnabled(true);
blockContextMenu = false;
QObject::disconnect(screenChangeConnection);
}
void ViewProviderSketch::camSensDeleteCB(void* data, SoSensor *s)