Files
Radio/module/radio/BackEnd/MainWidget.h
T
2026-07-23 18:11:07 +08:00

56 lines
1.7 KiB
C++

#ifndef MainWidget_H
#define MainWidget_H
#include "../Global.h"
#include "YSGraphic_Core/base/export.h"
#include <QAudioRecorder>
#include <QMediaPlayer>
#include <QMediaRecorder>
#include <QWidget>
class IntermediateFrequencyWidget;
class SweepFrequencyWidget;
class RadioWidget;
class BaseWidget;
class ShowTime;
class BaseWidgetMenu;
class QVBoxLayout;
class TopMenuBar;
class ServerSettingWidget;
class FileExplorer;
class MainWidget : public QWidget, public YSG::Singleton_Widget<MainWidget> {
public:
explicit MainWidget(QWidget *parent = nullptr);
QVBoxLayout *mMainLayout;
RadioWidget *mRadioWidget;
SweepFrequencyWidget *mSweepFrequencyWidget;
IntermediateFrequencyWidget *mIntermediateFrequencyWidget;
TopMenuBar* mTopMenuBar;
BaseWidgetMenu *mMainMenu, *mTopMenu;
ServerSettingWidget* mServerSettingWidget;
void showIntermediateFrequencyWidget() const;
void showSweepFrequencyWidget() const;
void showRadioWidget() const;
void showServerSettingWidget();
[[nodiscard]] BaseWidget* getCurrentBaseWidget() const;
QWidget* currentHoverWidget() {return mCurrentHoverWidget;}
void setCurrentHoverWidget(QWidget* widget = nullptr);
void hideCurHoverWidget();
bool mSelectShotScreenDialogFirst = true, mSelectAudioFileFirst = true;
FileExplorer *mSelectShotScreenDialog, *mSelectAudioFile;
QAudioRecorder *audioRecorder;
QMediaPlayer *mediaPlayer;
protected:
void paintEvent(QPaintEvent *event) override;
void resizeEvent(QResizeEvent *event) override;
void keyPressEvent(QKeyEvent *event) override;
void wheelEvent(QWheelEvent *event) override;
private:
QWidget* mCurrentHoverWidget{};
};
#endif