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

            Line data    Source code
       1              : #pragma once
       2              : 
       3              : #include <QDialog>
       4              : 
       5              : class QLabel;
       6              : class QPushButton;
       7              : class QCheckBox;
       8              : class QLineEdit;
       9              : class QListWidget;
      10              : class MailCache;
      11              : class FolderPredictor;
      12              : 
      13              : // T-134: Dialog for editing folder properties.
      14              : // T-199b: Uses MDI webfont icon picker (QListWidget, searchable, 7448 icons).
      15              : class FolderPropertiesDialog : public QDialog {
      16          285 :   Q_OBJECT
      17              :   friend class TestSprint55Dialogs;
      18              : 
      19              : public:
      20              :   struct Options {
      21              :     QString folderPath;
      22              :     QString currentIcon;  // MDI icon name, empty = default
      23              :     QString currentColor; // hex color, empty = no tint
      24              :     bool isSubscribed = true;
      25              :     bool isHidden = false;
      26              :   };
      27              : 
      28              :   explicit FolderPropertiesDialog(const Options &opts, MailCache *cache,
      29              :                                    FolderPredictor *predictor,
      30              :                                    const QString &account,
      31              :                                    QWidget *parent = nullptr);
      32              : 
      33            3 :   QString selectedIcon() const { return m_selectedIcon; }
      34            3 :   QString selectedColor() const { return m_selectedColor; }
      35              :   bool isSubscribed() const;
      36              :   bool isHidden() const;
      37              : 
      38              : private slots:
      39              :   void filterIcons(const QString &text);
      40              : 
      41              : private:
      42              :   // T-304: Runtime language switching
      43              :   void retranslateUi();
      44              : 
      45              : protected:
      46              :   void changeEvent(QEvent *event) override;
      47              : 
      48              :   void buildAppearanceSection();
      49              :   void buildSubscriptionSection();
      50              :   void buildCacheSection();
      51              :   void buildStatsSection();  // T-288
      52              :   void updateColorPreview();
      53              :   void refreshCacheLabels();
      54              :   void refreshStatsLabels();  // T-288
      55              : 
      56              :   Options m_opts;
      57              :   MailCache *m_cache;
      58              :   FolderPredictor *m_predictor;  // T-288
      59              :   QString m_account;
      60              : 
      61              :   // Appearance
      62              :   QString m_selectedIcon;
      63              :   QString m_selectedColor;
      64              : 
      65              :   QLineEdit *m_iconFilter = nullptr;
      66              :   QListWidget *m_iconList = nullptr;
      67              :   QPushButton *m_colorBtn = nullptr;
      68              : 
      69              :   // Subscription
      70              :   QCheckBox *m_subscribedCheck = nullptr;
      71              :   QCheckBox *m_hiddenCheck = nullptr;
      72              : 
      73              :   // Cache
      74              :   QLabel *m_headerCountLabel = nullptr;
      75              :   QLabel *m_bodyCountLabel = nullptr;
      76              : 
      77              :   // T-288: Statistics
      78              :   QLabel *m_diskUsageLabel = nullptr;
      79              :   QLabel *m_serverSizeLabel = nullptr;
      80              :   QLabel *m_avgSizeLabel = nullptr;
      81              :   QLabel *m_predictorDocsLabel = nullptr;
      82              :   QLabel *m_predictorTokensLabel = nullptr;
      83              : };
        

Generated by: LCOV version 2.0-1