From e9cd132a0eeaa3e301d1fde32c7843d539404ada Mon Sep 17 00:00:00 2001 From: Dhruv Maroo Date: Wed, 5 Oct 2022 19:40:47 +0530 Subject: [PATCH] Add spin box to display the tool size value in the side panel (#2932) --- src/widgets/panel/sidepanelwidget.cpp | 16 +++++++++++++++- src/widgets/panel/sidepanelwidget.h | 2 ++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/widgets/panel/sidepanelwidget.cpp b/src/widgets/panel/sidepanelwidget.cpp index f64736cb..6764e3cc 100644 --- a/src/widgets/panel/sidepanelwidget.cpp +++ b/src/widgets/panel/sidepanelwidget.cpp @@ -32,14 +32,23 @@ SidePanelWidget::SidePanelWidget(QPixmap* p, QWidget* parent) auto* colorLayout = new QGridLayout(); // Create Active Tool Size + auto* toolSizeHBox = new QHBoxLayout(); auto* activeToolSizeText = new QLabel(tr("Active tool size: ")); + m_toolSizeSpin = new QSpinBox(this); + m_toolSizeSpin->setRange(1, maxToolSize); + m_toolSizeSpin->setSingleStep(1); + m_toolSizeSpin->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + + toolSizeHBox->addWidget(activeToolSizeText); + toolSizeHBox->addWidget(m_toolSizeSpin); + m_toolSizeSlider = new QSlider(Qt::Horizontal); m_toolSizeSlider->setRange(1, maxToolSize); m_toolSizeSlider->setValue(m_toolSize); m_toolSizeSlider->setMinimumWidth(minSliderWidth); - colorLayout->addWidget(activeToolSizeText, 0, 0); + colorLayout->addLayout(toolSizeHBox, 0, 0); colorLayout->addWidget(m_toolSizeSlider, 1, 0); // Create Active Color @@ -72,6 +81,10 @@ SidePanelWidget::SidePanelWidget(QPixmap* p, QWidget* parent) m_layout->addWidget(m_colorHex); // tool size sigslots + connect(m_toolSizeSpin, + static_cast(&QSpinBox::valueChanged), + this, + &SidePanelWidget::toolSizeChanged); connect(m_toolSizeSlider, &QSlider::valueChanged, this, @@ -112,6 +125,7 @@ void SidePanelWidget::onToolSizeChanged(int t) { m_toolSize = qBound(0, t, maxToolSize); m_toolSizeSlider->setValue(m_toolSize); + m_toolSizeSpin->setValue(m_toolSize); } void SidePanelWidget::startColorGrab() diff --git a/src/widgets/panel/sidepanelwidget.h b/src/widgets/panel/sidepanelwidget.h index bd51aad2..770ad839 100644 --- a/src/widgets/panel/sidepanelwidget.h +++ b/src/widgets/panel/sidepanelwidget.h @@ -4,6 +4,7 @@ #pragma once #include "QtColorWidgets/color_wheel.hpp" +#include #include class QVBoxLayout; @@ -57,6 +58,7 @@ private: QPixmap* m_pixmap; QColor m_color; QColor m_revertColor; + QSpinBox* m_toolSizeSpin; QSlider* m_toolSizeSlider; int m_toolSize{}; };