MailJD nbsp;·nbsp; Test Dashboard nbsp;·nbsp; Coverage
LCOV - code coverage report
Current view: top level - ui - SetupWizard.h (source / functions) Coverage Total Hit
Test: MailJD Coverage (Unit + E2E) Lines: 100.0 % 5 5
Test Date: 2026-06-21 21:10:19 Functions: 100.0 % 5 5
Legend: Lines:     hit not hit

            Line data    Source code
       1              : #pragma once
       2              : 
       3              : #include <QWizard>
       4              : 
       5              : class AccountFormWidget;
       6              : class QLabel;
       7              : class QProgressBar;
       8              : class QPushButton;
       9              : 
      10              : class ImapService;
      11              : struct AccountConfig;
      12              : 
      13              : // First-run wizard for setting up the initial email account.
      14              : // Uses AccountFormWidget (shared with SettingsDialog) for the account form.
      15              : class SetupWizard : public QWizard {
      16           11 :   Q_OBJECT
      17              : 
      18              : public:
      19              :   explicit SetupWizard(QWidget *parent = nullptr);
      20              : 
      21              :   // Override config dir for testing
      22              :   void setConfigDir(const QString &dir);
      23              : 
      24              :   // Returns the configured account after wizard completes
      25              :   AccountConfig configuredAccount() const;
      26              : 
      27              : private:
      28              :   QString m_configDir;
      29              : 
      30              :   // T-304: Runtime language switching
      31              :   void retranslateUi();
      32              : 
      33              : protected:
      34              :   void changeEvent(QEvent *event) override;
      35              : };
      36              : 
      37              : // Page 1: Welcome message
      38              : class WelcomePage : public QWizardPage {
      39           20 :   Q_OBJECT
      40              : 
      41              : public:
      42              :   explicit WelcomePage(QWidget *parent = nullptr);
      43              : };
      44              : 
      45              : // Page 2: Account form (embeds AccountFormWidget)
      46              : class AccountPage : public QWizardPage {
      47           21 :   Q_OBJECT
      48              : 
      49              : public:
      50              :   explicit AccountPage(QWidget *parent = nullptr);
      51              : 
      52              :   bool validatePage() override;
      53              : 
      54           11 :   AccountFormWidget *form() const { return m_form; }
      55              : 
      56              : private:
      57              :   AccountFormWidget *m_form = nullptr;
      58              : };
      59              : 
      60              : // Page 3: Connection test + summary
      61              : class TestPage : public QWizardPage {
      62           30 :   Q_OBJECT
      63              : 
      64              : public:
      65              :   explicit TestPage(QWidget *parent = nullptr);
      66              : 
      67              :   void initializePage() override;
      68              :   bool isComplete() const override;
      69              : 
      70              : private:
      71              :   void runTest();
      72              :   void onTestSuccess();
      73              :   void onTestFailed(const QString &error);
      74              : 
      75              :   QLabel *m_summaryLabel = nullptr;
      76              :   QLabel *m_statusLabel = nullptr;
      77              :   QProgressBar *m_progressBar = nullptr;
      78              :   QPushButton *m_retryButton = nullptr;
      79              : 
      80              :   ImapService *m_testService = nullptr;
      81              :   bool m_testComplete = false;
      82              : };
        

Generated by: LCOV version 2.0-1