summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorYuri Chebotarev <ychebotarev@productengine.com>2009-11-03 17:31:26 +0200
committerYuri Chebotarev <ychebotarev@productengine.com>2009-11-03 17:31:26 +0200
commitf1d834c50d7155102a6482e1c4e4205ddca65be2 (patch)
tree1a12e4e86e2a10785bf3c7abe4a1f6540b2b8a0b /indra/newview
parent3b17d74cb0998bbdbd70e3fc70255a2ba5df385b (diff)
fix for normal task EXT-239 Save chat window state and position between sessions
--HG-- branch : product-engine
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llnearbychat.cpp37
-rw-r--r--indra/newview/llnearbychat.h7
2 files changed, 31 insertions, 13 deletions
diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp
index 12638ab855..81d033d7f9 100644
--- a/indra/newview/llnearbychat.cpp
+++ b/indra/newview/llnearbychat.cpp
@@ -97,14 +97,39 @@ BOOL LLNearbyChat::postBuild()
if (getDockControl() == NULL)
{
setDockControl(new LLDockControl(
- LLBottomTray::getInstance()->getNearbyChatBar(), this,
- getDockTongue(), LLDockControl::LEFT, boost::bind(&LLNearbyChat::getAllowedRect, this, _1)));
+ LLBottomTray::getInstance()->getNearbyChatBar(), this,
+ getDockTongue(), LLDockControl::LEFT, boost::bind(&LLNearbyChat::getAllowedRect, this, _1)));
}
return true;
}
+void LLNearbyChat::applySavedVariables()
+{
+
+ if (mRectControl.size() > 1)
+ {
+ const LLRect& rect = LLUI::sSettingGroups["floater"]->getRect(mRectControl);
+ reshape(rect.getWidth(), rect.getHeight());
+ setRect(rect);
+ }
+
+
+ if(!LLUI::sSettingGroups["floater"]->controlExists(mDocStateControl))
+ {
+ setDocked(true);
+ }
+ else
+ {
+ if (mDocStateControl.size() > 1)
+ {
+ bool dockState = LLUI::sSettingGroups["floater"]->getBOOL(mDocStateControl);
+ setDocked(dockState);
+ }
+ }
+}
+
LLColor4 nearbychat_get_text_color(const LLChat& chat)
{
LLColor4 text_color;
@@ -265,11 +290,5 @@ void LLNearbyChat::getAllowedRect(LLRect& rect)
{
rect = gViewerWindow->getWorldViewRect();
}
-void LLNearbyChat::setVisible (BOOL visible)
-{
- LLDockableFloater::setVisible(visible);
-}
-void LLNearbyChat::toggleWindow()
-{
-}
+
diff --git a/indra/newview/llnearbychat.h b/indra/newview/llnearbychat.h
index 20cbf7537d..cb4654654a 100644
--- a/indra/newview/llnearbychat.h
+++ b/indra/newview/llnearbychat.h
@@ -52,16 +52,15 @@ public:
void onNearbyChatContextMenuItemClicked(const LLSD& userdata);
bool onNearbyChatCheckContextMenuItem(const LLSD& userdata);
- void setDocked (bool docked, bool pop_on_undock);
- void toggleWindow ();
+ void setDocked (bool docked, bool pop_on_undock = true);
/*virtual*/ void onOpen (const LLSD& key);
- virtual void setVisible (BOOL visible);
-
virtual void setRect (const LLRect &rect);
private:
+ virtual void applySavedVariables();
+
void getAllowedRect (LLRect& rect);
void onNearbySpeakers ();