mirror of
				https://github.com/OpenMW/openmw.git
				synced 2025-11-04 00:56:39 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			101 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			101 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
 | 
						|
#include "setting.hpp"
 | 
						|
 | 
						|
#include <QColor>
 | 
						|
#include <QMutexLocker>
 | 
						|
 | 
						|
#include "category.hpp"
 | 
						|
#include "state.hpp"
 | 
						|
 | 
						|
Settings::Manager& CSMPrefs::Setting::getValues()
 | 
						|
{
 | 
						|
    return *mValues;
 | 
						|
}
 | 
						|
 | 
						|
QMutex *CSMPrefs::Setting::getMutex()
 | 
						|
{
 | 
						|
    return mMutex;
 | 
						|
}
 | 
						|
 | 
						|
CSMPrefs::Setting::Setting (Category *parent, Settings::Manager *values, QMutex *mutex,
 | 
						|
    const std::string& key, const std::string& label)
 | 
						|
: QObject (parent->getState()), mParent (parent), mValues (values), mMutex (mutex), mKey (key),
 | 
						|
  mLabel (label)
 | 
						|
{}
 | 
						|
 | 
						|
CSMPrefs::Setting:: ~Setting() {}
 | 
						|
 | 
						|
std::pair<QWidget *, QWidget *> CSMPrefs::Setting::makeWidgets (QWidget *parent)
 | 
						|
{
 | 
						|
    return std::pair<QWidget *, QWidget *> (0, 0);
 | 
						|
}
 | 
						|
 | 
						|
void CSMPrefs::Setting::updateWidget()
 | 
						|
{
 | 
						|
}
 | 
						|
 | 
						|
const CSMPrefs::Category *CSMPrefs::Setting::getParent() const
 | 
						|
{
 | 
						|
    return mParent;
 | 
						|
}
 | 
						|
 | 
						|
const std::string& CSMPrefs::Setting::getKey() const
 | 
						|
{
 | 
						|
    return mKey;
 | 
						|
}
 | 
						|
 | 
						|
const std::string& CSMPrefs::Setting::getLabel() const
 | 
						|
{
 | 
						|
    return mLabel;
 | 
						|
}
 | 
						|
 | 
						|
int CSMPrefs::Setting::toInt() const
 | 
						|
{
 | 
						|
    QMutexLocker lock (mMutex);
 | 
						|
    return mValues->getInt (mKey, mParent->getKey());
 | 
						|
}
 | 
						|
 | 
						|
double CSMPrefs::Setting::toDouble() const
 | 
						|
{
 | 
						|
    QMutexLocker lock (mMutex);
 | 
						|
    return mValues->getFloat (mKey, mParent->getKey());
 | 
						|
}
 | 
						|
 | 
						|
std::string CSMPrefs::Setting::toString() const
 | 
						|
{
 | 
						|
    QMutexLocker lock (mMutex);
 | 
						|
    return mValues->getString (mKey, mParent->getKey());
 | 
						|
}
 | 
						|
 | 
						|
bool CSMPrefs::Setting::isTrue() const
 | 
						|
{
 | 
						|
    QMutexLocker lock (mMutex);
 | 
						|
    return mValues->getBool (mKey, mParent->getKey());
 | 
						|
}
 | 
						|
 | 
						|
QColor CSMPrefs::Setting::toColor() const
 | 
						|
{
 | 
						|
    // toString() handles lock
 | 
						|
    return QColor (QString::fromUtf8 (toString().c_str()));
 | 
						|
}
 | 
						|
 | 
						|
bool CSMPrefs::operator== (const Setting& setting, const std::string& key)
 | 
						|
{
 | 
						|
    std::string fullKey = setting.getParent()->getKey() + "/" + setting.getKey();
 | 
						|
    return fullKey==key;
 | 
						|
}
 | 
						|
 | 
						|
bool CSMPrefs::operator== (const std::string& key, const Setting& setting)
 | 
						|
{
 | 
						|
    return setting==key;
 | 
						|
}
 | 
						|
 | 
						|
bool CSMPrefs::operator!= (const Setting& setting, const std::string& key)
 | 
						|
{
 | 
						|
    return !(setting==key);
 | 
						|
}
 | 
						|
 | 
						|
bool CSMPrefs::operator!= (const std::string& key, const Setting& setting)
 | 
						|
{
 | 
						|
    return !(key==setting);
 | 
						|
}
 |