summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llfavoritesbar.cpp8
-rw-r--r--indra/newview/llfavoritesbar.h4
-rw-r--r--indra/newview/llnavigationbar.cpp148
-rw-r--r--indra/newview/llnavigationbar.h3
-rw-r--r--indra/newview/llviewercontrol.cpp9
-rw-r--r--indra/newview/llviewerwindow.cpp11
-rw-r--r--indra/newview/skins/default/xui/en/main_view.xml2
-rw-r--r--indra/newview/skins/default/xui/en/menu_hide_navbar.xml13
-rw-r--r--indra/newview/skins/default/xui/en/panel_navigation_bar.xml319
9 files changed, 188 insertions, 329 deletions
diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp
index 0b17d64eb0..63519b7c21 100644
--- a/indra/newview/llfavoritesbar.cpp
+++ b/indra/newview/llfavoritesbar.cpp
@@ -360,7 +360,7 @@ struct LLFavoritesSort
LLFavoritesBarCtrl::Params::Params()
: image_drag_indication("image_drag_indication"),
- chevron_button("chevron_button"),
+ more_button("more_button"),
label("label")
{
}
@@ -389,9 +389,9 @@ LLFavoritesBarCtrl::LLFavoritesBarCtrl(const LLFavoritesBarCtrl::Params& p)
gInventory.addObserver(this);
//make chevron button
- LLButton::Params chevron_button_params(p.chevron_button);
- chevron_button_params.click_callback.function(boost::bind(&LLFavoritesBarCtrl::showDropDownMenu, this));
- mChevronButton = LLUICtrlFactory::create<LLButton> (chevron_button_params);
+ LLTextBox::Params more_button_params(p.more_button);
+ mChevronButton = LLUICtrlFactory::create<LLTextBox> (more_button_params);
+ mChevronButton->setClickedCallback(boost::bind(&LLFavoritesBarCtrl::showDropDownMenu, this));
addChild(mChevronButton);
LLTextBox::Params label_param(p.label);
diff --git a/indra/newview/llfavoritesbar.h b/indra/newview/llfavoritesbar.h
index 1a28731c4f..3811de3e2f 100644
--- a/indra/newview/llfavoritesbar.h
+++ b/indra/newview/llfavoritesbar.h
@@ -40,7 +40,7 @@ public:
struct Params : public LLInitParam::Block<Params, LLUICtrl::Params>
{
Optional<LLUIImage*> image_drag_indication;
- Optional<LLButton::Params> chevron_button;
+ Optional<LLTextBox::Params> more_button;
Optional<LLTextBox::Params> label;
Params();
};
@@ -135,7 +135,7 @@ private:
BOOL mShowDragMarker;
LLUICtrl* mLandingTab;
LLUICtrl* mLastTab;
- LLButton* mChevronButton;
+ LLTextBox* mChevronButton;
LLTextBox* mBarLabel;
LLUUID mDragItemId;
diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp
index 9d54ad7463..133168f0ba 100644
--- a/indra/newview/llnavigationbar.cpp
+++ b/indra/newview/llnavigationbar.cpp
@@ -736,151 +736,3 @@ int LLNavigationBar::getDefFavBarHeight()
{
return mDefaultFpRect.getHeight();
}
-
-void LLNavigationBar::showNavigationPanel(BOOL visible)
-{
- bool fpVisible = gSavedSettings.getBOOL("ShowNavbarFavoritesPanel");
-
- LLFavoritesBarCtrl* fb = getChild<LLFavoritesBarCtrl>("favorite");
- LLPanel* navPanel = getChild<LLPanel>("navigation_panel");
-
- LLRect nbRect(getRect());
- LLRect fbRect(fb->getRect());
-
- navPanel->setVisible(visible);
-
- if (visible)
- {
- if (fpVisible)
- {
- // Navigation Panel must be shown. Favorites Panel is visible.
-
- nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), mDefaultNbRect.getHeight());
- fbRect.setLeftTopAndSize(fbRect.mLeft, mDefaultFpRect.mTop, fbRect.getWidth(), fbRect.getHeight());
-
- // this is duplicated in 'else' section because it should be called BEFORE fb->reshape
- reshape(nbRect.getWidth(), nbRect.getHeight());
- setRect(nbRect);
- // propagate size to parent container
- getParent()->reshape(nbRect.getWidth(), nbRect.getHeight());
-
- fb->reshape(fbRect.getWidth(), fbRect.getHeight());
- fb->setRect(fbRect);
- }
- else
- {
- // Navigation Panel must be shown. Favorites Panel is hidden.
-
- S32 height = mDefaultNbRect.getHeight() - mDefaultFpRect.getHeight() - FAVBAR_TOP_PADDING;
- nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), height);
-
- reshape(nbRect.getWidth(), nbRect.getHeight());
- setRect(nbRect);
- getParent()->reshape(nbRect.getWidth(), nbRect.getHeight());
- }
- }
- else
- {
- if (fpVisible)
- {
- // Navigation Panel must be hidden. Favorites Panel is visible.
-
- S32 fpHeight = mDefaultFpRect.getHeight() + FAVBAR_TOP_PADDING;
- S32 fpTop = fpHeight - (mDefaultFpRect.getHeight() / 2) + 1;
-
- nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), fpHeight);
- fbRect.setLeftTopAndSize(fbRect.mLeft, fpTop, fbRect.getWidth(), mDefaultFpRect.getHeight());
-
- // this is duplicated in 'else' section because it should be called BEFORE fb->reshape
- reshape(nbRect.getWidth(), nbRect.getHeight());
- setRect(nbRect);
- getParent()->reshape(nbRect.getWidth(), nbRect.getHeight());
-
- fb->reshape(fbRect.getWidth(), fbRect.getHeight());
- fb->setRect(fbRect);
- }
- else
- {
- // Navigation Panel must be hidden. Favorites Panel is hidden.
-
- nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), 0);
-
- reshape(nbRect.getWidth(), nbRect.getHeight());
- setRect(nbRect);
- getParent()->reshape(nbRect.getWidth(), nbRect.getHeight());
- }
- }
-
- getChildView("bg_icon")->setVisible( visible && fpVisible);
- getChildView("bg_icon_no_fav_bevel")->setVisible( visible && !fpVisible);
- getChildView("bg_icon_no_nav_bevel")->setVisible( !visible && fpVisible);
-}
-
-void LLNavigationBar::showFavoritesPanel(BOOL visible)
-{
- bool npVisible = gSavedSettings.getBOOL("ShowNavbarNavigationPanel");
-
- LLFavoritesBarCtrl* fb = getChild<LLFavoritesBarCtrl>("favorite");
-
- LLRect nbRect(getRect());
- LLRect fbRect(fb->getRect());
-
- if (visible)
- {
- if (npVisible)
- {
- // Favorites Panel must be shown. Navigation Panel is visible.
-
- S32 fbHeight = fbRect.getHeight();
- S32 newHeight = nbRect.getHeight() + fbHeight + FAVBAR_TOP_PADDING;
-
- nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), newHeight);
- fbRect.setLeftTopAndSize(mDefaultFpRect.mLeft, mDefaultFpRect.mTop, fbRect.getWidth(), fbRect.getHeight());
- }
- else
- {
- // Favorites Panel must be shown. Navigation Panel is hidden.
-
- S32 fpHeight = mDefaultFpRect.getHeight() + FAVBAR_TOP_PADDING;
- S32 fpTop = fpHeight - (mDefaultFpRect.getHeight() / 2) + 1;
-
- nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), fpHeight);
- fbRect.setLeftTopAndSize(fbRect.mLeft, fpTop, fbRect.getWidth(), mDefaultFpRect.getHeight());
- }
-
- reshape(nbRect.getWidth(), nbRect.getHeight());
- setRect(nbRect);
- getParent()->reshape(nbRect.getWidth(), nbRect.getHeight());
-
- fb->reshape(fbRect.getWidth(), fbRect.getHeight());
- fb->setRect(fbRect);
- }
- else
- {
- if (npVisible)
- {
- // Favorites Panel must be hidden. Navigation Panel is visible.
-
- S32 fbHeight = fbRect.getHeight();
- S32 newHeight = nbRect.getHeight() - fbHeight - FAVBAR_TOP_PADDING;
-
- nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), newHeight);
- }
- else
- {
- // Favorites Panel must be hidden. Navigation Panel is hidden.
-
- nbRect.setLeftTopAndSize(nbRect.mLeft, nbRect.mTop, nbRect.getWidth(), 0);
- }
-
- reshape(nbRect.getWidth(), nbRect.getHeight());
- setRect(nbRect);
- getParent()->reshape(nbRect.getWidth(), nbRect.getHeight());
- }
-
- getChildView("bg_icon")->setVisible( npVisible && visible);
- getChildView("bg_icon_no_fav_bevel")->setVisible( npVisible && !visible);
- getChildView("bg_icon_no_nav_bevel")->setVisible( !npVisible && visible);
-
- fb->setVisible(visible);
-}
diff --git a/indra/newview/llnavigationbar.h b/indra/newview/llnavigationbar.h
index 3c9f8a762d..f200253de5 100644
--- a/indra/newview/llnavigationbar.h
+++ b/indra/newview/llnavigationbar.h
@@ -98,9 +98,6 @@ public:
void handleLoginComplete();
void clearHistoryCache();
- void showNavigationPanel(BOOL visible);
- void showFavoritesPanel(BOOL visible);
-
int getDefNavBarHeight();
int getDefFavBarHeight();
diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp
index b87ca1eaec..cd522c9121 100644
--- a/indra/newview/llviewercontrol.cpp
+++ b/indra/newview/llviewercontrol.cpp
@@ -538,18 +538,12 @@ bool toggle_show_navigation_panel(const LLSD& newvalue)
{
bool value = newvalue.asBoolean();
- LLNavigationBar::getInstance()->showNavigationPanel(value);
+ LLNavigationBar::getInstance()->setVisible(value);
gSavedSettings.setBOOL("ShowMiniLocationPanel", !value);
return true;
}
-bool toggle_show_favorites_panel(const LLSD& newvalue)
-{
- LLNavigationBar::getInstance()->showFavoritesPanel(newvalue.asBoolean());
- return true;
-}
-
bool toggle_show_mini_location_panel(const LLSD& newvalue)
{
bool value = newvalue.asBoolean();
@@ -732,7 +726,6 @@ void settings_setup_listeners()
gSavedSettings.getControl("UseDebugMenus")->getSignal()->connect(boost::bind(&show_debug_menus));
gSavedSettings.getControl("AgentPause")->getSignal()->connect(boost::bind(&toggle_agent_pause, _2));
gSavedSettings.getControl("ShowNavbarNavigationPanel")->getSignal()->connect(boost::bind(&toggle_show_navigation_panel, _2));
- gSavedSettings.getControl("ShowNavbarFavoritesPanel")->getSignal()->connect(boost::bind(&toggle_show_favorites_panel, _2));
gSavedSettings.getControl("ShowMiniLocationPanel")->getSignal()->connect(boost::bind(&toggle_show_mini_location_panel, _2));
gSavedSettings.getControl("ShowObjectRenderingCost")->getSignal()->connect(boost::bind(&toggle_show_object_render_cost, _2));
gSavedSettings.getControl("UpdaterServiceSetting")->getSignal()->connect(boost::bind(&toggle_updater_service_active, _2));
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 5893259d96..3665ed4b5b 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -1885,12 +1885,7 @@ void LLViewerWindow::initWorldUI()
if (!gSavedSettings.getBOOL("ShowNavbarNavigationPanel"))
{
- navbar->showNavigationPanel(FALSE);
- }
-
- if (!gSavedSettings.getBOOL("ShowNavbarFavoritesPanel"))
- {
- navbar->showFavoritesPanel(FALSE);
+ navbar->setVisible(FALSE);
}
// Top Info bar
@@ -2196,7 +2191,9 @@ void LLViewerWindow::setNormalControlsVisible( BOOL visible )
LLNavigationBar* navbarp = LLUI::getRootView()->findChild<LLNavigationBar>("navigation_bar");
if (navbarp)
{
- navbarp->setVisible( visible );
+ // when it's time to show navigation bar we need to ensure that the user wants to see it
+ // i.e. ShowNavbarNavigationPanel option is true
+ navbarp->setVisible( visible && gSavedSettings.getBOOL("ShowNavbarNavigationPanel") );
}
}
diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml
index a7d1aa963c..688349aa16 100644
--- a/indra/newview/skins/default/xui/en/main_view.xml
+++ b/indra/newview/skins/default/xui/en/main_view.xml
@@ -16,7 +16,7 @@
orientation="vertical"
top="19">
<layout_panel auto_resize="false"
- height="60"
+ height="34"
mouse_opaque="false"
name="nav_bar_container"
tab_stop="false"
diff --git a/indra/newview/skins/default/xui/en/menu_hide_navbar.xml b/indra/newview/skins/default/xui/en/menu_hide_navbar.xml
index 3f38d734b9..b517fd7957 100644
--- a/indra/newview/skins/default/xui/en/menu_hide_navbar.xml
+++ b/indra/newview/skins/default/xui/en/menu_hide_navbar.xml
@@ -9,7 +9,7 @@
visible="false"
width="128">
<menu_item_check
- label="Show Navigation Bar"
+ label="Show Navigation &amp; Favorites Bar"
layout="topleft"
name="ShowNavbarNavigationPanel">
<on_click
@@ -20,17 +20,6 @@
parameter="ShowNavbarNavigationPanel" />
</menu_item_check>
<menu_item_check
- label="Show Favorites Bar"
- layout="topleft"
- name="ShowNavbarFavoritesPanel">
- <on_click
- function="ToggleControl"
- parameter="ShowNavbarFavoritesPanel" />
- <on_check
- function="CheckControl"
- parameter="ShowNavbarFavoritesPanel" />
- </menu_item_check>
- <menu_item_check
label="Show Mini-Location Bar"
layout="topleft"
name="ShowMiniLocationPanel">
diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
index 9749b6fdd4..9aa2da5abd 100644
--- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
@@ -5,7 +5,7 @@
bg_opaque_color="MouseGray"
follows="left|top|right"
focus_root="true"
- height="60"
+ height="34"
layout="topleft"
name="navigation_bar"
chrome="true"
@@ -16,10 +16,10 @@
mouse_opaque="false"
name="bg_icon"
scale_image="true"
- visible="true"
+ visible="false"
left="0"
top="0"
- height="60"
+ height="34"
width="600"/>
<icon
follows="all"
@@ -30,7 +30,7 @@
visible="false"
left="0"
top="0"
- height="60"
+ height="34"
width="600"/>
<icon
follows="all"
@@ -41,145 +41,176 @@
visible="false"
left="0"
top="0"
- height="60"
+ height="34"
width="600"/>
- <panel
- background_visible="false"
- follows="left|top|right"
- top="3"
- height="23"
- layout="topleft"
- name="navigation_panel"
- width="600">
- <pull_button
- follows="left|top"
- direction="down"
- height="23"
- image_overlay="Arrow_Left_Off"
- image_bottom_pad="1"
- layout="topleft"
- left="10"
- name="back_btn"
- tool_tip="Go back to previous location"
- top="2"
- width="31" />
- <pull_button
- follows="left|top"
- direction="down"
- height="23"
- image_overlay="Arrow_Right_Off"
- image_bottom_pad="1"
- layout="topleft"
- left_pad="0"
- name="forward_btn"
- tool_tip="Go forward one location"
- top_delta="0"
- width="31" />
- <button
- follows="left|top"
- height="23"
- image_bottom_pad="1"
- image_overlay="Home_Off"
- layout="topleft"
- left_pad="7"
- name="home_btn"
- tool_tip="Teleport to my home location"
- top_delta="0"
- width="32" />
- <location_input
- follows="left|right|top"
- halign="right"
- height="23"
- label="Location"
- layout="topleft"
- left_pad="7"
- max_chars="254"
- mouse_opaque="false"
- name="location_combo"
- top_delta="0"
- width="226">
- <combo_list
- mouse_wheel_opaque="true"/>
- <!-- *TODO: Delete. Let the location_input use the correct art sizes.
- <location_input.add_landmark_button
- height="18"
- name="location_combo_add"
- width="20" />
- <location_input.info_button
- height="18"
- name="location_combo_info"
- width="20" />
- -->
- </location_input>
- <!-- <button -->
- <!-- follows="right|top" -->
- <!-- height="20" -->
- <!-- image_disabled="TextField_Search_Off" -->
- <!-- image_disabled_selected="TextField_Search_Off" -->
- <!-- image_hover_selected="TextField_Search_Off" -->
- <!-- image_hover_unselected="TextField_Search_Off" -->
- <!-- image_selected="TextField_Search_Off" -->
- <!-- image_unselected="TextField_Search_Off" -->
- <!-- layout="topleft" -->
- <!-- left_pad="5" -->
- <!-- mouse_opaque="false" -->
- <!-- name="search_bg" -->
- <!-- top_delta="0" -->
- <!-- width="168" /> -->
- <search_combo_box
- follows="right|top"
- halign="right"
- height="23"
- label="Search"
- layout="topleft"
- right="-10"
- mouse_opaque="false"
- name="search_combo_box"
- tool_tip="Search"
- top_delta="0"
- width="244" >
- <combo_editor
- label="Search [SECOND_LIFE]"
- name="search_combo_editor"/>
- <combo_list
- draw_border="true"
- border.highlight_light_color="FocusColor"
- border.highlight_dark_color="FocusColor"
- border.shadow_light_color="FocusColor"
- border.shadow_dark_color="FocusColor"/>
- </search_combo_box>
- </panel>
- <favorites_bar
- follows="left|right|top"
- font="SansSerifSmall"
- height="15"
- layout="topleft"
- left="0"
- name="favorite"
- image_drag_indication="Accordion_ArrowOpened_Off"
- bottom="55"
- tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!"
- width="590">
- <label
- follows="left|top"
- height="15"
- layout="topleft"
- left="10"
- name="favorites_bar_label"
- text_color="LtGray"
- tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!"
- top="12"
- width="102">
- Favorites Bar
- </label>
- <chevron_button name=">>"
- image_unselected="TabIcon_Close_Off"
- image_selected="TabIcon_Close_Off"
- tab_stop="false"
- follows="left|bottom"
- tool_tip="Show more of My Favorites"
- width="15"
- top="15"
- height="15"/>
- </favorites_bar>
+ <layout_stack
+ use_border="true"
+ bevel_style="none"
+ follows="all"
+ height="34"
+ layout="topleft"
+ left="0"
+ mouse_opaque="false"
+ name="nvp_stack"
+ orientation="horizontal"
+ top="0"
+ width="600">
+ <layout_panel
+ follows="top|left"
+ layout="topleft"
+ auto_resize="true"
+ user_resize="true"
+ min_width="400"
+ name="navigation_layout_panel"
+ width="400">
+ <panel
+ background_visible="false"
+ follows="left|top|right"
+ top="3"
+ height="23"
+ layout="topleft"
+ left="0"
+ name="navigation_panel"
+ width="400">
+ <pull_button
+ follows="left|top"
+ direction="down"
+ height="23"
+ image_overlay="Arrow_Left_Off"
+ image_bottom_pad="1"
+ layout="topleft"
+ left="10"
+ name="back_btn"
+ tool_tip="Go back to previous location"
+ top="2"
+ width="31" />
+ <pull_button
+ follows="left|top"
+ direction="down"
+ height="23"
+ image_overlay="Arrow_Right_Off"
+ image_bottom_pad="1"
+ layout="topleft"
+ left_pad="0"
+ name="forward_btn"
+ tool_tip="Go forward one location"
+ top_delta="0"
+ width="31" />
+ <button
+ follows="left|top"
+ height="23"
+ image_bottom_pad="1"
+ image_overlay="Home_Off"
+ layout="topleft"
+ left_pad="7"
+ name="home_btn"
+ tool_tip="Teleport to my home location"
+ top_delta="0"
+ width="32"/>
+ <location_input
+ follows="all"
+ halign="right"
+ height="23"
+ label="Location"
+ layout="topleft"
+ left_pad="7"
+ max_chars="254"
+ mouse_opaque="false"
+ name="location_combo"
+ top_delta="0"
+ width="113">
+ <combo_list
+ mouse_wheel_opaque="true"/>
+ </location_input>
+ <search_combo_box
+ follows="top|right"
+ halign="right"
+ height="23"
+ label="Search"
+ layout="topleft"
+ left_pad="7"
+ mouse_opaque="false"
+ name="search_combo_box"
+ tool_tip="Search"
+ top_delta="0"
+ width="152" >
+ <combo_editor
+ label="Search [SECOND_LIFE]"
+ name="search_combo_editor"/>
+ <combo_list
+ draw_border="true"
+ border.highlight_light_color="FocusColor"
+ border.highlight_dark_color="FocusColor"
+ border.shadow_light_color="FocusColor"
+ border.shadow_dark_color="FocusColor"
+ mouse_wheel_opaque="true"/>
+ </search_combo_box>
+ </panel>
+ </layout_panel>
+
+ <layout_panel
+ auto_resize="false"
+ layout="topleft"
+ max_width="5"
+ min_width="5"
+ name="nav_bar_resize_handle_panel"
+ user_resize="false"
+ width="5">
+ <icon
+ follows="top|right"
+ height="25"
+ image_name="ChatBarHandle"
+ layout="topleft"
+ left="-6"
+ name="resize_handle"
+ top="4"
+ width="5" />
+ </layout_panel>
+
+ <layout_panel
+ follows="top|left"
+ layout="topleft"
+ auto_resize="true"
+ user_resize="true"
+ min_width="190"
+ name="favorites_layout_panel"
+ width="190">
+ <favorites_bar
+ follows="left|right|top"
+ font="SansSerifSmall"
+ height="20"
+ layout="topleft"
+ left="0"
+ name="favorite"
+ image_drag_indication="Accordion_ArrowOpened_Off"
+ tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!"
+ width="190">
+ <label
+ follows="left|top"
+ height="15"
+ layout="topleft"
+ left="10"
+ name="favorites_bar_label"
+ text_color="LtGray"
+ tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!"
+ top="12"
+ width="102">
+ Favorites Bar
+ </label>
+ <!-- More button actually is a text box. -->
+ <more_button
+ follows="left|bottom"
+ font.name="SansSerifSmall"
+ font.style="UNDERLINE"
+ name=">>"
+ tab_stop="false"
+ tool_tip="Show more of My Favorites"
+ top="15"
+ width="50">
+ More...
+ </more_button>
+ </favorites_bar>
+ </layout_panel>
+
+ </layout_stack>
</panel>