diff options
author | Loren Shih <seraph@lindenlab.com> | 2010-09-07 10:23:19 -0400 |
---|---|---|
committer | Loren Shih <seraph@lindenlab.com> | 2010-09-07 10:23:19 -0400 |
commit | 16031c354ff37462acac4d2dd1effe0af9a8745a (patch) | |
tree | 0365cac395bc8b97a21a8e3e46b01a0f8d0617e4 /indra | |
parent | 51ecc8208a1b70c9742656230df00b08e082a9c8 (diff) | |
parent | ebfbaad9696ce0389ed1a9642d58dfb4a0abdc17 (diff) |
automated merge from viewer-development
Diffstat (limited to 'indra')
45 files changed, 2160 insertions, 815 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index e1203971ea..ff90806271 100644 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -519,6 +519,36 @@ void LLFloater::storeDockStateControl() } } +LLRect LLFloater::getSavedRect() const +{ + LLRect rect; + + if (mRectControl.size() > 1) + { + rect = LLUI::sSettingGroups["floater"]->getRect(mRectControl); + } + + return rect; +} + +bool LLFloater::hasSavedRect() const +{ + return !getSavedRect().isEmpty(); +} + +// static +std::string LLFloater::getControlName(const std::string& name, const LLSD& key) +{ + std::string ctrl_name = name; + + // Add the key to the control name if appropriate. + if (key.isString() && !key.asString().empty()) + { + ctrl_name += "_" + key.asString(); + } + + return ctrl_name; +} void LLFloater::setVisible( BOOL visible ) { @@ -2664,18 +2694,20 @@ void LLFloater::setInstanceName(const std::string& name) mInstanceName = name; if (!mInstanceName.empty()) { + std::string ctrl_name = getControlName(mInstanceName, mKey); + // save_rect and save_visibility only apply to registered floaters if (!mRectControl.empty()) { - mRectControl = LLFloaterReg::declareRectControl(mInstanceName); + mRectControl = LLFloaterReg::declareRectControl(ctrl_name); } if (!mVisibilityControl.empty()) { - mVisibilityControl = LLFloaterReg::declareVisibilityControl(mInstanceName); + mVisibilityControl = LLFloaterReg::declareVisibilityControl(ctrl_name); } if(!mDocStateControl.empty()) { - mDocStateControl = LLFloaterReg::declareDockStateControl(mInstanceName); + mDocStateControl = LLFloaterReg::declareDockStateControl(ctrl_name); } } diff --git a/indra/llui/llfloater.h b/indra/llui/llfloater.h index 5e482cbac3..ed1f0715af 100644 --- a/indra/llui/llfloater.h +++ b/indra/llui/llfloater.h @@ -203,6 +203,10 @@ public: BOOL isResizable() const { return mResizable; } void setResizeLimits( S32 min_width, S32 min_height ); void getResizeLimits( S32* min_width, S32* min_height ) { *min_width = mMinWidth; *min_height = mMinHeight; } + LLRect getSavedRect() const; + bool hasSavedRect() const; + + static std::string getControlName(const std::string& name, const LLSD& key); bool isMinimizeable() const{ return mCanMinimize; } bool isCloseable() const{ return mCanClose; } diff --git a/indra/newview/installers/windows/installer_template.nsi b/indra/newview/installers/windows/installer_template.nsi index 49ae58d53a..d1cd335783 100644 --- a/indra/newview/installers/windows/installer_template.nsi +++ b/indra/newview/installers/windows/installer_template.nsi @@ -45,7 +45,7 @@ RequestExecutionLevel admin ; on Vista we must be admin because we write to Prog # *TODO: Move these into the language files themselves LangString LanguageCode ${LANG_DANISH} "da" LangString LanguageCode ${LANG_GERMAN} "de" -Langstring LanguageCode ${LANG_ENGLISH} "en" +LangString LanguageCode ${LANG_ENGLISH} "en" LangString LanguageCode ${LANG_SPANISH} "es" LangString LanguageCode ${LANG_FRENCH} "fr" LangString LanguageCode ${LANG_JAPANESE} "ja" diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 816ca61fe8..055be4cae2 100644 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -1619,11 +1619,14 @@ void LLAgentWearables::queryWearableCache() gAgentQueryManager.mActiveCacheQueries[baked_index] = gAgentQueryManager.mWearablesCacheQueryID; } - - llinfos << "Requesting texture cache entry for " << num_queries << " baked textures" << llendl; - gMessageSystem->sendReliable(gAgent.getRegion()->getHost()); - gAgentQueryManager.mNumPendingQueries++; - gAgentQueryManager.mWearablesCacheQueryID++; + //VWR-22113: gAgent.getRegion() can return null if invalid, seen here on logout + if(gAgent.getRegion()) + { + llinfos << "Requesting texture cache entry for " << num_queries << " baked textures" << llendl; + gMessageSystem->sendReliable(gAgent.getRegion()->getHost()); + gAgentQueryManager.mNumPendingQueries++; + gAgentQueryManager.mWearablesCacheQueryID++; + } } LLUUID LLAgentWearables::computeBakedTextureHash(LLVOAvatarDefines::EBakedTextureIndex baked_index, diff --git a/indra/newview/llchatbar.cpp b/indra/newview/llchatbar.cpp index 967db21244..7d82ec3a71 100644 --- a/indra/newview/llchatbar.cpp +++ b/indra/newview/llchatbar.cpp @@ -673,11 +673,30 @@ public: bool handle(const LLSD& tokens, const LLSD& query_map, LLMediaCtrl* web) { - if (tokens.size() < 2) return false; - S32 channel = tokens[0].asInteger(); - std::string mesg = tokens[1].asString(); - send_chat_from_viewer(mesg, CHAT_TYPE_NORMAL, channel); - return true; + bool retval = false; + // Need at least 2 tokens to have a valid message. + if (tokens.size() < 2) + { + retval = false; + } + else + { + S32 channel = tokens[0].asInteger(); + // VWR-19499 Restrict function to chat channels greater than 0. + if ((channel > 0) && (channel < 2147483647)) + { + retval = true; + // Say mesg on channel + std::string mesg = tokens[1].asString(); + send_chat_from_viewer(mesg, CHAT_TYPE_NORMAL, channel); + } + else + { + retval = false; + // Tell us this is an unsupported SLurl. + } + } + return retval; } }; diff --git a/indra/newview/llnearbychatbar.cpp b/indra/newview/llnearbychatbar.cpp index 4f9845d704..43630c13fd 100644 --- a/indra/newview/llnearbychatbar.cpp +++ b/indra/newview/llnearbychatbar.cpp @@ -865,14 +865,30 @@ public: bool handle(const LLSD& tokens, const LLSD& query_map, LLMediaCtrl* web) { - if (tokens.size() < 2) return false; - S32 channel = tokens[0].asInteger(); - - // Send unescaped message, see EXT-6353. - std::string unescaped_mesg (LLURI::unescape(tokens[1].asString())); - - send_chat_from_viewer(unescaped_mesg, CHAT_TYPE_NORMAL, channel); - return true; + bool retval = false; + // Need at least 2 tokens to have a valid message. + if (tokens.size() < 2) + { + retval = false; + } + else + { + S32 channel = tokens[0].asInteger(); + // VWR-19499 Restrict function to chat channels greater than 0. + if ((channel > 0) && (channel < 2147483647)) + { + retval = true; + // Send unescaped message, see EXT-6353. + std::string unescaped_mesg (LLURI::unescape(tokens[1].asString())); + send_chat_from_viewer(unescaped_mesg, CHAT_TYPE_NORMAL, channel); + } + else + { + retval = false; + // Tell us this is an unsupported SLurl. + } + } + return retval; } }; diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index 85b6e0dec4..7af3ad9896 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -111,7 +111,11 @@ public: }; protected: LLSideTrayTab(const Params& params); - + + void dock(); + void undock(LLFloater* floater_tab); + + LLSideTray* getSideTray(); public: virtual ~LLSideTrayTab(); @@ -176,6 +180,7 @@ BOOL LLSideTrayTab::postBuild() title_panel->getChild<LLTextBox>(TAB_PANEL_CAPTION_TITLE_BOX)->setValue(mTabTitle); + getChild<LLButton>("undock")->setCommitCallback(boost::bind(&LLSideTrayTab::toggleTabDocked, this)); getChild<LLButton>("dock")->setCommitCallback(boost::bind(&LLSideTrayTab::toggleTabDocked, this)); return true; @@ -210,63 +215,130 @@ void LLSideTrayTab::onOpen (const LLSD& key) panel->onOpen(key); } +// Attempts to get the existing side tray instance. +// Needed to avoid recursive calls of LLSideTray::getInstance(). +LLSideTray* LLSideTrayTab::getSideTray() +{ + // First, check if the side tray is our parent (i.e. we're attached). + LLSideTray* side_tray = dynamic_cast<LLSideTray*>(getParent()); + if (!side_tray) + { + // Detached? Ok, check if the instance exists at all/ + if (LLSideTray::instanceCreated()) + { + side_tray = LLSideTray::getInstance(); + } + else + { + llerrs << "No safe way to get the side tray instance" << llendl; + } + } + + return side_tray; +} + void LLSideTrayTab::toggleTabDocked() { - LLFloater* floater_tab = LLFloaterReg::getInstance("side_bar_tab", LLSD().with("name", mTabTitle)); + std::string tab_name = getName(); + + LLFloater* floater_tab = LLFloaterReg::getInstance("side_bar_tab", tab_name); if (!floater_tab) return; - LLFloaterReg::toggleInstance("side_bar_tab", LLSD().with("name", mTabTitle)); + LLFloaterReg::toggleInstance("side_bar_tab", tab_name); - LLSideTray* side_tray = LLSideTray::getInstance(); + bool docking = !LLFloater::isShown(floater_tab); - if (LLFloater::isShown(floater_tab)) + // Hide the "Tear Off" button when a tab gets undocked + // and show "Dock" button instead. + getChild<LLButton>("undock")->setVisible(docking); + getChild<LLButton>("dock")->setVisible(!docking); + + if (docking) { - // Remove the tab from Side Tray's tabs list. - // We have to do it despite removing the tab from Side Tray's child view tree - // by addChild(). Otherwise the tab could be accessed by the pointer in LLSideTray::mTabs. - if (!side_tray->removeTab(this)) - { - llwarns << "Failed to remove tab " << getName() << " from side tray" << llendl; - return; - } + dock(); + } + else + { + undock(floater_tab); + } +} - setVisible(true); // *HACK: restore visibility after being hidden by LLSideTray::selectTabByName(). - floater_tab->addChild(this); - floater_tab->setTitle(mTabTitle); +void LLSideTrayTab::dock() +{ + LLSideTray* side_tray = getSideTray(); + if (!side_tray) return; - LLRect rect = side_tray->getLocalRect(); - floater_tab->reshape(rect.getWidth(), rect.getHeight()); + if (!side_tray->addTab(this)) + { + llwarns << "Failed to add tab " << getName() << " to side tray" << llendl; + return; + } - rect.mTop -= floater_tab->getHeaderHeight(); - setRect(rect); - reshape(rect.getWidth(), rect.getHeight()); + setRect(side_tray->getLocalRect()); + reshape(getRect().getWidth(), getRect().getHeight()); - // Set FOLLOWS_ALL flag for the tab to follow floater dimensions upon resizing. - setFollowsAll(); + // Select the re-docked tab. + side_tray->selectTabByName(getName()); - if (!side_tray->getCollapsed()) - { - side_tray->collapseSideBar(); - } + if (side_tray->getCollapsed()) + { + side_tray->expandSideBar(); + } +} + +void LLSideTrayTab::undock(LLFloater* floater_tab) +{ + LLSideTray* side_tray = getSideTray(); + if (!side_tray) return; + + // Remove the tab from Side Tray's tabs list. + // We have to do it despite removing the tab from Side Tray's child view tree + // by addChild(). Otherwise the tab could be accessed by the pointer in LLSideTray::mTabs. + if (!side_tray->removeTab(this)) + { + llwarns << "Failed to remove tab " << getName() << " from side tray" << llendl; + return; + } + + setVisible(true); // *HACK: restore visibility after being hidden by LLSideTray::selectTabByName(). + floater_tab->addChild(this); + floater_tab->setTitle(mTabTitle); + + // Reshape the floater if needed. + LLRect floater_rect; + if (floater_tab->hasSavedRect()) + { + // We've got saved rect for the floater, hence no need to reshape it. + floater_rect = floater_tab->getLocalRect(); } else { - if (!side_tray->addTab(this)) - { - llwarns << "Failed to add tab " << getName() << " to side tray" << llendl; - return; - } + // Detaching for the first time. Reshape the floater. + floater_rect = side_tray->getLocalRect(); + floater_tab->reshape(floater_rect.getWidth(), floater_rect.getHeight()); + } + + // Reshape the panel. + { + LLRect panel_rect = floater_rect; + panel_rect.mTop -= floater_tab->getHeaderHeight(); + setRect(panel_rect); + reshape(panel_rect.getWidth(), panel_rect.getHeight()); + } - setRect(side_tray->getLocalRect()); - reshape(getRect().getWidth(), getRect().getHeight()); + // Set FOLLOWS_ALL flag for the tab to follow floater dimensions upon resizing. + setFollowsAll(); - // Select the re-docked tab. - side_tray->selectTabByName(getName()); + if (!side_tray->getCollapsed()) + { + side_tray->collapseSideBar(); + } - if (side_tray->getCollapsed()) - { - side_tray->expandSideBar(); - } + if (side_tray->getActiveTab() != this) + { + // When a tab other then current active tab is detached from Side Tray + // onOpen() should be called as tab visibility is changed. + onOpen(LLSD()); } } @@ -334,10 +406,9 @@ public: tab->toggleTabDocked(); - LLFloater* floater_tab = LLFloaterReg::getInstance("side_bar_tab", LLSD().with("name", tab->getTabTitle())); + LLFloater* floater_tab = LLFloaterReg::getInstance("side_bar_tab", tab->getName()); if (!floater_tab) return FALSE; - LLRect original_rect = floater_tab->getRect(); S32 header_snap_y = floater_tab->getHeaderHeight() / 2; S32 snap_x = screen_x - original_rect.mLeft - original_rect.getWidth() / 2; @@ -444,6 +515,7 @@ BOOL LLSideTray::postBuild() getCollapseSignal().connect(boost::bind(&LLScreenChannelBase::resetPositionAndSize, (*it).channel, _2)); } } + return true; } @@ -451,16 +523,20 @@ void LLSideTray::handleLoginComplete() { //reset tab to "home" tab if it was changesd during login process selectTabByName("sidebar_home"); + + detachTabs(); } LLSideTrayTab* LLSideTray::getTab(const std::string& name) { - return getChild<LLSideTrayTab>(name,false); + return findChild<LLSideTrayTab>(name,false); } bool LLSideTray::isTabAttached(const std::string& name) { LLSideTrayTab* tab = getTab(name); + if (!tab) return false; + return std::find(mTabs.begin(), mTabs.end(), tab) != mTabs.end(); } @@ -485,6 +561,54 @@ void LLSideTray::toggleTabButton(LLSideTrayTab* tab) } } +LLPanel* LLSideTray::openChildPanel(LLSideTrayTab* tab, const std::string& panel_name, const LLSD& params) +{ + LLView* view = tab->findChildView(panel_name, true); + if (!view) return NULL; + + std::string tab_name = tab->getName(); + + // Select tab and expand Side Tray only when a tab is attached. + if (isTabAttached(tab_name)) + { + selectTabByName(tab_name); + if (mCollapsed) + expandSideBar(); + } + else + { + LLFloater* floater_tab = LLFloaterReg::getInstance("side_bar_tab", tab_name); + if (!floater_tab) return NULL; + + // Restore the floater if it was minimized. + if (floater_tab->isMinimized()) + { + floater_tab->setMinimized(FALSE); + } + + // Send the floater to the front. + floater_tab->setFrontmost(); + } + + LLSideTrayPanelContainer* container = dynamic_cast<LLSideTrayPanelContainer*>(view->getParent()); + if (container) + { + LLSD new_params = params; + new_params[LLSideTrayPanelContainer::PARAM_SUB_PANEL_NAME] = panel_name; + container->onOpen(new_params); + + return container->getCurrentPanel(); + } + + LLPanel* panel = dynamic_cast<LLPanel*>(view); + if (panel) + { + panel->onOpen(params); + } + + return panel; +} + bool LLSideTray::selectTabByIndex(size_t index) { if(index>=mTabs.size()) @@ -497,6 +621,7 @@ bool LLSideTray::selectTabByIndex(size_t index) bool LLSideTray::selectTabByName (const std::string& name) { LLSideTrayTab* new_tab = getTab(name); + if (!new_tab) return false; // Bail out if already selected. if (new_tab == mActiveTab) @@ -623,6 +748,9 @@ bool LLSideTray::removeTab(LLSideTrayTab* tab) removeChild(tab); mTabs.erase(tab_it); + // Add the tab to detached tabs list. + mDetachedTabs.push_back(tab); + // Remove the button from the buttons panel so that it isn't drawn anymore. mButtonsPanel->removeChild(btn); @@ -684,6 +812,13 @@ bool LLSideTray::addTab(LLSideTrayTab* tab) // Arrange tabs after inserting a new one. arrange(); + // Remove the tab from the list of detached tabs. + child_vector_iter_t tab_it = std::find(mDetachedTabs.begin(), mDetachedTabs.end(), tab); + if (tab_it != mDetachedTabs.end()) + { + mDetachedTabs.erase(tab_it); + } + return true; } @@ -733,8 +868,10 @@ void LLSideTray::processTriState () void LLSideTray::onTabButtonClick(string name) { - LLSideTrayTab* side_bar = getTab(name); - if(side_bar == mActiveTab) + LLSideTrayTab* tab = getTab(name); + if (!tab) return; + + if(tab == mActiveTab) { processTriState (); return; @@ -827,6 +964,28 @@ void LLSideTray::arrange() mButtonsPanel->setVisible(hasTabs()); } +// Detach those tabs that were detached when the viewer exited last time. +void LLSideTray::detachTabs() +{ + // copy mTabs because LLSideTray::toggleTabDocked() modifies it. + child_vector_t tabs = mTabs; + + for (child_vector_const_iter_t it = tabs.begin(); it != tabs.end(); ++it) + { + LLSideTrayTab* tab = *it; + + std::string floater_ctrl_name = LLFloater::getControlName("side_bar_tab", LLSD(tab->getName())); + std::string vis_ctrl_name = LLFloaterReg::getVisibilityControlName(floater_ctrl_name); + if (!LLUI::sSettingGroups["floater"]->controlExists(vis_ctrl_name)) continue; + + bool is_visible = LLUI::sSettingGroups["floater"]->getBOOL(vis_ctrl_name); + if (!is_visible) continue; + + llassert(isTabAttached(tab->getName())); + tab->toggleTabDocked(); + } +} + void LLSideTray::collapseSideBar() { mCollapsed = true; @@ -919,35 +1078,19 @@ void LLSideTray::reshape(S32 width, S32 height, BOOL called_from_parent) */ LLPanel* LLSideTray::showPanel (const std::string& panel_name, const LLSD& params) { - //arrange tabs + // Look up the tab in the list of detached tabs. child_vector_const_iter_t child_it; - for ( child_it = mTabs.begin(); child_it != mTabs.end(); ++child_it) + for ( child_it = mDetachedTabs.begin(); child_it != mDetachedTabs.end(); ++child_it) { - LLView* view = (*child_it)->findChildView(panel_name,true); - if(view) - { - selectTabByName ((*child_it)->getName()); - if(mCollapsed) - expandSideBar(); - - LLSideTrayPanelContainer* container = dynamic_cast<LLSideTrayPanelContainer*>(view->getParent()); - if(container) - { - LLSD new_params = params; - new_params[LLSideTrayPanelContainer::PARAM_SUB_PANEL_NAME] = panel_name; - container->onOpen(new_params); - - return container->getCurrentPanel(); - } - - LLPanel* panel = dynamic_cast<LLPanel*>(view); - if(panel) - { - panel->onOpen(params); - } + LLPanel* panel = openChildPanel(*child_it, panel_name, params); + if (panel) return panel; + } - return panel; - } + // Look up the tab in the list of attached tabs. + for ( child_it = mTabs.begin(); child_it != mTabs.end(); ++child_it) + { + LLPanel* panel = openChildPanel(*child_it, panel_name, params); + if (panel) return panel; } return NULL; } @@ -957,7 +1100,9 @@ void LLSideTray::togglePanel(LLPanel* &sub_panel, const std::string& panel_name, if(!sub_panel) return; - if (sub_panel->isInVisibleChain()) + // If a panel is visible and attached to Side Tray (has LLSideTray among its ancestors) + // it should be toggled off by collapsing Side Tray. + if (sub_panel->isInVisibleChain() && sub_panel->hasAncestor(this)) { LLSideTray::getInstance()->collapseSideBar(); } @@ -1001,6 +1146,17 @@ LLPanel *findChildPanel(LLPanel *panel, const std::string& name, bool recurse) LLPanel* LLSideTray::getPanel(const std::string& panel_name) { + // Look up the panel in the list of detached tabs. + for ( child_vector_const_iter_t child_it = mDetachedTabs.begin(); child_it != mDetachedTabs.end(); ++child_it) + { + LLPanel *panel = findChildPanel(*child_it,panel_name,true); + if(panel) + { + return panel; + } + } + + // Look up the panel in the list of attached tabs. for ( child_vector_const_iter_t child_it = mTabs.begin(); child_it != mTabs.end(); ++child_it) { LLPanel *panel = findChildPanel(*child_it,panel_name,true); diff --git a/indra/newview/llsidetray.h b/indra/newview/llsidetray.h index f0cc2c1146..248def8e3d 100644 --- a/indra/newview/llsidetray.h +++ b/indra/newview/llsidetray.h @@ -173,10 +173,13 @@ protected: LLButton* createButton (const std::string& name,const std::string& image,const std::string& tooltip, LLUICtrl::commit_callback_t callback); void arrange (); + void detachTabs (); void reflectCollapseChange(); void toggleTabButton (LLSideTrayTab* tab); + LLPanel* openChildPanel (LLSideTrayTab* tab, const std::string& panel_name, const LLSD& params); + private: // Implementation of LLDestroyClass<LLSideTray> static void destroyClass() @@ -187,15 +190,11 @@ private: } private: - - typedef std::pair<LLButton*, LLSideTrayTab*> detached_tab_t; - typedef std::map<std::string, detached_tab_t> detached_tab_map_t; - LLPanel* mButtonsPanel; typedef std::map<std::string,LLButton*> button_map_t; button_map_t mTabButtons; child_vector_t mTabs; - detached_tab_map_t mDetachedTabs; + child_vector_t mDetachedTabs; tab_order_vector_t mOriginalTabOrder; LLSideTrayTab* mActiveTab; diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 13db913f60..556451e390 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -156,6 +156,7 @@ #include "lltrans.h" #include "lluictrlfactory.h" #include "llurldispatcher.h" // SLURL from other app instance +#include "llversioninfo.h" #include "llvieweraudio.h" #include "llviewercamera.h" #include "llviewergesture.h" @@ -1932,6 +1933,11 @@ void LLViewerWindow::setMenuBackgroundColor(bool god_mode, bool dev_grid) LLSD args; LLColor4 new_bg_color; + // no l10n problem because channel is always an english string + std::string channel = LLVersionInfo::getChannel(); + bool isProject = (channel.find("Project") != std::string::npos); + + // god more important than project, proj more important than grid if(god_mode && LLGridManager::getInstance()->isInProductionGrid()) { new_bg_color = LLUIColorTable::instance().getColor( "MenuBarGodBgColor" ); @@ -1940,6 +1946,10 @@ void LLViewerWindow::setMenuBackgroundColor(bool god_mode, bool dev_grid) { new_bg_color = LLUIColorTable::instance().getColor( "MenuNonProductionGodBgColor" ); } + else if (!god_mode && isProject) + { + new_bg_color = LLUIColorTable::instance().getColor( "MenuBarProjectBgColor" ); + } else if(!god_mode && !LLGridManager::getInstance()->isInProductionGrid()) { new_bg_color = LLUIColorTable::instance().getColor( "MenuNonProductionBgColor" ); diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 9af1198df1..f985ee0c15 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -2320,7 +2320,6 @@ BOOL LLVOAvatar::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time) idleUpdateNameTag( root_pos_last ); idleUpdateRenderCost(); - idleUpdateTractorBeam(); return TRUE; } @@ -3075,14 +3074,6 @@ void LLVOAvatar::idleUpdateNameTag(const LLVector3& root_pos_last) } } -//-------------------------------------------------------------------- -// draw tractor beam when editing objects -//-------------------------------------------------------------------- -// virtual -void LLVOAvatar::idleUpdateTractorBeam() -{ -} - void LLVOAvatar::idleUpdateBelowWater() { F32 avatar_height = (F32)(getPositionGlobal().mdV[VZ]); diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index 6d9424c8be..d51b8701af 100644 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -208,7 +208,6 @@ public: void idleUpdateWindEffect(); void idleUpdateNameTag(const LLVector3& root_pos_last); void idleUpdateRenderCost(); - void idleUpdateTractorBeam(); void idleUpdateBelowWater(); //-------------------------------------------------------------------- diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index 1a5d7289f4..a231afad3f 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -635,6 +635,7 @@ BOOL LLVOAvatarSelf::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time) return TRUE; } LLVOAvatar::idleUpdate(agent, world, time); + idleUpdateTractorBeam(); return TRUE; } diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index 5ba1fc9b21..b489294f38 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -86,6 +86,9 @@ <color name="LtOrange" value="1 .85 .73 1" /> + <color + name="MdBlue" + value=".07 .38 .51 1" /> <!-- This color name makes potentially unused colors show up bright purple. Leave this here until all Unused? are removed below, otherwise @@ -749,4 +752,7 @@ <color name="ChatTimestampColor" reference="White" /> + <color + name="MenuBarProjectBgColor" + reference="MdBlue" /> </colors> diff --git a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png Binary files differnew file mode 100644 index 0000000000..50c01062a5 --- /dev/null +++ b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Foreground.png diff --git a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Press.png b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Press.png Binary files differnew file mode 100644 index 0000000000..bf2065cd37 --- /dev/null +++ b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Dock_Press.png diff --git a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png Binary files differnew file mode 100644 index 0000000000..8b48258142 --- /dev/null +++ b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Foreground.png diff --git a/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Press.png b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Press.png Binary files differnew file mode 100644 index 0000000000..09efe779fe --- /dev/null +++ b/indra/newview/skins/default/textures/taskpanel/Sidebar_Icon_Undock_Press.png diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index fa09a41a1d..2e282d813e 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -429,6 +429,12 @@ with the same filename but different name <texture name="SegmentedBtn_Right_Selected_Disabled" file_name="widgets/SegmentedBtn_Right_Selected_Disabled.png" preload="true" scale.left="4" scale.top="19" scale.right="22" scale.bottom="4" /> <texture name="Shirt_Large" file_name="icons/Shirt_Large.png" preload="false" /> + + <texture name="Sidebar_Icon_Dock_Foreground" file_name="taskpanel/Sidebar_Icon_Dock_Foreground.png" preload="false" /> + <texture name="Sidebar_Icon_Dock_Press" file_name="taskpanel/Sidebar_Icon_Dock_Press.png" preload="false" /> + <texture name="Sidebar_Icon_Undock_Foreground" file_name="taskpanel/Sidebar_Icon_Undock_Foreground.png" preload="false" /> + <texture name="Sidebar_Icon_Undock_Press" file_name="taskpanel/Sidebar_Icon_Undock_Press.png" preload="false" /> + <texture name="Shop" file_name="icons/Shop.png" preload="false" /> <texture name="SkipBackward_Off" file_name="icons/SkipBackward_Off.png" preload="false" /> diff --git a/indra/newview/skins/default/xui/en/floater_side_bar_tab.xml b/indra/newview/skins/default/xui/en/floater_side_bar_tab.xml index 1466c2d2a5..bf0913fde7 100644 --- a/indra/newview/skins/default/xui/en/floater_side_bar_tab.xml +++ b/indra/newview/skins/default/xui/en/floater_side_bar_tab.xml @@ -1,5 +1,9 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <floater can_close="false" - can_resize="true"> + can_resize="true" + min_width="150" + save_rect="true" + save_visibility="true" + > </floater> diff --git a/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml b/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml index 876ff9961b..f58715be56 100644 --- a/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml +++ b/indra/newview/skins/default/xui/en/panel_avatar_list_item.xml @@ -79,6 +79,7 @@ left_pad="3" right="-53" name="info_btn" + tab_stop="false" top_delta="-2" width="16" /> <button @@ -89,6 +90,7 @@ left_pad="5" right="-28" name="profile_btn" + tab_stop="false" tool_tip="View profile" top_delta="-2" width="20" /> diff --git a/indra/newview/skins/default/xui/en/panel_classified_info.xml b/indra/newview/skins/default/xui/en/panel_classified_info.xml index 268cb4e5f9..0fb7691ee7 100644 --- a/indra/newview/skins/default/xui/en/panel_classified_info.xml +++ b/indra/newview/skins/default/xui/en/panel_classified_info.xml @@ -39,7 +39,7 @@ Disabled </panel.string> <button - follows="top|right" + follows="top|left" height="24" image_hover_unselected="BackButton_Over" image_pressed="BackButton_Press" @@ -398,30 +398,74 @@ top_pad="5" left="9" name="buttons"> - <button - follows="bottom|left" - height="23" - label="Teleport" - layout="topleft" - left="0" - name="teleport_btn" - top="0" - width="101" /> - <button - follows="bottom|left" - height="23" - label="Map" - layout="topleft" - left_pad="3" - name="show_on_map_btn" - width="100" /> - <button - follows="bottom|left" - height="23" - label="Edit" - layout="topleft" - name="edit_btn" - left_pad="3" - width="101" /> + + <layout_stack + follows="bottom|left|right" + height="23" + layout="topleft" + name="layout_stack1" + left="0" + orientation="horizontal" + top_pad="0" + width="309"> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left="0" + name="layout_panel1" + user_resize="false" + auto_resize="true" + width="101"> + <button + follows="bottom|left|right" + height="23" + label="Teleport" + layout="topleft" + left="0" + name="teleport_btn" + top="0" + width="101" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="show_on_map_btn_lp" + user_resize="false" + auto_resize="true" + width="100"> + <button + follows="bottom|left|right" + height="23" + label="Map" + layout="topleft" + name="show_on_map_btn" + top="0" + width="100" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="edit_btn_lp" + user_resize="false" + auto_resize="true" + width="101"> + <button + follows="bottom|left|right" + height="23" + label="Edit" + layout="topleft" + name="edit_btn" + top="0" + width="101" /> + </layout_panel> + </layout_stack> </panel> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_edit_classified.xml b/indra/newview/skins/default/xui/en/panel_edit_classified.xml index a5c74b08e7..5934956559 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_classified.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_classified.xml @@ -23,7 +23,7 @@ Save </string> <button - follows="top|right" + follows="top|left" height="24" image_hover_unselected="BackButton_Over" image_pressed="BackButton_Press" @@ -119,7 +119,7 @@ layout="topleft" left="10" top_pad="2" - max_length="63" + max_length="30" name="classified_name" prevalidate_callback="ascii" text_color="black" @@ -147,7 +147,7 @@ layout="topleft" left="10" top_pad="2" - max_length="1023" + max_length="64" name="classified_desc" text_color="black" word_wrap="true" /> @@ -301,22 +301,56 @@ name="bottom_panel" top_pad="5" width="303"> - <button - follows="bottom|left" - height="23" - label="[LABEL]" - layout="topleft" - name="save_changes_btn" - left="0" - top="0" - width="152" /> - <button - follows="bottom|left" - height="23" - label="Cancel" - layout="topleft" - name="cancel_btn" - left_pad="3" - width="153" /> + + <layout_stack + follows="bottom|left|right" + height="23" + layout="topleft" + name="bottom_panel_ls" + left="1" + orientation="horizontal" + top_pad="0" + width="309"> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left="0" + name="save_changes_btn_lp" + user_resize="false" + auto_resize="true" + width="156"> + <button + follows="bottom|left|right" + height="23" + label="[LABEL]" + layout="topleft" + name="save_changes_btn" + left="1" + top="0" + width="155" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="show_on_map_btn_lp" + user_resize="false" + auto_resize="true" + width="157"> + <button + follows="bottom|left|right" + height="23" + label="Cancel" + layout="topleft" + name="cancel_btn" + left="1" + top="0" + width="156" /> + </layout_panel> + </layout_stack> </panel> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_edit_pick.xml b/indra/newview/skins/default/xui/en/panel_edit_pick.xml index f50e182313..c4b831b71c 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_pick.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_pick.xml @@ -17,7 +17,7 @@ (will update after save) </panel.string> <button - follows="top|right" + follows="top|left" height="24" image_hover_unselected="BackButton_Over" image_pressed="BackButton_Press" @@ -183,22 +183,57 @@ name="bottom_panel" top_pad="5" width="303"> - <button - follows="bottom|left" - height="23" - label="Save Pick" - layout="topleft" - name="save_changes_btn" - left="0" - top="0" - width="152" /> - <button - follows="bottom|left" - height="23" - label="Cancel" - layout="topleft" - name="cancel_btn" - left_pad="3" - width="153" /> + + <layout_stack + follows="bottom|left|right" + height="23" + layout="topleft" + name="layout_stack1" + left="2" + orientation="horizontal" + top_pad="0" + width="303"> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="topleft" + left="0" + name="layout_panel1" + user_resize="false" + auto_resize="true" + width="150"> + <button + follows="bottom|left|right" + height="23" + label="Save Pick" + layout="topleft" + name="save_changes_btn" + top="0" + left="1" + width="149" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="topleft" + left_pad="4" + name="layout_panel1" + user_resize="false" + auto_resize="true" + width="150"> + <button + follows="bottom|left|right" + height="23" + label="Cancel" + layout="topleft" + name="cancel_btn" + top="0" + left="1" + width="149" /> + </layout_panel> + </layout_stack> + </panel> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_edit_profile.xml b/indra/newview/skins/default/xui/en/panel_edit_profile.xml index 5072ec3a66..8715a3a7a8 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_profile.xml @@ -325,28 +325,63 @@ </panel> </scroll_container> <panel - follows="bottom|left" + follows="bottom|left|right" height="28" left="0" name="profile_me_buttons_panel" top_pad="0" width="313"> - <button - follows="bottom|left" - height="23" - label="Save Changes" - layout="topleft" - left="8" - name="save_btn" - top="5" - width="152" /> - <button - follows="bottom|left" - height="23" - label="Cancel" - layout="topleft" - left_pad="3" - name="cancel_btn" - width="153" /> + + <layout_stack + follows="bottom|left|right" + height="28" + layout="topleft" + name="bottom_panel_ls" + left="7" + orientation="horizontal" + top_pad="0" + width="295"> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + name="save_changes_btn_lp" + top="0" + user_resize="false" + auto_resize="true" + width="153"> + <button + follows="bottom|left|right" + height="23" + label="Save Changes" + layout="topleft" + left="1" + name="save_btn" + top="0" + width="152" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="show_on_map_btn_lp" + top="0" + user_resize="false" + auto_resize="true" + width="154"> + <button + follows="bottom|left|right" + height="23" + label="Cancel" + layout="topleft" + left="1" + name="cancel_btn" + top="0" + width="153" /> + </layout_panel> + </layout_stack> </panel> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_edit_wearable.xml b/indra/newview/skins/default/xui/en/panel_edit_wearable.xml index 9fb777e0e7..95c1c822b8 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_wearable.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_wearable.xml @@ -187,7 +187,7 @@ width="150" /> <radio_group control_name="AvatarSex" - follows="left|top|right" + follows="top|right" height="20" layout="topleft" left="210" @@ -217,6 +217,7 @@ </radio_group> <!-- graphical labels for the radio buttons above --> <icon + follows="top|right" height="16" image_name="icons/Male.png" layout="topleft" @@ -226,6 +227,7 @@ top="7" width="16" /> <icon + follows="top|right" height="16" image_name="icons/Female.png" layout="topleft" @@ -416,22 +418,55 @@ name="button_panel" top_pad="6" width="333"> - <button - follows="bottomleft" + <layout_stack + follows="bottom|left|right" height="23" - label="Save As" layout="topleft" - left="8" - name="save_as_button" + mouse_opaque="false" + name="button_panel_ls" + left="0" + orientation="horizontal" top="0" - width="153" /> - <button - follows="bottomleft" - height="23" - label="Undo Changes" - layout="topleft" - left_pad="7" - name="revert_button" - width="152" /> + width="333"> + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left="0" + mouse_opaque="false" + name="save_as_btn_lp" + user_resize="false" + auto_resize="true" + width="154"> + <button + follows="bottom|left|right" + height="23" + label="Save As" + layout="topleft" + left="1" + name="save_as_button" + top="0" + width="153" /> + </layout_panel> + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + mouse_opaque="false" + name="revert_btn_lp" + user_resize="false" + auto_resize="true" + width="152"> + <button + follows="bottom|left|right" + height="23" + label="Undo Changes" + layout="topleft" + left_pad="7" + name="revert_button" + width="152" /> + </layout_panel> + </layout_stack> </panel> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml index 4998322d62..eb02d4104b 100644 --- a/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml +++ b/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml @@ -183,51 +183,121 @@ background_visible="true" left="0" top_pad="0" name="button_row" - follows="bottom|left" + follows="bottom|left|right" width="313"> - <button - follows="bottom|left" - height="23" - image_overlay="Refresh_Off" - layout="topleft" - left="0" - top="5" - name="btn_refresh" - width="23" /> - <button - follows="bottom|left" - label="Chat" - name="btn_chat" - left_pad="3" - height="23" - width="82" /> - <button - follows="bottom|left" - left_pad="3" - height="23" - name="btn_call" - label="Group Call" - layout="topleft" - tool_tip="Call this group" - width="112" /> - <button - follows="bottom|left" - height="23" - label="Save" - label_selected="Save" - name="btn_apply" - left_pad="3" - width="82" /> - <button - follows="bottom|left" - height="23" - layout="topleft" - left="0" - label="Create Group" - name="btn_create" - visible="true" - tool_tip="Create a new Group" - width="103" /> + + <layout_stack + follows="bottom|left|right" + height="25" + layout="topleft" + name="button_row_ls" + left="2" + orientation="horizontal" + top_pad="5" + width="309"> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left="0" + name="btn_refresh_lp" + user_resize="false" + auto_resize="true" + width="24"> + <button + follows="bottom|left|right" + height="23" + image_overlay="Refresh_Off" + layout="topleft" + left="1" + top="0" + name="btn_refresh" + width="23" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="btn_chat_lp" + user_resize="false" + auto_resize="true" + width="83"> + <button + follows="bottom|left|right" + label="Chat" + name="btn_chat" + left="1" + height="23" + top="0" + width="82" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="call_btn_lp" + user_resize="false" + auto_resize="true" + width="113"> + <button + follows="bottom|left|right" + left="1" + height="23" + name="btn_call" + label="Group Call" + layout="topleft" + tool_tip="Call this group" + top="0" + width="112" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="btn_apply_lp" + user_resize="false" + auto_resize="true" + width="83"> + <button + follows="bottom|left|right" + height="23" + label="Save" + label_selected="Save" + name="btn_apply" + left="1" + top="0" + width="82" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="btn_create_lp" + user_resize="false" + auto_resize="true" + width="104"> + <button + follows="bottom|left|right" + height="23" + layout="topleft" + left="1" + top="0" + label="Create Group" + name="btn_create" + visible="true" + tool_tip="Create a new Group" + width="103" /> + </layout_panel> + </layout_stack> <!--<button left_pad="3" height="23" diff --git a/indra/newview/skins/default/xui/en/panel_group_list_item.xml b/indra/newview/skins/default/xui/en/panel_group_list_item.xml index ab34cbf20e..0b84ac03c5 100644 --- a/indra/newview/skins/default/xui/en/panel_group_list_item.xml +++ b/indra/newview/skins/default/xui/en/panel_group_list_item.xml @@ -55,6 +55,7 @@ left_pad="3" right="-31" name="info_btn" + tab_stop="false" top_delta="-2" width="16" /> <!--*TODO: Should only appear on rollover--> @@ -66,6 +67,7 @@ left_pad="5" right="-3" name="profile_btn" + tab_stop="false" tool_tip="View profile" top_delta="-2" width="20" /> diff --git a/indra/newview/skins/default/xui/en/panel_landmarks.xml b/indra/newview/skins/default/xui/en/panel_landmarks.xml index a7e87f2a1e..7e415f45a4 100644 --- a/indra/newview/skins/default/xui/en/panel_landmarks.xml +++ b/indra/newview/skins/default/xui/en/panel_landmarks.xml @@ -97,51 +97,94 @@ left="3" name="bottom_panel" width="313"> - <button - follows="bottom|left" - tool_tip="Show additional options" - height="25" - image_hover_unselected="Toolbar_Left_Over" - image_overlay="OptionsMenu_Off" - image_selected="Toolbar_Left_Selected" - image_unselected="Toolbar_Left_Off" - layout="topleft" - left="0" - name="options_gear_btn" - top="1" - width="31" /> - <button - follows="bottom|left" - height="25" - image_hover_unselected="Toolbar_Middle_Over" - image_overlay="AddItem_Off" - image_selected="Toolbar_Middle_Selected" - image_unselected="Toolbar_Middle_Off" - layout="topleft" - left_pad="1" - name="add_btn" - tool_tip="Add new landmark" - width="31" /> - <icon - follows="bottom|left" - height="25" - image_name="Toolbar_Middle_Off" - layout="topleft" - left_pad="1" - name="dummy_icon" - width="209" - /> - <dnd_button - follows="bottom|left" - height="25" - image_hover_unselected="Toolbar_Right_Over" - image_overlay="TrashItem_Off" - image_selected="Toolbar_Right_Selected" - image_unselected="Toolbar_Right_Off" - layout="topleft" - left_pad="1" - name="trash_btn" - tool_tip="Remove selected landmark" - width="31" /> - </panel> + + <layout_stack + animate="false" + border_size="0" + follows="left|right|bottom" + height="25" + layout="topleft" + orientation="horizontal" + top_pad="1" + left="0" + name="bottom_panel" + width="307"> + <layout_panel + auto_resize="false" + height="25" + layout="topleft" + name="options_gear_btn_panel" + width="32"> + <button + follows="bottom|left" + tool_tip="Show additional options" + height="25" + image_hover_unselected="Toolbar_Left_Over" + image_overlay="OptionsMenu_Off" + image_selected="Toolbar_Left_Selected" + image_unselected="Toolbar_Left_Off" + layout="topleft" + left="0" + name="options_gear_btn" + top="0" + width="31" /> + </layout_panel> + <layout_panel + auto_resize="false" + height="25" + layout="topleft" + name="add_btn_panel" + width="32"> + <button + follows="bottom|left" + height="25" + image_hover_unselected="Toolbar_Middle_Over" + image_overlay="AddItem_Off" + image_selected="Toolbar_Middle_Selected" + image_unselected="Toolbar_Middle_Off" + layout="topleft" + left="0" + name="add_btn" + tool_tip="Add new landmark" + top="0" + width="31" /> + </layout_panel> + <layout_panel + auto_resize="true" + height="25" + layout="topleft" + name="dummy_panel" + width="212"> + <icon + follows="bottom|left|right" + height="25" + image_name="Toolbar_Middle_Off" + layout="topleft" + left="0" + top="0" + name="dummy_icon" + width="211" /> + </layout_panel> + <layout_panel + auto_resize="false" + height="25" + layout="topleft" + name="trash_btn_panel" + width="31"> + <dnd_button + follows="bottom|left" + height="25" + image_hover_unselected="Toolbar_Right_Over" + image_overlay="TrashItem_Off" + image_selected="Toolbar_Right_Selected" + image_unselected="Toolbar_Right_Off" + left="0" + layout="topleft" + name="trash_btn" + tool_tip="Remove selected landmark" + top="0" + width="31"/> + </layout_panel> + </layout_stack> + </panel> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_my_profile.xml b/indra/newview/skins/default/xui/en/panel_my_profile.xml index 4629bb9cfe..684d38146a 100644 --- a/indra/newview/skins/default/xui/en/panel_my_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_my_profile.xml @@ -392,7 +392,7 @@ height="28" width="315"> <button - follows="bottom|right" + follows="bottom" height="23" left="6" top="1" diff --git a/indra/newview/skins/default/xui/en/panel_notes.xml b/indra/newview/skins/default/xui/en/panel_notes.xml index cff7b51ce8..530e191952 100644 --- a/indra/newview/skins/default/xui/en/panel_notes.xml +++ b/indra/newview/skins/default/xui/en/panel_notes.xml @@ -112,58 +112,125 @@ name="notes_buttons_panel" auto_resize="false" width="313"> - <button - follows="bottom|left" - height="23" - label="Add Friend" - layout="topleft" - left="2" - mouse_opaque="false" - name="add_friend" - tool_tip="Offer friendship to the Resident" - top="5" - width="80" /> - <button - follows="bottom|left" - height="23" - label="IM" - layout="topleft" - name="im" - tool_tip="Open instant message session" - top="5" - left_pad="3" - width="45" /> - <button - follows="bottom|left" - height="23" - label="Call" - layout="topleft" - name="call" - tool_tip="Call this Resident" - left_pad="3" - top="5" - width="46" /> - <button - enabled="false" - follows="bottom|left" - height="23" - label="Map" - layout="topleft" - name="show_on_map_btn" - tool_tip="Show the Resident on the map" - top="5" - left_pad="3" - width="45" /> - <button - follows="bottom|left" - height="23" - label="Teleport" - layout="topleft" - name="teleport" - tool_tip="Offer teleport" - left_pad="3" - top="5" - width="80" /> + + <layout_stack + follows="bottom|left|right" + height="23" + layout="topleft" + name="bottom_bar_ls" + left="2" + orientation="horizontal" + top_pad="5" + width="309"> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left="0" + name="add_friend_btn_lp" + user_resize="false" + auto_resize="true" + width="118"> + <button + follows="bottom|left|right" + height="23" + label="Add Friend" + layout="topleft" + left="1" + mouse_opaque="false" + name="add_friend" + tool_tip="Offer friendship to the Resident" + top="0" + width="117" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="im_btn_lp" + user_resize="false" + auto_resize="true" + width="22"> + <button + follows="bottom|left|right" + height="23" + label="IM" + layout="topleft" + name="im" + tool_tip="Open instant message session" + top="0" + left="1" + width="21" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="call_btn_lp" + user_resize="false" + auto_resize="true" + width="52"> + <button + follows="bottom|left|right" + height="23" + label="Call" + layout="topleft" + name="call" + tool_tip="Call this Resident" + left="1" + top="0" + use_ellipses="true" + width="51" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="show_on_map_btn_lp" + user_resize="false" + auto_resize="true" + width="46"> + <button + enabled="false" + follows="bottom|left|right" + height="23" + label="Map" + layout="topleft" + name="show_on_map_btn" + tool_tip="Show the Resident on the map" + top="0" + left="1" + width="45" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="teleport_btn_lp" + user_resize="false" + auto_resize="true" + width="81"> + <button + follows="bottom|left|right" + height="23" + label="Teleport" + layout="topleft" + name="teleport" + tool_tip="Offer teleport" + left="1" + top="0" + width="80" /> + </layout_panel> + </layout_stack> </layout_panel> </layout_stack> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml index e6714af943..1cbdecab9d 100644 --- a/indra/newview/skins/default/xui/en/panel_outfit_edit.xml +++ b/indra/newview/skins/default/xui/en/panel_outfit_edit.xml @@ -71,7 +71,7 @@ top="1" width="30" /> <text - follows="top|right" + follows="top|left|right" font="SansSerifHugeBold" height="26" layout="topleft" @@ -108,7 +108,7 @@ width="31" /> <panel bevel_style="none" - follows="top|right" + follows="top|left|right" height="37" layout="topleft" left_pad="5" @@ -494,39 +494,72 @@ It is calculated as border_size + 2*UIResizeBarOverlap top_pad="2" name="save_revert_button_bar" width="300"> - <button - follows="bottom|left" - height="23" - label="Save" - left="0" - layout="topleft" - name="save_btn" - top="0" - width="155" /> - <button - follows="bottom|left" - height="23" - name="save_flyout_btn" - label="" - layout="topleft" - left_pad="-20" - tab_stop="false" - top="0" - image_selected="SegmentedBtn_Right_Selected_Press" - image_unselected="SegmentedBtn_Right_Off" - image_pressed="SegmentedBtn_Right_Press" - image_pressed_selected="SegmentedBtn_Right_Selected_Press" - image_overlay="Arrow_Small_Up" - width="20"/> - <button - follows="bottom|left|right" - height="23" - left_pad="12" - label="Undo Changes" - layout="topleft" - name="revert_btn" - top="0" - tool_tip="Revert to last saved version" - width="147" /> + <layout_stack + follows="bottom|left|right" + height="23" + layout="topleft" + mouse_opaque="false" + name="button_bar_ls" + left="0" + orientation="horizontal" + top="0" + width="313"> + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left="0" + mouse_opaque="false" + name="save_btn_lp" + user_resize="false" + auto_resize="true" + width="156"> + <button + follows="bottom|left|right" + height="23" + label="Save" + left="1" + layout="topleft" + name="save_btn" + top="0" + width="155" /> + <button + follows="bottom|right" + height="23" + name="save_flyout_btn" + label="" + layout="topleft" + left_pad="-20" + tab_stop="false" + top="0" + image_selected="SegmentedBtn_Right_Selected_Press" + image_unselected="SegmentedBtn_Right_Off" + image_pressed="SegmentedBtn_Right_Press" + image_pressed_selected="SegmentedBtn_Right_Selected_Press" + image_overlay="Arrow_Small_Up" + width="20"/> + </layout_panel> + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + mouse_opaque="false" + name="revert_btn_lp" + user_resize="false" + auto_resize="true" + width="147"> + <button + follows="bottom|left|right" + height="23" + left="0" + label="Undo Changes" + layout="topleft" + name="revert_btn" + top="0" + tool_tip="Revert to last saved version" + width="147" /> + </layout_panel> + </layout_stack> </panel> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml index 82b69ba8dc..88c82313dd 100644 --- a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml +++ b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml @@ -67,36 +67,70 @@ visible="true" name="bottom_panel" width="310"> - <button - follows="bottom|left" - height="23" - label="Save As" - left="0" - layout="topleft" - name="save_btn" - top_pad="0" - width="155" /> - <button - follows="bottom|left" - height="23" - name="save_flyout_btn" - label="" - layout="topleft" - left_pad="-20" - tab_stop="false" - image_selected="SegmentedBtn_Right_Selected_Press" - image_unselected="SegmentedBtn_Right_Off" - image_pressed="SegmentedBtn_Right_Press" - image_pressed_selected="SegmentedBtn_Right_Selected_Press" - image_overlay="Arrow_Small_Up" - width="20"/> - <button - follows="bottom|left|right" - height="23" - label="Wear" - layout="topleft" - name="wear_btn" - left_pad="3" - width="152" /> + <layout_stack + follows="bottom|left|right" + height="23" + layout="topleft" + mouse_opaque="false" + name="bottom_panel_ls" + left="0" + orientation="horizontal" + top="0" + width="313"> + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left="0" + mouse_opaque="false" + name="save_btn_lp" + user_resize="false" + auto_resize="true" + width="156"> + <button + follows="bottom|left|right" + height="23" + label="Save As" + left="1" + layout="topleft" + name="save_btn" + top="0" + width="155" /> + <button + follows="bottom|right" + height="23" + name="save_flyout_btn" + label="" + layout="topleft" + left_pad="-20" + tab_stop="false" + image_selected="SegmentedBtn_Right_Selected_Press" + image_unselected="SegmentedBtn_Right_Off" + image_pressed="SegmentedBtn_Right_Press" + image_pressed_selected="SegmentedBtn_Right_Selected_Press" + image_overlay="Arrow_Small_Up" + width="20"/> + </layout_panel> + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + mouse_opaque="false" + name="wear_btn_lp" + user_resize="false" + auto_resize="true" + width="152"> + <button + follows="bottom|left|right" + height="23" + label="Wear" + layout="topleft" + name="wear_btn" + left="0" + top="0" + width="152" /> + </layout_panel> + </layout_stack> </panel> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_people.xml b/indra/newview/skins/default/xui/en/panel_people.xml index 7cd0d5b5f0..059283ce09 100644 --- a/indra/newview/skins/default/xui/en/panel_people.xml +++ b/indra/newview/skins/default/xui/en/panel_people.xml @@ -143,7 +143,7 @@ Looking for people to hang out with? Try the [secondlife:///app/worldmap World M function="People.addFriend" /> </button> <icon - follows="bottom|left" + follows="bottom|left|right" height="25" image_name="Toolbar_Right_Off" layout="topleft" @@ -222,6 +222,96 @@ Looking for people to hang out with? Try the [secondlife:///app/worldmap World M name="bottom_panel" top_pad="0" width="313"> + + <layout_stack + animate="false" + border_size="0" + follows="left|right|bottom" + height="25" + layout="topleft" + orientation="horizontal" + top_pad="1" + left="0" + name="bottom_panel" + width="305"> + <layout_panel + auto_resize="false" + height="25" + layout="topleft" + name="options_gear_btn_panel" + width="32"> + <button + follows="bottom|left" + tool_tip="Show additional options" + height="25" + image_hover_unselected="Toolbar_Left_Over" + image_overlay="OptionsMenu_Off" + image_selected="Toolbar_Left_Selected" + image_unselected="Toolbar_Left_Off" + layout="topleft" + left="0" + name="friends_viewsort_btn" + top="0" + width="31" /> + </layout_panel> + <layout_panel + auto_resize="false" + height="25" + layout="topleft" + name="add_btn_panel" + width="32"> + <button + follows="bottom|left" + height="25" + image_hover_unselected="Toolbar_Middle_Over" + image_overlay="AddItem_Off" + image_selected="Toolbar_Middle_Selected" + image_unselected="Toolbar_Middle_Off" + layout="topleft" + left="0" + name="add_btn" + tool_tip="Offer friendship to a Resident" + top="0" + width="31" /> + </layout_panel> + <layout_panel + auto_resize="true" + height="25" + layout="topleft" + name="dummy_panel" + width="212"> + <icon + follows="bottom|left|right" + height="25" + image_name="Toolbar_Middle_Off" + layout="topleft" + left="0" + top="0" + name="dummy_icon" + width="211" /> + </layout_panel> + <layout_panel + auto_resize="false" + height="25" + layout="topleft" + name="trash_btn_panel" + width="31"> + <dnd_button + follows="bottom|left" + height="25" + image_hover_unselected="Toolbar_Right_Over" + image_overlay="TrashItem_Off" + image_selected="Toolbar_Right_Selected" + image_unselected="Toolbar_Right_Off" + left="0" + layout="topleft" + name="trash_btn" + tool_tip="Remove selected person from your Friends list" + top="0" + width="31"/> + </layout_panel> + </layout_stack><!-- + <button follows="bottom|left" tool_tip="Options" @@ -248,7 +338,7 @@ Looking for people to hang out with? Try the [secondlife:///app/worldmap World M tool_tip="Offer friendship to a Resident" width="31" /> <icon - follows="bottom|left" + follows="bottom|left|right" height="25" image_name="Toolbar_Middle_Off" layout="topleft" @@ -268,7 +358,7 @@ Looking for people to hang out with? Try the [secondlife:///app/worldmap World M name="del_btn" tool_tip="Remove selected person from your Friends list" width="31" /> - </panel> + --></panel> <text follows="all" height="450" @@ -353,7 +443,7 @@ Looking for people to hang out with? Try the [secondlife:///app/worldmap World M tool_tip="Activate selected group" width="31" /> <icon - follows="bottom|left" + follows="bottom|left|right" height="25" image_name="Toolbar_Right_Off" layout="topleft" @@ -427,7 +517,7 @@ Looking for people to hang out with? Try the [secondlife:///app/worldmap World M function="People.addFriend" /> </button> <icon - follows="bottom|left" + follows="bottom|left|right" height="25" image_name="Toolbar_Right_Off" layout="topleft" @@ -439,85 +529,210 @@ Looking for people to hang out with? Try the [secondlife:///app/worldmap World M </panel> </tab_container> <panel - follows="bottom|left" + follows="bottom|left|right" height="23" layout="topleft" left="8" top_pad="4" name="button_bar" width="313"> - <button - follows="bottom|left" - height="23" - label="Profile" - layout="topleft" - name="view_profile_btn" - tool_tip="Show picture, groups, and other Residents information" - top="0" - width="67" /> - <button - follows="bottom|left" - left_pad="3" - height="23" - label="IM" - layout="topleft" - name="im_btn" - tool_tip="Open instant message session" - width="40" /> - <button - follows="bottom|left" - left_pad="3" - height="23" - label="Call" - layout="topleft" - name="call_btn" - tool_tip="Call this Resident" - width="51" /> - <button - follows="bottom|left" - left_pad="3" - height="23" - label="Share" - layout="topleft" - name="share_btn" - tool_tip="Share an inventory item" - width="65" /> - <button - follows="bottom|left" - left_pad="3" - height="23" - label="Teleport" - layout="topleft" - name="teleport_btn" - tool_tip="Offer teleport" - width="76" /> - <button - follows="bottom|left" - left="0" - top_delta="0" - height="23" - label="Group Profile" - layout="topleft" - name="group_info_btn" - tool_tip="Show group information" - width="107" /> - <button - follows="bottom|left" - left_pad="3" - height="23" - label="Group Chat" - layout="topleft" - name="chat_btn" - tool_tip="Open chat session" - width="100" /> - <button - follows="bottom|left" - left_pad="3" - height="23" - label="Group Call" - layout="topleft" - name="group_call_btn" - tool_tip="Call this group" - width="95" /> + +<!--********************************Profile; IM; Call, Share, Teleport********************************--> + <layout_stack + follows="bottom|left|right" + height="23" + layout="topleft" + name="bottom_bar_ls" + left="0" + orientation="horizontal" + top_pad="0" + width="313"> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left="0" + name="view_profile_btn_lp" + user_resize="false" + auto_resize="true" + width="68"> + <button + follows="bottom|left|right" + height="23" + label="Profile" + layout="topleft" + left="1" + name="view_profile_btn" + tool_tip="Show picture, groups, and other Residents information" + top="0" + width="67" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="chat_btn_lp" + user_resize="false" + auto_resize="true" + width="41"> + <button + follows="bottom|left|right" + left="1" + height="23" + label="IM" + layout="topleft" + name="im_btn" + tool_tip="Open instant message session" + top="0" + width="40" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="chat_btn_lp" + user_resize="false" + auto_resize="true" + width="52"> + <button + follows="bottom|left|right" + left="1" + height="23" + label="Call" + layout="topleft" + name="call_btn" + tool_tip="Call this Resident" + top="0" + width="51" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="chat_btn_lp" + user_resize="false" + auto_resize="true" + width="66"> + <button + follows="bottom|left|right" + left="1" + height="23" + label="Share" + layout="topleft" + name="share_btn" + tool_tip="Share an inventory item" + top="0" + width="65" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="chat_btn_lp" + user_resize="false" + auto_resize="true" + width="77"> + <button + follows="bottom|left|right" + left="1" + height="23" + label="Teleport" + layout="topleft" + name="teleport_btn" + tool_tip="Offer teleport" + top="0" + width="76" /> + </layout_panel> + </layout_stack> + +<!--********************************Group Profile; Group Chat; Group Call buttons************************--> + <layout_stack + follows="bottom|left|right" + height="23" + layout="topleft" + mouse_opaque="false" + name="bottom_bar_ls1" + left="0" + orientation="horizontal" + top="0" + width="313"> + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left="0" + mouse_opaque="false" + name="group_info_btn_lp" + user_resize="false" + auto_resize="true" + width="108"> + <button + follows="bottom|left|right" + left="1" + height="23" + label="Group Profile" + layout="topleft" + mouse_opaque="false" + name="group_info_btn" + tool_tip="Show group information" + top="0" + width="107" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + mouse_opaque="false" + name="chat_btn_lp" + user_resize="false" + auto_resize="true" + width="101"> + <button + follows="bottom|left|right" + left="1" + height="23" + label="Group Chat" + layout="topleft" + mouse_opaque="false" + name="chat_btn" + tool_tip="Open chat session" + top="0" + width="100" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + mouse_opaque="false" + name="group_call_btn_lp" + user_resize="false" + auto_resize="true" + width="96"> + <button + follows="bottom|left|right" + left="1" + height="23" + label="Group Call" + layout="topleft" + mouse_opaque="false" + name="group_call_btn" + tool_tip="Call this group" + top="0" + width="95" /> + </layout_panel> + </layout_stack> </panel> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_pick_info.xml b/indra/newview/skins/default/xui/en/panel_pick_info.xml index 95c8cb301d..0496c86215 100644 --- a/indra/newview/skins/default/xui/en/panel_pick_info.xml +++ b/indra/newview/skins/default/xui/en/panel_pick_info.xml @@ -11,7 +11,7 @@ top="0" width="333"> <button - follows="top|right" + follows="top|left" height="24" image_hover_unselected="BackButton_Over" image_pressed="BackButton_Press" @@ -121,30 +121,73 @@ top_pad="5" left="8" name="buttons"> - <button - follows="bottom|left" - height="23" - label="Teleport" - layout="topleft" - left="0" - name="teleport_btn" - top="0" - width="101" /> - <button - follows="bottom|left" - height="23" - label="Map" - layout="topleft" - left_pad="3" - name="show_on_map_btn" - width="100" /> - <button - follows="bottom|left" - height="23" - label="Edit" - layout="topleft" - name="edit_btn" - left_pad="3" - width="101" /> + + <layout_stack + follows="bottom|left|right" + height="23" + layout="topleft" + name="layout_stack1" + left="0" + orientation="horizontal" + top_pad="0" + width="312"> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left="0" + name="layout_panel1" + user_resize="false" + auto_resize="true" + width="101"> + <button + follows="bottom|left|right" + height="23" + label="Teleport" + layout="topleft" + name="teleport_btn" + top="0" + width="101" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="show_on_map_btn_lp" + user_resize="false" + auto_resize="true" + width="100"> + <button + follows="bottom|left|right" + height="23" + label="Map" + layout="topleft" + name="show_on_map_btn" + top_pad="0" + width="100" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="edit_btn_lp" + user_resize="false" + auto_resize="true" + width="101"> + <button + follows="bottom|left|right" + height="23" + label="Edit" + layout="topleft" + name="edit_btn" + top_pad="0" + width="101" /> + </layout_panel> + </layout_stack> </panel> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_picks.xml b/indra/newview/skins/default/xui/en/panel_picks.xml index a815cdf7f0..647be28a62 100644 --- a/indra/newview/skins/default/xui/en/panel_picks.xml +++ b/indra/newview/skins/default/xui/en/panel_picks.xml @@ -78,93 +78,166 @@ bg_opaque_color="DkGray2" bevel_style="none" enabled="false" auto_resize="false" - follows="bottom" + follows="bottom|left|right" left="1" height="27" label="bottom_panel" - layout="topleft" + layout="bottom" name="edit_panel" top_pad="-2" width="313"> - <button - enabled="false" - follows="bottom|left" - height="18" - image_selected="OptionsMenu_Press" - image_unselected="OptionsMenu_Off" - image_disabled="OptionsMenu_Disabled" - layout="topleft" - left="10" - name="gear_menu_btn" - top="9" - width="18" /> - <button - follows="bottom|left" - height="18" - image_disabled="AddItem_Disabled" - image_selected="AddItem_Press" - image_unselected="AddItem_Off" - layout="topleft" - left_pad="15" - name="new_btn" - tool_tip="Create a new pick or classified at the current location" - top="9" - width="18" /> - <button - follows="bottom|right" - height="18" - image_disabled="TrashItem_Disabled" - image_selected="TrashItem_Press" - image_unselected="TrashItem_Off" - layout="topleft" - name="trash_btn" - right="-10" - top="9" - width="18" /> - </panel> - <panel + + <layout_stack + follows="bottom|left|right" + height="23" + layout="bottomleft" + name="edit_panel_ls" + left="10" + orientation="horizontal" + top_pad="0" + width="293"> + + <layout_panel + follows="bottom|left" + height="18" + layout="bottomleft" + left="0" + name="gear_menu_btn" + user_resize="false" + auto_resize="true" + width="51"> + <button + enabled="false" + follows="bottom|left" + height="18" + image_selected="OptionsMenu_Press" + image_unselected="OptionsMenu_Off" + image_disabled="OptionsMenu_Disabled" + layout="topleft" + left="0" + name="gear_menu_btn" + top_pad="0" + width="18" /> + <button + follows="bottom|left" + height="18" + image_disabled="AddItem_Disabled" + image_selected="AddItem_Press" + image_unselected="AddItem_Off" + layout="topleft" + left_pad="15" + name="new_btn" + tool_tip="Create a new pick or classified at the current location" + width="18" /> + </layout_panel> + + <layout_panel + follows="bottom|right" + height="18" + layout="bottomleft" + name="trash_btn_lp" + user_resize="false" + auto_resize="true" + width="18"> + <button + follows="bottom|right" + height="18" + image_disabled="TrashItem_Disabled" + image_selected="TrashItem_Press" + image_unselected="TrashItem_Off" + layout="topleft" + name="trash_btn" + top="0" + width="18" /> + </layout_panel> + + </layout_stack> + </panel> + + <panel bg_opaque_color="DkGray" background_visible="true" background_opaque="true" + follows="bottom|left|right" layout="topleft" left="0" height="40" - top="502" name="buttons_cucks" width="313"> - <button - enabled="false" - follows="bottom|left" - height="23" - label="Info" - layout="topleft" - left="2" - name="info_btn" - tab_stop="false" - tool_tip="Show pick information" - top="5" - width="95" /> - <button - enabled="false" - follows="bottom|left" - height="23" - label="Teleport" - layout="topleft" - left_pad="3" - name="teleport_btn" - tab_stop="false" - tool_tip="Teleport to the corresponding area" - width="117" /> - <button - enabled="false" - follows="bottom|left" - height="23" - label="Map" - layout="topleft" - left_pad="3" - name="show_on_map_btn" - tab_stop="false" - tool_tip="Show the corresponding area on the World Map" - width="90" /> - </panel> + + <layout_stack + follows="bottom|left|right" + height="28" + layout="topleft" + left="2" + name="buttons_cucks_ls" + orientation="horizontal" + top="0" + width="313"> + + <layout_panel + follows="bottom|left|right" + height="28" + layout="topleft" + left="0" + name="info_btn_lp" + user_resize="false" + auto_resize="true" + top="0" + width="95"> + <button + enabled="false" + follows="top|left|right" + height="23" + label="Info" + layout="topleft" + name="info_btn" + tab_stop="false" + tool_tip="Show pick information" + width="95" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="28" + layout="bottomleft" + left_pad="2" + name="teleport_btn_lp" + user_resize="false" + auto_resize="true" + width="117"> + <button + enabled="false" + follows="top|left|right" + height="23" + label="Teleport" + layout="topleft" + name="teleport_btn" + tab_stop="false" + tool_tip="Teleport to the corresponding area" + width="117" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="28" + layout="bottomleft" + name="show_on_map_btn_lp" + user_resize="false" + auto_resize="true" + left_pad="2" + width="90"> + <button + enabled="false" + follows="top|left|right" + height="23" + label="Map" + layout="topleft" + name="show_on_map_btn" + tab_stop="false" + tool_tip="Show the corresponding area on the World Map" + width="88" /> + </layout_panel> + </layout_stack> + </panel> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_place_profile.xml b/indra/newview/skins/default/xui/en/panel_place_profile.xml index c6e93af50a..01d1e48ba1 100644 --- a/indra/newview/skins/default/xui/en/panel_place_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_place_profile.xml @@ -154,7 +154,7 @@ translate="false" value="Parcel_DamageNo_Dark" /> <button - follows="top|right" + follows="top|left" height="24" image_hover_unselected="BackButton_Over" image_pressed="BackButton_Press" diff --git a/indra/newview/skins/default/xui/en/panel_places.xml b/indra/newview/skins/default/xui/en/panel_places.xml index 638e190e8f..21314703b0 100644 --- a/indra/newview/skins/default/xui/en/panel_places.xml +++ b/indra/newview/skins/default/xui/en/panel_places.xml @@ -68,83 +68,297 @@ background_visible="true" visible="false" width="315" /> <panel + follows="bottom|left|right" height="23" layout="topleft" left="4" name="button_panel" width="315"> - <button - follows="bottom|left" - height="23" - label="Teleport" - layout="topleft" - left="5" - name="teleport_btn" - tool_tip="Teleport to the selected area" - top="1" - width="108" /> - <button - follows="bottom|left" - height="23" - label="Map" - layout="topleft" - left_pad="3" - name="map_btn" - tool_tip="Show the corresponding area on the World Map" - width="85" /> - <button - follows="bottom|left" - height="23" - label="Edit" - layout="topleft" - left_pad="3" - name="edit_btn" - tool_tip="Edit landmark information" - width="83" /> - <button - follows="bottom|right" - height="23" - label="▼" - layout="topleft" - name="overflow_btn" - tool_tip="Show additional options" - left_pad="3" - width="23" /> - <button - follows="bottom|left" - height="23" - label="Save" - layout="topleft" - name="save_btn" - left="5" - top_pad="-23" - width="152" /> - <button - follows="bottom|right" - height="23" - label="Cancel" - layout="topleft" - name="cancel_btn" - left_pad="3" - width="153" /> - <button - follows="bottom|right" - height="23" - label="Close" - layout="topleft" - name="close_btn" - right="-10" - top="1" - width="60" /> - <button - follows="bottom|left" - height="23" - label="Profile" - layout="topleft" - name="profile_btn" - right="-1" - tool_tip="Show place profile" - top="1" - width="111" /> + + <layout_stack + follows="bottom|left|right" + height="23" + layout="topleft" + mouse_opaque="false" + name="bottom_bar_ls0" + left="4" + orientation="horizontal" + top="0" + width="315"> + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left="0" + mouse_opaque="false" + name="lp1" + user_resize="false" + auto_resize="true" + width="193"> + + <!--*********************** Teleport, Map buttons ***********************--> + + <layout_stack + follows="bottom|left|right" + height="23" + layout="topleft" + mouse_opaque="false" + name="bottom_bar_ls1" + left="0" + orientation="horizontal" + top="0" + width="193"> + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left="0" + mouse_opaque="false" + name="teleport_btn_lp" + user_resize="false" + auto_resize="true" + width="109"> + <button + follows="bottom|left|right" + height="23" + label="Teleport" + layout="topleft" + left="1" + name="teleport_btn" + tool_tip="Teleport to the selected area" + top="0" + width="108" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + mouse_opaque="false" + name="chat_btn_lp" + user_resize="false" + auto_resize="true" + width="86"> + <button + follows="bottom|left|right" + height="23" + label="Map" + layout="topleft" + left="1" + name="map_btn" + tool_tip="Show the corresponding area on the World Map" + top="0" + width="85" /> + </layout_panel> + </layout_stack> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="0" + mouse_opaque="false" + name="lp2" + user_resize="false" + auto_resize="true" + width="116"> + + <!--*********************** Edit, Options buttons ***********************--> + + <layout_stack + follows="bottom|left|right" + height="23" + layout="topleft" + mouse_opaque="false" + name="bottom_bar_ls3" + left="0" + orientation="horizontal" + top="0" + width="120"> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="0" + mouse_opaque="false" + name="edit_btn_lp" + user_resize="false" + auto_resize="true" + width="84"> + <button + follows="bottom|left|right" + height="23" + label="Edit" + layout="topleft" + left="1" + mouse_opaque="false" + name="edit_btn" + tool_tip="Edit landmark information" + top="0" + width="83" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="0" + mouse_opaque="false" + name="overflow_btn_lp" + user_resize="false" + auto_resize="true" + width="24"> + <button + follows="bottom|left|right" + height="23" + label="▼" + layout="topleft" + mouse_opaque="false" + name="overflow_btn" + tool_tip="Show additional options" + top="0" + left="1" + width="23" /> + </layout_panel> + </layout_stack> + + <!--*********************** Profile button ***********************--> + + <layout_stack + follows="bottom|left|right" + height="23" + layout="topleft" + mouse_opaque="false" + name="bottom_bar_ls3" + left="0" + orientation="horizontal" + top="0" + width="120"> + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + mouse_opaque="false" + name="profile_btn_lp" + user_resize="false" + auto_resize="true" + width="112"> + <button + follows="bottom|left|right" + height="23" + label="Profile" + layout="topleft" + mouse_opaque="false" + name="profile_btn" + left="1" + tool_tip="Show place profile" + top="0" + width="111" /> + </layout_panel> + </layout_stack> + + <!--*********************** Close button ***********************--> + + <layout_stack + follows="bottom|left|right" + height="23" + layout="topleft" + mouse_opaque="false" + name="bottom_bar_close_ls3" + left="0" + orientation="horizontal" + top="0" + width="120"> + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + mouse_opaque="false" + name="close_btn_lp" + top="0" + user_resize="false" + auto_resize="true" + width="61"> + <button + follows="bottom|left|right" + height="23" + label="Close" + layout="topleft" + mouse_opaque="false" + name="close_btn" + left="1" + top="0" + width="60" /> + </layout_panel> + </layout_stack> + + + </layout_panel> + </layout_stack> + +<!--*********************** Save, Cancel buttons ***********************--> + + <layout_stack + follows="bottom|left|right" + height="23" + layout="topleft" + mouse_opaque="false" + name="bottom_bar_ls2" + left="4" + orientation="horizontal" + top="0" + width="313"> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + mouse_opaque="false" + name="save_btn_lp" + top="0" + user_resize="false" + auto_resize="true" + width="153"> + <button + follows="bottom|left|right" + height="23" + label="Save" + layout="topleft" + mouse_opaque="false" + name="save_btn" + left="1" + top_pad="0" + width="152"/> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + mouse_opaque="false" + name="cancel_btn_lp" + top="0" + user_resize="false" + auto_resize="true" + width="154"> + <button + follows="bottom|left|right" + height="23" + label="Cancel" + layout="topleft" + mouse_opaque="false" + name="cancel_btn" + left="1" + top="0" + width="153" /> + </layout_panel> + </layout_stack> </panel> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_profile.xml b/indra/newview/skins/default/xui/en/panel_profile.xml index e41b80baf2..88d7e68894 100644 --- a/indra/newview/skins/default/xui/en/panel_profile.xml +++ b/indra/newview/skins/default/xui/en/panel_profile.xml @@ -305,73 +305,132 @@ </scroll_container> </layout_panel> <layout_panel - follows="bottom|left" + follows="bottom|left" height="30" layout="topleft" name="profile_buttons_panel" auto_resize="false" width="317"> - <button - follows="bottom|left" - height="23" - label="Add Friend" - layout="topleft" - left="2" - mouse_opaque="false" - name="add_friend" - pad_left="1" - pad_right="1" - tool_tip="Offer friendship to the Resident" - top="5" - use_ellipses="true" - width="117" /> - <button - follows="bottom|left" - height="23" - label="IM" - layout="topleft" - name="im" - tool_tip="Open instant message session" - top="5" - left_pad="1" - width="21" /> - <button - follows="bottom|left" - height="23" - label="Call" - layout="topleft" - name="call" - tool_tip="Call this Resident" - left_pad="1" - pad_left="1" - pad_right="1" - top="5" - use_ellipses="true" - width="51" /> - <button - follows="bottom|left" - height="23" - label="Teleport" - layout="topleft" - name="teleport" - tool_tip="Offer teleport" - left_pad="1" - pad_left="1" - pad_right="1" - top="5" - use_ellipses="true" - width="92" /> - <button - follows="bottom|right" - height="23" - label="▼" - layout="topleft" - name="overflow_btn" - tool_tip="Pay money to or share inventory with the Resident" - right="-1" - top="5" - width="23" /> - </layout_panel> + + <layout_stack + follows="bottom|left|right" + height="23" + layout="topleft" + name="bottom_bar_ls" + left="0" + orientation="horizontal" + top_pad="5" + width="317"> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left="0" + name="add_friend_btn_lp" + user_resize="false" + auto_resize="true" + width="118"> + <button + follows="bottom|left|right" + height="23" + label="Add Friend" + layout="topleft" + left="1" + mouse_opaque="false" + name="add_friend" + tool_tip="Offer friendship to the Resident" + top="0" + width="117" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="im_btn_lp" + user_resize="false" + auto_resize="true" + width="22"> + <button + follows="bottom|left|right" + height="23" + label="IM" + layout="topleft" + name="im" + tool_tip="Open instant message session" + top="0" + left="1" + width="21" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="call_btn_lp" + user_resize="false" + auto_resize="true" + width="52"> + <button + follows="bottom|left|right" + height="23" + label="Call" + layout="topleft" + name="call" + tool_tip="Call this Resident" + left="1" + top="0" + use_ellipses="true" + width="51" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="chat_btn_lp" + user_resize="false" + auto_resize="true" + width="93"> + <button + follows="bottom|left|right" + height="23" + label="Teleport" + layout="topleft" + name="teleport" + tool_tip="Offer teleport" + left="1" + top="0" + use_ellipses="true" + width="92" /> + </layout_panel> + + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + name="overflow_btn_lp" + user_resize="false" + auto_resize="true" + width="27"> + <button + follows="bottom|left|right" + height="23" + label="▼" + layout="topleft" + name="overflow_btn" + tool_tip="Pay money to or share inventory with the Resident" + left="1" + top="0" + width="23" /> + </layout_panel> + </layout_stack> + </layout_panel> <layout_panel follows="bottom|left" height="30" diff --git a/indra/newview/skins/default/xui/en/panel_profile_view.xml b/indra/newview/skins/default/xui/en/panel_profile_view.xml index d9030fc0d6..41c7b95c9f 100644 --- a/indra/newview/skins/default/xui/en/panel_profile_view.xml +++ b/indra/newview/skins/default/xui/en/panel_profile_view.xml @@ -17,7 +17,7 @@ Offline </string> <button - follows="top|right" + follows="top|left" height="24" image_hover_unselected="BackButton_Over" image_pressed="BackButton_Press" diff --git a/indra/newview/skins/default/xui/en/panel_side_tray_tab_caption.xml b/indra/newview/skins/default/xui/en/panel_side_tray_tab_caption.xml index 60c2e0830c..557b04d281 100644 --- a/indra/newview/skins/default/xui/en/panel_side_tray_tab_caption.xml +++ b/indra/newview/skins/default/xui/en/panel_side_tray_tab_caption.xml @@ -9,7 +9,7 @@ left="0" name="sidetray_tab_panel"> <text - follows="left|top" + follows="left|top|right" font="SansSerifHuge" height="16" layout="topleft" @@ -22,15 +22,28 @@ <button follows="right|top" height="16" - image_selected="Icon_Dock_Press" - image_unselected="Icon_Dock_Foreground" - image_disabled="Icon_Dock_Press" + image_selected="Sidebar_Icon_Undock_Press" + image_unselected="Sidebar_Icon_Undock_Foreground" + image_disabled="Sidebar_Icon_Undock_Press" + layout="topleft" + name="undock" + top="10" + right="-28" + width="16" + tool_tip="Undock" /> + <button + follows="right|top" + height="16" + image_selected="Sidebar_Icon_Dock_Press" + image_unselected="Sidebar_Icon_Dock_Foreground" + image_disabled="Sidebar_Icon_Dock_Press" layout="topleft" name="dock" top="10" right="-28" width="16" - tool_tip="Dock/Undock tab" /> + tool_tip="Dock" + visible="false" /> <button follows="right|top" height="16" diff --git a/indra/newview/skins/default/xui/en/panel_teleport_history.xml b/indra/newview/skins/default/xui/en/panel_teleport_history.xml index b48c5d1f8a..bf09836e87 100644 --- a/indra/newview/skins/default/xui/en/panel_teleport_history.xml +++ b/indra/newview/skins/default/xui/en/panel_teleport_history.xml @@ -171,7 +171,7 @@ top="1" width="31" /> <icon - follows="bottom|left" + follows="bottom|left|right" height="25" image_name="Toolbar_Right_Off" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/panel_teleport_history_item.xml b/indra/newview/skins/default/xui/en/panel_teleport_history_item.xml index d38ad8c5f8..c89e1dc215 100644 --- a/indra/newview/skins/default/xui/en/panel_teleport_history_item.xml +++ b/indra/newview/skins/default/xui/en/panel_teleport_history_item.xml @@ -56,6 +56,7 @@ left_pad="5" right="-3" name="profile_btn" + tab_stop="false" tool_tip="Show item info" top="1" visible="false" diff --git a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml index 02ab0ffee5..c1c0f07304 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml @@ -65,7 +65,7 @@ width="333"> text_color="EmphasisColor" width="300" height="10" - follows="top|left" + follows="top|left|right" layout="topleft" left="35" top="3" @@ -81,14 +81,14 @@ width="333"> top="15" use_ellipses="true" width="230" - follows="top|left" + follows="top|left|right" word_wrap="false" mouse_opaque="false" name="currentlook_name"> MyOutfit With a really Long Name like MOOSE </text> <button - follows="left|top" + follows="top|right" height="28" image_overlay="Edit_Wrench" label="" @@ -99,7 +99,7 @@ width="333"> top="3" width="28" /> <loading_indicator - follows="left|top" + follows="top|right" height="24" layout="topleft" left="268" diff --git a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml index 6c9acae35e..f3c6895cee 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml @@ -31,77 +31,122 @@ height="545" width="330" /> <panel + follows="bottom|left|right" height="25" layout="topleft" name="button_panel" left="9" top_pad="-2" width="313"> - <button - enabled="true" - follows="bottom|left" - height="23" - label="Profile" - layout="topleft" - left="0" - name="info_btn" - tool_tip="Show object profile" - top="0" - width="102" /> - <button - enabled="true" - follows="bottom|left" - height="23" - label="Share" - layout="topleft" - left="105" - name="share_btn" - tool_tip="Share an inventory item" - top="0" - width="102" /> - <button - enabled="true" - follows="bottom|left" - height="23" - label="Shop" - layout="topleft" - left="210" - name="shop_btn" - tool_tip="Open Marketplace webpage" - top="0" - width="102" /> - <button - enabled="false" - follows="bottom|left" - height="23" - label="Wear" - layout="topleft" - left="210" - name="wear_btn" - tool_tip="Wear seleceted outfit" - top="0" - width="102" /> - <button - enabled="false" - follows="bottom|left" - height="23" - label="Play" - layout="topleft" - name="play_btn" - left="210" - top="0" - width="102" /> - <button - enabled="false" - follows="bottom|left" - height="23" - label="Teleport" - layout="topleft" - left="210" - name="teleport_btn" - tool_tip="Teleport to the selected area" - top="0" - width="102" /> + <layout_stack + follows="bottom|left|right" + height="23" + layout="topleft" + mouse_opaque="false" + name="button_panel_ls" + left="0" + orientation="horizontal" + top="0" + width="313"> + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left="0" + mouse_opaque="false" + name="info_btn_lp" + user_resize="false" + auto_resize="true" + width="103"> + <button + enabled="true" + follows="bottom|left|right" + height="23" + label="Profile" + layout="topleft" + left="1" + name="info_btn" + tool_tip="Show object profile" + top="0" + width="102" /> + </layout_panel> + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + mouse_opaque="false" + name="share_btn_lp" + user_resize="false" + auto_resize="true" + width="102"> + <button + enabled="true" + follows="bottom|left|right" + height="23" + label="Share" + layout="topleft" + left="0" + name="share_btn" + tool_tip="Share an inventory item" + top="0" + width="102" /> + </layout_panel> + <layout_panel + follows="bottom|left|right" + height="23" + layout="bottomleft" + left_pad="3" + mouse_opaque="false" + name="shop_btn_lp" + user_resize="false" + auto_resize="true" + width="102"> + <button + enabled="true" + follows="bottom|left|right" + height="23" + label="Shop" + layout="topleft" + left="0" + name="shop_btn" + tool_tip="Open Marketplace webpage" + top="0" + width="102" /> + <button + enabled="false" + follows="bottom|left|right" + height="23" + label="Wear" + layout="topleft" + left="0" + name="wear_btn" + tool_tip="Wear seleceted outfit" + top="0" + width="102" /> + <button + enabled="false" + follows="bottom|left|right" + height="23" + label="Play" + layout="topleft" + name="play_btn" + left="0" + top="0" + width="102" /> + <button + enabled="false" + follows="bottom|left|right" + height="23" + label="Teleport" + layout="topleft" + left="0" + name="teleport_btn" + tool_tip="Teleport to the selected area" + top="0" + width="102" /> + </layout_panel> + </layout_stack> </panel> </panel> diff --git a/indra/newview/skins/default/xui/en/sidepanel_item_info.xml b/indra/newview/skins/default/xui/en/sidepanel_item_info.xml index 49b252174c..4f923f411c 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_item_info.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_item_info.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <panel + follows="all" height="570" layout="topleft" name="item properties" @@ -45,7 +46,7 @@ top="8" width="18" /> <button - follows="top|right" + follows="top|left" height="24" image_hover_unselected="BackButton_Over" image_pressed="BackButton_Press" @@ -69,14 +70,15 @@ value="Item Profile" width="275" /> <text - follows="top|left" + follows="top|left|right" height="13" layout="topleft" left="45" name="origin" text_color="LtGray_50" + use_ellipses="true" value="(Inventory)" - width="150" /> + width="275" /> <panel follows="all" height="493" @@ -234,7 +236,7 @@ top_pad="10" <text type="string" length="1" - follows="left|top" + follows="left|top|right" height="23" layout="topleft" left_delta="78" @@ -244,7 +246,7 @@ top_pad="10" </text> <panel border="false" - follows="left|top" + follows="left|top|right" layout="topleft" mouse_opaque="false" name="perms_inv" |