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 "ProgressWidget.hpp"
|
||||||
|
|
||||||
#include <QApplication>
|
|
||||||
#include <QMouseEvent>
|
#include <QMouseEvent>
|
||||||
#include <QStyle>
|
|
||||||
|
|
||||||
namespace QodeAssist {
|
namespace QodeAssist {
|
||||||
|
|
||||||
@ -70,9 +68,6 @@ ProgressWidget::ProgressWidget(QWidget *parent)
|
|||||||
|
|
||||||
setFixedSize(40, 40);
|
setFixedSize(40, 40);
|
||||||
setMouseTracking(true);
|
setMouseTracking(true);
|
||||||
|
|
||||||
QIcon closeIcon = QApplication::style()->standardIcon(QStyle::SP_DockWidgetCloseButton);
|
|
||||||
m_closePixmap = closeIcon.pixmap(16, 16);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ProgressWidget::~ProgressWidget()
|
ProgressWidget::~ProgressWidget()
|
||||||
@ -92,13 +87,7 @@ void ProgressWidget::paintEvent(QPaintEvent *)
|
|||||||
|
|
||||||
painter.fillRect(rect(), m_backgroundColor);
|
painter.fillRect(rect(), m_backgroundColor);
|
||||||
|
|
||||||
if (m_isHovered) {
|
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_logoPixmap.isNull()) {
|
if (!m_logoPixmap.isNull()) {
|
||||||
QRect logoRect(
|
QRect logoRect(
|
||||||
(width() - m_logoPixmap.width()) / 2,
|
(width() - m_logoPixmap.width()) / 2,
|
||||||
@ -107,7 +96,6 @@ void ProgressWidget::paintEvent(QPaintEvent *)
|
|||||||
m_logoPixmap.height());
|
m_logoPixmap.height());
|
||||||
painter.drawPixmap(logoRect, m_logoPixmap);
|
painter.drawPixmap(logoRect, m_logoPixmap);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
int dotSpacing = 6;
|
int dotSpacing = 6;
|
||||||
int dotSize = 4;
|
int dotSize = 4;
|
||||||
@ -134,6 +122,21 @@ void ProgressWidget::paintEvent(QPaintEvent *)
|
|||||||
int x = startX + i * (dotSize + dotSpacing);
|
int x = startX + i * (dotSize + dotSpacing);
|
||||||
painter.drawEllipse(x, dotY, dotSize, dotSize);
|
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)
|
void ProgressWidget::enterEvent(QEnterEvent *event)
|
||||||
|
|||||||
@ -53,7 +53,6 @@ private:
|
|||||||
QColor m_textColor;
|
QColor m_textColor;
|
||||||
QColor m_backgroundColor;
|
QColor m_backgroundColor;
|
||||||
QPixmap m_logoPixmap;
|
QPixmap m_logoPixmap;
|
||||||
QPixmap m_closePixmap;
|
|
||||||
bool m_isHovered;
|
bool m_isHovered;
|
||||||
std::function<void()> m_cancelCallback;
|
std::function<void()> m_cancelCallback;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user