| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 |
- #ifndef CREATEMEETINGDIALOG_H
- #define CREATEMEETINGDIALOG_H
- #include <QDialog>
- #include <QVBoxLayout>
- #include <QHBoxLayout>
- #include <QFormLayout>
- #include <QLabel>
- #include <QLineEdit>
- #include <QPushButton>
- #include <QTextEdit>
- #include <QDateTimeEdit>
- #include <QCheckBox>
- #include <QSpinBox>
- #include <QComboBox>
- #include <QGroupBox>
- #include <QDateTime>
- struct MeetingInfo {
- QString meetingName;
- QString description;
- QDateTime startTime;
- int duration; // 分钟
- int maxParticipants;
- bool requirePassword;
- QString password;
- bool recordMeeting;
- QString meetingType;
- bool joinAsAdmin; // 是否以管理员身份加入
- };
- class CreateMeetingDialog : public QDialog
- {
- Q_OBJECT
- public:
- explicit CreateMeetingDialog(QWidget *parent = nullptr);
- ~CreateMeetingDialog();
- // 获取会议信息
- MeetingInfo getMeetingInfo() const;
-
- // 设置默认值
- void setDefaultValues();
-
- // 获取是否以管理员身份加入
- bool getJoinAsAdmin() const;
- public slots:
- void accept() override;
- void reject() override;
- private slots:
- void onPasswordCheckChanged(bool checked);
- void onMeetingNameChanged();
- void validateInput();
- void generateRandomPassword();
- private:
- void setupUI();
- void applyStyles();
- bool isValidInput() const;
-
- // UI组件
- QVBoxLayout *m_mainLayout;
- QFormLayout *m_formLayout;
-
- // 基本信息组
- QGroupBox *m_basicGroup;
- QFormLayout *m_basicLayout;
- QLineEdit *m_meetingNameEdit;
- QTextEdit *m_descriptionEdit;
- QDateTimeEdit *m_startTimeEdit;
- QSpinBox *m_durationSpinBox;
- QSpinBox *m_maxParticipantsSpinBox;
- QComboBox *m_meetingTypeCombo;
-
- // 安全设置组
- QGroupBox *m_securityGroup;
- QVBoxLayout *m_securityLayout;
- QCheckBox *m_passwordCheckBox;
- QHBoxLayout *m_passwordLayout;
- QLineEdit *m_passwordEdit;
- QPushButton *m_generatePasswordButton;
- QCheckBox *m_recordCheckBox;
-
- // 角色选择
- QGroupBox *m_roleGroup;
- QVBoxLayout *m_roleLayout;
- QCheckBox *m_joinAsAdminCheckBox;
-
- // 按钮布局
- QHBoxLayout *m_buttonLayout;
- QPushButton *m_createButton;
- QPushButton *m_cancelButton;
-
- // 数据
- MeetingInfo m_meetingInfo;
- };
- #endif // CREATEMEETINGDIALOG_H
|