OSDN Git Service

[VM][Qt][UI][EMU][WIP] Use EMU_TEMPLATE:: instead of EMU:: . Some VMs are not apply...
[csp-qt/common_source_project-fm7.git] / source / src / qt / gui / sound_dialog.h
1 /*
2  * Common Source Project/ Qt
3  * (C) 2015 K.Ohta <whatisthis.sowhat _at_ gmail.com>
4  *  Qt: Menu->Adjust Volume.
5  *  History: Jul 28, 2015 : Initial
6  */
7
8 #ifndef _CSP_QT_SOUND_DIALOG_H
9 #define _CSP_QT_SOUND_DIALOG_H
10
11 #include <QApplication>
12 #include <QString>
13 #include <QVariant>
14 #include <QAction>
15 #include <QWidget>
16 #include <QIcon>
17 #include <QLabel>
18 #include <QSlider>
19 #include <QGroupBox>
20 #include <QPushButton>
21 #include <QVBoxLayout>
22 #include <QHBoxLayout>
23 #include <QGridLayout>
24
25 #include "common.h"
26 #include "config.h"
27 //#include "emu.h"
28
29 #include "qt_main.h"
30 #include "commonclasses.h"
31 #include "menu_flags.h"
32
33 QT_BEGIN_NAMESPACE
34 class USING_FLAGS;
35 //
36
37 class DLL_PREFIX Ui_SndSliderObject : public QSlider
38 {
39         Q_OBJECT
40 private:
41         USING_FLAGS *using_flags;
42         
43         QWidget *parent_widget;
44         config_t *p_config;
45         int bind_num;
46 public:
47         Ui_SndSliderObject(USING_FLAGS *p, Qt::Orientation orientation, QWidget *parent, int num = 0);
48         ~Ui_SndSliderObject();
49 public slots:
50         void setValue(int volume);
51         void setLevelValue(int volume);
52         void setBalanceValue(int volume);
53         void resetVolumeValue(void);
54         void resetBalanceValue(void);
55 signals:        
56         int sig_emu_update_config(void);
57         int sig_emu_update_volume_level(int, int);
58         int sig_emu_update_volume_label(int, int);
59         int sig_emu_update_volume_balance(int, int);
60         int sig_update_master_volume(int);
61 };
62
63 class DLL_PREFIX Ui_SoundDialog : public QWidget
64 {
65         Q_OBJECT
66 private:
67         QWidget *parent_widget;
68         QGridLayout *MasterLayout;
69 protected:
70         USING_FLAGS *using_flags;
71         config_t *p_config;
72         Ui_SndSliderObject *sliderMasterVolume;
73         QGroupBox *boxMasterVolume;
74         QVBoxLayout *VBoxMasterVolume;
75         Ui_SndSliderObject *sliderDeviceVolume[32 * 2];
76         QGroupBox *boxDeviceVolume[32];
77         QGridLayout *LayoutDeviceVolume[32];
78         QLabel *LabelVolume[32];
79         QLabel *LabelBalance[32];
80         QLabel *LabelLevel[32];
81
82         QPushButton *ResetBalance[32];
83         QPushButton *closeButton;
84 public:
85         Ui_SoundDialog(USING_FLAGS *p, QWidget *parent = 0);
86         ~Ui_SoundDialog();
87         void setDeviceLabel(int num, QString s);
88         void setSliderVisible(int num, bool flag);
89 public slots:
90         void do_update_volume_label(int num, int level);
91         signals:
92 };
93 QT_END_NAMESPACE
94 #endif //_CSP_QT_SOUND_DIALOG_H