mirror of
https://bitbucket.org/smil3y/kde-extraapps.git
synced 2025-02-24 02:42:52 +00:00
121 lines
2.8 KiB
C++
121 lines
2.8 KiB
C++
/*
|
|
KMix -- KDE's full featured mini mixer
|
|
Copyright (C) 2012 Christian Esken <esken@kde.org>
|
|
|
|
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.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License along
|
|
with this program; if not, write to the Free Software Foundation, Inc.,
|
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
*/
|
|
|
|
#ifndef GLOBALCONFIG_H
|
|
#define GLOBALCONFIG_H
|
|
|
|
#include <QtCore/qnamespace.h>
|
|
#include <QSet>
|
|
|
|
#include <KConfigSkeleton>
|
|
#include <KDebug>
|
|
|
|
class GlobalConfigData
|
|
{
|
|
friend class GlobalConfig;
|
|
|
|
public:
|
|
// Hint: We are using the standard 1-arg constructor as copy constructor
|
|
|
|
bool showTicks;
|
|
bool showLabels;
|
|
bool showOSD;
|
|
|
|
// Startup
|
|
bool allowAutostart;
|
|
bool showDockWidget;
|
|
bool startkdeRestore;
|
|
|
|
// Debug options
|
|
bool debugControlManager;
|
|
bool debugGUI;
|
|
bool debugVolume;
|
|
|
|
Qt::Orientation getToplevelOrientation();
|
|
Qt::Orientation getTraypopupOrientation();
|
|
|
|
void setToplevelOrientation(Qt::Orientation orientation);
|
|
void setTraypopupOrientation(Qt::Orientation orientation);
|
|
|
|
private:
|
|
QString orientationMainGUIString;
|
|
QString orientationTrayPopupString;
|
|
// The following two values are only converted/cached date from the former fields.
|
|
Qt::Orientation toplevelOrientation;
|
|
Qt::Orientation traypopupOrientation;
|
|
|
|
void convertOrientation();
|
|
Qt::Orientation stringToOrientation(QString& orientationString);
|
|
QString orientationToString(Qt::Orientation orientation);
|
|
|
|
};
|
|
|
|
class GlobalConfig: public KConfigSkeleton
|
|
{
|
|
private:
|
|
static GlobalConfig* instanceObj;
|
|
|
|
public:
|
|
static GlobalConfig& instance()
|
|
{
|
|
return *instanceObj;
|
|
}
|
|
;
|
|
|
|
/**
|
|
* Call this init method when your app core is properly initialized.
|
|
* It is very important that KGlobal is initialized then. Otherwise KGlobal::config() could return a reference to
|
|
* the "kderc" config instead of the actual application config "kmixrc" or "kmixctrlrc".
|
|
*
|
|
*/
|
|
static void init()
|
|
{
|
|
instanceObj = new GlobalConfig();
|
|
}
|
|
;
|
|
|
|
GlobalConfigData data;
|
|
void setMixersForSoundmenu(QSet<QString> mixersForSoundmenu)
|
|
{
|
|
this->mixersForSoundmenu = mixersForSoundmenu;
|
|
}
|
|
;
|
|
QSet<QString> getMixersForSoundmenu()
|
|
{
|
|
return mixersForSoundmenu;
|
|
}
|
|
;
|
|
|
|
protected:
|
|
QSet<QString> mixersForSoundmenu;
|
|
|
|
private:
|
|
|
|
GlobalConfig();
|
|
/**
|
|
* @Override
|
|
*/
|
|
virtual void usrReadConfig();
|
|
/**
|
|
* @Override
|
|
*/
|
|
// virtual void usrWriteConfig();
|
|
};
|
|
|
|
#endif // GLOBALCONFIG_H
|