eli linden avatar eli linden committed 8821f39 Merge

Merge

Comments (0)

Files changed (18)

indra/llui/llaccordionctrltab.cpp

 
 			return 1;
 		}
+
+		if (!getDisplayChildren())
+		{
+			// Don't pass scrolling event further if our contents are invisible (STORM-298).
+			return 1;
+		}
 	}
 
 	return LLUICtrl::notifyParent(info);

indra/llui/llfloater.cpp

 	mTornOff(false),
 	mHasBeenDraggedWhileMinimized(FALSE),
 	mPreviousMinimizedBottom(0),
-	mPreviousMinimizedLeft(0)
+	mPreviousMinimizedLeft(0),
+	mMinimizeSignal(NULL)
 //	mNotificationContext(NULL)
 {
 	mHandle.bind(this);
 	setVisible(false); // We're not visible if we're destroyed
 	storeVisibilityControl();
 	storeDockStateControl();
+
+	delete mMinimizeSignal;
 }
 
 void LLFloater::storeRectControl()
 
 	if (minimize == mMinimized) return;
 
+	if(mMinimizeSignal)
+	{
+		(*mMinimizeSignal)(this, LLSD(minimize));
+	}
+
 	if (minimize)
 	{
 		// minimized flag should be turned on before release focus
 	}
 }
 
+boost::signals2::connection LLFloater::setMinimizeCallback( const commit_signal_t::slot_type& cb ) 
+{ 
+	if (!mMinimizeSignal) mMinimizeSignal = new commit_signal_t();
+	return mMinimizeSignal->connect(cb); 
+}
+
 LLFastTimer::DeclareTimer POST_BUILD("Floater Post Build");
 
 bool LLFloater::initFloaterXML(LLXMLNodePtr node, LLView *parent, const std::string& filename, LLXMLNodePtr output_node)

indra/llui/llfloater.h

 	// Don't export top/left for rect, only height/width
 	static void setupParamsForExport(Params& p, LLView* parent);
 
+	boost::signals2::connection setMinimizeCallback( const commit_signal_t::slot_type& cb );
+
 	void initFromParams(const LLFloater::Params& p);
 	bool initFloaterXML(LLXMLNodePtr node, LLView *parent, const std::string& filename, LLXMLNodePtr output_node = NULL);
 
 	// Public so external views or floaters can watch for this floater closing
 	commit_signal_t mCloseSignal;		
 
+	commit_signal_t* mMinimizeSignal;
+
 protected:
 	std::string		mRectControl;
 	std::string		mVisibilityControl;

indra/newview/featuretable.txt

 RenderShadowDetail			1	0
 WatchdogDisabled				1	1
 RenderUseStreamVBO			1	1
+RenderUseFBO				1	1
 
 //
 // Low Graphics Settings
 RenderDeferred				1	0
 RenderDeferredSSAO			1	0
 RenderShadowDetail			1	0
-
+RenderUseFBO				1	0
 
 //
 // Mid Graphics Settings
 RenderDeferred				1	0
 RenderDeferredSSAO			1	0
 RenderShadowDetail			1	0
-
+RenderUseFBO				1	0
 
 //
 // High Graphics Settings (purty)
 RenderDeferred				1	0
 RenderDeferredSSAO			1	0
 RenderShadowDetail			1	0
-
+RenderUseFBO				1	1
 
 //
 // Ultra graphics (REALLY PURTY!)
 RenderDeferred				1	0
 RenderDeferredSSAO			1	0
 RenderShadowDetail			1	0
+RenderUseFBO				1	1
 
 //
 // Class Unknown Hardware (unknown)
 RenderDeferred				0	0
 RenderDeferredSSAO			0	0
 RenderShadowDetail			0	0
-
+RenderUseFBO				1	0
+		
 //
 // CPU based feature masks
 //

indra/newview/featuretable_linux.txt

 RenderDeferredSSAO			1	0
 RenderShadowDetail			1	0
 WatchdogDisabled				1	1
+RenderUseFBO				1	1
 
 //
 // Low Graphics Settings
 RenderDeferred				1	0
 RenderDeferredSSAO			1	0
 RenderShadowDetail			1	0
-
+RenderUseFBO				1	0
 
 //
 // Mid Graphics Settings
 RenderDeferred				1	0
 RenderDeferredSSAO			1	0
 RenderShadowDetail			1	0
-
+RenderUseFBO				1	0
 
 //
 // High Graphics Settings (purty)
 RenderDeferred				1	0
 RenderDeferredSSAO			1	0
 RenderShadowDetail			1	0
-
+RenderUseFBO				1	1
 
 //
 // Ultra graphics (REALLY PURTY!)
 RenderDeferred				1	0
 RenderDeferredSSAO			1	0
 RenderShadowDetail			1	0
-
+RenderUseFBO				1	1
 
 //
 // Class Unknown Hardware (unknown)
 RenderDeferred				0	0
 RenderDeferredSSAO			0	0
 RenderShadowDetail			0	0
+RenderUseFBO				1	0
 
 
 //

indra/newview/featuretable_mac.txt

 Disregard96DefaultDrawDistance	1	1
 SkyUseClassicClouds			1	1
 WatchdogDisabled				1	1
+RenderUseFBO				1	1
 
 //
 // Low Graphics Settings
 WindLightUseAtmosShaders	1	0
 WLSkyDetail					1	48
 SkyUseClassicClouds			1	0
+RenderUseFBO				1	0
 
 //
 // Mid Graphics Settings
 VertexShaderEnable			1	1
 WindLightUseAtmosShaders	1	0
 WLSkyDetail					1	48
+RenderUseFBO				1	0
 
 //
 // High Graphics Settings (purty)
 VertexShaderEnable			1	1
 WindLightUseAtmosShaders	1	1
 WLSkyDetail					1	48
+RenderUseFBO				1	1
 
 //
 // Ultra graphics (REALLY PURTY!)
 VertexShaderEnable			1	1
 WindLightUseAtmosShaders	1	1
 WLSkyDetail					1	128
+RenderUseFBO				1	1
 
 //
 // Class Unknown Hardware (unknown)
 RenderVBOEnable				1	0
 RenderWaterReflections		0	0
 WindLightUseAtmosShaders	0	0
+RenderUseFBO				1	0
 
 //
 // CPU based feature masks

indra/newview/featuretable_solaris.txt

 UseOcclusion		1       1
 RenderCubeMap		1       1
 WatchdogDisabled				1	1
+RenderUseFBO				1	1
 
 
 //
 RenderLighting		1	0
 RenderObjectBump	1	0
 RenderRippleWater	1	0
+RenderUseFBO		1	0
 
 //
 // Class 1 Hardware
 RenderLighting		1	0
 RenderObjectBump	1	0
 RenderRippleWater	1	0
+RenderUseFBO		1	0
 
 //
 // Class 2 Hardware (make it purty)
 RenderLighting		1	1
 RenderObjectBump	1	1
 RenderRippleWater	1	1
+RenderUseFBO		1	1
 
 //
 // Class 3 Hardware (make it purty)
 RenderLighting		1	1
 RenderObjectBump	1	1
 RenderRippleWater	1	1
+RenderUseFBO		1	1
 
 //
 // No Pixel Shaders available
 RenderTerrainDetail 1	0
 RenderCubeMap		0	0
 UseOcclusion		0	0
+RenderUseFBO		1	0
 
 
 list low

indra/newview/featuretable_xp.txt

 RenderDeferred				1	0
 RenderDeferredSSAO			1	0
 RenderShadowDetail			1	0
+RenderUseFBO				1	1
 WatchdogDisabled				1	1
 RenderUseStreamVBO			1	1
 
 RenderDeferred				1	0
 RenderDeferredSSAO			1	0
 RenderShadowDetail			1	0
-
+RenderUseFBO				1	0
 
 //
 // Mid Graphics Settings
 RenderDeferred				1	0
 RenderDeferredSSAO			1	0
 RenderShadowDetail			1	0
-
+RenderUseFBO				1	0
 
 //
 // High Graphics Settings (purty)
 RenderDeferred				1	0
 RenderDeferredSSAO			1	0
 RenderShadowDetail			1	0
-
+RenderUseFBO				1	1
 
 //
 // Ultra graphics (REALLY PURTY!)
 RenderDeferred				1	0
 RenderDeferredSSAO			1	0
 RenderShadowDetail			1	0
+RenderUseFBO				1	1
 
 //
 // Class Unknown Hardware (unknown)
 RenderDeferred				0	0
 RenderDeferredSSAO			0	0
 RenderShadowDetail			0	0
+RenderUseFBO				1	0
 
 //
 // CPU based feature masks

indra/newview/llfloaterhardwaresettings.cpp

 	getChildView("gamma")->setEnabled(!gPipeline.canUseWindLightShaders());
 	getChildView("(brightness, lower is brighter)")->setEnabled(!gPipeline.canUseWindLightShaders());
 	getChildView("fog")->setEnabled(!gPipeline.canUseWindLightShaders());
-
+	getChildView("fsaa")->setEnabled(gPipeline.canUseAntiAliasing());
+	/* Enable to reset fsaa value to disabled when feature is not available.
+	if (!gPipeline.canUseAntiAliasing())
+	{
+		getChild<LLUICtrl>("fsaa")->setValue((LLSD::Integer) 0);
+	}
+	*/
 }
 
 //============================================================================

indra/newview/llplacesinventorypanel.cpp

 	return LLFolderView::handleRightMouseDown(x, y, mask);
 }
 
+BOOL LLPlacesFolderView::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
+										   EDragAndDropType cargo_type,
+										   void* cargo_data,
+										   EAcceptance* accept,
+										   std::string& tooltip_msg)
+{
+	// Don't accept anything except landmarks and folders to be dropped
+	// in places folder view. See STORM-296.
+	if (cargo_type != DAD_LANDMARK && cargo_type != DAD_CATEGORY)
+	{
+		*accept = ACCEPT_NO;
+		return FALSE;
+	}
+
+	return LLFolderView::handleDragAndDrop(x, y, mask, drop, cargo_type, cargo_data,
+										   accept, tooltip_msg);
+}
+
 void LLPlacesFolderView::setupMenuHandle(LLInventoryType::EType asset_type, LLHandle<LLView> menu_handle)
 {
 	mMenuHandlesByInventoryType[asset_type] = menu_handle;

indra/newview/llplacesinventorypanel.h

 	 */
 	/*virtual*/ BOOL handleRightMouseDown( S32 x, S32 y, MASK mask );
 
+	/*virtual*/ BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
+									   EDragAndDropType cargo_type,
+									   void* cargo_data,
+									   EAcceptance* accept,
+									   std::string& tooltip_msg);
+
 	void setupMenuHandle(LLInventoryType::EType asset_type, LLHandle<LLView> menu_handle);
 
 	void setParentLandmarksPanel(LLLandmarksPanel* panel)

indra/newview/llsidepanelappearance.cpp

 
 void LLSidepanelAppearance::onVisibilityChange(const LLSD &new_visibility)
 {
+	updateToVisibility(new_visibility);
+}
+
+void LLSidepanelAppearance::updateToVisibility(const LLSD &new_visibility)
+{
 	if (new_visibility.asBoolean())
 	{
 		bool is_outfit_edit_visible = mOutfitEdit && mOutfitEdit->getVisible();

indra/newview/llsidepanelappearance.h

 	void setWearablesLoading(bool val);
 	void showDefaultSubpart();
 	void updateScrollingPanelList();
+	void updateToVisibility( const LLSD& new_visibility );
 
 private:
 	void onFilterEdit(const std::string& search_string);

indra/newview/llsidetray.cpp

 #include "llwindow.h"//for SetCursor
 #include "lltransientfloatermgr.h"
 
+#include "llsidepanelappearance.h"
+
 //#include "llscrollcontainer.h"
 
 using namespace std;
 	}
 }
 
+static void on_minimize(LLSidepanelAppearance* panel, LLSD minimized)
+{
+	if (!panel) return;
+	bool visible = !minimized.asBoolean();
+	panel->updateToVisibility(LLSD(visible));	
+}
+
 void LLSideTrayTab::undock(LLFloater* floater_tab)
 {
 	LLSideTray* side_tray = getSideTray();
 	// Set FOLLOWS_ALL flag for the tab to follow floater dimensions upon resizing.
 	setFollowsAll();
 
+	// Camera view may need to be changed for appearance panel(STORM-301) on minimize of floater,
+	// so setting callback here. 
+	if (getName() == "sidebar_appearance")
+	{
+		LLSidepanelAppearance* panel_appearance = dynamic_cast<LLSidepanelAppearance*>(getPanel());
+		if(panel_appearance)
+		{
+			floater_tab->setMinimizeCallback(boost::bind(&on_minimize, panel_appearance, _2));
+		}
+	}
+
 	if (!side_tray->getCollapsed())
 	{
 		side_tray->collapseSideBar();

indra/newview/pipeline.cpp

 		&& LLViewerShaderMgr::instance()->getVertexShaderLevel(LLViewerShaderMgr::SHADER_OBJECT) > 0);
 }
 
+BOOL LLPipeline::canUseAntiAliasing() const
+{
+	return (gSavedSettings.getBOOL("RenderUseFBO"));
+}
+
 void LLPipeline::unloadShaders()
 {
 	LLMemType mt_us(LLMemType::MTYPE_PIPELINE_UNLOAD_SHADERS);
 
 BOOL LLPipeline::hasRenderType(const U32 type) const
 {
-	return mRenderTypeEnabled[type];
+    // STORM-365 : LLViewerJointAttachment::setAttachmentVisibility() is setting type to 0 to actually mean "do not render"
+    // We then need to test that value here and return FALSE to prevent attachment to render (in mouselook for instance)
+    // TODO: reintroduce RENDER_TYPE_NONE in LLRenderTypeMask and initialize its mRenderTypeEnabled[RENDER_TYPE_NONE] to FALSE explicitely
+	return (type == 0 ? FALSE : mRenderTypeEnabled[type]);
 }
 
 void LLPipeline::setRenderTypeMask(U32 type, ...)

indra/newview/pipeline.h

 	BOOL		canUseVertexShaders();
 	BOOL		canUseWindLightShaders() const;
 	BOOL		canUseWindLightShadersOnObjects() const;
+	BOOL		canUseAntiAliasing() const;
 
 	// phases
 	void resetFrameStats();

indra/newview/skins/default/xui/en/floater_media_browser.xml

          height="20"
          layout="topleft"
          left="0"
+         min_height="20"
          name="nav_controls"
          top="400"
          user_resize="false"
          height="20"
          layout="topleft"
          left_delta="0"
+         min_height="20"         
          name="time_controls"
          top_delta="0"
          user_resize="false"
          height="20"
          layout="topleft"
          left_delta="0"
+         min_height="20"         
          name="parcel_owner_controls"
          top_delta="0"
          user_resize="false"

indra/newview/skins/default/xui/en/panel_group_land_money.xml

         <scroll_list.columns
          label="Parcel"
          name="name"
-         width="78" />
+         width="47" />
         <scroll_list.columns
          label="Region"
          name="location"
-         width="78" />
+         width="47" />
         <scroll_list.columns
          label="Type"
          name="type"
-         width="70" />
+         width="47" />
         <scroll_list.columns
          label="Area"
          name="area"
-         width="50" />
+         width="47" />
+        <scroll_list.columns
+         label="Hidden"
+         name="hidden"
+         width="47" />
     </scroll_list>
     <text
      type="string"
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.