mainwindow.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3. #include <memory>
  4. #include <QMainWindow>
  5. #include <QListWidget>
  6. namespace Ui {
  7. class MainWindow;
  8. }
  9. class MainWindow : public QMainWindow {
  10. Q_OBJECT
  11. private Q_SLOTS:
  12. void cancelCloseAction();
  13. void saveCurrentConfig();
  14. void saveConfigAsFile();
  15. void loadConfigFromFile();
  16. void showAboutPage();
  17. void enableApplyButton();
  18. void updateResamplerLabel(int num);
  19. void updatePeriodSizeEdit(int size);
  20. void updatePeriodSizeSlider();
  21. void updatePeriodCountEdit(int count);
  22. void updatePeriodCountSlider();
  23. void selectQuadDecoderFile();
  24. void select51DecoderFile();
  25. void select61DecoderFile();
  26. void select71DecoderFile();
  27. void select3D71DecoderFile();
  28. void updateJackBufferSizeEdit(int size);
  29. void updateJackBufferSizeSlider();
  30. void updateHrtfModeLabel(int num);
  31. void addHrtfFile();
  32. void removeHrtfFile();
  33. void updateHrtfRemoveButton();
  34. void showEnabledBackendMenu(QPoint pt);
  35. void showDisabledBackendMenu(QPoint pt);
  36. void selectOSSPlayback();
  37. void selectOSSCapture();
  38. void selectSolarisPlayback();
  39. void selectWaveOutput();
  40. public:
  41. explicit MainWindow(QWidget *parent=nullptr);
  42. ~MainWindow() override;
  43. private:
  44. std::unique_ptr<QValidator> mPeriodSizeValidator;
  45. std::unique_ptr<QValidator> mPeriodCountValidator;
  46. std::unique_ptr<QValidator> mSourceCountValidator;
  47. std::unique_ptr<QValidator> mEffectSlotValidator;
  48. std::unique_ptr<QValidator> mSourceSendValidator;
  49. std::unique_ptr<QValidator> mSampleRateValidator;
  50. std::unique_ptr<QValidator> mJackBufferValidator;
  51. std::unique_ptr<Ui::MainWindow> ui;
  52. bool mNeedsSave{};
  53. void closeEvent(QCloseEvent *event) override;
  54. void selectDecoderFile(QLineEdit *line, const char *caption);
  55. QStringList collectHrtfs();
  56. void loadConfig(const QString &fname);
  57. void saveConfig(const QString &fname) const;
  58. };
  59. #endif // MAINWINDOW_H