EXP-1203 FIXED (As a FUI user, I want the address bar and favorites to be on one line)

- Relocated address bar, combined with favorite landmarks EXP-1208
- Added dragger to change amount of space allocated to address bar and favorites bar EXP-1217
- Modified Favorites ->> More spillover EXP-1218
- Combined context menu menuitems for favorites & address bars  EXP-1219
master
Paul ProductEngine 2011-09-19 19:13:39 +03:00
parent 1c57963673
commit 5baf0de6a3
9 changed files with 188 additions and 329 deletions

View File

@ -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);

View File

@ -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;

View File

@ -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);
}

View File

@ -98,9 +98,6 @@ public:
void handleLoginComplete();
void clearHistoryCache();
void showNavigationPanel(BOOL visible);
void showFavoritesPanel(BOOL visible);
int getDefNavBarHeight();
int getDefFavBarHeight();

View File

@ -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));

View File

@ -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") );
}
}

View File

@ -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"

View File

@ -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
@ -19,17 +19,6 @@
function="CheckControl"
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"

View File

@ -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>