summaryrefslogtreecommitdiff
path: root/src/ui/mixerwindow.h
blob: f6b7be8acf4f90c58da27cde87c5a46d868f8807 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#pragma once

#include <tqwidget.h>
#include <tqmap.h>

#include "../model/audiodevice.h"

class PulseModel;
class KTabWidget;
class TQHBoxLayout;

class MixerWindow : public TQWidget
{
    TQ_OBJECT

public:
    explicit MixerWindow( PulseModel *model, TQWidget *parent = 0 );
    ~MixerWindow() {}

private slots:
    void onDeviceAdded( AudioDevice *dev );
    void onDeviceRemoved( AudioDevice *dev );

public:
    struct Tab {
        TQWidget      *page;
        TQHBoxLayout  *layout;
    };

private:

    Tab &tabForCategory( AudioDevice::Category cat );

    PulseModel *m_model;
    KTabWidget *m_tabs;

    Tab m_output;
    Tab m_input;
    Tab m_playback;
    Tab m_recording;

    TQMap<AudioDevice*, TQWidget*> m_widgets;
};