~ubuntu-branches/ubuntu/natty/kdemultimedia/natty-proposed

« back to all changes in this revision

Viewing changes to kmix/mixertoolbox.h

  • Committer: Bazaar Package Importer
  • Author(s): Debian Qt/KDE Maintainers
  • Date: 2011-05-26 02:41:36 UTC
  • mfrom: (0.2.3 upstream)
  • mto: This revision was merged to the branch mainline in revision 108.
  • Revision ID: james.westby@ubuntu.com-20110526024136-jjwsigfy402jhupm
Tags: upstream-4.6.3
ImportĀ upstreamĀ versionĀ 4.6.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
//-*-C++-*-
2
 
/*
3
 
 * KMix -- KDE's full featured mini mixer
4
 
 *
5
 
 * Copyright Christian Esken <esken@kde.org>
6
 
 *
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.
11
 
 *
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.
16
 
 *
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.
20
 
 */
21
 
#ifndef MIXERTOOLBOX_H
22
 
#define MIXERTOOLBOX_H
23
 
 
24
 
#include <qobject.h>
25
 
#include <qlist.h>
26
 
#include <QMap>
27
 
#include <QRegExp>
28
 
#include <QString>
29
 
 
30
 
//#include <KLocale>
31
 
 
32
 
class GUIProfile;
33
 
class Mixer;
34
 
 
35
 
/**
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.
40
 
 */
41
 
class MixerToolBox : public QObject
42
 
{
43
 
    Q_OBJECT
44
 
 
45
 
   public:
46
 
      static MixerToolBox* instance();
47
 
      void initMixer(bool, QString&);
48
 
      void deinitMixer();
49
 
      bool possiblyAddMixer(Mixer *mixer);
50
 
      void removeMixer(Mixer *mixer);
51
 
      void setMixerIgnoreExpression(QString& ignoreExpr);
52
 
      QString mixerIgnoreExpression();
53
 
      
54
 
      Mixer* find( const QString& mixer_id);
55
 
      GUIProfile* selectProfile(Mixer*);
56
 
      GUIProfile* fallbackProfile(Mixer*);
57
 
      //static KLocale* whatsthisControlLocale();
58
 
      
59
 
   signals:
60
 
      void mixerAdded(QString mixerID);
61
 
 
62
 
   private:
63
 
      static MixerToolBox* s_instance;
64
 
      static QMap<Mixer*,GUIProfile*> s_fallbackProfiles;
65
 
      QMap<QString,int> s_mixerNums;
66
 
      static QRegExp s_ignoreMixerExpression;
67
 
      
68
 
      //static KLocale* s_whatsthisLocale;
69
 
};
70
 
 
71
 
#endif