diff options
author | McCabe Maxsted | 2010-08-01 22:33:02 -0700 |
---|---|---|
committer | Jacek Antonelli | 2010-08-02 00:44:41 -0500 |
commit | 51ccaa26f80b2c896f622b5da19e9b6e8032643c (patch) | |
tree | eeb6dfc63581f9f750dadc645aa33c3eec311690 /linden | |
parent | Added loading kdu debugging info to the log (diff) | |
download | meta-impy-51ccaa26f80b2c896f622b5da19e9b6e8032643c.zip meta-impy-51ccaa26f80b2c896f622b5da19e9b6e8032643c.tar.gz meta-impy-51ccaa26f80b2c896f622b5da19e9b6e8032643c.tar.bz2 meta-impy-51ccaa26f80b2c896f622b5da19e9b6e8032643c.tar.xz |
Added first use grid selector for selecting the default grid when Imprudence is first run
Diffstat (limited to 'linden')
-rw-r--r-- | linden/indra/newview/CMakeLists.txt | 3 | ||||
-rw-r--r-- | linden/indra/newview/app_settings/settings.xml | 11 | ||||
-rw-r--r-- | linden/indra/newview/floatergriddefault.cpp | 102 | ||||
-rw-r--r-- | linden/indra/newview/floatergriddefault.h | 49 | ||||
-rw-r--r-- | linden/indra/newview/llappviewer.cpp | 1 | ||||
-rw-r--r-- | linden/indra/newview/llfirstuse.cpp | 14 | ||||
-rw-r--r-- | linden/indra/newview/llfirstuse.h | 1 | ||||
-rw-r--r-- | linden/indra/newview/llpanellogin.cpp | 64 | ||||
-rw-r--r-- | linden/indra/newview/llpanellogin.h | 2 | ||||
-rw-r--r-- | linden/indra/newview/skins/default/xui/en-us/floater_grid_default_selector.xml | 19 |
10 files changed, 242 insertions, 24 deletions
diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt index 7077dde..b64726d 100644 --- a/linden/indra/newview/CMakeLists.txt +++ b/linden/indra/newview/CMakeLists.txt | |||
@@ -69,6 +69,7 @@ set(viewer_SOURCE_FILES | |||
69 | emeraldboobutils.cpp | 69 | emeraldboobutils.cpp |
70 | floaterao.cpp | 70 | floaterao.cpp |
71 | floaterbusy.cpp | 71 | floaterbusy.cpp |
72 | floatergriddefault.cpp | ||
72 | floatergridmanager.cpp | 73 | floatergridmanager.cpp |
73 | hbfloatergrouptitles.cpp | 74 | hbfloatergrouptitles.cpp |
74 | hippoGridManager.cpp | 75 | hippoGridManager.cpp |
@@ -501,6 +502,7 @@ set(viewer_HEADER_FILES | |||
501 | emeraldboobutils.h | 502 | emeraldboobutils.h |
502 | floaterao.h | 503 | floaterao.h |
503 | floaterbusy.h | 504 | floaterbusy.h |
505 | floatergriddefault.h | ||
504 | floatergridmanager.h | 506 | floatergridmanager.h |
505 | hbfloatergrouptitles.h | 507 | hbfloatergrouptitles.h |
506 | hippoGridManager.h | 508 | hippoGridManager.h |
@@ -1132,6 +1134,7 @@ set(viewer_XUI_FILES | |||
1132 | skins/default/xui/en-us/floater_font_test.xml | 1134 | skins/default/xui/en-us/floater_font_test.xml |
1133 | skins/default/xui/en-us/floater_gesture.xml | 1135 | skins/default/xui/en-us/floater_gesture.xml |
1134 | skins/default/xui/en-us/floater_god_tools.xml | 1136 | skins/default/xui/en-us/floater_god_tools.xml |
1137 | skins/default/xui/en-us/floater_grid_default_selector.xml | ||
1135 | skins/default/xui/en-us/floater_grid_manager.xml | 1138 | skins/default/xui/en-us/floater_grid_manager.xml |
1136 | skins/default/xui/en-us/floater_group_info.xml | 1139 | skins/default/xui/en-us/floater_group_info.xml |
1137 | skins/default/xui/en-us/floater_group_titles.xml | 1140 | skins/default/xui/en-us/floater_group_titles.xml |
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml index c144f95..9c95b1f 100644 --- a/linden/indra/newview/app_settings/settings.xml +++ b/linden/indra/newview/app_settings/settings.xml | |||
@@ -844,6 +844,17 @@ | |||
844 | <key>Value</key> | 844 | <key>Value</key> |
845 | <integer>1</integer> | 845 | <integer>1</integer> |
846 | </map> | 846 | </map> |
847 | <key>WarnFirstLoginScreen</key> | ||
848 | <map> | ||
849 | <key>Comment</key> | ||
850 | <string>Enables default grid selector on FirstLoginScreen</string> | ||
851 | <key>Persist</key> | ||
852 | <integer>1</integer> | ||
853 | <key>Type</key> | ||
854 | <string>Boolean</string> | ||
855 | <key>Value</key> | ||
856 | <integer>1</integer> | ||
857 | </map> | ||
847 | <key>WarnFirstMiniMap</key> | 858 | <key>WarnFirstMiniMap</key> |
848 | <map> | 859 | <map> |
849 | <key>Comment</key> | 860 | <key>Comment</key> |
diff --git a/linden/indra/newview/floatergriddefault.cpp b/linden/indra/newview/floatergriddefault.cpp new file mode 100644 index 0000000..2c853df --- /dev/null +++ b/linden/indra/newview/floatergriddefault.cpp | |||
@@ -0,0 +1,102 @@ | |||
1 | /** | ||
2 | * @file floatergriddefault.cpp | ||
3 | * @brief prompts user to set the default grid on first use | ||
4 | * | ||
5 | * $LicenseInfo:firstyear=2009&license=viewergpl$ | ||
6 | * | ||
7 | * Copyright (c) 2010, McCabe Maxsted | ||
8 | * | ||
9 | * Imprudence Viewer Source Code | ||
10 | * The source code in this file ("Source Code") is provided to you | ||
11 | * under the terms of the GNU General Public License, version 2.0 | ||
12 | * ("GPL"). Terms of the GPL can be found in doc/GPL-license.txt in | ||
13 | * this distribution, or online at | ||
14 | * http://secondlifegrid.net/programs/open_source/licensing/gplv2 | ||
15 | * | ||
16 | * There are special exceptions to the terms and conditions of the GPL as | ||
17 | * it is applied to this Source Code. View the full text of the exception | ||
18 | * in the file doc/FLOSS-exception.txt in this software distribution, or | ||
19 | * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception | ||
20 | * | ||
21 | * By copying, modifying or distributing this software, you acknowledge | ||
22 | * that you have read and understood your obligations described above, | ||
23 | * and agree to abide by those obligations. | ||
24 | * | ||
25 | * ALL SOURCE CODE IS PROVIDED "AS IS." THE AUTHOR MAKES NO | ||
26 | * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, | ||
27 | * COMPLETENESS OR PERFORMANCE. | ||
28 | * $/LicenseInfo$ | ||
29 | */ | ||
30 | |||
31 | #include "llviewerprecompiledheaders.h" | ||
32 | |||
33 | #include "floatergriddefault.h" | ||
34 | |||
35 | #include "hippoGridManager.h" | ||
36 | #include "llpanellogin.h" | ||
37 | #include "llscrolllistctrl.h" | ||
38 | #include "lluictrlfactory.h" | ||
39 | |||
40 | FloaterGridDefault::FloaterGridDefault(const LLSD& key) | ||
41 | { | ||
42 | LLUICtrlFactory::getInstance()->buildFloater(this, "floater_grid_default_selector.xml"); | ||
43 | } | ||
44 | |||
45 | FloaterGridDefault::~FloaterGridDefault() | ||
46 | { | ||
47 | } | ||
48 | |||
49 | BOOL FloaterGridDefault::postBuild() | ||
50 | { | ||
51 | // populate the grid chooser | ||
52 | LLScrollListCtrl* grid_list = getChild<LLScrollListCtrl>("grid_list"); | ||
53 | grid_list->deleteAllItems(); | ||
54 | |||
55 | LLSD element; | ||
56 | |||
57 | for (HippoGridManager::GridIterator it = gHippoGridManager->beginGrid(); it != gHippoGridManager->endGrid(); ++it) | ||
58 | { | ||
59 | std::string grid_nick = it->second->getGridNick(); | ||
60 | // There's no reason why empty grids nicks should be in this list, ugh | ||
61 | if (!grid_nick.empty()) | ||
62 | { | ||
63 | element["id"] = grid_nick; | ||
64 | element["columns"][0]["column"] = "grid"; | ||
65 | element["columns"][0]["type"] = "text"; | ||
66 | element["columns"][0]["value"] = grid_nick; | ||
67 | grid_list->addElement(element, ADD_BOTTOM); | ||
68 | } | ||
69 | } | ||
70 | |||
71 | grid_list->setFocus(TRUE); | ||
72 | |||
73 | childSetAction("btn_ok", onClickOK, this); | ||
74 | childSetAction("btn_cancel", onClickCancel, this); | ||
75 | |||
76 | return TRUE; | ||
77 | } | ||
78 | |||
79 | // static | ||
80 | void FloaterGridDefault::onClickOK(void* userdata) | ||
81 | { | ||
82 | FloaterGridDefault* self = (FloaterGridDefault*)userdata; | ||
83 | |||
84 | LLScrollListCtrl* grid_list = self->getChild<LLScrollListCtrl>("grid_list"); | ||
85 | std::string selected = grid_list->getFirstSelected()->getValue().asString(); | ||
86 | |||
87 | if (!selected.empty() || selected != gHippoGridManager->getCurrentGridNick()) | ||
88 | { | ||
89 | gHippoGridManager->setDefaultGrid(selected); | ||
90 | gHippoGridManager->setCurrentGridAsConnected(); | ||
91 | gHippoGridManager->saveFile(); | ||
92 | LLPanelLogin::updateGridCombo(selected); | ||
93 | } | ||
94 | self->close(); | ||
95 | } | ||
96 | |||
97 | // static | ||
98 | void FloaterGridDefault::onClickCancel(void* userdata) | ||
99 | { | ||
100 | FloaterGridDefault* self = (FloaterGridDefault*)userdata; | ||
101 | self->close(); | ||
102 | } | ||
diff --git a/linden/indra/newview/floatergriddefault.h b/linden/indra/newview/floatergriddefault.h new file mode 100644 index 0000000..009e23f --- /dev/null +++ b/linden/indra/newview/floatergriddefault.h | |||
@@ -0,0 +1,49 @@ | |||
1 | /** | ||
2 | * @file floatergriddefault.h | ||
3 | * @brief prompts user to set the default grid on first use | ||
4 | * | ||
5 | * $LicenseInfo:firstyear=2009&license=viewergpl$ | ||
6 | * | ||
7 | * Copyright (c) 2010, McCabe Maxsted | ||
8 | * | ||
9 | * Imprudence Viewer Source Code | ||
10 | * The source code in this file ("Source Code") is provided to you | ||
11 | * under the terms of the GNU General Public License, version 2.0 | ||
12 | * ("GPL"). Terms of the GPL can be found in doc/GPL-license.txt in | ||
13 | * this distribution, or online at | ||
14 | * http://secondlifegrid.net/programs/open_source/licensing/gplv2 | ||
15 | * | ||
16 | * There are special exceptions to the terms and conditions of the GPL as | ||
17 | * it is applied to this Source Code. View the full text of the exception | ||
18 | * in the file doc/FLOSS-exception.txt in this software distribution, or | ||
19 | * online at http://secondlifegrid.net/programs/open_source/licensing/flossexception | ||
20 | * | ||
21 | * By copying, modifying or distributing this software, you acknowledge | ||
22 | * that you have read and understood your obligations described above, | ||
23 | * and agree to abide by those obligations. | ||
24 | * | ||
25 | * ALL SOURCE CODE IS PROVIDED "AS IS." THE AUTHOR MAKES NO | ||
26 | * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, | ||
27 | * COMPLETENESS OR PERFORMANCE. | ||
28 | * $/LicenseInfo$ | ||
29 | */ | ||
30 | |||
31 | #ifndef FLOATERGRIDDEFAULT_H | ||
32 | #define FLOATERGRIDDEFAULT_H | ||
33 | |||
34 | #include "llfloater.h" | ||
35 | |||
36 | class FloaterGridDefault : public LLFloater, public LLFloaterSingleton<FloaterGridDefault> | ||
37 | { | ||
38 | public: | ||
39 | FloaterGridDefault(const LLSD& key); | ||
40 | ~FloaterGridDefault(); | ||
41 | |||
42 | /*virtual*/ BOOL postBuild(); | ||
43 | |||
44 | private: | ||
45 | static void onClickOK(void* userdata); | ||
46 | static void onClickCancel(void* userdata); | ||
47 | }; | ||
48 | |||
49 | #endif // FLOATERGRIDDEFAULT_H | ||
diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp index cba1af1..db2854d 100644 --- a/linden/indra/newview/llappviewer.cpp +++ b/linden/indra/newview/llappviewer.cpp | |||
@@ -1827,6 +1827,7 @@ bool LLAppViewer::initConfiguration() | |||
1827 | LLFirstUse::addConfigVariable("FirstSculptedPrim"); | 1827 | LLFirstUse::addConfigVariable("FirstSculptedPrim"); |
1828 | LLFirstUse::addConfigVariable("FirstVoice"); | 1828 | LLFirstUse::addConfigVariable("FirstVoice"); |
1829 | LLFirstUse::addConfigVariable("FirstMedia"); | 1829 | LLFirstUse::addConfigVariable("FirstMedia"); |
1830 | LLFirstUse::addConfigVariable("FirstLoginScreen"); | ||
1830 | 1831 | ||
1831 | // - read command line settings. | 1832 | // - read command line settings. |
1832 | LLControlGroupCLP clp; | 1833 | LLControlGroupCLP clp; |
diff --git a/linden/indra/newview/llfirstuse.cpp b/linden/indra/newview/llfirstuse.cpp index 34e3fcc..c0f07e5 100644 --- a/linden/indra/newview/llfirstuse.cpp +++ b/linden/indra/newview/llfirstuse.cpp | |||
@@ -46,6 +46,7 @@ | |||
46 | #include "lltracker.h" | 46 | #include "lltracker.h" |
47 | 47 | ||
48 | #include "llvoavatar.h" | 48 | #include "llvoavatar.h" |
49 | #include "floatergriddefault.h" | ||
49 | #include "hippoGridManager.h" | 50 | #include "hippoGridManager.h" |
50 | 51 | ||
51 | // [RLVa:KB] - Version: 1.22.11 | 52 | // [RLVa:KB] - Version: 1.22.11 |
@@ -308,6 +309,7 @@ void LLFirstUse::useMedia() | |||
308 | LLNotifications::instance().add("FirstMedia"); | 309 | LLNotifications::instance().add("FirstMedia"); |
309 | } | 310 | } |
310 | } | 311 | } |
312 | |||
311 | void LLFirstUse::callbackClientTags(const LLSD& notification, const LLSD& response) | 313 | void LLFirstUse::callbackClientTags(const LLSD& notification, const LLSD& response) |
312 | { | 314 | { |
313 | gSavedSettings.setWarning("ClientTags", FALSE); | 315 | gSavedSettings.setWarning("ClientTags", FALSE); |
@@ -331,6 +333,7 @@ void LLFirstUse::callbackClientTags(const LLSD& notification, const LLSD& respon | |||
331 | gSavedSettings.setBOOL("DownloadClientTags",FALSE); | 333 | gSavedSettings.setBOOL("DownloadClientTags",FALSE); |
332 | } | 334 | } |
333 | } | 335 | } |
336 | |||
334 | // static | 337 | // static |
335 | void LLFirstUse::ClientTags() | 338 | void LLFirstUse::ClientTags() |
336 | { | 339 | { |
@@ -340,3 +343,14 @@ void LLFirstUse::ClientTags() | |||
340 | } | 343 | } |
341 | } | 344 | } |
342 | 345 | ||
346 | // static | ||
347 | void LLFirstUse::useLoginScreen() | ||
348 | { | ||
349 | if (gSavedSettings.getWarning("FirstLoginScreen")) | ||
350 | { | ||
351 | gSavedSettings.setWarning("FirstLoginScreen", FALSE); | ||
352 | |||
353 | FloaterGridDefault::getInstance()->open(); | ||
354 | FloaterGridDefault::getInstance()->center(); | ||
355 | } | ||
356 | } | ||
diff --git a/linden/indra/newview/llfirstuse.h b/linden/indra/newview/llfirstuse.h index 6467734..bd44ece 100644 --- a/linden/indra/newview/llfirstuse.h +++ b/linden/indra/newview/llfirstuse.h | |||
@@ -112,6 +112,7 @@ public: | |||
112 | static void useDebugMenus(); | 112 | static void useDebugMenus(); |
113 | static void useSculptedPrim(); | 113 | static void useSculptedPrim(); |
114 | static void useMedia(); | 114 | static void useMedia(); |
115 | static void useLoginScreen(); | ||
115 | static void callbackClientTags(const LLSD& notification, const LLSD& response); | 116 | static void callbackClientTags(const LLSD& notification, const LLSD& response); |
116 | static void ClientTags(); | 117 | static void ClientTags(); |
117 | 118 | ||
diff --git a/linden/indra/newview/llpanellogin.cpp b/linden/indra/newview/llpanellogin.cpp index a95272a..460c67f 100644 --- a/linden/indra/newview/llpanellogin.cpp +++ b/linden/indra/newview/llpanellogin.cpp | |||
@@ -52,6 +52,7 @@ | |||
52 | #include "llcombobox.h" | 52 | #include "llcombobox.h" |
53 | #include "llcurl.h" | 53 | #include "llcurl.h" |
54 | #include "llviewercontrol.h" | 54 | #include "llviewercontrol.h" |
55 | #include "llfirstuse.h" | ||
55 | #include "llfloaterabout.h" | 56 | #include "llfloaterabout.h" |
56 | #include "llfloatertest.h" | 57 | #include "llfloatertest.h" |
57 | #include "llfloaterpreference.h" | 58 | #include "llfloaterpreference.h" |
@@ -329,6 +330,7 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, | |||
329 | refreshLocation( false ); | 330 | refreshLocation( false ); |
330 | #endif | 331 | #endif |
331 | 332 | ||
333 | LLFirstUse::useLoginScreen(); | ||
332 | } | 334 | } |
333 | 335 | ||
334 | void LLPanelLogin::setSiteIsAlive( bool alive ) | 336 | void LLPanelLogin::setSiteIsAlive( bool alive ) |
@@ -801,9 +803,12 @@ void LLPanelLogin::refreshLoginPage() | |||
801 | // kick off a request to grab the url manually | 803 | // kick off a request to grab the url manually |
802 | gResponsePtr = LLIamHereLogin::build(sInstance); | 804 | gResponsePtr = LLIamHereLogin::build(sInstance); |
803 | std::string login_page = gHippoGridManager->getCurrentGrid()->getLoginPage(); | 805 | std::string login_page = gHippoGridManager->getCurrentGrid()->getLoginPage(); |
804 | if (!login_page.empty()) { | 806 | if (!login_page.empty()) |
807 | { | ||
805 | LLHTTPClient::head(login_page, gResponsePtr); | 808 | LLHTTPClient::head(login_page, gResponsePtr); |
806 | } else { | 809 | } |
810 | else | ||
811 | { | ||
807 | sInstance->setSiteIsAlive(false); | 812 | sInstance->setSiteIsAlive(false); |
808 | } | 813 | } |
809 | } | 814 | } |
@@ -815,7 +820,8 @@ void LLPanelLogin::loadLoginPage() | |||
815 | 820 | ||
816 | 821 | ||
817 | std::string login_page = gHippoGridManager->getCurrentGrid()->getLoginPage(); | 822 | std::string login_page = gHippoGridManager->getCurrentGrid()->getLoginPage(); |
818 | if (login_page.empty()) { | 823 | if (login_page.empty()) |
824 | { | ||
819 | sInstance->setSiteIsAlive(false); | 825 | sInstance->setSiteIsAlive(false); |
820 | return; | 826 | return; |
821 | } | 827 | } |
@@ -1092,35 +1098,45 @@ void LLPanelLogin::onSelectServer(LLUICtrl* ctrl, void*) | |||
1092 | // *NOTE: The paramters for this method are ignored. | 1098 | // *NOTE: The paramters for this method are ignored. |
1093 | // LLPanelLogin::onServerComboLostFocus(LLFocusableElement* fe, void*) | 1099 | // LLPanelLogin::onServerComboLostFocus(LLFocusableElement* fe, void*) |
1094 | // calls this method. | 1100 | // calls this method. |
1101 | updateGridCombo(LLStringUtil::null); | ||
1102 | } | ||
1095 | 1103 | ||
1096 | // The user twiddled with the grid choice ui. | 1104 | // static |
1097 | // apply the selection to the grid setting. | 1105 | void LLPanelLogin::updateGridCombo(std::string grid_nick) |
1098 | std::string grid_label; | 1106 | { |
1099 | //S32 grid_index; | ||
1100 | |||
1101 | LLComboBox* combo = sInstance->getChild<LLComboBox>("server_combo"); | 1107 | LLComboBox* combo = sInstance->getChild<LLComboBox>("server_combo"); |
1102 | LLSD combo_val = combo->getValue(); | 1108 | |
1103 | 1109 | if (grid_nick.empty()) | |
1104 | std::string mCurGrid = ctrl->getValue().asString(); | 1110 | { |
1105 | //KOW | 1111 | // The user twiddled with the grid choice ui. |
1106 | gHippoGridManager->setCurrentGrid(mCurGrid); | 1112 | // apply the selection to the grid setting. |
1107 | // HippoGridInfo *gridInfo = gHippoGridManager->getGrid(mCurGrid); | 1113 | //std::string grid_label; |
1108 | // if (gridInfo) { | 1114 | //S32 grid_index; |
1109 | // //childSetText("gridnick", gridInfo->getGridNick()); | 1115 | |
1110 | // //platform->setCurrentByIndex(gridInfo->getPlatform()); | 1116 | grid_nick = combo->getValue().asString(); |
1111 | // //childSetText("gridname", gridInfo->getGridName()); | 1117 | |
1112 | // LLPanelLogin::setFields( gridInfo->getFirstName(), gridInfo->getLastName(), gridInfo->getAvatarPassword(), 1 ); | 1118 | // HippoGridInfo *gridInfo = gHippoGridManager->getGrid(mCurGrid); |
1113 | // } | 1119 | // if (gridInfo) { |
1114 | if (mCurGrid == gHippoGridManager->getConnectedGrid()->getGridNick()) | 1120 | // //childSetText("gridnick", gridInfo->getGridNick()); |
1115 | gHippoLimits->setLimits(); | 1121 | // //platform->setCurrentByIndex(gridInfo->getPlatform()); |
1122 | // //childSetText("gridname", gridInfo->getGridName()); | ||
1123 | // LLPanelLogin::setFields( gridInfo->getFirstName(), gridInfo->getLastName(), gridInfo->getAvatarPassword(), 1 ); | ||
1124 | // } | ||
1125 | } | ||
1126 | else | ||
1127 | { | ||
1128 | combo->setSimple(grid_nick); | ||
1129 | } | ||
1116 | 1130 | ||
1117 | llwarns << "current grid = " << mCurGrid << llendl; | 1131 | gHippoGridManager->setCurrentGrid(grid_nick); |
1132 | |||
1133 | llinfos << "current grid set to " << grid_nick << llendl; | ||
1118 | 1134 | ||
1119 | // grid changed so show new splash screen (possibly) | 1135 | // grid changed so show new splash screen (possibly) |
1120 | loadLoginPage(); | 1136 | loadLoginPage(); |
1121 | 1137 | ||
1122 | // save grid choice to settings | 1138 | // save grid choice to settings |
1123 | gSavedSettings.setString("LastSelectedGrid", mCurGrid); | 1139 | gSavedSettings.setString("LastSelectedGrid", grid_nick); |
1124 | } | 1140 | } |
1125 | /* | 1141 | /* |
1126 | void LLPanelLogin::onServerComboLostFocus(LLFocusableElement* fe, void*) | 1142 | void LLPanelLogin::onServerComboLostFocus(LLFocusableElement* fe, void*) |
diff --git a/linden/indra/newview/llpanellogin.h b/linden/indra/newview/llpanellogin.h index f2c589d..15c2d28 100644 --- a/linden/indra/newview/llpanellogin.h +++ b/linden/indra/newview/llpanellogin.h | |||
@@ -65,6 +65,8 @@ public: | |||
65 | 65 | ||
66 | static void addServer(const std::string& server); | 66 | static void addServer(const std::string& server); |
67 | static void refreshLocation( bool force_visible ); | 67 | static void refreshLocation( bool force_visible ); |
68 | // Updates grid combo at login screen with a specific nick. Use an empty string to refresh | ||
69 | static void updateGridCombo(std::string grid_nick); | ||
68 | 70 | ||
69 | static void getFields(std::string *firstname, std::string *lastname, | 71 | static void getFields(std::string *firstname, std::string *lastname, |
70 | std::string *password); | 72 | std::string *password); |
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_grid_default_selector.xml b/linden/indra/newview/skins/default/xui/en-us/floater_grid_default_selector.xml new file mode 100644 index 0000000..2cf9cd7 --- /dev/null +++ b/linden/indra/newview/skins/default/xui/en-us/floater_grid_default_selector.xml | |||
@@ -0,0 +1,19 @@ | |||
1 | <?xml version="1.0" encoding="utf-8" standalone="yes" ?> | ||
2 | <floater can_close="true" can_drag_on_left="false" can_minimize="false" can_resize="false" | ||
3 | height="350" min_height="350" min_width="250" name="default_grid" | ||
4 | title="Select a Default Grid" width="250"> | ||
5 | <text top="-18" follows="top|left" font="SansSerifSmall" left="10" | ||
6 | halign="left" h_pad="0" v_pad="0" height="16" name="select_label"> | ||
7 | Or use the Grid Manager to add a new one | ||
8 | </text> | ||
9 | <scroll_list background_visible="true" bottom_delta="30" draw_border="true" | ||
10 | draw_stripes="false" sort_column="0" | ||
11 | follows="top|left|bottom" height="280" left="10" multi_select="false" | ||
12 | name="grid_list" width="230"> | ||
13 | <column label="" name="grid" width="230" /> | ||
14 | </scroll_list> | ||
15 | <button bottom="5" follows="bottom|right" height="20" label="Cancel" | ||
16 | right="-5" name="btn_cancel" width="85" /> | ||
17 | <button bottom_delta="0" follows="bottom|right" height="20" label="OK" | ||
18 | left_delta="-90" name="btn_ok" width="85" /> | ||
19 | </floater> \ No newline at end of file | ||