#ifndef LICENSEMANAGER_EDITCLIENTDIALOG_H #define LICENSEMANAGER_EDITCLIENTDIALOG_H // Qt #include #include #include #include #include #include "LicenseModel/LicenseModel.h" class QCalendarWidget; class QCheckBox; class QLineEdit; class QTabWidget; class QTextEdit; // Self class LicenseModel; class EditClientDialog : public QDialog { Q_OBJECT public: enum class Type { None = 0, Add, Edit, }; EditClientDialog(LicenseModel* model, QWidget *parent = nullptr); ~EditClientDialog(); void setType(Type type); Type getType() const; LicenseModel::LicenseItem getLicenseItem() const; void clear(); void setClientInfo(int index); private slots: void onFilesChanged(const QStringList &paths); private: void loadSettings(); void saveSettings(); QLabel* makeLabel(const QString &text); private: LicenseModel* m_model{nullptr}; QTabWidget* m_tabWidget{nullptr}; QLabel* m_configPathLabel{nullptr}; QWidget* m_manualWidget{nullptr}; QLineEdit* m_firstNameLineEdit{nullptr}; //!< Поле ввода имени пользователя. QLineEdit* m_lastNameLineEdit{nullptr}; //!< Поле ввода фамилии пользователя. QLineEdit* m_patronymicLineEdit{nullptr}; //!< Поле ввода отчества пользователя. QLineEdit* m_emailLineEdit{nullptr}; //!< Поле ввода электронной почты. QLineEdit* m_phoneLineEdit{nullptr}; //!< Поле ввода номера телефона. QLineEdit* m_yourCompanyNameTextEdit{nullptr}; //!< Поле ввода названия компании пользователя. QLineEdit* m_sellerNameTextEdit{nullptr}; //!< Поле ввода названия продавца (если используется). QLineEdit* m_cityLineEdit{nullptr}; //!< Поле ввода города. QLineEdit* m_hardwareHashLineEdit{nullptr}; //!< Поле для отображения хеша оборудования. QCheckBox* m_useTemporaryLicenseCheckBox{nullptr};//!< QCalendarWidget* m_calendarWidget{nullptr}; //!< QTextEdit* m_commentTextEdit{nullptr}; //!< QPushButton* m_saveButton{nullptr}; //!< QString m_filesPath; Type m_type = Type::None; }; #endif //LICENSEMANAGER_EDITCLIENTDIALOG_H