summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuri Chebotarev <ychebotarev@productengine.com>2009-12-02 20:18:53 +0200
committerYuri Chebotarev <ychebotarev@productengine.com>2009-12-02 20:18:53 +0200
commit3c8f89246712d1e5391ab1bdd6bbc36a83f210d8 (patch)
treebc6c5803b28402cfbecf4e84e825cbc3bbea0974
parenta2e23aa3d9f6e8c156e97244a7694256f41f93c3 (diff)
parent2b2178fe2535e27aadfaa94f70fce05b2f8d63ad (diff)
merge
--HG-- branch : product-engine
-rw-r--r--indra/llui/llfloater.cpp2
-rw-r--r--indra/llui/llfloater.h2
-rw-r--r--indra/newview/llimfloater.cpp10
-rw-r--r--indra/newview/llimfloater.h1
-rw-r--r--indra/newview/skins/default/xui/en/floater_im_container.xml3
5 files changed, 16 insertions, 2 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp
index 36a9e0a650..a63187678e 100644
--- a/indra/llui/llfloater.cpp
+++ b/indra/llui/llfloater.cpp
@@ -1452,6 +1452,7 @@ void LLFloater::onClickTearOff(LLFloater* self)
gFloaterView->adjustToFitScreen(self, FALSE);
// give focus to new window to keep continuity for the user
self->setFocus(TRUE);
+ self->setTornOff(true);
}
else //Attach to parent.
{
@@ -1463,6 +1464,7 @@ void LLFloater::onClickTearOff(LLFloater* self)
// make sure host is visible
new_host->openFloater(new_host->getKey());
}
+ self->setTornOff(false);
}
}
diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h
index d7ec0aac00..b5c835cb47 100644
--- a/indra/llui/llfloater.h
+++ b/indra/llui/llfloater.h
@@ -259,6 +259,8 @@ public:
bool isDocked() const { return mDocked; }
virtual void setDocked(bool docked, bool pop_on_undock = true);
+ virtual void setTornOff(bool torn_off) {}
+
// Return a closeable floater, if any, given the current focus.
static LLFloater* getClosableFloaterFromFocus();
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index 9b7df38c5e..9de0b1f827 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -419,6 +419,16 @@ void LLIMFloater::setDocked(bool docked, bool pop_on_undock)
}
}
+void LLIMFloater::setTornOff(bool torn_off)
+{
+ // When IM Floater isn't torn off, "close" button should be hidden.
+ // This call will just disables it, since there is a hack in LLFloater::updateButton,
+ // which prevents hiding of close button in that case.
+ setCanClose(torn_off);
+
+ LLTransientDockableFloater::setTornOff(torn_off);
+}
+
void LLIMFloater::setVisible(BOOL visible)
{
LLNotificationsUI::LLScreenChannel* channel = dynamic_cast<LLNotificationsUI::LLScreenChannel*>
diff --git a/indra/newview/llimfloater.h b/indra/newview/llimfloater.h
index 2c762c4d9a..f90bc35c34 100644
--- a/indra/newview/llimfloater.h
+++ b/indra/newview/llimfloater.h
@@ -63,6 +63,7 @@ public:
// LLFloater overrides
/*virtual*/ void onClose(bool app_quitting);
/*virtual*/ void setDocked(bool docked, bool pop_on_undock = true);
+ /*virtual*/ void setTornOff(bool torn_off);
// Make IM conversion visible and update the message history
static LLIMFloater* show(const LLUUID& session_id);
diff --git a/indra/newview/skins/default/xui/en/floater_im_container.xml b/indra/newview/skins/default/xui/en/floater_im_container.xml
index cf6a4e45bd..cd297af99d 100644
--- a/indra/newview/skins/default/xui/en/floater_im_container.xml
+++ b/indra/newview/skins/default/xui/en/floater_im_container.xml
@@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<multi_floater
-background_visible="true"
-bg_color="yellow"
+ can_minimize="false"
can_resize="true"
height="390"
layout="topleft"