From 90adfec715eb93663b424a2ac28a70e965247df4 Mon Sep 17 00:00:00 2001
From: Merov Linden <merov@lindenlab.com>
Date: Wed, 16 Jan 2013 19:22:36 -0800
Subject: CHUI-682 : WIP : Instrument the menu display (or lack thereof).

---
 indra/newview/llpaneloutfitedit.cpp | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp
index d690a18477..c11539353a 100644
--- a/indra/newview/llpaneloutfitedit.cpp
+++ b/indra/newview/llpaneloutfitedit.cpp
@@ -155,6 +155,8 @@ class LLPanelOutfitEditGearMenu
 public:
 	static LLToggleableMenu* create()
 	{
+		llinfos << "Merov debug : Create wearable gear menu" << llendl;
+
 		LLUICtrl::CommitCallbackRegistry::ScopedRegistrar registrar;
 
 		registrar.add("Wearable.Create", boost::bind(onCreate, _2));
@@ -169,6 +171,12 @@ public:
 
 		return menu;
 	}
+	
+	static void pressed(LLToggleableMenu* menu)
+	{
+		menu->toggleVisibility();
+		llinfos << "Merov debug : The button is pressed! Show the menu!!!" << llendl;
+	}
 
 private:
 	static void onCreate(const LLSD& param)
@@ -189,6 +197,8 @@ private:
 		LLView* menu_clothes	= gMenuHolder->getChildView("COF.Gear.New_Clothes", FALSE);
 		LLView* menu_bp			= gMenuHolder->getChildView("COF.Geear.New_Body_Parts", FALSE);
 
+		llinfos << "Merov debug : Populate wearable gear menu" << llendl;
+		
 		for (U8 i = LLWearableType::WT_SHAPE; i != (U8) LLWearableType::WT_COUNT; ++i)
 		{
 			LLWearableType::EType type = (LLWearableType::EType) i;
@@ -197,6 +207,7 @@ private:
 			LLMenuItemCallGL::Params p;
 			p.name = type_name;
 			p.label = LLTrans::getString(LLWearableType::getTypeDefaultNewName(type));
+			llinfos << "Merov debug :    menu label = " << LLTrans::getString(LLWearableType::getTypeDefaultNewName(type)) << llendl;
 			p.on_click.function_name = "Wearable.Create";
 			p.on_click.parameter = LLSD(type_name);
 
@@ -204,6 +215,8 @@ private:
 				menu_clothes : menu_bp;
 			LLUICtrlFactory::create<LLMenuItemCallGL>(p, parent);
 		}
+		
+		llinfos << "Merov debug : clothes size = " << menu_clothes->getChildCount() << ", body part size = " << menu_bp->getChildCount() << llendl;
 	}
 };
 
@@ -564,6 +577,7 @@ BOOL LLPanelOutfitEdit::postBuild()
 	mWearablesGearMenuBtn->setMenu(mAddWearablesGearMenu);
 
 	mGearMenu = LLPanelOutfitEditGearMenu::create();
+	mGearMenuBtn->setMouseDownCallback(boost::bind(&LLPanelOutfitEditGearMenu::pressed, mGearMenu));
 	mGearMenuBtn->setMenu(mGearMenu);
 
 	mSaveComboBtn.reset(new LLSaveOutfitComboBtn(this));
-- 
cgit v1.2.3


From 7ec0d837dd2f364a775757b808351fa81c2468a8 Mon Sep 17 00:00:00 2001
From: "maxim@mnikolenko" <maxim@mnikolenko>
Date: Thu, 17 Jan 2013 19:05:22 +0200
Subject: CHUI-631 (Next conversation in list should be selected in
 Conversations floater after closing a conversation) Don't force selecting
 nearby chat after closing conversation

---
 indra/newview/llfloaterimsessiontab.cpp | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/indra/newview/llfloaterimsessiontab.cpp b/indra/newview/llfloaterimsessiontab.cpp
index 06a79836db..bc5b8c334d 100644
--- a/indra/newview/llfloaterimsessiontab.cpp
+++ b/indra/newview/llfloaterimsessiontab.cpp
@@ -88,13 +88,6 @@ LLFloaterIMSessionTab::LLFloaterIMSessionTab(const LLSD& session_id)
 LLFloaterIMSessionTab::~LLFloaterIMSessionTab()
 {
 	delete mRefreshTimer;
-
-	// Select Nearby Chat session
-	LLFloaterIMContainer* container = LLFloaterReg::findTypedInstance<LLFloaterIMContainer>("im_container");
-	if (container)
-	{
-		container->selectConversationPair(LLUUID(NULL), true);
-	}
 }
 
 //static
-- 
cgit v1.2.3


From aabfce7d9f14ff18ea073708d79c6f62118b3453 Mon Sep 17 00:00:00 2001
From: Merov Linden <merov@lindenlab.com>
Date: Thu, 17 Jan 2013 21:40:49 -0800
Subject: CHUI-682 : Fixed : Added LLMenuGL as a possible child of a toggle or
 contextual menu (for dynamic submenus).

---
 indra/llui/llmenugl.cpp             | 28 +++++++++++++++++++++-------
 indra/newview/llpaneloutfitedit.cpp | 14 --------------
 2 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp
index 93dc13475b..7dcc39950b 100644
--- a/indra/llui/llmenugl.cpp
+++ b/indra/llui/llmenugl.cpp
@@ -1751,16 +1751,18 @@ void LLMenuGL::setCanTearOff(BOOL tear_off)
 
 bool LLMenuGL::addChild(LLView* view, S32 tab_group)
 {
-	if (LLMenuGL* menup = dynamic_cast<LLMenuGL*>(view))
+	LLMenuGL* menup = dynamic_cast<LLMenuGL*>(view);
+	if (menup)
 	{
-		appendMenu(menup);
-		return true;
+		return appendMenu(menup);
 	}
-	else if (LLMenuItemGL* itemp = dynamic_cast<LLMenuItemGL*>(view))
+	
+	LLMenuItemGL* itemp = dynamic_cast<LLMenuItemGL*>(view);
+	if (itemp)
 	{
-		append(itemp);
-		return true;
+		return append(itemp);
 	}
+	
 	return false;
 }
 
@@ -1771,16 +1773,28 @@ bool LLMenuGL::addContextChild(LLView* view, S32 tab_group)
 {
 	LLContextMenu* context = dynamic_cast<LLContextMenu*>(view);
 	if (context)
+	{
 		return appendContextSubMenu(context);
+	}
 
 	LLMenuItemSeparatorGL* separator = dynamic_cast<LLMenuItemSeparatorGL*>(view);
 	if (separator)
+	{
 		return append(separator);
+	}
 
 	LLMenuItemGL* item = dynamic_cast<LLMenuItemGL*>(view);
 	if (item)
+	{
 		return append(item);
-
+	}
+	
+	LLMenuGL* menup = dynamic_cast<LLMenuGL*>(view);
+	if (menup)
+	{
+		return appendMenu(menup);
+	}
+	
 	return false;
 }
 
diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp
index c11539353a..f5db98f831 100644
--- a/indra/newview/llpaneloutfitedit.cpp
+++ b/indra/newview/llpaneloutfitedit.cpp
@@ -155,8 +155,6 @@ class LLPanelOutfitEditGearMenu
 public:
 	static LLToggleableMenu* create()
 	{
-		llinfos << "Merov debug : Create wearable gear menu" << llendl;
-
 		LLUICtrl::CommitCallbackRegistry::ScopedRegistrar registrar;
 
 		registrar.add("Wearable.Create", boost::bind(onCreate, _2));
@@ -172,12 +170,6 @@ public:
 		return menu;
 	}
 	
-	static void pressed(LLToggleableMenu* menu)
-	{
-		menu->toggleVisibility();
-		llinfos << "Merov debug : The button is pressed! Show the menu!!!" << llendl;
-	}
-
 private:
 	static void onCreate(const LLSD& param)
 	{
@@ -197,8 +189,6 @@ private:
 		LLView* menu_clothes	= gMenuHolder->getChildView("COF.Gear.New_Clothes", FALSE);
 		LLView* menu_bp			= gMenuHolder->getChildView("COF.Geear.New_Body_Parts", FALSE);
 
-		llinfos << "Merov debug : Populate wearable gear menu" << llendl;
-		
 		for (U8 i = LLWearableType::WT_SHAPE; i != (U8) LLWearableType::WT_COUNT; ++i)
 		{
 			LLWearableType::EType type = (LLWearableType::EType) i;
@@ -207,7 +197,6 @@ private:
 			LLMenuItemCallGL::Params p;
 			p.name = type_name;
 			p.label = LLTrans::getString(LLWearableType::getTypeDefaultNewName(type));
-			llinfos << "Merov debug :    menu label = " << LLTrans::getString(LLWearableType::getTypeDefaultNewName(type)) << llendl;
 			p.on_click.function_name = "Wearable.Create";
 			p.on_click.parameter = LLSD(type_name);
 
@@ -215,8 +204,6 @@ private:
 				menu_clothes : menu_bp;
 			LLUICtrlFactory::create<LLMenuItemCallGL>(p, parent);
 		}
-		
-		llinfos << "Merov debug : clothes size = " << menu_clothes->getChildCount() << ", body part size = " << menu_bp->getChildCount() << llendl;
 	}
 };
 
@@ -577,7 +564,6 @@ BOOL LLPanelOutfitEdit::postBuild()
 	mWearablesGearMenuBtn->setMenu(mAddWearablesGearMenu);
 
 	mGearMenu = LLPanelOutfitEditGearMenu::create();
-	mGearMenuBtn->setMouseDownCallback(boost::bind(&LLPanelOutfitEditGearMenu::pressed, mGearMenu));
 	mGearMenuBtn->setMenu(mGearMenu);
 
 	mSaveComboBtn.reset(new LLSaveOutfitComboBtn(this));
-- 
cgit v1.2.3


From 3938f99b5ede5b87315fa18ca24d2deece28b34d Mon Sep 17 00:00:00 2001
From: "maxim@mnikolenko" <maxim@mnikolenko>
Date: Fri, 18 Jan 2013 14:18:51 +0200
Subject: CHUI-681 FIXED Clear flash state only for selected widget

---
 indra/newview/llconversationview.cpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp
index 903dd2a407..126c73c283 100755
--- a/indra/newview/llconversationview.cpp
+++ b/indra/newview/llconversationview.cpp
@@ -246,7 +246,7 @@ BOOL LLConversationViewSession::handleMouseDown( S32 x, S32 y, MASK mask )
     if(result && getRoot()->getCurSelectedItem() == this)
 	{
 		LLFloaterIMContainer *im_container = LLFloaterReg::getTypedInstance<LLFloaterIMContainer>("im_container");
-		im_container->clearAllFlashStates();
+		im_container->flashConversationItemWidget(session_id,false);
 		im_container->selectConversationPair(session_id, false);
 		im_container->collapseMessagesPane(false);
 	}
-- 
cgit v1.2.3


From be7835eec6b6cae12656fede44fc2cda1729e20d Mon Sep 17 00:00:00 2001
From: AlexanderP ProductEngine <apaschenko@productengine.com>
Date: Thu, 17 Jan 2013 16:25:21 +0200
Subject: CHUI-625 Participant drop down icon not visible when conversation is
 highlighted orange: redraw the arrow slightly later

---
 indra/newview/llconversationview.cpp | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/indra/newview/llconversationview.cpp b/indra/newview/llconversationview.cpp
index 126c73c283..16dd0e4565 100755
--- a/indra/newview/llconversationview.cpp
+++ b/indra/newview/llconversationview.cpp
@@ -202,14 +202,6 @@ void LLConversationViewSession::draw()
 	const LLFolderViewItem::Params& default_params = LLUICtrlFactory::getDefaultParams<LLFolderViewItem>();
 	const BOOL show_context = (getRoot() ? getRoot()->getShowSelectionContext() : FALSE);
 
-	// we don't draw the open folder arrow in minimized mode
-	if (mHasArrow && !mCollapsedMode)
-	{
-		// update the rotation angle of open folder arrow
-		updateLabelRotation();
-		drawOpenFolderArrow(default_params, sFgColor);
-	}
-
 	// Indicate that flash can start (moot operation if already started, done or not flashing)
 	startFlashing();
 
@@ -232,6 +224,14 @@ void LLConversationViewSession::draw()
 		(*iit)->setVisible(draw_children);
 	}
 
+	// we don't draw the open folder arrow in minimized mode
+	if (mHasArrow && !mCollapsedMode)
+	{
+		// update the rotation angle of open folder arrow
+		updateLabelRotation();
+		drawOpenFolderArrow(default_params, sFgColor);
+	}
+
 	LLView::draw();
 }
 
-- 
cgit v1.2.3