diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/app_settings/commands.xml | 4 | ||||
| -rw-r--r-- | indra/newview/llfloatertoybox.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/llnamelistctrl.h | 2 | ||||
| -rw-r--r-- | indra/newview/lltoolbarview.cpp | 15 | ||||
| -rw-r--r-- | indra/newview/lltoolbarview.h | 12 | ||||
| -rw-r--r-- | indra/newview/llviewertexturelist.cpp | 44 | ||||
| -rw-r--r-- | indra/newview/llviewertexturelist.h | 7 | ||||
| -rw-r--r-- | indra/newview/skins/default/textures/textures.xml | 6 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_toybox.xml | 4 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/main_view.xml | 4 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_toolbar_view.xml | 6 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/widgets/toolbar.xml | 27 | 
12 files changed, 94 insertions, 39 deletions
| diff --git a/indra/newview/app_settings/commands.xml b/indra/newview/app_settings/commands.xml index 224c1b4b48..77bf7cace3 100644 --- a/indra/newview/app_settings/commands.xml +++ b/indra/newview/app_settings/commands.xml @@ -70,7 +70,7 @@             label_ref="Command_HowTo_Label"             tooltip_ref="Command_HowTo_Tooltip"             function="Floater.ToolbarToggle" -           parameter="floater_help_browser" +           parameter="help_browser"             />    <command name="inventory"             available_in_toybox="true" @@ -142,7 +142,7 @@             label_ref="Command_Profile_Label"             tooltip_ref="Command_Profile_Tooltip"             function="Floater.ToolbarToggle" -           parameter="profile" +           parameter="my_profile"             />    <command name="search"             available_in_toybox="true" diff --git a/indra/newview/llfloatertoybox.cpp b/indra/newview/llfloatertoybox.cpp index d7f114043d..7a6afb4e33 100644 --- a/indra/newview/llfloatertoybox.cpp +++ b/indra/newview/llfloatertoybox.cpp @@ -61,6 +61,8 @@ BOOL LLFloaterToybox::postBuild()  	center();  	mBtnRestoreDefaults = getChild<LLButton>("btn_restore_defaults"); +	mBtnRestoreDefaults->setCommitCallback(boost::bind(&LLToolBarView::loadDefaultToolbars)); +  	mToolBar = getChild<LLToolBar>("toybox_toolbar");  	LLCommandManager& cmdMgr = LLCommandManager::instance(); diff --git a/indra/newview/llnamelistctrl.h b/indra/newview/llnamelistctrl.h index d64fdbe6a5..ca9956dc53 100644 --- a/indra/newview/llnamelistctrl.h +++ b/indra/newview/llnamelistctrl.h @@ -61,7 +61,7 @@ public:  		{}  	}; -	struct NameColumn : public LLInitParam::Choice<NameColumn> +	struct NameColumn : public LLInitParam::ChoiceBlock<NameColumn>  	{  		Alternative<S32>				column_index;  		Alternative<std::string>		column_name; diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp index 929486a185..5822f682df 100644 --- a/indra/newview/lltoolbarview.cpp +++ b/indra/newview/lltoolbarview.cpp @@ -129,7 +129,7 @@ bool LLToolBarView::addCommand(const LLCommandId& command, LLToolBar* toolbar)  }  bool LLToolBarView::loadToolbars(bool force_default) -{	 +{  	LLToolBarView::ToolbarSet toolbar_set;  	// Load the toolbars.xml file @@ -219,6 +219,19 @@ bool LLToolBarView::loadToolbars(bool force_default)  	return true;  } +//static +bool LLToolBarView::loadDefaultToolbars() +{ +	bool retval = false; + +	if (gToolBarView) +	{ +		retval = gToolBarView->loadToolbars(true); +	} + +	return retval; +} +  void LLToolBarView::saveToolbars() const  {  	// Build the parameter tree from the toolbar data diff --git a/indra/newview/lltoolbarview.h b/indra/newview/lltoolbarview.h index 4e1b855e3d..b7d3a4033a 100644 --- a/indra/newview/lltoolbarview.h +++ b/indra/newview/lltoolbarview.h @@ -51,7 +51,7 @@ public:  	struct Toolbar : public LLInitParam::Block<Toolbar>  	{  		Mandatory<U32>                button_display_mode; -		Multiple<LLCommandId::Params> commands; +		Multiple<LLCommandId::Params>	commands;  		Toolbar();  	};  	struct ToolbarSet : public LLInitParam::Block<ToolbarSet> @@ -66,18 +66,18 @@ public:  	virtual ~LLToolBarView();  	virtual BOOL postBuild();  	virtual void draw(); -  	// Toolbar view interface with the rest of the world  	// Checks if the commandId is being used somewhere in one of the toolbars  	bool hasCommand(const LLCommandId& commandId) const;  	// Loads the toolbars from the existing user or default settings  	bool loadToolbars(bool force_default = false);	// return false if load fails -	bool loadDefaultToolbars() { return loadToolbars(true); } +	static bool loadDefaultToolbars(); +  	static void startDragItem( S32 x, S32 y, const LLUUID& uuid);  	static BOOL handleDragItem( S32 x, S32 y, const LLUUID& uuid, LLAssetType::EType type);  	static BOOL handleDrop(	EDragAndDropType cargo_type, void* cargo_data, const LLUUID& folder_id); - +	  protected:  	friend class LLUICtrlFactory;  	LLToolBarView(const Params&); @@ -93,6 +93,10 @@ private:  	LLToolBar*	mToolbarLeft;  	LLToolBar*	mToolbarRight;  	LLToolBar*	mToolbarBottom; +	bool		mDragging; +	LLToolBarButton* mDragButton; +	S32			mMouseX; +	S32			mMouseY;  	static bool			sDragStarted;  }; diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp index 30ef8b8a29..c64488251a 100644 --- a/indra/newview/llviewertexturelist.cpp +++ b/indra/newview/llviewertexturelist.cpp @@ -1342,7 +1342,8 @@ LLUIImagePtr LLUIImageList::getUIImageByID(const LLUUID& image_id, S32 priority)  	const BOOL use_mips = FALSE;  	const LLRect scale_rect = LLRect::null; -	return loadUIImageByID(image_id, use_mips, scale_rect, (LLViewerTexture::EBoostLevel)priority); +	const LLRect clip_rect = LLRect::null; +	return loadUIImageByID(image_id, use_mips, scale_rect, clip_rect, (LLViewerTexture::EBoostLevel)priority);  }  LLUIImagePtr LLUIImageList::getUIImage(const std::string& image_name, S32 priority) @@ -1356,32 +1357,33 @@ LLUIImagePtr LLUIImageList::getUIImage(const std::string& image_name, S32 priori  	const BOOL use_mips = FALSE;  	const LLRect scale_rect = LLRect::null; -	return loadUIImageByName(image_name, image_name, use_mips, scale_rect, (LLViewerTexture::EBoostLevel)priority); +	const LLRect clip_rect = LLRect::null; +	return loadUIImageByName(image_name, image_name, use_mips, scale_rect, clip_rect, (LLViewerTexture::EBoostLevel)priority);  }  LLUIImagePtr LLUIImageList::loadUIImageByName(const std::string& name, const std::string& filename, -											  BOOL use_mips, const LLRect& scale_rect, LLViewerTexture::EBoostLevel boost_priority ) +											  BOOL use_mips, const LLRect& scale_rect, const LLRect& clip_rect, LLViewerTexture::EBoostLevel boost_priority )  {  	if (boost_priority == LLViewerTexture::BOOST_NONE)  	{  		boost_priority = LLViewerTexture::BOOST_UI;  	}  	LLViewerFetchedTexture* imagep = LLViewerTextureManager::getFetchedTextureFromFile(filename, MIPMAP_NO, boost_priority); -	return loadUIImage(imagep, name, use_mips, scale_rect); +	return loadUIImage(imagep, name, use_mips, scale_rect, clip_rect);  }  LLUIImagePtr LLUIImageList::loadUIImageByID(const LLUUID& id, -											BOOL use_mips, const LLRect& scale_rect, LLViewerTexture::EBoostLevel boost_priority) +											BOOL use_mips, const LLRect& scale_rect, const LLRect& clip_rect, LLViewerTexture::EBoostLevel boost_priority)  {  	if (boost_priority == LLViewerTexture::BOOST_NONE)  	{  		boost_priority = LLViewerTexture::BOOST_UI;  	}  	LLViewerFetchedTexture* imagep = LLViewerTextureManager::getFetchedTexture(id, MIPMAP_NO, boost_priority); -	return loadUIImage(imagep, id.asString(), use_mips, scale_rect); +	return loadUIImage(imagep, id.asString(), use_mips, scale_rect, clip_rect);  } -LLUIImagePtr LLUIImageList::loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, BOOL use_mips, const LLRect& scale_rect) +LLUIImagePtr LLUIImageList::loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, BOOL use_mips, const LLRect& scale_rect, const LLRect& clip_rect)  {  	if (!imagep) return NULL; @@ -1402,13 +1404,14 @@ LLUIImagePtr LLUIImageList::loadUIImage(LLViewerFetchedTexture* imagep, const st  		LLUIImageLoadData* datap = new LLUIImageLoadData;  		datap->mImageName = name;  		datap->mImageScaleRegion = scale_rect; +		datap->mImageClipRegion = clip_rect;  		imagep->setLoadedCallback(onUIImageLoaded, 0, FALSE, FALSE, datap, NULL);  	}  	return new_imagep;  } -LLUIImagePtr LLUIImageList::preloadUIImage(const std::string& name, const std::string& filename, BOOL use_mips, const LLRect& scale_rect) +LLUIImagePtr LLUIImageList::preloadUIImage(const std::string& name, const std::string& filename, BOOL use_mips, const LLRect& scale_rect, const LLRect& clip_rect)  {  	// look for existing image  	uuid_ui_image_map_t::iterator found_it = mUIImages.find(name); @@ -1418,7 +1421,7 @@ LLUIImagePtr LLUIImageList::preloadUIImage(const std::string& name, const std::s  		llerrs << "UI Image " << name << " already loaded." << llendl;  	} -	return loadUIImageByName(name, filename, use_mips, scale_rect); +	return loadUIImageByName(name, filename, use_mips, scale_rect, clip_rect);  }  //static  @@ -1432,6 +1435,7 @@ void LLUIImageList::onUIImageLoaded( BOOL success, LLViewerFetchedTexture *src_v  	LLUIImageLoadData* image_datap = (LLUIImageLoadData*)user_data;  	std::string ui_image_name = image_datap->mImageName;  	LLRect scale_rect = image_datap->mImageScaleRegion; +	LLRect clip_rect = image_datap->mImageClipRegion;  	if (final)  	{  		delete image_datap; @@ -1448,9 +1452,21 @@ void LLUIImageList::onUIImageLoaded( BOOL success, LLViewerFetchedTexture *src_v  		// from power-of-2 gl image  		if (success && imagep.notNull() && src_vi && (src_vi->getUrl().compare(0, 7, "file://")==0))  		{ -			F32 clip_x = (F32)src_vi->getOriginalWidth() / (F32)src_vi->getFullWidth(); -			F32 clip_y = (F32)src_vi->getOriginalHeight() / (F32)src_vi->getFullHeight(); -			imagep->setClipRegion(LLRectf(0.f, clip_y, clip_x, 0.f)); +			F32 full_width = (F32)src_vi->getFullWidth(); +			F32 full_height = (F32)src_vi->getFullHeight(); +			F32 clip_x = (F32)src_vi->getOriginalWidth() / full_width; +			F32 clip_y = (F32)src_vi->getOriginalHeight() / full_height; +			if (clip_rect != LLRect::null) +			{ +				imagep->setClipRegion(LLRectf(llclamp((F32)clip_rect.mLeft / full_width, 0.f, 1.f), +											llclamp((F32)clip_rect.mTop / full_height, 0.f, 1.f), +											llclamp((F32)clip_rect.mRight / full_width, 0.f, 1.f), +											llclamp((F32)clip_rect.mBottom / full_height, 0.f, 1.f))); +			} +			else +			{ +				imagep->setClipRegion(LLRectf(0.f, clip_y, clip_x, 0.f)); +			}  			if (scale_rect != LLRect::null)  			{  				imagep->setScaleRegion( @@ -1471,6 +1487,7 @@ struct UIImageDeclaration : public LLInitParam::Block<UIImageDeclaration>  	Optional<std::string>	file_name;  	Optional<bool>			preload;  	Optional<LLRect>		scale; +	Optional<LLRect>		clip;  	Optional<bool>			use_mips;  	UIImageDeclaration() @@ -1478,6 +1495,7 @@ struct UIImageDeclaration : public LLInitParam::Block<UIImageDeclaration>  		file_name("file_name"),  		preload("preload", false),  		scale("scale"), +		clip("clip"),  		use_mips("use_mips", false)  	{}  }; @@ -1572,7 +1590,7 @@ bool LLUIImageList::initFromFile()  			{  				continue;  			} -			preloadUIImage(image.name, file_name, image.use_mips, image.scale); +			preloadUIImage(image.name, file_name, image.use_mips, image.scale, image.clip);  		}  		if (cur_pass == PASS_DECODE_NOW && !gSavedSettings.getBOOL("NoPreload")) diff --git a/indra/newview/llviewertexturelist.h b/indra/newview/llviewertexturelist.h index 7f4dd0ae88..e0a362596d 100644 --- a/indra/newview/llviewertexturelist.h +++ b/indra/newview/llviewertexturelist.h @@ -220,24 +220,27 @@ public:  	bool initFromFile(); -	LLPointer<LLUIImage> preloadUIImage(const std::string& name, const std::string& filename, BOOL use_mips, const LLRect& scale_rect); +	LLPointer<LLUIImage> preloadUIImage(const std::string& name, const std::string& filename, BOOL use_mips, const LLRect& scale_rect, const LLRect& clip_rect);  	static void onUIImageLoaded( BOOL success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* src_aux, S32 discard_level, BOOL final, void* userdata );  private:  	LLPointer<LLUIImage> loadUIImageByName(const std::string& name, const std::string& filename,  		                           BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null,  +								   const LLRect& clip_rect = LLRect::null,  		                           LLViewerTexture::EBoostLevel boost_priority = LLViewerTexture::BOOST_UI);  	LLPointer<LLUIImage> loadUIImageByID(const LLUUID& id,  								 BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null,  +								 const LLRect& clip_rect = LLRect::null,  								 LLViewerTexture::EBoostLevel boost_priority = LLViewerTexture::BOOST_UI); -	LLPointer<LLUIImage> loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null); +	LLPointer<LLUIImage> loadUIImage(LLViewerFetchedTexture* imagep, const std::string& name, BOOL use_mips = FALSE, const LLRect& scale_rect = LLRect::null, const LLRect& clip_rect = LLRect::null);  	struct LLUIImageLoadData  	{  		std::string mImageName;  		LLRect mImageScaleRegion; +		LLRect mImageClipRegion;  	};  	typedef std::map< std::string, LLPointer<LLUIImage> > uuid_ui_image_map_t; diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 4462fb792f..68773947ec 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -473,7 +473,11 @@ with the same filename but different name    <texture name="Resize_Corner" file_name="windows/Resize_Corner.png" preload="true" /> -  <texture name="Rounded_Rect"	file_name="Rounded_Rect.png" preload="true" scale.left="6" scale.top="24" scale.right="58" scale.bottom="6" /> +  <texture name="Rounded_Rect"	file_name="Rounded_Rect.png" preload="true" scale.left="6" scale.top="26" scale.right="58" scale.bottom="6" /> +  <texture name="Rounded_Rect_Top"	file_name="Rounded_Rect.png" preload="true" scale.left="6" scale.top="8" scale.right="58" scale.bottom="0" clip.left="0" clip.right="64" clip.bottom="16" clip.top="32" /> +  <texture name="Rounded_Rect_Bottom"	file_name="Rounded_Rect.png" preload="true" scale.left="6" scale.top="16" scale.right="58" scale.bottom="8" clip.left="0" clip.right="64" clip.bottom="0" clip.top="16"  /> +  <texture name="Rounded_Rect_Left"	file_name="Rounded_Rect.png" preload="true" scale.left="6" scale.top="26" scale.right="32" scale.bottom="6" clip.left="0" clip.right="32" clip.bottom="0" clip.top="32" /> +  <texture name="Rounded_Rect_Right"	file_name="Rounded_Rect.png" preload="true" scale.left="0" scale.top="26" scale.right="26" scale.bottom="6" clip.left="32" clip.right="64" clip.bottom="0" clip.top="32" />    <texture name="Rounded_Square"	file_name="rounded_square.j2c" preload="true" scale.left="16" scale.top="16" scale.right="112" scale.bottom="16" />    <texture name="Row_Selection" file_name="navbar/Row_Selection.png" preload="false" /> diff --git a/indra/newview/skins/default/xui/en/floater_toybox.xml b/indra/newview/skins/default/xui/en/floater_toybox.xml index feb19571b2..de39032cbf 100644 --- a/indra/newview/skins/default/xui/en/floater_toybox.xml +++ b/indra/newview/skins/default/xui/en/floater_toybox.xml @@ -48,8 +48,8 @@      button_display_mode="icons_with_text"      follows="all"      left="20" -    max_button_width="140" -    min_button_width="70" +    button_icon_and_text.max_button_width="140" +    button_icon_and_text.min_button_width="70"      name="toybox_toolbar"      pad_left="5"      pad_right="5" diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index d8f593715f..cf566d7d23 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -100,12 +100,12 @@                       visible="false"                       width="500"/>              </layout_panel> -            <layout_panel auto_resize="false" +            <!--<layout_panel auto_resize="false"                     min_height="33"                     height="33"                      mouse_opaque="false"                     name="bottom_tray_container" -                   visible="false"/> +                   visible="false"/>-->            </layout_stack>          </layout_panel>        </layout_stack> diff --git a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml index fa7632920b..44da813f61 100644 --- a/indra/newview/skins/default/xui/en/panel_toolbar_view.xml +++ b/indra/newview/skins/default/xui/en/panel_toolbar_view.xml @@ -33,13 +33,13 @@                    follows="all"                    mouse_opaque="false">        <layout_panel name="left_toolbar_panel" -                    fit_content="true"                      auto_resize="false"                      user_resize="false"                      height="500"                      width="30"                      mouse_opaque="false">          <toolbar follows="left|top|bottom" +                 button_panel.bg_opaque_image="Rounded_Rect_Right"                   name="toolbar_left"                   height="500"                   width="30" @@ -54,13 +54,13 @@                      user_resize="false"                      mouse_opaque="false"/>        <layout_panel name="right_toolbar_panel" -                    fit_content="true"                      auto_resize="false"                      user_resize="false"                      height="500"                      width="30"                      mouse_opaque="false">          <toolbar +          button_panel.bg_opaque_image="Rounded_Rect_Left"            follows="right|top|bottom"            name="toolbar_right"            height="500" @@ -74,13 +74,13 @@      </layout_stack>    </layout_panel>    <layout_panel name="bottom_toolbar_panel" -                fit_content="true"                  auto_resize="false"                  user_resize="false"                  height="30"                  width="1024"                  mouse_opaque="false">      <toolbar layout="topleft" +             button_panel.bg_opaque_image="Rounded_Rect_Top"               name="toolbar_bottom"               height="30"               width="1024" diff --git a/indra/newview/skins/default/xui/en/widgets/toolbar.xml b/indra/newview/skins/default/xui/en/widgets/toolbar.xml index 32bc88cc9a..8422e3943d 100644 --- a/indra/newview/skins/default/xui/en/widgets/toolbar.xml +++ b/indra/newview/skins/default/xui/en/widgets/toolbar.xml @@ -1,22 +1,33 @@  <?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<toolbar button_height="30" -         pad_left="5" -         pad_right="5" -         pad_top="5" -         pad_bottom="5" -         pad_between="5" +<toolbar pad_left="1" +         pad_right="1" +         pad_top="1" +         pad_bottom="1" +         pad_between="1"           mouse_opaque="false"           read_only="false">    <button_panel name="button_panel"                  bg_opaque_image="Rounded_Rect"                  background_visible="true" +                bg_opaque_image_overlay="MouseGray"                  background_opaque="true"/> -  <button_icon_and_text follows="left|top" +  <button_icon_and_text imgoverlay_label_space="7" +                        min_button_width="70" +                        max_button_width="140" +                        desired_height="24" +                        pad_left="10"  +                        pad_right="10" +                        follows="left|top"                          chrome="true"                          image_overlay_alignment="left"                          use_ellipses="true"                          auto_resize="true"/> -  <button_icon follows="left|top" +  <button_icon pad_left="10" +               pad_right="10" +               desired_height="35" +               min_button_width="35" +               max_button_width="35"                +               follows="left|top"                 label=""                 chrome="true"                 use_ellipses="true" | 
