#pragma once #include #include #include #include #include #include #include #include #include "db/BankProfileInfo.h" class BankSetupWizard final : public QDialog { Q_OBJECT public: BankSetupWizard(QWidget *parent, const QString &deviceId, const BankProfileInfo &app); ~BankSetupWizard() override; private: QString m_deviceId; BankProfileInfo m_app; QStackedWidget *m_stack; // Step 2 QLineEdit *m_pinCodeEdit; // Step 3 QLabel *m_progressLabel; QProgressBar *m_progressBar; QPushButton *m_backBtn3; // Step 4 QLabel *m_resultLabel; QTableWidget *m_cardsTable; QWidget *m_successPage; QWidget *m_errorPage; QLabel *m_errorText; QThread *m_workerThread = nullptr; QStringList m_pausedProfiles; // коды профилей, выключенных на время мастера void pauseActiveProfiles(); void resumePausedProfiles(); QWidget *createStep1(); QWidget *createStep2(); QWidget *createStep3(); QWidget *createStep4Success(); QWidget *createStep4Error(); void startVerification(); void runPinCheck(); void runProfileCheck(); void runCardCheck(); void onVerificationSuccess(); void onVerificationError(const QString &error); void stopWorkerThread(); void setProgress(int value, const QString &text); };