20#ifndef ORES_QT_CURRENCY_HISTORY_DIALOG_HPP
21#define ORES_QT_CURRENCY_HISTORY_DIALOG_HPP
28#include "ores.qt/ClientManager.hpp"
29#include "ores.risk/domain/currency_version.hpp"
30#include "ores.risk/domain/currency_version_history.hpp"
31#include "ores.utility/log/make_logger.hpp"
32#include "ui_CurrencyHistoryDialog.h"
35class CurrencyHistoryDialog;
47 inline static std::string_view logger_name =
48 "ores.qt.currency_history_dialog";
50 [[nodiscard]]
static auto& lg() {
52 static auto instance = make_logger(logger_name);
56 const QIcon& getHistoryIcon()
const;
61 QWidget* parent =
nullptr);
66 QSize sizeHint()
const override;
69 void statusChanged(
const QString& message);
70 void errorOccurred(
const QString& error_message);
73 void onVersionSelected(
int index);
74 void onHistoryLoaded();
75 void onHistoryLoadError(
const QString& error);
78 void displayChangesTab(
int version_index);
79 void displayFullDetailsTab(
int version_index);
86 using DiffResult = QVector<QPair<QString, QPair<QString, QString>>>;
87 DiffResult calculateDiff(
91 std::unique_ptr<Ui::CurrencyHistoryDialog> ui_;
Qt-based graphical user interface for ORE Studio.
Definition AboutDialog.hpp:35
Implements logging for ORE Studio.
Definition lifecycle_manager.hpp:30
Manages the lifecycle of the network client and IO context.
Definition ClientManager.hpp:56
Widget for displaying currency version history.
Definition CurrencyHistoryDialog.hpp:43
Represents a specific version of a currency with metadata.
Definition currency_version.hpp:31
Contains the full version history for a currency.
Definition currency_version_history.hpp:32