aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra')
-rw-r--r--linden/indra/newview/llpanelgeneral.cpp62
-rw-r--r--linden/indra/newview/llpanelgeneral.h2
-rw-r--r--linden/indra/newview/llpanellogin.cpp2
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml29
4 files changed, 79 insertions, 16 deletions
diff --git a/linden/indra/newview/llpanelgeneral.cpp b/linden/indra/newview/llpanelgeneral.cpp
index 8dfbe49..07c81fd 100644
--- a/linden/indra/newview/llpanelgeneral.cpp
+++ b/linden/indra/newview/llpanelgeneral.cpp
@@ -42,7 +42,9 @@
42#include "llurlsimstring.h" 42#include "llurlsimstring.h"
43#include "llviewercontrol.h" 43#include "llviewercontrol.h"
44 44
45#include "floatergridmanager.h"
45#include "llagent.h" 46#include "llagent.h"
47#include "llpanellogin.h"
46#include "llviewerregion.h" 48#include "llviewerregion.h"
47 49
48LLPanelGeneral::LLPanelGeneral() 50LLPanelGeneral::LLPanelGeneral()
@@ -55,7 +57,34 @@ BOOL LLPanelGeneral::postBuild()
55 LLComboBox* fade_out_combobox = getChild<LLComboBox>("fade_out_combobox"); 57 LLComboBox* fade_out_combobox = getChild<LLComboBox>("fade_out_combobox");
56 fade_out_combobox->setCurrentByIndex(gSavedSettings.getS32("RenderName")); 58 fade_out_combobox->setCurrentByIndex(gSavedSettings.getS32("RenderName"));
57 59
58 childSetValue("default_start_location", gSavedSettings.getBOOL("LoginLastLocation") ? "MyLastLocation" : "MyHome"); 60 LLComboBox* combo = getChild<LLComboBox>("default_location_combo");
61 childSetCommitCallback("default_location_combo", onLocationChanged, this);
62 combo->setAllowTextEntry(TRUE, 128, FALSE);
63
64 // The XML file loads the combo with the following labels:
65 // 0 - "My Home"
66 // 1 - "My Last Location"
67 // 2 - "<Type region name>"
68
69 BOOL login_last = gSavedSettings.getBOOL("LoginLastLocation");
70 std::string sim_string = LLURLSimString::sInstance.mSimString;
71 if (!sim_string.empty())
72 {
73 // Replace "<Type region name>" with this region name
74 combo->remove(2);
75 combo->add( sim_string );
76 combo->setTextEntry(sim_string);
77 combo->setCurrentByIndex( 2 );
78 }
79 else if (login_last)
80 {
81 combo->setCurrentByIndex( 1 );
82 }
83 else
84 {
85 combo->setCurrentByIndex( 0 );
86 }
87
59 childSetValue("show_location_checkbox", gSavedSettings.getBOOL("ShowStartLocation")); 88 childSetValue("show_location_checkbox", gSavedSettings.getBOOL("ShowStartLocation"));
60 childSetValue("show_all_title_checkbox", gSavedSettings.getBOOL("RenderHideGroupTitleAll")); 89 childSetValue("show_all_title_checkbox", gSavedSettings.getBOOL("RenderHideGroupTitleAll"));
61 childSetValue("show_my_name_checkbox", gSavedSettings.getBOOL("RenderNameHideSelf")); 90 childSetValue("show_my_name_checkbox", gSavedSettings.getBOOL("RenderNameHideSelf"));
@@ -103,6 +132,8 @@ BOOL LLPanelGeneral::postBuild()
103 132
104 childSetVisible("maturity_desired_combobox", can_choose); 133 childSetVisible("maturity_desired_combobox", can_choose);
105 childSetVisible("maturity_desired_textbox", !can_choose); 134 childSetVisible("maturity_desired_textbox", !can_choose);
135
136 childSetAction("grid_btn", onClickGrid, this);
106 137
107 return TRUE; 138 return TRUE;
108} 139}
@@ -117,7 +148,15 @@ void LLPanelGeneral::apply()
117 LLComboBox* fade_out_combobox = getChild<LLComboBox>("fade_out_combobox"); 148 LLComboBox* fade_out_combobox = getChild<LLComboBox>("fade_out_combobox");
118 gSavedSettings.setS32("RenderName", fade_out_combobox->getCurrentIndex()); 149 gSavedSettings.setS32("RenderName", fade_out_combobox->getCurrentIndex());
119 150
120 gSavedSettings.setBOOL("LoginLastLocation", childGetValue("default_start_location").asString() == "MyLastLocation"); 151 LLComboBox* loc_combo = getChild<LLComboBox>("default_location_combo");
152 gSavedSettings.setBOOL("LoginLastLocation", loc_combo->getCurrentIndex() == 1);
153 if (!loc_combo->getValue().asString().empty() &&
154 loc_combo->getSelectedItemLabel() != "<Type region name>")
155 {
156 LLURLSimString::setString(loc_combo->getValue().asString());
157 }
158 LLPanelLogin::refreshLocation(false);
159
121 gSavedSettings.setBOOL("ShowStartLocation", childGetValue("show_location_checkbox")); 160 gSavedSettings.setBOOL("ShowStartLocation", childGetValue("show_location_checkbox"));
122 gSavedSettings.setBOOL("RenderHideGroupTitleAll", childGetValue("show_all_title_checkbox")); 161 gSavedSettings.setBOOL("RenderHideGroupTitleAll", childGetValue("show_all_title_checkbox"));
123 gSavedSettings.setBOOL("RenderNameHideSelf", childGetValue("show_my_name_checkbox")); 162 gSavedSettings.setBOOL("RenderNameHideSelf", childGetValue("show_my_name_checkbox"));
@@ -132,8 +171,6 @@ void LLPanelGeneral::apply()
132 gSavedSettings.setBOOL("UIAutoScale", childGetValue("ui_auto_scale")); 171 gSavedSettings.setBOOL("UIAutoScale", childGetValue("ui_auto_scale"));
133 gSavedSettings.setString("Language", childGetValue("language_combobox")); 172 gSavedSettings.setString("Language", childGetValue("language_combobox"));
134 173
135 LLURLSimString::setString(childGetValue("location_combobox"));
136
137 LLComboBox* crash_behavior_combobox = getChild<LLComboBox>("crash_behavior_combobox"); 174 LLComboBox* crash_behavior_combobox = getChild<LLComboBox>("crash_behavior_combobox");
138 gCrashSettings.setS32(CRASH_BEHAVIOR_SETTING, crash_behavior_combobox->getCurrentIndex()); 175 gCrashSettings.setS32(CRASH_BEHAVIOR_SETTING, crash_behavior_combobox->getCurrentIndex());
139 176
@@ -170,3 +207,20 @@ void LLPanelGeneral::onClickResetUISize(void* user_data)
170 LLPanelGeneral* self = (LLPanelGeneral*)user_data; 207 LLPanelGeneral* self = (LLPanelGeneral*)user_data;
171 self->childSetValue("ui_scale_slider", 1.002f); 208 self->childSetValue("ui_scale_slider", 1.002f);
172} 209}
210
211// static
212void LLPanelGeneral::onClickGrid(void *)
213{
214 FloaterGridManager::getInstance()->open();
215 FloaterGridManager::getInstance()->center();
216}
217
218// static
219void LLPanelGeneral::onLocationChanged(LLUICtrl* ctrl, void* data)
220{
221 LLPanelGeneral* self = (LLPanelGeneral*)data;
222 if (self->getChild<LLComboBox>("default_location_combo")->getCurrentIndex() == 2)
223 {
224 self->getChild<LLComboBox>("default_location_combo")->setTextEntry(LLURLSimString::sInstance.mSimString);
225 }
226}
diff --git a/linden/indra/newview/llpanelgeneral.h b/linden/indra/newview/llpanelgeneral.h
index c5a1f63..e85fdf8 100644
--- a/linden/indra/newview/llpanelgeneral.h
+++ b/linden/indra/newview/llpanelgeneral.h
@@ -49,6 +49,8 @@ public:
49 49
50private: 50private:
51 static void onClickResetUISize(void*); 51 static void onClickResetUISize(void*);
52 static void onClickGrid(void*);
53 static void onLocationChanged(LLUICtrl* ctrl, void* data);
52}; 54};
53 55
54#endif 56#endif
diff --git a/linden/indra/newview/llpanellogin.cpp b/linden/indra/newview/llpanellogin.cpp
index ea84fee..a95272a 100644
--- a/linden/indra/newview/llpanellogin.cpp
+++ b/linden/indra/newview/llpanellogin.cpp
@@ -721,7 +721,7 @@ void LLPanelLogin::refreshLocation( bool force_visible )
721 721
722 if (LLURLSimString::parse()) 722 if (LLURLSimString::parse())
723 { 723 {
724 combo->setCurrentByIndex( 3 ); // BUG? Maybe 2? 724 combo->setCurrentByIndex( 2 );
725 combo->setTextEntry(LLURLSimString::sInstance.mSimString); 725 combo->setTextEntry(LLURLSimString::sInstance.mSimString);
726 } 726 }
727 else 727 else
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml
index cc87175..6b8f7aa 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml
@@ -2,17 +2,24 @@
2<panel border="true" bottom="-409" enabled="true" follows="left|top|right|bottom" 2<panel border="true" bottom="-409" enabled="true" follows="left|top|right|bottom"
3 height="408" label="General" left="102" mouse_opaque="true" 3 height="408" label="General" left="102" mouse_opaque="true"
4 name="general_panel" width="517"> 4 name="general_panel" width="517">
5 <radio_group bottom="-45" draw_border="false" follows="left|bottom" height="40" left="151" 5 <combo_box name="default_location_combo"
6 name="default_start_location" width="220"> 6 bottom="-22" left="155" height="16" width="150"
7 <radio_item bottom="-20" height="20" left="0" name="MyHome" width="50" 7 follows="left|bottom" font="SansSerifSmall"
8 tool_tip="Log into my home location by default."> 8 mouse_opaque="true" allow_text_entry="true" max_chars="128">
9 My home 9 <combo_item name="MyHome" value="My Home">
10 </radio_item> 10 My Home
11 <radio_item bottom="-20" height="20" left="100" name="MyLastLocation" width="50" 11 </combo_item>
12 tool_tip="Log into my last location by default."> 12 <combo_item name="MyLastLocation" value="My Last Location">
13 My last location 13 My Last Location
14 </radio_item> 14 </combo_item>
15 </radio_group> 15 <combo_item name="Typeregionname" value="&lt;Type region name&gt;">
16 &lt;Type region name&gt;
17 </combo_item>
18 </combo_box>
19 <button name="grid_btn" label="Grid Manager"
20 bottom_delta="0" left="330" height="16" width="100"
21 follows="left|bottom" font="SansSerifSmall" halign="center"
22 mouse_opaque="true" scale_image="TRUE" />
16 <check_box bottom="-44" enabled="true" follows="left|top" 23 <check_box bottom="-44" enabled="true" follows="left|top"
17 font="SansSerifSmall" height="16" initial_value="true" 24 font="SansSerifSmall" height="16" initial_value="true"
18 label="Show start location at login screen" left="151" mouse_opaque="true" 25 label="Show start location at login screen" left="151" mouse_opaque="true"