mirror of
https://github.com/Palm1r/QodeAssist.git
synced 2025-11-22 02:22:44 -05:00
@ -19,9 +19,7 @@
|
||||
|
||||
#include "ProgressWidget.hpp"
|
||||
|
||||
#include <QApplication>
|
||||
#include <QMouseEvent>
|
||||
#include <QStyle>
|
||||
|
||||
namespace QodeAssist {
|
||||
|
||||
@ -70,9 +68,6 @@ ProgressWidget::ProgressWidget(QWidget *parent)
|
||||
|
||||
setFixedSize(40, 40);
|
||||
setMouseTracking(true);
|
||||
|
||||
QIcon closeIcon = QApplication::style()->standardIcon(QStyle::SP_DockWidgetCloseButton);
|
||||
m_closePixmap = closeIcon.pixmap(16, 16);
|
||||
}
|
||||
|
||||
ProgressWidget::~ProgressWidget()
|
||||
@ -92,13 +87,7 @@ void ProgressWidget::paintEvent(QPaintEvent *)
|
||||
|
||||
painter.fillRect(rect(), m_backgroundColor);
|
||||
|
||||
if (m_isHovered) {
|
||||
if (!m_closePixmap.isNull()) {
|
||||
int x = ((width() - (m_closePixmap.width() / 2)) / 2);
|
||||
int y = ((height() - (m_closePixmap.height() / 2)) / 2);
|
||||
painter.drawPixmap(x, y, m_closePixmap);
|
||||
}
|
||||
} else {
|
||||
if (!m_isHovered) {
|
||||
if (!m_logoPixmap.isNull()) {
|
||||
QRect logoRect(
|
||||
(width() - m_logoPixmap.width()) / 2,
|
||||
@ -107,7 +96,6 @@ void ProgressWidget::paintEvent(QPaintEvent *)
|
||||
m_logoPixmap.height());
|
||||
painter.drawPixmap(logoRect, m_logoPixmap);
|
||||
}
|
||||
}
|
||||
|
||||
int dotSpacing = 6;
|
||||
int dotSize = 4;
|
||||
@ -134,6 +122,21 @@ void ProgressWidget::paintEvent(QPaintEvent *)
|
||||
int x = startX + i * (dotSize + dotSpacing);
|
||||
painter.drawEllipse(x, dotY, dotSize, dotSize);
|
||||
}
|
||||
}
|
||||
|
||||
if (m_isHovered) {
|
||||
int closeSize = 14;
|
||||
int centerX = width() / 2;
|
||||
int centerY = height() / 2;
|
||||
|
||||
QPen closePen(m_textColor, 2);
|
||||
closePen.setCapStyle(Qt::RoundCap);
|
||||
painter.setPen(closePen);
|
||||
|
||||
int offset = closeSize / 2;
|
||||
painter.drawLine(centerX - offset, centerY - offset, centerX + offset, centerY + offset);
|
||||
painter.drawLine(centerX + offset, centerY - offset, centerX - offset, centerY + offset);
|
||||
}
|
||||
}
|
||||
|
||||
void ProgressWidget::enterEvent(QEnterEvent *event)
|
||||
|
||||
@ -53,7 +53,6 @@ private:
|
||||
QColor m_textColor;
|
||||
QColor m_backgroundColor;
|
||||
QPixmap m_logoPixmap;
|
||||
QPixmap m_closePixmap;
|
||||
bool m_isHovered;
|
||||
std::function<void()> m_cancelCallback;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user