Double the async event queue size
[openal-soft.git] / utils / alsoft-config / mainwindow.h
blob9596793ebccc35d107cee521c6a01bb3952e6ed0
1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
4 #include <memory>
6 #include <QMainWindow>
7 #include <QListWidget>
9 namespace Ui {
10 class MainWindow;
13 class MainWindow : public QMainWindow {
14 Q_OBJECT
16 private Q_SLOTS:
17 void cancelCloseAction();
19 void saveCurrentConfig();
21 void saveConfigAsFile();
22 void loadConfigFromFile();
24 void showAboutPage();
26 void enableApplyButton();
28 void updateResamplerLabel(int num);
30 void updatePeriodSizeEdit(int size);
31 void updatePeriodSizeSlider();
32 void updatePeriodCountEdit(int count);
33 void updatePeriodCountSlider();
35 void selectQuadDecoderFile();
36 void select51DecoderFile();
37 void select61DecoderFile();
38 void select71DecoderFile();
39 void select3D71DecoderFile();
41 void updateJackBufferSizeEdit(int size);
42 void updateJackBufferSizeSlider();
44 void updateHrtfModeLabel(int num);
45 void addHrtfFile();
46 void removeHrtfFile();
48 void updateHrtfRemoveButton();
50 void showEnabledBackendMenu(QPoint pt);
51 void showDisabledBackendMenu(QPoint pt);
53 void selectOSSPlayback();
54 void selectOSSCapture();
56 void selectSolarisPlayback();
58 void selectWaveOutput();
60 public:
61 explicit MainWindow(QWidget *parent=nullptr);
62 ~MainWindow() override;
64 private:
65 std::unique_ptr<QValidator> mPeriodSizeValidator;
66 std::unique_ptr<QValidator> mPeriodCountValidator;
67 std::unique_ptr<QValidator> mSourceCountValidator;
68 std::unique_ptr<QValidator> mEffectSlotValidator;
69 std::unique_ptr<QValidator> mSourceSendValidator;
70 std::unique_ptr<QValidator> mSampleRateValidator;
71 std::unique_ptr<QValidator> mJackBufferValidator;
73 std::unique_ptr<Ui::MainWindow> ui;
75 bool mNeedsSave{};
77 void closeEvent(QCloseEvent *event) override;
79 void selectDecoderFile(QLineEdit *line, const char *caption);
81 QStringList collectHrtfs();
83 void loadConfig(const QString &fname);
84 void saveConfig(const QString &fname) const;
87 #endif // MAINWINDOW_H