281 lines
6.0 KiB
C++
281 lines
6.0 KiB
C++
/**
|
|
* @file llfirstuse.cpp
|
|
* @brief Methods that spawn "first-use" dialogs
|
|
*
|
|
* $LicenseInfo:firstyear=2003&license=viewerlgpl$
|
|
* Second Life Viewer Source Code
|
|
* Copyright (C) 2010, Linden Research, Inc.
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation;
|
|
* version 2.1 of the License only.
|
|
*
|
|
* This library 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
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
*
|
|
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
|
|
* $/LicenseInfo$
|
|
*/
|
|
|
|
#include "llviewerprecompiledheaders.h"
|
|
|
|
#include "llfirstuse.h"
|
|
|
|
// library includes
|
|
#include "indra_constants.h"
|
|
#include "llnotificationsutil.h"
|
|
|
|
// viewer includes
|
|
#include "llagent.h" // for gAgent.inPrelude()
|
|
#include "llviewercontrol.h"
|
|
#include "llui.h"
|
|
#include "llappviewer.h"
|
|
#include "lltracker.h"
|
|
|
|
/*
|
|
// static
|
|
std::set<std::string> LLFirstUse::sConfigVariables;
|
|
|
|
// static
|
|
void LLFirstUse::addConfigVariable(const std::string& var)
|
|
{
|
|
sConfigVariables.insert(var);
|
|
}
|
|
|
|
// static
|
|
void LLFirstUse::disableFirstUse()
|
|
{
|
|
// Set all first-use warnings to disabled
|
|
for (std::set<std::string>::iterator iter = sConfigVariables.begin();
|
|
iter != sConfigVariables.end(); ++iter)
|
|
{
|
|
gWarningSettings.setBOOL(*iter, FALSE);
|
|
}
|
|
}
|
|
|
|
// static
|
|
void LLFirstUse::resetFirstUse()
|
|
{
|
|
// Set all first-use warnings to disabled
|
|
for (std::set<std::string>::iterator iter = sConfigVariables.begin();
|
|
iter != sConfigVariables.end(); ++iter)
|
|
{
|
|
gWarningSettings.setBOOL(*iter, TRUE);
|
|
}
|
|
}
|
|
*/
|
|
/*
|
|
|
|
// Called whenever the viewer detects that your balance went up
|
|
void LLFirstUse::useBalanceIncrease(S32 delta)
|
|
{
|
|
if (gWarningSettings.getBOOL("FirstBalanceIncrease"))
|
|
{
|
|
gWarningSettings.setBOOL("FirstBalanceIncrease", FALSE);
|
|
|
|
LLSD args;
|
|
args["AMOUNT"] = llformat("%d",delta);
|
|
LLNotificationsUtil::add("FirstBalanceIncrease", args);
|
|
}
|
|
}
|
|
|
|
|
|
// Called whenever the viewer detects your balance went down
|
|
void LLFirstUse::useBalanceDecrease(S32 delta)
|
|
{
|
|
if (gWarningSettings.getBOOL("FirstBalanceDecrease"))
|
|
{
|
|
gWarningSettings.setBOOL("FirstBalanceDecrease", FALSE);
|
|
|
|
LLSD args;
|
|
args["AMOUNT"] = llformat("%d",-delta);
|
|
LLNotificationsUtil::add("FirstBalanceDecrease", args);
|
|
}
|
|
}
|
|
|
|
|
|
// static
|
|
void LLFirstUse::useSit()
|
|
{
|
|
// Our orientation island uses sitting to teach vehicle driving
|
|
// so just never show this message. JC
|
|
//if (gWarningSettings.getBOOL("FirstSit"))
|
|
//{
|
|
// gWarningSettings.setBOOL("FirstSit", FALSE);
|
|
//
|
|
// LLNotificationsUtil::add("FirstSit");
|
|
//}
|
|
}
|
|
|
|
// static
|
|
void LLFirstUse::useMap()
|
|
{
|
|
if (gWarningSettings.getBOOL("FirstMap"))
|
|
{
|
|
gWarningSettings.setBOOL("FirstMap", FALSE);
|
|
|
|
LLNotificationsUtil::add("FirstMap");
|
|
}
|
|
}
|
|
|
|
// static
|
|
void LLFirstUse::useGoTo()
|
|
{
|
|
// nothing for now JC
|
|
}
|
|
|
|
// static
|
|
void LLFirstUse::useBuild()
|
|
{
|
|
if (gWarningSettings.getBOOL("FirstBuild"))
|
|
{
|
|
gWarningSettings.setBOOL("FirstBuild", FALSE);
|
|
|
|
LLNotificationsUtil::add("FirstBuild");
|
|
}
|
|
}
|
|
|
|
*/
|
|
/*
|
|
// static
|
|
void LLFirstUse::useLeftClickNoHit()
|
|
{
|
|
if (gWarningSettings.getBOOL("FirstLeftClickNoHit"))
|
|
{
|
|
gWarningSettings.setBOOL("FirstLeftClickNoHit", FALSE);
|
|
|
|
LLNotificationsUtil::add("FirstLeftClickNoHit");
|
|
}
|
|
}
|
|
*/
|
|
/*
|
|
// static
|
|
void LLFirstUse::useTeleport()
|
|
{
|
|
if (gWarningSettings.getBOOL("FirstTeleport"))
|
|
{
|
|
LLVector3d teleportDestination = LLTracker::getTrackedPositionGlobal();
|
|
if(teleportDestination != LLVector3d::zero)
|
|
{
|
|
gWarningSettings.setBOOL("FirstTeleport", FALSE);
|
|
|
|
LLNotificationsUtil::add("FirstTeleport");
|
|
}
|
|
}
|
|
}
|
|
*/
|
|
// static
|
|
void LLFirstUse::useOverrideKeys()
|
|
{
|
|
// Our orientation island uses key overrides to teach vehicle driving
|
|
// so don't show this message until you get off OI. JC
|
|
if (!gAgent.inPrelude())
|
|
{
|
|
if (gWarningSettings.getBOOL("FirstOverrideKeys"))
|
|
{
|
|
gWarningSettings.setBOOL("FirstOverrideKeys", FALSE);
|
|
|
|
LLNotificationsUtil::add("FirstOverrideKeys");
|
|
}
|
|
}
|
|
}
|
|
/*
|
|
// static
|
|
void LLFirstUse::useAttach()
|
|
{
|
|
// nothing for now
|
|
}
|
|
|
|
// static
|
|
void LLFirstUse::useAppearance()
|
|
{
|
|
if (gWarningSettings.getBOOL("FirstAppearance"))
|
|
{
|
|
gWarningSettings.setBOOL("FirstAppearance", FALSE);
|
|
|
|
LLNotificationsUtil::add("FirstAppearance");
|
|
}
|
|
}
|
|
|
|
// static
|
|
void LLFirstUse::useInventory()
|
|
{
|
|
if (gWarningSettings.getBOOL("FirstInventory"))
|
|
{
|
|
gWarningSettings.setBOOL("FirstInventory", FALSE);
|
|
|
|
LLNotificationsUtil::add("FirstInventory");
|
|
}
|
|
}
|
|
|
|
*/
|
|
|
|
// static
|
|
void LLFirstUse::useSandbox()
|
|
{
|
|
if (gWarningSettings.getBOOL("FirstSandbox"))
|
|
{
|
|
gWarningSettings.setBOOL("FirstSandbox", FALSE);
|
|
|
|
LLSD args;
|
|
args["HOURS"] = llformat("%d",SANDBOX_CLEAN_FREQ);
|
|
args["TIME"] = llformat("%d",SANDBOX_FIRST_CLEAN_HOUR);
|
|
LLNotificationsUtil::add("FirstSandbox", args);
|
|
}
|
|
}
|
|
/*
|
|
// static
|
|
void LLFirstUse::useFlexible()
|
|
{
|
|
if (gWarningSettings.getBOOL("FirstFlexible"))
|
|
{
|
|
gWarningSettings.setBOOL("FirstFlexible", FALSE);
|
|
|
|
LLNotificationsUtil::add("FirstFlexible");
|
|
}
|
|
}
|
|
|
|
// static
|
|
void LLFirstUse::useDebugMenus()
|
|
{
|
|
if (gWarningSettings.getBOOL("FirstDebugMenus"))
|
|
{
|
|
gWarningSettings.setBOOL("FirstDebugMenus", FALSE);
|
|
|
|
LLNotificationsUtil::add("FirstDebugMenus");
|
|
}
|
|
}
|
|
|
|
// static
|
|
void LLFirstUse::useSculptedPrim()
|
|
{
|
|
if (gWarningSettings.getBOOL("FirstSculptedPrim"))
|
|
{
|
|
gWarningSettings.setBOOL("FirstSculptedPrim", FALSE);
|
|
|
|
LLNotificationsUtil::add("FirstSculptedPrim");
|
|
|
|
}
|
|
}
|
|
|
|
// static
|
|
void LLFirstUse::useMedia()
|
|
{
|
|
if (gWarningSettings.getBOOL("FirstMedia"))
|
|
{
|
|
gWarningSettings.setBOOL("FirstMedia", FALSE);
|
|
|
|
// Popup removed as a short-term fix for EXT-1643.
|
|
// Ultimately, the plan is to kill all First Use dialogs
|
|
//LLNotificationsUtil::add("FirstMedia");
|
|
}
|
|
}
|
|
*/
|