summaryrefslogtreecommitdiffstats
path: root/kradio3/plugins/timeshifter/timeshifter-configuration.h
blob: d8aee64d0731e3d9b1f00de39b47425e269f55b0 (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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/***************************************************************************
                          v4lradio-configuration.h  -  description
                             -------------------
    begin                : Fre Jun 20 2003
    copyright            : (C) 2003 by Martin Witte
    email                : witte@kawo1.rwth-aachen.de
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef KRADIO_TIMESHIFTER_CONFIGURATION_H
#define KRADIO_TIMESHIFTER_CONFIGURATION_H

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include "../../src/include/soundstreamclient_interfaces.h"
#include "../../src/include/gui_list_helper.h"

#include "timeshifter-configuration-ui.h"

class TQWidget;
class TimeShifter;

class TimeShifterConfiguration : public TimeShifterConfigurationUI,
                                 public ISoundStreamClient
{
Q_OBJECT
  TQ_OBJECT
public :
    TimeShifterConfiguration (TQWidget *parent, TimeShifter *shifter);
    ~TimeShifterConfiguration ();

    bool connectI (Interface *i);
    bool disconnectI (Interface *i);

    void noticeConnectedSoundClient(ISoundStreamClient::thisInterface *i, bool pointer_valid);
    void noticeDisconnectedSoundClient(ISoundStreamClient::thisInterface *i, bool pointer_valid);

// ISoundStreamClient

RECEIVERS:
    void noticeConnectedI (ISoundStreamServer *s, bool pointer_valid);
    bool noticePlaybackChannelsChanged(const TQString & /*client_id*/, const TQStringList &/*channels*/);

protected:

    bool setPlaybackMixer(const TQString &_mixer_id, const TQString &Channel);


protected slots:

    void selectTempFile();
    void slotComboPlaybackMixerSelected(int idx);

    void slotOK();
    void slotCancel();
    void slotSetDirty();
    void slotUpdateConfig();

protected:

    bool    m_ignoreGUIChanges;
    int     m_myControlChange;

    typedef GUIListHelper<TQComboBox, TQString> StringListHelper;
    typedef GUISimpleListHelper<TQComboBox>    ChannelListHelper;

    StringListHelper  m_PlaybackMixerHelper;
    ChannelListHelper m_PlaybackChannelHelper;

    TimeShifter *m_Shifter;
    bool         m_dirty;
};

#endif