summaryrefslogtreecommitdiff
path: root/indra/llui
diff options
context:
space:
mode:
authorPaul Guslisty <pguslisty@productengine.com>2010-03-23 14:09:38 +0200
committerPaul Guslisty <pguslisty@productengine.com>2010-03-23 14:09:38 +0200
commiteb119c2268798b4c64fb437806199ee7ae509217 (patch)
treec2cf815992e00c3edbf3efd25dde0ce4a3696299 /indra/llui
parentda4f6a481ad4153280f1b27d41f0291acc073dfa (diff)
Fixed low bug EXT-4081 (Lag Meter: Ctrl+W does not close floater)
- Set 'Close' text of tooltip instead of 'Close (Ctrl+W)' for close button of chrome floaters Reviewed by Mike Antipov --HG-- branch : product-engine
Diffstat (limited to 'indra/llui')
-rw-r--r--indra/llui/llfloater.cpp12
-rw-r--r--indra/llui/llfloater.h8
2 files changed, 17 insertions, 3 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index 33895ac22a..966bd2e85d 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -1121,6 +1121,7 @@ void LLFloater::setIsChrome(BOOL is_chrome)
setFocus(FALSE);
// can't Ctrl-Tab to "chrome" floaters
setFocusRoot(FALSE);
+ mButtons[BUTTON_CLOSE]->setToolTip(LLStringExplicit(getButtonTooltip(Params(), BUTTON_CLOSE, is_chrome)));
}
// no titles displayed on "chrome" floaters
@@ -1845,7 +1846,7 @@ void LLFloater::buildButtons(const Params& floater_params)
p.click_callback.function(boost::bind(sButtonCallbacks[i], this));
p.tab_stop(false);
p.follows.flags(FOLLOWS_TOP|FOLLOWS_RIGHT);
- p.tool_tip = getButtonTooltip(floater_params, (EFloaterButton)i);
+ p.tool_tip = getButtonTooltip(floater_params, (EFloaterButton)i, getIsChrome());
p.scale_image(true);
p.chrome(true);
@@ -1900,8 +1901,15 @@ LLUIImage* LLFloater::getButtonPressedImage(const Params& p, EFloaterButton e)
}
// static
-std::string LLFloater::getButtonTooltip(const Params& p, EFloaterButton e)
+std::string LLFloater::getButtonTooltip(const Params& p, EFloaterButton e, bool is_chrome)
{
+ // EXT-4081 (Lag Meter: Ctrl+W does not close floater)
+ // If floater is chrome set 'Close' text for close button's tooltip
+ if(is_chrome && BUTTON_CLOSE == e)
+ {
+ static std::string close_tooltip_chrome = LLTrans::getString("BUTTON_CLOSE_CHROME");
+ return close_tooltip_chrome;
+ }
// TODO: per-floater localizable tooltips set in XML
return sButtonToolTips[e];
}
diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h
index 97d2bda594..d8c77370f6 100644
--- a/indra/llui/llfloater.h
+++ b/indra/llui/llfloater.h
@@ -322,8 +322,14 @@ private:
// up by index.
static LLUIImage* getButtonImage(const Params& p, EFloaterButton e);
static LLUIImage* getButtonPressedImage(const Params& p, EFloaterButton e);
- static std::string getButtonTooltip(const Params& p, EFloaterButton e);
+ /**
+ * @params is_chrome - if floater is Chrome it means that floater will never get focus.
+ * Therefore it can't be closed with 'Ctrl+W'. So the tooltip text of close button( X )
+ * should be 'Close' not 'Close(Ctrl+W)' as for usual floaters.
+ */
+ static std::string getButtonTooltip(const Params& p, EFloaterButton e, bool is_chrome);
+
BOOL offerClickToButton(S32 x, S32 y, MASK mask, EFloaterButton index);
void addResizeCtrls();
void layoutResizeCtrls();