Repo created

This commit is contained in:
Fr4nz D13trich 2025-11-22 13:58:55 +01:00
parent 4af19165ec
commit 68073add76
12458 changed files with 12350765 additions and 2 deletions

52
qt/qt_common/spinner.cpp Normal file
View file

@ -0,0 +1,52 @@
#include "qt/qt_common/spinner.hpp"
#include <QtCore/QString>
#include <QtCore/QTimer>
#include <QtCore/Qt>
namespace
{
int constexpr kMinSpinnerPixmap = 1;
int constexpr kMaxSpinnerPixmap = 12;
int constexpr kTimeoutMs = 100;
} // namespace
Spinner::Spinner()
{
for (int i = kMinSpinnerPixmap; i <= kMaxSpinnerPixmap; ++i)
{
auto const path = ":common/spinner" + QString::number(i) + ".png";
m_pixmaps.emplace_back(path);
}
setEnabled(false);
setAlignment(Qt::AlignCenter);
QSizePolicy policy(QSizePolicy::Fixed, QSizePolicy::Fixed);
policy.setRetainSizeWhenHidden(true);
setSizePolicy(policy);
setMinimumSize(m_pixmaps.front().size());
setPixmap(m_pixmaps.front());
m_timer = new QTimer(this /* parent */);
connect(m_timer, &QTimer::timeout, [this]()
{
m_progress = (m_progress + 1) % m_pixmaps.size();
setPixmap(m_pixmaps[m_progress]);
});
}
void Spinner::Show()
{
m_progress = 0;
setPixmap(m_pixmaps[m_progress]);
m_timer->start(kTimeoutMs);
show();
}
void Spinner::Hide()
{
m_timer->stop();
hide();
}