summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2013-06-25 15:49:39 -0700
committerMerov Linden <merov@lindenlab.com>2013-06-25 15:49:39 -0700
commitec09ce526b477869aa76dddaa8e11eecca57989d (patch)
treed1ace9a1f76b62e47e2c69bd6ee96d8426bb8008 /indra
parentfa48ae87415d7e5d5bf7549af30832a14d6a7de2 (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.cpp14
-rw-r--r--indra/newview/llfloatersocial.h1
-rw-r--r--indra/newview/skins/default/xui/en/floater_social.xml27
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"