Files
SingularityViewer/indra/newview/llfloaterpreference.h
Liru Færs 842d1b8d93 Add LLIMProcessing and support for new message caps! And UserInfo cap!
Also delayed sound support!
Fixed memory leaks and pass by values that LL likes to introduce.
Extended LLCoroResponder to have a responder for Raw strings, also clean it
Adds friend request message logging.
2020-02-25 03:04:58 -05:00

136 lines
3.7 KiB
C++

/**
* @file llfloaterpreference.h
* @brief LLPreferenceCore class definition
*
* $LicenseInfo:firstyear=2002&license=viewergpl$
*
* Copyright (c) 2002-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$
*/
/*
* App-wide preferences. Note that these are not per-user,
* because we need to load many preferences before we have
* a login name.
*/
#ifndef LL_LLFLOATERPREFERENCE_H
#define LL_LLFLOATERPREFERENCE_H
#include "llfloater.h"
class HippoPanelGrids;
class LLPanelGeneral;
class LLPanelInput;
class LLPanelDisplay;
class LLPanelAudioPrefs;
class LLPanelNetwork;
class LLPanelWeb;
class LLMessageSystem;
class LLPrefsChat;
class LLPrefsVoice;
class LLPrefsIM;
class LLPanelMsgs;
class LLPanelSkins;
class LLScrollListCtrl;
class LLPrefsAscentChat;
class LLPrefsAscentSys;
class LLPrefsAscentVan;
class LLPreferenceCore
{
public:
enum { TAB_GRIDS = 11 };
LLPreferenceCore(LLTabContainer* tab_container, LLButton * default_btn);
~LLPreferenceCore();
void apply();
void cancel();
LLTabContainer* getTabContainer() { return mTabContainer; }
void setPersonalInfo(const std::string& visibility, bool im_via_email, const std::string& email, bool is_verified);
static void onTabChanged(LLUICtrl* ctrl);
private:
LLTabContainer *mTabContainer;
LLPanelGeneral *mGeneralPanel;
LLPanelSkins *mSkinsPanel;
HippoPanelGrids *mGridsPanel;
LLPanelInput *mInputPanel;
LLPanelNetwork *mNetworkPanel;
LLPanelDisplay *mDisplayPanel;
LLPanelAudioPrefs *mAudioPanel;
LLPrefsChat *mPrefsChat;
LLPrefsVoice *mPrefsVoice;
LLPrefsIM *mPrefsIM;
LLPanelWeb *mWebPanel;
LLPanelMsgs *mMsgPanel;
LLPrefsAscentChat *mPrefsAscentChat;
LLPrefsAscentSys *mPrefsAscentSys;
LLPrefsAscentVan *mPrefsAscentVan;
};
// Floater to control preferences (display, audio, bandwidth, general.
class LLFloaterPreference : public LLFloater
{
public:
LLFloaterPreference();
~LLFloaterPreference();
void apply();
void cancel();
virtual BOOL postBuild();
static void show(void*);
// static data update, called from message handler
static void updateUserInfo(const std::string& visibility, bool im_via_email, const std::string& email, bool is_verified = false);
static void switchTab(S32 i);
// *HACK: Close without doing anything.
// This is used by the "reset all settings" button.
static void closeWithoutSaving();
protected:
friend class LLPanelNearByMedia;
LLPreferenceCore *mPreferenceCore;
/*virtual*/ void onClose(bool app_quitting);
bool mExitWithoutSaving;
void onBtnOK();
void onBtnCancel();
void onBtnApply();
static LLFloaterPreference* sInstance;
};
#endif // LL_LLPREFERENCEFLOATER_H