Files
qt6-migration-pipeline/Lts/Common/LtsUtils/LtsUtilsGui/ConnectDialog/connect_dialog_nt.h
T

64 lines
1.0 KiB
C++
Executable File

#pragma once
#include <ConnectDialog/ltsutilsguiconnectdialog_export.h>
#include <LtsWidgets/lts_frameless_dialog.h>
#include <functional>
class QTimer;
namespace Ui
{
class ConnectingDialog;
}
namespace LtsUtils
{
class LTSUTILSGUICONNECTDIALOG_EXPORT ConnectingDialogNT : public LtsWidgets::LtsFramelessDialog
{
Q_OBJECT
public:
explicit ConnectingDialogNT(const std::function<bool(int)> &checkFn,
const QString &serviceName,
const QString &exerciseName,
QWidget *parent);
~ConnectingDialogNT();
void failed();
private slots:
void slotGo();
void slotRetry();
signals:
void signalGo();
void signalFailed();
void signalSuccess();
private:
QString m_serviceName;
QString m_exerciseName;
std::function<bool(int)> m_checkFn;
bool m_go;
QTimer *m_autoRetryTimer;
int m_autoRetryTick { 0 };
Ui::ConnectingDialog *m_ui;
int random(int min, int max);
bool event(QEvent *event) override;
void reset();
};
}