00001
00033 #include "llviewerprecompiledheaders.h"
00034
00035 #include "llprefschat.h"
00036 #include "llviewercontrol.h"
00037 #include "llvieweruictrlfactory.h"
00038
00039 class LLPrefsChatImpl : public LLPanel
00040 {
00041 public:
00042 LLPrefsChatImpl();
00043 ~LLPrefsChatImpl(){};
00044
00045 virtual void refresh();
00046
00047 void apply();
00048 void cancel();
00049
00050 protected:
00051 S32 mChatSize;
00052 F32 mChatPersist;
00053 S32 mChatMaxLines;
00054 LLColor4 mSystemChatColor;
00055 LLColor4 mAgentChatColor;
00056 LLColor4 mObjectChatColor;
00057 LLColor4 mOwnerSayChatColor;
00058 LLColor4 mBGChatColor;
00059 LLColor4 mScriptErrorColor;
00060 LLColor4 mHTMLLinkColor;
00061 BOOL mChatFullWidth;
00062 BOOL mCloseChatOnReturn;
00063 BOOL mArrowKeysMoveAvatar;
00064 BOOL mShowTimestamps;
00065 BOOL mPlayTypingAnim;
00066 BOOL mChatBubbles;
00067 BOOL mScriptErrorAsChat;
00068 F32 mConsoleOpacity;
00069 F32 mBubbleOpacity;
00070 };
00071
00072
00073 LLPrefsChatImpl::LLPrefsChatImpl()
00074 : LLPanel("Chat Panel")
00075 {
00076 gUICtrlFactory->buildPanel(this, "panel_preferences_chat.xml");
00077
00078 refresh();
00079 }
00080
00081 void LLPrefsChatImpl::refresh()
00082 {
00083 LLPanel::refresh();
00084
00085
00086 mChatSize = gSavedSettings.getS32("ChatFontSize");
00087 mChatPersist = gSavedSettings.getF32("ChatPersistTime");
00088 mChatMaxLines = gSavedSettings.getS32("ConsoleMaxLines");
00089 mSystemChatColor = gSavedSettings.getColor4("SystemChatColor");
00090 mAgentChatColor = gSavedSettings.getColor4("AgentChatColor");
00091 mObjectChatColor = gSavedSettings.getColor4("ObjectChatColor");
00092 mOwnerSayChatColor = gSavedSettings.getColor4("llOwnerSayChatColor");
00093 mBGChatColor = gSavedSettings.getColor4("BackgroundChatColor");
00094 mScriptErrorColor = gSavedSettings.getColor4("ScriptErrorColor");
00095 mHTMLLinkColor = gSavedSettings.getColor4("HTMLLinkColor");
00096 mArrowKeysMoveAvatar = gSavedSettings.getBOOL("ArrowKeysMoveAvatar");
00097 mShowTimestamps = gSavedSettings.getBOOL("ChatShowTimestamps");
00098 mScriptErrorAsChat = gSavedSettings.getBOOL("ScriptErrorsAsChat");
00099 mChatBubbles = gSavedSettings.getBOOL("UseChatBubbles");
00100 mChatFullWidth = gSavedSettings.getBOOL("ChatFullWidth");
00101 mCloseChatOnReturn = gSavedSettings.getBOOL("CloseChatOnReturn");
00102 mConsoleOpacity = gSavedSettings.getF32("ConsoleBackgroundOpacity");
00103 mBubbleOpacity = gSavedSettings.getF32("ChatBubbleOpacity");
00104 }
00105
00106 void LLPrefsChatImpl::cancel()
00107 {
00108 gSavedSettings.setS32("ChatFontSize", mChatSize);
00109 gSavedSettings.setF32("ChatPersistTime", mChatPersist);
00110 gSavedSettings.setS32("ConsoleMaxLines", mChatMaxLines);
00111 gSavedSettings.setColor4("SystemChatColor", mSystemChatColor);
00112 gSavedSettings.setColor4("AgentChatColor", mAgentChatColor);
00113 gSavedSettings.setColor4("ObjectChatColor", mObjectChatColor);
00114 gSavedSettings.setColor4("llOwnerSayChatColor", mOwnerSayChatColor);
00115 gSavedSettings.setColor4("BackgroundChatColor", mBGChatColor);
00116 gSavedSettings.setColor4("ScriptErrorColor", mScriptErrorColor);
00117 gSavedSettings.setColor4("HTMLLinkColor", mHTMLLinkColor);
00118 gSavedSettings.setBOOL("ArrowKeysMoveAvatar", mArrowKeysMoveAvatar);
00119 gSavedSettings.setBOOL("ChatShowTimestamps", mShowTimestamps);
00120 gSavedSettings.setBOOL("ScriptErrorsAsChat", mScriptErrorAsChat);
00121 gSavedSettings.setBOOL("UseChatBubbles", mChatBubbles);
00122 gSavedSettings.setBOOL("ChatFullWidth", mChatFullWidth);
00123 gSavedSettings.setBOOL("CloseChatOnReturn", mCloseChatOnReturn);
00124 gSavedSettings.setF32("ConsoleBackgroundOpacity", mConsoleOpacity);
00125 gSavedSettings.setF32("ChatBubbleOpacity", mBubbleOpacity);
00126 }
00127
00128 void LLPrefsChatImpl::apply()
00129 {
00130
00131 }
00132
00133
00134
00135 LLPrefsChat::LLPrefsChat()
00136 : impl( * new LLPrefsChatImpl() )
00137 { }
00138
00139 LLPrefsChat::~LLPrefsChat()
00140 {
00141 delete &impl;
00142 }
00143
00144 void LLPrefsChat::apply()
00145 {
00146 impl.apply();
00147 LLTextEditor::setLinkColor( gSavedSettings.getColor4("HTMLLinkColor") );
00148 }
00149
00150 void LLPrefsChat::cancel()
00151 {
00152 impl.cancel();
00153 }
00154
00155 LLPanel* LLPrefsChat::getPanel()
00156 {
00157 return &impl;
00158 }