diff options
Diffstat (limited to 'indra/newview/mpfloatertuning.cpp')
| -rw-r--r-- | indra/newview/mpfloatertuning.cpp | 77 | 
1 files changed, 77 insertions, 0 deletions
diff --git a/indra/newview/mpfloatertuning.cpp b/indra/newview/mpfloatertuning.cpp new file mode 100644 index 0000000000..23f8c21e70 --- /dev/null +++ b/indra/newview/mpfloatertuning.cpp @@ -0,0 +1,77 @@ +/** +* @file mpfloatertuning.cpp +* @brief Controller for viewer tuning +* @author observeur@megapahit.net +* +* $LicenseInfo:firstyear=2014&license=viewerlgpl$ +* Second Life Viewer Source Code +* Copyright (C) 2014, 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 "mpfloatertuning.h" +#include "llsliderctrl.h" +#include "lltextbox.h" +#include "llcheckboxctrl.h" +#include "llcombobox.h" +#include "llviewercontrol.h" +#include "llsdserialize.h" + +MPFloaterTuning::MPFloaterTuning(const LLSD& key) : LLFloater(key) +{ +} + + +bool MPFloaterTuning::postBuild() +{ +    U32 fps = gSavedSettings.getU32("MaxFPS"); +    if(fps==0) fps=132; + +    mFpsSlider = getChild<LLSliderCtrl>("fpsSliderCtrl"); +    mFpsSlider->setCommitCallback(boost::bind(&MPFloaterTuning::onFpsSliderChanged, this)); + +    mFpsSlider->setValue(fps, false); + +    mFpsTextBox = getChild<LLTextBox>("fpsTextCtrl"); +    mFpsTextBox->setValue(""); + +    if(fps>120) mFpsTextBox->setValue("no limit"); +    else if(fps==0) mFpsTextBox->setValue("no limit"); +    else mFpsTextBox->setValue(std::to_string(fps)+" fps"); + +    return true; +} + +// Do send-to-the-server work when slider drag completes, or new +// value entered as text. +void MPFloaterTuning::onFpsSliderChanged() +{ +    U32 fps = (U32)mFpsSlider->getValueF32(); +    gSavedSettings.setU32("MaxFPS",fps); + +    if(fps>120) mFpsTextBox->setValue("no limit"); +    else if(fps==0) mFpsTextBox->setValue("no limit"); +    else mFpsTextBox->setValue(std::to_string(fps)+" fps"); +} + +void MPFloaterTuning::onClose(bool app_quitting) +{ +}  | 
