mainform.h 998 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef MAINFORM_H
  2. #define MAINFORM_H
  3. #include <QWidget>
  4. #include <QLibrary>
  5. #include <QDebug>
  6. #include <QMetaType>
  7. enum DevMode
  8. {
  9. AudioInput = 1,
  10. AudioOutput = (1 << 1),
  11. VideoDevice = (1 << 2),
  12. MediaALL = 0xFFFF
  13. };
  14. class AudioDeviceInfo
  15. {
  16. public:
  17. QString name;
  18. DevMode mod;
  19. };
  20. Q_DECLARE_METATYPE(AudioDeviceInfo)
  21. namespace Ui {
  22. class MainForm;
  23. }
  24. class MainForm : public QWidget
  25. {
  26. Q_OBJECT
  27. public:
  28. explicit MainForm(QWidget *parent = nullptr);
  29. ~MainForm();
  30. private slots:
  31. void on_loadBtn_clicked();
  32. bool loadExportFunctions();
  33. void modeChanged(int idx);
  34. void deviceChanged(int idx);
  35. void on_saveBtn_clicked();
  36. private:
  37. QVariant getCurrentActiveDev(DevMode mode);
  38. bool setCurrentActiveDev(DevMode mode, QVariant value);
  39. QString getRootIniPath();
  40. DevMode convertIdx2Mode(int idx);
  41. private:
  42. Ui::MainForm *ui;
  43. QLibrary* deviceInfoLib;
  44. AudioDeviceInfo m_deviceInfo;
  45. QString rootFilePath;
  46. };
  47. #endif // MAINFORM_H