Add initial project structure with essential files including .gitignore, application resources, and various model and view components for the application. Implemented asynchronous parsing support and database structure checks.

This commit is contained in:
2025-12-08 15:21:18 +03:00
parent 4f8c90c15b
commit 3467003721
110 changed files with 35406 additions and 0 deletions
+69
View File
@@ -0,0 +1,69 @@
#ifndef PAGEBREAKCONFIRMATIONDIALOG_H
#define PAGEBREAKCONFIRMATIONDIALOG_H
#include <QDialog>
#include <QList>
#include <QString>
class QVBoxLayout;
class QHBoxLayout;
class QLabel;
class QPushButton;
class QCheckBox;
class QTextEdit;
class QScrollArea;
struct PageBreakInfo {
int rowIndex;
QString headerText;
int currentPage;
int nextPage;
int emptyRowsToAdd;
};
class PageBreakConfirmationDialog : public QDialog
{
Q_OBJECT
public:
explicit PageBreakConfirmationDialog(const QList<PageBreakInfo> &pageBreakInfos, QWidget *parent = nullptr);
// Возвращает список строк, для которых пользователь подтвердил перенос
QList<int> getConfirmedRows() const;
// Возвращает, нужно ли показывать этот диалог в будущем
bool shouldShowDialogInFuture() const;
private slots:
void onConfirmAllClicked();
void onConfirmSelectedClicked();
void onSkipAllClicked();
void onDetailsToggled(bool checked);
void onSelectAllToggled(bool checked);
private:
void setupUI();
void updateDetailsText();
void updateSelectAllCheckBox();
QList<PageBreakInfo> m_pageBreakInfos;
QList<int> m_confirmedRows;
QList<QCheckBox*> m_rowCheckBoxes;
QVBoxLayout *m_mainLayout;
QLabel *m_titleLabel;
QLabel *m_descriptionLabel;
QScrollArea *m_checkBoxesScrollArea;
QCheckBox *m_selectAllCheckBox;
QTextEdit *m_detailsTextEdit;
QCheckBox *m_showDetailsCheckBox;
QCheckBox *m_rememberChoiceCheckBox;
QPushButton *m_confirmAllButton;
QPushButton *m_confirmSelectedButton;
QPushButton *m_skipAllButton;
QPushButton *m_cancelButton;
bool m_showDialogInFuture;
};
#endif // PAGEBREAKCONFIRMATIONDIALOG_H