2
* KMix -- KDE's full featured mini mixer
5
* Copyright (C) 2000 Stefan Schimanski <1Stein@gmx.de>
7
* This program is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU Library General Public
9
* License as published by the Free Software Foundation; either
10
* version 2 of the License, or (at your option) any later version.
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15
* Library General Public License for more details.
17
* You should have received a copy of the GNU Library General Public
18
* License along with this program; if not, write to the Free
19
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
22
#ifndef KMIXERWIDGET_H
23
#define KMIXERWIDGET_H
31
#include "core/mixer.h"
32
#include "gui/mixdevicewidget.h"
35
#include <QVBoxLayout>
38
class KActionCollection;
50
class KMixerWidget : public QWidget
55
explicit KMixerWidget( Mixer *mixer,
56
QWidget *parent=0, ViewBase::ViewFlags vflags=0, GUIProfile* guiprof=0, KActionCollection* coll = 0 );
59
Mixer *mixer() { return _mixer; }
60
ViewBase* currentView();
61
GUIProfile* getGuiprof() { return _guiprof; };
67
void redrawMixer( const QString& mixer_ID );
70
void setTicks( bool on );
71
void setLabels( bool on );
72
void setIcons( bool on );
73
void toggleMenuBarSlot();
75
void saveConfig( KConfig *config );
76
void loadConfig( KConfig *config );
79
void controlsReconfiguredToplevel(QString mixerId);
80
void refreshVolumeLevelsToplevel();
84
QVBoxLayout *m_topLayout; // contains TabWidget
87
std::vector<ViewBase*> _views;
88
KActionCollection* _actionCollection; // -<- applciations wide action collection
92
void createLayout(ViewBase::ViewFlags vflags);
93
bool possiblyAddView(ViewBase* vbase);