From 5aa43e4f3e30d81fb518783189b3258e67b4620a Mon Sep 17 00:00:00 2001
From: Richard Linden <none@none>
Date: Tue, 22 Feb 2011 19:30:50 -0800
Subject: SOCIAL-545 WIP Figure out how to configure skylight-specific settings
 while retaining relevant user settings (login account name, etc.) converted
 settings_file.xml to use param block descriptions for easier modification
 added session settings file and user session settings file for per-session
 config overrides

---
 indra/llxml/llcontrol.cpp | 5 ++---
 indra/llxml/llcontrol.h   | 2 +-
 2 files changed, 3 insertions(+), 4 deletions(-)

(limited to 'indra/llxml')

diff --git a/indra/llxml/llcontrol.cpp b/indra/llxml/llcontrol.cpp
index 6c72609122..6e4364a20d 100644
--- a/indra/llxml/llcontrol.cpp
+++ b/indra/llxml/llcontrol.cpp
@@ -835,7 +835,7 @@ U32 LLControlGroup::saveToFile(const std::string& filename, BOOL nondefault_only
 	return num_saved;
 }
 
-U32 LLControlGroup::loadFromFile(const std::string& filename, bool set_default_values)
+U32 LLControlGroup::loadFromFile(const std::string& filename, bool set_default_values, bool save_values)
 {
 	std::string name;
 	LLSD settings;
@@ -908,8 +908,7 @@ U32 LLControlGroup::loadFromFile(const std::string& filename, bool set_default_v
 			}
 			else if(existing_control->isPersisted())
 			{
-				
-				existing_control->setValue(control_map["Value"]);
+				existing_control->setValue(control_map["Value"], save_values);
 			}
 			// *NOTE: If not persisted and not setting defaults, 
 			// the value should not get loaded.
diff --git a/indra/llxml/llcontrol.h b/indra/llxml/llcontrol.h
index 93975579cc..e402061e1f 100644
--- a/indra/llxml/llcontrol.h
+++ b/indra/llxml/llcontrol.h
@@ -289,7 +289,7 @@ public:
 	// as the given type.
 	U32	loadFromFileLegacy(const std::string& filename, BOOL require_declaration = TRUE, eControlType declare_as = TYPE_STRING);
  	U32 saveToFile(const std::string& filename, BOOL nondefault_only);
- 	U32	loadFromFile(const std::string& filename, bool default_values = false);
+ 	U32	loadFromFile(const std::string& filename, bool default_values = false, bool save_values = true);
 	void	resetToDefaults();
 };
 
-- 
cgit v1.2.3


From 8886460a22a6cc6307dd0909219b4dd442c55f8d Mon Sep 17 00:00:00 2001
From: Richard Linden <none@none>
Date: Wed, 9 Mar 2011 00:21:57 -0800
Subject: SOCIAL-654 WIP Items purchased on Marketplace.secondlife.com while
 logged into Minimal skin are declined and not present in inventory made
 notification text skinnable

---
 indra/llxml/llxmlnode.cpp | 24 +++++++++++-------------
 indra/llxml/llxmlnode.h   |  3 +--
 2 files changed, 12 insertions(+), 15 deletions(-)

(limited to 'indra/llxml')

diff --git a/indra/llxml/llxmlnode.cpp b/indra/llxml/llxmlnode.cpp
index 8168f968cd..9f1e249ddd 100644
--- a/indra/llxml/llxmlnode.cpp
+++ b/indra/llxml/llxmlnode.cpp
@@ -859,23 +859,21 @@ BOOL LLXMLNode::isFullyDefault()
 }
 
 // static
-bool LLXMLNode::getLayeredXMLNode(const std::string &xui_filename, LLXMLNodePtr& root,
+bool LLXMLNode::getLayeredXMLNode(LLXMLNodePtr& root,
 								  const std::vector<std::string>& paths)
 {
-	std::string full_filename = gDirUtilp->findSkinnedFilename(paths.front(), xui_filename);
-	if (full_filename.empty())
+	if (paths.empty()) return false;
+
+	std::string filename = paths.front();
+	if (filename.empty())
 	{
 		return false;
 	}
-
-	if (!LLXMLNode::parseFile(full_filename, root, NULL))
+	
+	if (!LLXMLNode::parseFile(filename, root, NULL))
 	{
-		// try filename as passed in since sometimes we load an xml file from a user-supplied path
-		if (!LLXMLNode::parseFile(xui_filename, root, NULL))
-		{
-			llwarns << "Problem reading UI description file: " << xui_filename << llendl;
-			return false;
-		}
+		llwarns << "Problem reading UI description file: " << filename << llendl;
+		return false;
 	}
 
 	LLXMLNodePtr updateRoot;
@@ -887,7 +885,7 @@ bool LLXMLNode::getLayeredXMLNode(const std::string &xui_filename, LLXMLNodePtr&
 		std::string nodeName;
 		std::string updateName;
 
-		std::string layer_filename = gDirUtilp->findSkinnedFilename((*itor), xui_filename);
+		std::string layer_filename = *itor;
 		if(layer_filename.empty())
 		{
 			// no localized version of this file, that's ok, keep looking
@@ -896,7 +894,7 @@ bool LLXMLNode::getLayeredXMLNode(const std::string &xui_filename, LLXMLNodePtr&
 
 		if (!LLXMLNode::parseFile(layer_filename, updateRoot, NULL))
 		{
-			llwarns << "Problem reading localized UI description file: " << (*itor) + gDirUtilp->getDirDelimiter() + xui_filename << llendl;
+			llwarns << "Problem reading localized UI description file: " << layer_filename << llendl;
 			return false;
 		}
 
diff --git a/indra/llxml/llxmlnode.h b/indra/llxml/llxmlnode.h
index 9df37ccb6f..e3da7169e7 100644
--- a/indra/llxml/llxmlnode.h
+++ b/indra/llxml/llxmlnode.h
@@ -149,8 +149,7 @@ public:
 		LLXMLNodePtr& update_node);
 	static LLXMLNodePtr replaceNode(LLXMLNodePtr node, LLXMLNodePtr replacement_node);
 	
-	static bool getLayeredXMLNode(const std::string &xui_filename, LLXMLNodePtr& root,
-								  const std::vector<std::string>& paths);
+	static bool getLayeredXMLNode(LLXMLNodePtr& root, const std::vector<std::string>& paths);
 	
 	
 	// Write standard XML file header:
-- 
cgit v1.2.3