#ifndef PROJECTSETTINGSDIALOG_H #define PROJECTSETTINGSDIALOG_H #include #include #include #include #include #include #include #include #include #include #include "../model/projectsettingsmodel.h" #include "../model/designatormappingmodel.h" class ProjectSettingsDialog : public QDialog { Q_OBJECT public: explicit ProjectSettingsDialog(ProjectSettingsModel *settingsModel, DesignatorMappingModel *mappingModel = nullptr, QWidget *parent = nullptr); // Методы для получения настроек QString getCurrentVariant() const; private slots: void onVariantChanged(const QString &variant); void onAvailableVariantsChanged(); void onResetToDefaults(); void onSaveSettings(); private: void setUp(); void setWidgets(); void setUpLayout(); void setUpConnections(); void createDesignatorMappingTab(); ProjectSettingsModel *m_settingsModel; DesignatorMappingModel *m_mappingModel; // Виджеты для варианта QComboBox *m_variantComboBox; // Виджеты для настроек столбцов (убрано) // Кнопки QPushButton *m_okButton; QPushButton *m_cancelButton; QPushButton *m_resetButton; QPushButton *m_saveButton; // Вкладки QTabWidget *m_tabWidget; // Статические константы static const QString DEFAULT_VARIANT; }; #endif // PROJECTSETTINGSDIALOG_H