impress_voice_input/src/ui/main_window.h
impressionyang baec3482a7 feat: 集成语音输入服务到主窗口和设置页面
主窗口新增 VoiceInputService 生命周期管理,支持通过配置页面
的开关动态启停 CapsLock 语音输入功能,窗口关闭时自动清理。

设置页面新增两个复选框:
- 调试录音:保存每次识别的原始音频到临时文件夹
- 快捷语音:启用 CapsLock 长按语音输入

转写页面和 STT 测试页面同步配置中的调试音频开关到引擎。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-13 11:13:15 +08:00

44 lines
881 B
C++

#pragma once
#include <QMainWindow>
#include <QTabWidget>
#include <memory>
namespace impress {
class ConfigManager;
class STTTestPage;
class FileTranscribePage;
class SettingsPage;
class VoiceInputService;
/**
* @brief 主窗口
*
* 使用 Tab 页导航管理三个功能页面。
*/
class MainWindow : public QMainWindow {
Q_OBJECT
public:
explicit MainWindow(ConfigManager* configManager, QWidget* parent = nullptr);
~MainWindow() override;
protected:
void closeEvent(QCloseEvent* event) override;
private:
void setupUI();
void setupMenuBar();
void loadStyleSheet();
void onVoiceInputConfigChanged();
ConfigManager* configManager_;
VoiceInputService* voiceInputService_;
STTTestPage* sttPage_;
FileTranscribePage* transcribePage_;
SettingsPage* settingsPage_;
QTabWidget* tabWidget_;
};
} // namespace impress