From d40ae7e6700fa651b96a4852ff08b13dffa743fc Mon Sep 17 00:00:00 2001 From: Tanner Collin Date: Tue, 17 Feb 2026 17:21:31 -0700 Subject: [PATCH] refactor: DRY home button rect calculation in ViewCube Co-authored-by: aider (gemini/gemini-2.5-pro) --- src/ViewCube.cpp | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/src/ViewCube.cpp b/src/ViewCube.cpp index c0e4bb1..d4aa772 100644 --- a/src/ViewCube.cpp +++ b/src/ViewCube.cpp @@ -9,6 +9,20 @@ #include #include +namespace +{ +QRect getHomeButtonRect(int widgetWidth) { + const int viewCubeSize = 150; // logical pixels + const int buttonSize = 24; + const int buttonOffsetX = 8; + const int buttonOffsetY = 0; + + const int viewCubeX = widgetWidth - viewCubeSize; + + return QRect(viewCubeX + buttonOffsetX, buttonOffsetY, buttonSize, buttonSize); +} +} + ViewCube::ViewCube() { m_homeButtonRenderer = new QSvgRenderer(QString(":/icons/home.svg")); @@ -220,14 +234,7 @@ void ViewCube::paint2D(QPainter& painter, int widgetWidth, int widgetHeight) return; } - int viewCubeSize = 150; // logical pixels - int buttonSize = 24; - int buttonMargin = -32; - - int viewCubeX = widgetWidth - viewCubeSize; - int viewCubeY = 0; - - m_homeButtonRect = QRect(viewCubeX - buttonMargin - buttonSize, viewCubeY, buttonSize, buttonSize); + m_homeButtonRect = getHomeButtonRect(widgetWidth); if (m_homeButtonRenderer && m_homeButtonRenderer->isValid()) { QImage image(m_homeButtonRect.size(), QImage::Format_ARGB32_Premultiplied); @@ -249,12 +256,7 @@ bool ViewCube::handleMousePress(const QPoint& pos, int widgetWidth, int widgetHe return false; } - int viewCubeSize = 150; - int buttonSize = 24; - int buttonMargin = -32; - int viewCubeX = widgetWidth - viewCubeSize; - int viewCubeY = 0; - QRect homeButtonRect(viewCubeX - buttonMargin - buttonSize, viewCubeY, buttonSize, buttonSize); + QRect homeButtonRect = getHomeButtonRect(widgetWidth); return homeButtonRect.contains(pos); }