3
* KMix -- KDE's full featured mini mixer
5
* Copyright Christian Esken <esken@kde.org>
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.
21
#ifndef MIXERTOOLBOX_H
22
#define MIXERTOOLBOX_H
36
* This toolbox contains various static methods that are shared throughout KMix.
37
* It only contains no-GUI code. The shared with-GUI code is in KMixToolBox
38
* The reason, why it is not put in a common base class is, that the classes are
39
* very different and cannot be changed (e.g. KPanelApplet) without major headache.
41
class MixerToolBox : public QObject
46
static MixerToolBox* instance();
47
void initMixer(bool, QString&);
49
bool possiblyAddMixer(Mixer *mixer);
50
void removeMixer(Mixer *mixer);
51
void setMixerIgnoreExpression(QString& ignoreExpr);
52
QString mixerIgnoreExpression();
54
Mixer* find( const QString& mixer_id);
55
GUIProfile* selectProfile(Mixer*);
56
GUIProfile* fallbackProfile(Mixer*);
57
//static KLocale* whatsthisControlLocale();
60
void mixerAdded(QString mixerID);
63
static MixerToolBox* s_instance;
64
static QMap<Mixer*,GUIProfile*> s_fallbackProfiles;
65
QMap<QString,int> s_mixerNums;
66
static QRegExp s_ignoreMixerExpression;
68
//static KLocale* s_whatsthisLocale;