Protect intrusive_ptr and ComPtr from moving to itself
[openal-soft.git] / utils / alsoft-config / mainwindow.h
blobca53582b21a65fd2eca454680c9bb74042885ac1
1 #ifndef MAINWINDOW_H
2 #define MAINWINDOW_H
4 #include <QMainWindow>
5 #include <QListWidget>
7 namespace Ui {
8 class MainWindow;
11 class MainWindow : public QMainWindow
13 Q_OBJECT
15 public:
16 explicit MainWindow(QWidget *parent = 0);
17 ~MainWindow();
19 private slots:
20 void cancelCloseAction();
22 void saveCurrentConfig();
24 void saveConfigAsFile();
25 void loadConfigFromFile();
27 void showAboutPage();
29 void enableApplyButton();
31 void updateResamplerLabel(int num);
33 void updatePeriodSizeEdit(int size);
34 void updatePeriodSizeSlider();
35 void updatePeriodCountEdit(int size);
36 void updatePeriodCountSlider();
38 void selectQuadDecoderFile();
39 void select51DecoderFile();
40 void select61DecoderFile();
41 void select71DecoderFile();
43 void updateJackBufferSizeEdit(int size);
44 void updateJackBufferSizeSlider();
46 void updateHrtfModeLabel(int num);
47 void addHrtfFile();
48 void removeHrtfFile();
50 void updateHrtfRemoveButton();
52 void showEnabledBackendMenu(QPoint pt);
53 void showDisabledBackendMenu(QPoint pt);
55 void selectOSSPlayback();
56 void selectOSSCapture();
58 void selectSolarisPlayback();
60 void selectWaveOutput();
62 private:
63 Ui::MainWindow *ui;
65 QValidator *mPeriodSizeValidator;
66 QValidator *mPeriodCountValidator;
67 QValidator *mSourceCountValidator;
68 QValidator *mEffectSlotValidator;
69 QValidator *mSourceSendValidator;
70 QValidator *mSampleRateValidator;
71 QValidator *mJackBufferValidator;
73 bool mNeedsSave;
75 void closeEvent(QCloseEvent *event);
77 void selectDecoderFile(QLineEdit *line, const char *name);
79 QStringList collectHrtfs();
81 void loadConfig(const QString &fname);
82 void saveConfig(const QString &fname) const;
85 #endif // MAINWINDOW_H