refactor: DRY home button rect calculation in ViewCube

Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
2026-02-17 17:21:31 -07:00
parent 2fb73d91ef
commit d40ae7e670

View File

@@ -9,6 +9,20 @@
#include <QSvgRenderer> #include <QSvgRenderer>
#include <QVector> #include <QVector>
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() ViewCube::ViewCube()
{ {
m_homeButtonRenderer = new QSvgRenderer(QString(":/icons/home.svg")); m_homeButtonRenderer = new QSvgRenderer(QString(":/icons/home.svg"));
@@ -220,14 +234,7 @@ void ViewCube::paint2D(QPainter& painter, int widgetWidth, int widgetHeight)
return; return;
} }
int viewCubeSize = 150; // logical pixels m_homeButtonRect = getHomeButtonRect(widgetWidth);
int buttonSize = 24;
int buttonMargin = -32;
int viewCubeX = widgetWidth - viewCubeSize;
int viewCubeY = 0;
m_homeButtonRect = QRect(viewCubeX - buttonMargin - buttonSize, viewCubeY, buttonSize, buttonSize);
if (m_homeButtonRenderer && m_homeButtonRenderer->isValid()) { if (m_homeButtonRenderer && m_homeButtonRenderer->isValid()) {
QImage image(m_homeButtonRect.size(), QImage::Format_ARGB32_Premultiplied); 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; return false;
} }
int viewCubeSize = 150; QRect homeButtonRect = getHomeButtonRect(widgetWidth);
int buttonSize = 24;
int buttonMargin = -32;
int viewCubeX = widgetWidth - viewCubeSize;
int viewCubeY = 0;
QRect homeButtonRect(viewCubeX - buttonMargin - buttonSize, viewCubeY, buttonSize, buttonSize);
return homeButtonRect.contains(pos); return homeButtonRect.contains(pos);
} }