00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef CONFIG_PAGES_H
00023 #define CONFIG_PAGES_H
00024
00025 #include <QWidget>
00026
00027 #include "ui_AudioDriverConfigPage.h"
00028 #include "ui_KeyboardConfigPage.h"
00029 #include "ui_BehaviorConfigPage.h"
00030 #include "ui_RecordingConfigPage.h"
00031 #include "ui_AppearenceConfigPage.h"
00032 #include "ui_PerformanceConfigPage.h"
00033 #include "ui_AlsaDevicesPage.h"
00034 #include "ui_PaDriverPage.h"
00035
00036
00037
00038 class AlsaDevicesPage : public QWidget, private Ui::AlsaDevicesPage
00039 {
00040 public:
00041 AlsaDevicesPage(QWidget* parent) : QWidget(parent) {
00042 setupUi(this);
00043 }
00044 private:
00045 friend class AudioDriverConfigPage;
00046 };
00047
00048
00049 class PaDriverPage : public QWidget, private Ui::PaDriverPage
00050 {
00051 public:
00052 PaDriverPage(QWidget* parent) : QWidget(parent) {
00053 setupUi(this);
00054 }
00055
00056 private:
00057 friend class AudioDriverConfigPage;
00058 };
00059
00060
00061
00062 class ConfigPage : public QWidget
00063 {
00064 Q_OBJECT
00065 public:
00066 ConfigPage(QWidget* parent) : QWidget(parent) {};
00067 virtual void save_config() = 0;
00068 virtual void load_config() = 0;
00069 virtual void reset_default_config() = 0;
00070 };
00071
00072
00073
00074 class AudioDriverConfigPage : public ConfigPage, private Ui::AudioDriverConfigPage
00075 {
00076 Q_OBJECT
00077 public:
00078 AudioDriverConfigPage(QWidget *parent = 0);
00079
00080 void load_config();
00081 void save_config();
00082 void reset_default_config();
00083
00084 private:
00085 QVBoxLayout* m_mainLayout;
00086 AudioDriverConfigPage* m_driverConfigPage;
00087 AlsaDevicesPage* m_alsadevices;
00088 PaDriverPage* m_portaudiodrivers;
00089 QList<int> periodBufferSizesList;
00090
00091 private slots:
00092 void update_latency_combobox();
00093 void rate_combobox_index_changed(QString);
00094 void driver_combobox_index_changed(QString);
00095 void restart_driver_button_clicked();
00096 };
00097
00098
00099 class AppearenceConfigPage : public ConfigPage, private Ui::AppearenceConfigPage
00100 {
00101 Q_OBJECT
00102 public:
00103 AppearenceConfigPage(QWidget* parent = 0);
00104
00105 void load_config();
00106 void save_config();
00107 void reset_default_config();
00108
00109
00110 private:
00111 void update_theme_combobox(const QString& path);
00112 void create_connections();
00113 QString supportedIconSizes;
00114
00115 private slots:
00116 void dirselect_button_clicked();
00117 void style_index_changed(const QString& text);
00118 void theme_index_changed(const QString& theme);
00119 void use_selected_styles_pallet_checkbox_toggled(bool);
00120 void color_adjustbox_changed(int);
00121 void theme_option_changed();
00122 };
00123
00124
00125 class BehaviorConfigPage : public ConfigPage, private Ui::BehaviorConfigPage
00126 {
00127 Q_OBJECT
00128 public:
00129 BehaviorConfigPage(QWidget* parent = 0);
00130
00131 void load_config();
00132 void save_config();
00133 void reset_default_config();
00134
00135 private slots:
00136 void update_follow();
00137 };
00138
00139
00140 class KeyboardConfigPage : public ConfigPage, private Ui::KeyboardConfigPage
00141 {
00142 Q_OBJECT
00143 public:
00144 KeyboardConfigPage(QWidget* parent = 0);
00145
00146 void load_config();
00147 void save_config();
00148 void reset_default_config();
00149
00150 private slots:
00151 void keymap_index_changed(const QString& keymap);
00152 void update_keymap_combo();
00153 void on_exportButton_clicked();
00154 void on_printButton_clicked();
00155 };
00156
00157
00158 class PerformanceConfigPage : public ConfigPage, private Ui::PerformanceConfigPage
00159 {
00160 public:
00161 PerformanceConfigPage(QWidget* parent = 0);
00162
00163 void load_config();
00164 void save_config();
00165 void reset_default_config();
00166 };
00167
00168
00169 class RecordingConfigPage : public ConfigPage, private Ui::RecordingConfigPage
00170 {
00171 Q_OBJECT
00172 public:
00173 RecordingConfigPage(QWidget* parent = 0);
00174
00175 void load_config();
00176 void save_config();
00177 void reset_default_config();
00178
00179 private slots:
00180 void encoding_index_changed(int index);
00181 void use_onthefly_resampling_checkbox_changed(int state);
00182 };
00183
00184
00185 #endif