00001
00029 #include "llviewerprecompiledheaders.h"
00030
00031 #include "llpaneldatabase.h"
00032
00033 #include "llscrolllistctrl.h"
00034 #include "llviewerwindow.h"
00035 #include "llviewercontrol.h"
00036 #include "llvieweruictrlfactory.h"
00037 #include "llfloateravatarpicker.h"
00038 #include "llagentdata.h"
00039 #include "llnotify.h"
00040
00041
00042 LLPanelDatabase::LLPanelDatabase() :
00043 LLPanel("Messages Panel")
00044 {
00045 gUICtrlFactory->buildPanel(this, "panel_preferences_database.xml");
00046 childSetAction("change_avatar_btn", onClickChangeAvatar, this);
00047 };
00048
00049
00050
00051
00052
00053 void LLPanelDatabase::refresh()
00054 {
00055 llinfos << "Loading settings" << llendl;
00056 mAvatarName = gSavedPerAccountSettings.getString("DBAvatarName");
00057 mAvatarKey.set(gSavedPerAccountSettings.getString("DBAvatarKey"));
00058 mURL = gSavedSettings.getString("DBURL");;
00059 mUsername = gSavedSettings.getString("DBURLUsername");;
00060 mPassword = gSavedSettings.getString("DBURLPassword");;
00061 mSendPattern = gSavedSettings.getString("DBSendPattern");;
00062 mPositivePattern = gSavedSettings.getString("DBPositivePattern");;
00063 mNegativePattern = gSavedSettings.getString("DBNegativePattern");;
00064 mDeniedPattern = gSavedSettings.getString("DBDeniedPattern");;
00065
00066 }
00067
00068 BOOL LLPanelDatabase::postBuild()
00069 {
00070 refresh();
00071
00072 llinfos << "Setting settings in window" << llendl;
00073 childSetText("db_avatar" ,mAvatarName );
00074 childSetText("db_url" ,mURL );
00075 childSetText("db_url_username" ,mUsername );
00076 childSetText("db_url_password" ,mPassword );
00077 childSetText("send_pattern" ,mSendPattern );
00078 childSetText("positive_pattern",mPositivePattern );
00079 childSetText("negative_pattern",mNegativePattern );
00080 childSetText("denied_pattern" ,mDeniedPattern );
00081
00082 return TRUE;
00083 }
00084
00085
00086 void LLPanelDatabase::draw()
00087 {
00088 LLPanel::draw();
00089 }
00090
00091 void LLPanelDatabase::apply()
00092 {
00093 llinfos << "Saving settings" << llendl;
00094
00095 gSavedPerAccountSettings.setString("DBAvatarName", childGetText("db_avatar").c_str());
00096 gSavedPerAccountSettings.setString("DBAvatarKey", mAvatarKey.asString());
00097 gSavedSettings.setString("DBURL", childGetText("db_url").c_str());
00098 gSavedSettings.setString("DBURLUsername", childGetText("db_url_username").c_str());
00099 gSavedSettings.setString("DBURLPassword", childGetText("db_url_password").c_str());
00100
00101 gSavedSettings.setString("DBSendPattern", childGetText("send_pattern").c_str());
00102 gSavedSettings.setString("DBPositivePattern", childGetText("positive_pattern").c_str());
00103 gSavedSettings.setString("DBNegativePattern", childGetText("negative_pattern").c_str());
00104 gSavedSettings.setString("DBDeniedPattern", childGetText("denied_pattern").c_str());
00105
00106
00107 }
00108
00109 void LLPanelDatabase::cancel()
00110 {
00111
00112 }
00113
00114
00115 void LLPanelDatabase::onClickChangeAvatar(void *userdata)
00116 {
00117 LLFloaterAvatarPicker::show(onPickAvatar, userdata, FALSE, TRUE);
00118 }
00119
00120
00121 void LLPanelDatabase::onPickAvatar(const std::vector<std::string>& names,
00122 const std::vector<LLUUID>& ids,
00123 void* user_data)
00124 {
00125 if (names.empty()) return;
00126 if (ids.empty()) return;
00127
00128 LLPanelDatabase *self = (LLPanelDatabase*)user_data;
00129
00130 #ifndef LL_DEBUG
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142 #endif
00143
00144 self->childSetText("db_avatar", names[0]);
00145 self->mAvatarName = names[0];
00146 self->mAvatarKey = ids[0];
00147 }
00148
00149