diff options
Diffstat (limited to 'OpenSim/Region/OptionalModules')
-rw-r--r-- | OpenSim/Region/OptionalModules/ViewerSupport/SpecialUIModule.cs | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/OpenSim/Region/OptionalModules/ViewerSupport/SpecialUIModule.cs b/OpenSim/Region/OptionalModules/ViewerSupport/SpecialUIModule.cs index 0a8c83a..51f60bb 100644 --- a/OpenSim/Region/OptionalModules/ViewerSupport/SpecialUIModule.cs +++ b/OpenSim/Region/OptionalModules/ViewerSupport/SpecialUIModule.cs | |||
@@ -120,9 +120,10 @@ namespace OpenSim.Region.OptionalModules.ViewerSupport | |||
120 | m_log.DebugFormat("[SPECIAL UI]: OnSimulatorFeaturesRequest in {0}", m_scene.RegionInfo.RegionName); | 120 | m_log.DebugFormat("[SPECIAL UI]: OnSimulatorFeaturesRequest in {0}", m_scene.RegionInfo.RegionName); |
121 | if (m_Helper.ShouldSend(agentID) && m_Helper.UserLevel(agentID) <= m_UserLevel) | 121 | if (m_Helper.ShouldSend(agentID) && m_Helper.UserLevel(agentID) <= m_UserLevel) |
122 | { | 122 | { |
123 | OSDMap extrasMap; | ||
124 | OSDMap specialUI = new OSDMap(); | ||
123 | using (StreamReader s = new StreamReader(Path.Combine(VIEWER_SUPPORT_DIR, "panel_toolbar.xml"))) | 125 | using (StreamReader s = new StreamReader(Path.Combine(VIEWER_SUPPORT_DIR, "panel_toolbar.xml"))) |
124 | { | 126 | { |
125 | OSDMap extrasMap; | ||
126 | if (features.ContainsKey("OpenSimExtras")) | 127 | if (features.ContainsKey("OpenSimExtras")) |
127 | extrasMap = (OSDMap)features["OpenSimExtras"]; | 128 | extrasMap = (OSDMap)features["OpenSimExtras"]; |
128 | else | 129 | else |
@@ -131,11 +132,29 @@ namespace OpenSim.Region.OptionalModules.ViewerSupport | |||
131 | features["OpenSimExtras"] = extrasMap; | 132 | features["OpenSimExtras"] = extrasMap; |
132 | } | 133 | } |
133 | 134 | ||
134 | OSDMap specialUI = new OSDMap(); | ||
135 | specialUI["toolbar"] = OSDMap.FromString(s.ReadToEnd()); | 135 | specialUI["toolbar"] = OSDMap.FromString(s.ReadToEnd()); |
136 | extrasMap["special-ui"] = specialUI; | 136 | extrasMap["special-ui"] = specialUI; |
137 | } | 137 | } |
138 | m_log.DebugFormat("[SPECIAL UI]: Sending panel_toolbar.xml in {0}", m_scene.RegionInfo.RegionName); | 138 | m_log.DebugFormat("[SPECIAL UI]: Sending panel_toolbar.xml in {0}", m_scene.RegionInfo.RegionName); |
139 | |||
140 | if (Directory.Exists(Path.Combine(VIEWER_SUPPORT_DIR, "Floaters"))) | ||
141 | { | ||
142 | OSDMap floaters = new OSDMap(); | ||
143 | uint n = 0; | ||
144 | foreach (String name in Directory.GetFiles(Path.Combine(VIEWER_SUPPORT_DIR, "Floaters"), "*.xml")) | ||
145 | { | ||
146 | using (StreamReader s = new StreamReader(name)) | ||
147 | { | ||
148 | string simple_name = Path.GetFileNameWithoutExtension(name); | ||
149 | m_log.DebugFormat("[XXX]: Reading {0} ({1})", name, simple_name); | ||
150 | OSDMap floater = new OSDMap(); | ||
151 | floaters[simple_name] = OSDMap.FromString(s.ReadToEnd()); | ||
152 | n++; | ||
153 | } | ||
154 | } | ||
155 | specialUI["floaters"] = floaters; | ||
156 | m_log.DebugFormat("[SPECIAL UI]: Sending {0} floaters", n); | ||
157 | } | ||
139 | } | 158 | } |
140 | else | 159 | else |
141 | m_log.DebugFormat("[SPECIAL UI]: NOT Sending panel_toolbar.xml in {0}", m_scene.RegionInfo.RegionName); | 160 | m_log.DebugFormat("[SPECIAL UI]: NOT Sending panel_toolbar.xml in {0}", m_scene.RegionInfo.RegionName); |