From f8d08af9f1e810c977626e4131baf771d2b3655c Mon Sep 17 00:00:00 2001
From: Richard Linden <none@none>
Date: Tue, 23 Nov 2010 16:25:10 -0800
Subject: [PATCH] SOCIAL-266 WIP HTTP AUTH dialogs no longer work in LLQtWebKit
 4.7.1 converted LLLayoutStack orientation param to use named enums

---
 indra/llui/lllayoutstack.cpp    |  8 +++++++-
 indra/llui/lllayoutstack.h      | 20 +++++++++++++-------
 indra/newview/llchathistory.cpp |  2 +-
 indra/newview/llmediactrl.cpp   |  4 ++--
 4 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/indra/llui/lllayoutstack.cpp b/indra/llui/lllayoutstack.cpp
index 3f56ec2c3d4..6c0a2a9a10f 100644
--- a/indra/llui/lllayoutstack.cpp
+++ b/indra/llui/lllayoutstack.cpp
@@ -38,6 +38,12 @@
 static LLDefaultChildRegistry::Register<LLLayoutStack> register_layout_stack("layout_stack");
 static LLLayoutStack::LayoutStackRegistry::Register<LLLayoutPanel> register_layout_panel("layout_panel");
 
+void LLLayoutStack::OrientationNames::declareValues()
+{
+	declare("horizontal", HORIZONTAL);
+	declare("vertical", VERTICAL);
+}
+
 //
 // LLLayoutPanel
 //
@@ -107,7 +113,7 @@ LLLayoutStack::LLLayoutStack(const LLLayoutStack::Params& p)
 	mMinWidth(0),
 	mMinHeight(0),
 	mPanelSpacing(p.border_size),
-	mOrientation((p.orientation() == "vertical") ? VERTICAL : HORIZONTAL),
+	mOrientation(p.orientation),
 	mAnimate(p.animate),
 	mAnimatedThisFrame(false),
 	mClip(p.clip)
diff --git a/indra/llui/lllayoutstack.h b/indra/llui/lllayoutstack.h
index e19ef403eff..9e8539c716b 100644
--- a/indra/llui/lllayoutstack.h
+++ b/indra/llui/lllayoutstack.h
@@ -37,12 +37,24 @@ class LLLayoutPanel;
 class LLLayoutStack : public LLView, public LLInstanceTracker<LLLayoutStack>
 {
 public:
+	typedef enum e_layout_orientation
+	{
+		HORIZONTAL,
+		VERTICAL
+	} ELayoutOrientation;
+
+	struct OrientationNames
+	:	public LLInitParam::TypeValuesHelper<ELayoutOrientation, OrientationNames>
+	{
+		static void declareValues();
+	};
+
 	struct LayoutStackRegistry : public LLChildRegistry<LayoutStackRegistry>
 	{};
 
 	struct Params : public LLInitParam::Block<Params, LLView::Params>
 	{
-		Mandatory<std::string>	orientation;
+		Mandatory<ELayoutOrientation, OrientationNames>	orientation;
 		Optional<S32>			border_size;
 		Optional<bool>			animate,
 								clip;
@@ -52,12 +64,6 @@ class LLLayoutStack : public LLView, public LLInstanceTracker<LLLayoutStack>
 
 	typedef LayoutStackRegistry child_registry_t;
 
-	typedef enum e_layout_orientation
-	{
-		HORIZONTAL,
-		VERTICAL
-	} ELayoutOrientation;
-
 	virtual ~LLLayoutStack();
 
 	/*virtual*/ void draw();
diff --git a/indra/newview/llchathistory.cpp b/indra/newview/llchathistory.cpp
index 271ee0c4a48..e9337706017 100644
--- a/indra/newview/llchathistory.cpp
+++ b/indra/newview/llchathistory.cpp
@@ -586,7 +586,7 @@ void LLChatHistory::initFromParams(const LLChatHistory::Params& p)
 	LLLayoutStack::Params layout_p;
 	layout_p.rect = stack_rect;
 	layout_p.follows.flags = FOLLOWS_ALL;
-	layout_p.orientation = "vertical";
+	layout_p.orientation = LLLayoutStack::VERTICAL;
 	layout_p.mouse_opaque = false;
 	
 	LLLayoutStack* stackp = LLUICtrlFactory::create<LLLayoutStack>(layout_p, this);
diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp
index 6595ee2bcca..54c7d361b75 100644
--- a/indra/newview/llmediactrl.cpp
+++ b/indra/newview/llmediactrl.cpp
@@ -109,7 +109,7 @@ void LLWindowShade::initFromParams(const LLWindowShade::Params& params)
 	layout_p.rect = LLRect(0,getLocalRect().mTop,getLocalRect().mRight, 30);
 	layout_p.follows.flags = FOLLOWS_ALL;
 	layout_p.mouse_opaque = false;
-	layout_p.orientation = "vertical";
+	layout_p.orientation = LLLayoutStack::VERTICAL;
 
 	LLLayoutStack* stackp = LLUICtrlFactory::create<LLLayoutStack>(layout_p);
 	addChild(stackp);
@@ -135,7 +135,7 @@ void LLWindowShade::initFromParams(const LLWindowShade::Params& params)
 	layout_p = LLUICtrlFactory::getDefaultParams<LLLayoutStack>();
 	layout_p.rect = LLRect(0, 30, 800, 0);
 	layout_p.follows.flags = FOLLOWS_ALL;
-	layout_p.orientation = "horizontal";
+	layout_p.orientation = LLLayoutStack::HORIZONTAL;
 	stackp = LLUICtrlFactory::create<LLLayoutStack>(layout_p);
 	notification_panel->addChild(stackp);
 
-- 
GitLab