20#ifndef ORES_QT_SPLASHSCREEN_HPP
21#define ORES_QT_SPLASHSCREEN_HPP
24#include <QSplashScreen>
25#include <QApplication>
27#include "ores.utility/log/make_logger.hpp"
31class SplashScreen :
public QSplashScreen
36 inline static std::string_view logger_name =
"ores.qt.splash_screen";
40 static auto instance = make_logger(logger_name);
45 explicit SplashScreen(
const QPixmap& pixmap = QPixmap());
46 void paintEvent(QPaintEvent* e)
override;
47 void ensureFirstPaint()
const;
48 void setProgressDuration(
int milliseconds);
49 void setMessage(
const QString& message);
52 void progressFinished();
55 void updateProgress();
58 bool painted_ =
false;
60 QTimer* progressTimer_ =
nullptr;
61 int totalDuration_ = 0;
63 int updateInterval_ = 50;
Qt-based graphical user interface for ORE Studio.
Definition AboutDialog.hpp:35
Implements logging for ORE Studio.
Definition lifecycle_manager.hpp:30