/
waterstone
/
file_processor
Обзор
Документация
Войти
/
waterstone
/
file_processor
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/table_model.h
69 строк
2 KB
Peter Sakhno
Initial commit
19 янв 2026, 11:08
19 янв 2026, 11:08
1ffa16c
Код
Авторство
О чём код?
#ifndef TABLE_MODEL_H #define TABLE_MODEL_H #include <unordered_map> #include <QPointer> #include <QDateTime> #include <QAbstractTableModel> #include "xor_file_processor.h" class TableModel; using TableModelQP = QPointer<TableModel>; class TableModel : public QAbstractTableModel { Q_OBJECT public: enum Column { ColumnBegin = 0, // TimestampColumn = ColumnBegin, InputFileColumn, OutputFileColumn, InformationColumn, // ColumnEnd }; using QAbstractTableModel::QAbstractTableModel; void AddTask(uint64_t task_id, const std::wstring& input_file, const std::wstring& output_file); void UpdateProgress(uint64_t task_id, int progress); void UpdateResult(uint64_t task_id, bool result, XorFileProcessor::ErrorCode error_code, const std::string& error_text); void AddTaskWithResult(uint64_t task_id, const std::wstring& input_file, const std::wstring& output_file, bool result, XorFileProcessor::ErrorCode error_code, const std::string& error_text); // Header: QVariant headerData (int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const override; // Basic functionality: int rowCount(const QModelIndex& parent = QModelIndex()) const override; int columnCount(const QModelIndex& parent = QModelIndex()) const override; QVariant data (const QModelIndex &index, int role = Qt::DisplayRole) const override; private: struct TaskInfo { QDateTime timestamp; QString input_file; QString output_file; bool running{}; int progress{}; bool result{}; XorFileProcessor::ErrorCode error_code; QString error_text; }; std::unordered_map<uint64_t, TaskInfo> m_data; }; #endif // TABLE_MODEL_H