diff options
author | Merov Linden <merov@lindenlab.com> | 2013-06-25 15:49:39 -0700 |
---|---|---|
committer | Merov Linden <merov@lindenlab.com> | 2013-06-25 15:49:39 -0700 |
commit | ec09ce526b477869aa76dddaa8e11eecca57989d (patch) | |
tree | d1ace9a1f76b62e47e2c69bd6ee96d8426bb8008 /indra | |
parent | fa48ae87415d7e5d5bf7549af30832a14d6a7de2 (diff) |
ACME-612 : Implemented a loading indicator for the map tile when it's loading, also disable the checkbox during that time
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llfloatersocial.cpp | 14 | ||||
-rw-r--r-- | indra/newview/llfloatersocial.h | 1 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_social.xml | 27 |
3 files changed, 31 insertions, 11 deletions
diff --git a/indra/newview/llfloatersocial.cpp b/indra/newview/llfloatersocial.cpp index 92a291e51c..e164ea8155 100644 --- a/indra/newview/llfloatersocial.cpp +++ b/indra/newview/llfloatersocial.cpp @@ -34,6 +34,7 @@ #include "llfacebookconnect.h" #include "llfloaterreg.h" #include "lliconctrl.h" +#include "llloadingindicator.h" #include "llslurl.h" #include "llviewerregion.h" #include "llviewercontrol.h" @@ -453,8 +454,12 @@ void LLFloaterSocial::draw() mMapTexture->setBoostLevel(LLGLTexture::BOOST_MAP); mReloadingMapTexture = true; // In the meantime, put back the "loading" placeholder in the map widget - getChild<LLIconCtrl>("map_placeholder")->setImage(mMapPlaceholder); - } + getChild<LLLoadingIndicator>("map_loading_indicator")->setVisible(true); + getChild<LLIconCtrl>("map_placeholder")->setVisible(false); + mMapCheckBoxValue = getChild<LLCheckBoxCtrl>("add_place_view_cb")->get(); + getChild<LLCheckBoxCtrl>("add_place_view_cb")->set(false); + getChild<LLCheckBoxCtrl>("add_place_view_cb")->setEnabled(false); + } // Are we done loading the map tile? if (mReloadingMapTexture && mMapTexture->isFullyLoaded()) { @@ -464,6 +469,11 @@ void LLFloaterSocial::draw() LLPointer<LLUIImage> ui_image = new LLUIImage(mMapUrl, mMapTexture); // Point map widget to correct map tile getChild<LLIconCtrl>("map_placeholder")->setImage(ui_image); + // Switch visibility + getChild<LLLoadingIndicator>("map_loading_indicator")->setVisible(false); + getChild<LLIconCtrl>("map_placeholder")->setVisible(true); + getChild<LLCheckBoxCtrl>("add_place_view_cb")->setEnabled(true); + getChild<LLCheckBoxCtrl>("add_place_view_cb")->set(mMapCheckBoxValue); } LLFloater::draw(); } diff --git a/indra/newview/llfloatersocial.h b/indra/newview/llfloatersocial.h index 1e28e3cb7e..8b51d5ca9b 100644 --- a/indra/newview/llfloatersocial.h +++ b/indra/newview/llfloatersocial.h @@ -103,6 +103,7 @@ private: LLPointer<LLViewerFetchedTexture> mMapTexture; LLPointer<LLUIImage> mMapPlaceholder; bool mReloadingMapTexture; + bool mMapCheckBoxValue; }; #endif // LL_LLFLOATERSOCIAL_H diff --git a/indra/newview/skins/default/xui/en/floater_social.xml b/indra/newview/skins/default/xui/en/floater_social.xml index 76c15b9624..960f883595 100644 --- a/indra/newview/skins/default/xui/en/floater_social.xml +++ b/indra/newview/skins/default/xui/en/floater_social.xml @@ -379,16 +379,25 @@ <layout_panel name="place_map_panel" height="133"> - <icon + <loading_indicator follows="left|top" - height="128" - width="128" - image_name="Map_Placeholder_Icon" - layout="topleft" - top="5" - left="9" - name="map_placeholder"> - </icon> + height="24" + width="24" + name="map_loading_indicator" + top="57" + left="61" + visible="true"/> + <icon + follows="left|top" + height="128" + width="128" + image_name="Map_Placeholder_Icon" + layout="topleft" + top="5" + left="9" + visible="false" + name="map_placeholder"> + </icon> <check_box follows="left|top" initial_value="true" |