Updated the Client tag options so that you can turn off tags/colors for others. However, in the process of doing this the need for Client-Or-Account setting control became increasingly needed, and so a complete rebuild of some sections fetching values were redone across files. The good news is that we now have getCOA* settings for various settings types - Color4, Strings, U/F/S32, and BOOLs. Just include llsavedsettingsglue.h Signed-off-by: Beeks <HgDelirium@gmail.com>
177 lines
5.1 KiB
C++
177 lines
5.1 KiB
C++
/**
|
|
* @file llsavedsettingsglue.cpp
|
|
* @author James Cook
|
|
* @brief LLSavedSettingsGlue class implementation
|
|
*
|
|
* $LicenseInfo:firstyear=2006&license=viewergpl$
|
|
*
|
|
* Copyright (c) 2006-2009, Linden Research, Inc.
|
|
*
|
|
* Second Life Viewer Source Code
|
|
* The source code in this file ("Source Code") is provided by Linden Lab
|
|
* to you under the terms of the GNU General Public License, version 2.0
|
|
* ("GPL"), unless you have obtained a separate licensing agreement
|
|
* ("Other License"), formally executed by you and Linden Lab. Terms of
|
|
* the GPL can be found in doc/GPL-license.txt in this distribution, or
|
|
* online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
|
|
*
|
|
* There are special exceptions to the terms and conditions of the GPL as
|
|
* it is applied to this Source Code. View the full text of the exception
|
|
* in the file doc/FLOSS-exception.txt in this software distribution, or
|
|
* online at
|
|
* http://secondlifegrid.net/programs/open_source/licensing/flossexception
|
|
*
|
|
* By copying, modifying or distributing this software, you acknowledge
|
|
* that you have read and understood your obligations described above,
|
|
* and agree to abide by those obligations.
|
|
*
|
|
* ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
|
|
* WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
|
|
* COMPLETENESS OR PERFORMANCE.
|
|
* $/LicenseInfo$
|
|
*/
|
|
|
|
#include "llviewerprecompiledheaders.h"
|
|
|
|
#include "llsavedsettingsglue.h"
|
|
|
|
#include "lluictrl.h"
|
|
|
|
#include "llviewercontrol.h"
|
|
|
|
void LLSavedSettingsGlue::setBOOL(LLUICtrl* ctrl, void* data)
|
|
{
|
|
const char* name = (const char*)data;
|
|
LLSD value = ctrl->getValue();
|
|
gSavedSettings.setBOOL(name, value.asBoolean());
|
|
}
|
|
|
|
void LLSavedSettingsGlue::setS32(LLUICtrl* ctrl, void* data)
|
|
{
|
|
const char* name = (const char*)data;
|
|
LLSD value = ctrl->getValue();
|
|
gSavedSettings.setS32(name, value.asInteger());
|
|
}
|
|
|
|
void LLSavedSettingsGlue::setF32(LLUICtrl* ctrl, void* data)
|
|
{
|
|
const char* name = (const char*)data;
|
|
LLSD value = ctrl->getValue();
|
|
gSavedSettings.setF32(name, (F32)value.asReal());
|
|
}
|
|
|
|
void LLSavedSettingsGlue::setU32(LLUICtrl* ctrl, void* data)
|
|
{
|
|
const char* name = (const char*)data;
|
|
LLSD value = ctrl->getValue();
|
|
gSavedSettings.setU32(name, (U32)value.asInteger());
|
|
}
|
|
|
|
void LLSavedSettingsGlue::setString(LLUICtrl* ctrl, void* data)
|
|
{
|
|
const char* name = (const char*)data;
|
|
LLSD value = ctrl->getValue();
|
|
gSavedSettings.setString(name, value.asString());
|
|
}
|
|
|
|
|
|
//Begin Ascent SavedSettings/PerAccountSettings handling
|
|
|
|
//Get
|
|
BOOL LLSavedSettingsGlue::getCOABOOL(std::string name)
|
|
{
|
|
if (!gSavedSettings.getBOOL("AscentStoreSettingsPerAccount"))
|
|
return gSavedSettings.getBOOL(name);
|
|
else
|
|
return gSavedPerAccountSettings.getBOOL(name);
|
|
}
|
|
|
|
S32 LLSavedSettingsGlue::getCOAS32(std::string name)
|
|
{
|
|
if (!gSavedSettings.getBOOL("AscentStoreSettingsPerAccount"))
|
|
return gSavedSettings.getS32(name);
|
|
else
|
|
return gSavedPerAccountSettings.getS32(name);
|
|
}
|
|
|
|
F32 LLSavedSettingsGlue::getCOAF32(std::string name)
|
|
{
|
|
if (!gSavedSettings.getBOOL("AscentStoreSettingsPerAccount"))
|
|
return gSavedSettings.getF32(name);
|
|
else
|
|
return gSavedPerAccountSettings.getF32(name);
|
|
}
|
|
|
|
U32 LLSavedSettingsGlue::getCOAU32(std::string name)
|
|
{
|
|
if (!gSavedSettings.getBOOL("AscentStoreSettingsPerAccount"))
|
|
return gSavedSettings.getU32(name);
|
|
else
|
|
return gSavedPerAccountSettings.getU32(name);
|
|
}
|
|
|
|
std::string LLSavedSettingsGlue::getCOAString(std::string name)
|
|
{
|
|
if (!gSavedSettings.getBOOL("AscentStoreSettingsPerAccount"))
|
|
return gSavedSettings.getString(name);
|
|
else
|
|
return gSavedPerAccountSettings.getString(name);
|
|
}
|
|
|
|
LLColor4 LLSavedSettingsGlue::getCOAColor4(std::string name)
|
|
{
|
|
if (!gSavedSettings.getBOOL("AscentStoreSettingsPerAccount"))
|
|
return gSavedSettings.getColor4(name);
|
|
else
|
|
return gSavedPerAccountSettings.getColor4(name);
|
|
}
|
|
|
|
//Set
|
|
|
|
void LLSavedSettingsGlue::setCOABOOL(std::string name, BOOL value)
|
|
{
|
|
if (!gSavedSettings.getBOOL("AscentStoreSettingsPerAccount"))
|
|
gSavedSettings.setBOOL(name, value);
|
|
else
|
|
gSavedPerAccountSettings.setBOOL(name, value);
|
|
}
|
|
|
|
void LLSavedSettingsGlue::setCOAS32(std::string name, S32 value)
|
|
{
|
|
if (!gSavedSettings.getBOOL("AscentStoreSettingsPerAccount"))
|
|
gSavedSettings.setS32(name, value);
|
|
else
|
|
gSavedPerAccountSettings.setS32(name, value);
|
|
}
|
|
|
|
void LLSavedSettingsGlue::setCOAF32(std::string name, F32 value)
|
|
{
|
|
if (!gSavedSettings.getBOOL("AscentStoreSettingsPerAccount"))
|
|
gSavedSettings.setF32(name, value);
|
|
else
|
|
gSavedPerAccountSettings.setF32(name, value);
|
|
}
|
|
|
|
void LLSavedSettingsGlue::setCOAU32(std::string name, U32 value)
|
|
{
|
|
if (!gSavedSettings.getBOOL("AscentStoreSettingsPerAccount"))
|
|
gSavedSettings.setU32(name, value);
|
|
else
|
|
gSavedPerAccountSettings.setU32(name, value);
|
|
}
|
|
|
|
void LLSavedSettingsGlue::setCOAString(std::string name, std::string value)
|
|
{
|
|
if (!gSavedSettings.getBOOL("AscentStoreSettingsPerAccount"))
|
|
gSavedSettings.setString(name, value);
|
|
else
|
|
gSavedPerAccountSettings.setString(name, value);
|
|
}
|
|
|
|
void LLSavedSettingsGlue::setCOAColor4(std::string name, LLColor4 value)
|
|
{
|
|
if (!gSavedSettings.getBOOL("AscentStoreSettingsPerAccount"))
|
|
gSavedSettings.setColor4(name, value);
|
|
else
|
|
gSavedPerAccountSettings.setColor4(name, value);
|
|
} |