53 inline static std::string_view logger_name =
54 "ores.qt.import_currency_dialog";
56 [[nodiscard]]
static auto& lg() {
58 static auto instance = make_logger(logger_name);
71 const std::vector<risk::domain::currency>& currencies,
72 const QString& filename,
74 const QString& username,
75 QWidget* parent =
nullptr);
83 [[nodiscard]] std::vector<risk::domain::currency>
103 void onImportClicked();
108 void onCancelClicked();
113 void onSelectAllChanged(
int state);
118 void onCurrencyCheckChanged();
129 void populateTable();
134 void updateImportButtonState();
139 void updateSelectionCount();
142 std::vector<risk::domain::currency> currencies_;
143 std::vector<std::string> validation_errors_;
149 QLabel* filenameLabel_;
150 QCheckBox* selectAllCheckbox_;
151 QLabel* selectionCountLabel_;
152 QTableWidget* currencyTable_;
153 QProgressBar* progressBar_;
154 QLabel* statusLabel_;
155 QPushButton* importButton_;
156 QPushButton* cancelButton_;
158 bool importInProgress_;
159 std::atomic<bool> cancelRequested_;