53 lines
1.6 KiB
C
Raw Normal View History

2026-06-26 17:55:15 +08:00
#ifndef DRONESCREWCTRL_DIALOG_CAMERASETTING_H
#define DRONESCREWCTRL_DIALOG_CAMERASETTING_H
#include <QDialog>
#include <QString>
#include "IVrConfig.h"
namespace Ui { class DialogCameraSetting; }
/**
* @brief
*
* Server IP + (μs) +
* - GetServerIp()/GetCameraParams()
* - applyRequested 便
*/
class DialogCameraSetting : public QDialog
{
Q_OBJECT
public:
explicit DialogCameraSetting(QWidget* parent = nullptr);
~DialogCameraSetting() override;
void SetParams(const QString& serverIp, const DroneScrewCameraParams& cam);
QString GetServerIp() const;
DroneScrewCameraParams GetCameraParams() const;
signals:
//「应用」按钮:实时下发但不关闭对话框
void applyRequested(const QString& serverIp, const DroneScrewCameraParams& cam);
private slots:
void on_btn_ok_clicked();
void on_btn_cancel_clicked();
void on_btn_apply_clicked();
void on_btn_reset_clicked();
private:
2026-07-03 14:19:06 +08:00
bool eventFilter(QObject* watched, QEvent* event) override;
2026-06-26 17:55:15 +08:00
void loadToUi(const QString& serverIp, const DroneScrewCameraParams& cam);
void collectFromUi(); // 把界面值写回 m_serverIp / m_camera
2026-07-03 14:19:06 +08:00
void setupInputKeyboard();
2026-06-26 17:55:15 +08:00
private:
Ui::DialogCameraSetting* ui{nullptr};
QString m_serverIp;
DroneScrewCameraParams m_camera;
};
#endif // DRONESCREWCTRL_DIALOG_CAMERASETTING_H