SL-14901 Add a button on the Landmarks bar to open the Places floater
parent
8f717b988a
commit
2d4a894b70
|
|
@ -847,7 +847,7 @@ void LLFavoritesBarCtrl::updateButtons(bool force_update)
|
|||
int j = first_changed_item_index;
|
||||
for (; j < mItems.size(); j++)
|
||||
{
|
||||
last_new_button = createButton(mItems[j], button_params, last_right_edge);
|
||||
last_new_button = createButton(mItems[j], button_params, j == 0? last_right_edge + 4 : last_right_edge);
|
||||
if (!last_new_button)
|
||||
{
|
||||
break;
|
||||
|
|
|
|||
|
|
@ -58,6 +58,7 @@
|
|||
#include "llweb.h"
|
||||
#include "llhints.h"
|
||||
|
||||
#include "llfloatersidepanelcontainer.h"
|
||||
#include "llinventorymodel.h"
|
||||
#include "lllandmarkactions.h"
|
||||
|
||||
|
|
@ -290,6 +291,7 @@ BOOL LLNavigationBar::postBuild()
|
|||
mBtnBack = getChild<LLPullButton>("back_btn");
|
||||
mBtnForward = getChild<LLPullButton>("forward_btn");
|
||||
mBtnHome = getChild<LLButton>("home_btn");
|
||||
mBtnLandmarks = getChild<LLButton>("landmarks_btn");
|
||||
|
||||
mCmbLocation= getChild<LLLocationInputCtrl>("location_combo");
|
||||
|
||||
|
|
@ -305,6 +307,8 @@ BOOL LLNavigationBar::postBuild()
|
|||
|
||||
mBtnHome->setClickedCallback(boost::bind(&LLNavigationBar::onHomeButtonClicked, this));
|
||||
|
||||
mBtnLandmarks->setClickedCallback(boost::bind(&LLNavigationBar::onLandmarksButtonClicked, this));
|
||||
|
||||
mCmbLocation->setCommitCallback(boost::bind(&LLNavigationBar::onLocationSelection, this));
|
||||
|
||||
mTeleportFinishConnection = LLViewerParcelMgr::getInstance()->
|
||||
|
|
@ -401,6 +405,12 @@ void LLNavigationBar::onHomeButtonClicked()
|
|||
gAgent.teleportHome();
|
||||
}
|
||||
|
||||
void LLNavigationBar::onLandmarksButtonClicked()
|
||||
{
|
||||
LLFloaterReg::toggleInstanceOrBringToFront("places");
|
||||
LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "open_landmark_tab"));
|
||||
}
|
||||
|
||||
void LLNavigationBar::onTeleportHistoryMenuItemClicked(const LLSD& userdata)
|
||||
{
|
||||
int idx = userdata.asInteger();
|
||||
|
|
|
|||
|
|
@ -119,6 +119,7 @@ private:
|
|||
void onNavigationButtonHeldUp(LLButton* nav_button);
|
||||
void onForwardButtonClicked();
|
||||
void onHomeButtonClicked();
|
||||
void onLandmarksButtonClicked();
|
||||
void onLocationSelection();
|
||||
void onLocationPrearrange(const LLSD& data);
|
||||
void onTeleportFinished(const LLVector3d& global_agent_pos);
|
||||
|
|
@ -144,6 +145,7 @@ private:
|
|||
LLPullButton* mBtnBack;
|
||||
LLPullButton* mBtnForward;
|
||||
LLButton* mBtnHome;
|
||||
LLButton* mBtnLandmarks;
|
||||
LLLocationInputCtrl* mCmbLocation;
|
||||
LLRect mDefaultNbRect;
|
||||
LLRect mDefaultFpRect;
|
||||
|
|
|
|||
|
|
@ -65,6 +65,7 @@ static const std::string ADD_BUTTON_NAME = "add_btn";
|
|||
static const std::string ADD_FOLDER_BUTTON_NAME = "add_folder_btn";
|
||||
static const std::string TRASH_BUTTON_NAME = "trash_btn";
|
||||
|
||||
static const std::string TAB_FAVORITES = "tab_favorites";
|
||||
|
||||
// helper functions
|
||||
static void filter_list(LLPlacesInventoryPanel* inventory_list, const std::string& string);
|
||||
|
|
@ -383,7 +384,7 @@ void LLLandmarksPanel::updateShowFolderState()
|
|||
|
||||
void LLLandmarksPanel::setItemSelected(const LLUUID& obj_id, BOOL take_keyboard_focus)
|
||||
{
|
||||
if (selectItemInAccordionTab(mFavoritesInventoryPanel, "tab_favorites", obj_id, take_keyboard_focus))
|
||||
if (selectItemInAccordionTab(mFavoritesInventoryPanel, TAB_FAVORITES, obj_id, take_keyboard_focus))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -506,6 +507,12 @@ void LLLandmarksPanel::updateSortOrder(LLInventoryPanel* panel, bool byDate)
|
|||
}
|
||||
}
|
||||
|
||||
void LLLandmarksPanel::resetSelection()
|
||||
{
|
||||
getChild<LLAccordionCtrlTab>(TAB_FAVORITES)->setDisplayChildren(true);
|
||||
getChild<LLAccordionCtrlTab>(TAB_FAVORITES)->showAndFocusHeader();
|
||||
}
|
||||
|
||||
// virtual
|
||||
void LLLandmarksPanel::processParcelInfo(const LLParcelData& parcel_data)
|
||||
{
|
||||
|
|
@ -550,7 +557,7 @@ void LLLandmarksPanel::initFavoritesInventoryPanel()
|
|||
initLandmarksPanel(mFavoritesInventoryPanel);
|
||||
mFavoritesInventoryPanel->getFilter().setEmptyLookupMessage("FavoritesNoMatchingItems");
|
||||
|
||||
initAccordion("tab_favorites", mFavoritesInventoryPanel, true);
|
||||
initAccordion(TAB_FAVORITES, mFavoritesInventoryPanel, true);
|
||||
}
|
||||
|
||||
void LLLandmarksPanel::initLandmarksInventoryPanel()
|
||||
|
|
|
|||
|
|
@ -82,6 +82,8 @@ public:
|
|||
|
||||
void updateMenuVisibility(LLUICtrl* menu);
|
||||
|
||||
void resetSelection();
|
||||
|
||||
protected:
|
||||
/**
|
||||
* @return true - if current selected panel is not null and selected item is a landmark
|
||||
|
|
@ -105,6 +107,7 @@ protected:
|
|||
|
||||
void updateSortOrder(LLInventoryPanel* panel, bool byDate);
|
||||
|
||||
|
||||
//LLRemoteParcelInfoObserver interface
|
||||
/*virtual*/ void processParcelInfo(const LLParcelData& parcel_data);
|
||||
/*virtual*/ void setParcelID(const LLUUID& parcel_id);
|
||||
|
|
|
|||
|
|
@ -1056,6 +1056,10 @@ void LLPanelPlaces::togglePlaceInfoPanel(BOOL visible)
|
|||
{
|
||||
landmarks_panel->setItemSelected(mItem->getUUID(), TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
landmarks_panel->resetSelection();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@
|
|||
layout="topleft"
|
||||
auto_resize="true"
|
||||
user_resize="true"
|
||||
min_width="185"
|
||||
min_width="237"
|
||||
name="favorites_layout_panel"
|
||||
width="320">
|
||||
<icon
|
||||
|
|
@ -163,18 +163,32 @@
|
|||
name="resize_handle"
|
||||
top="4"
|
||||
width="5" />
|
||||
|
||||
<button
|
||||
height="16"
|
||||
width="16"
|
||||
layout="topleft"
|
||||
mouse_opaque="true"
|
||||
follows="left|top"
|
||||
name="landmarks_btn"
|
||||
tool_tip="My Landmarks"
|
||||
top="9"
|
||||
left_pad="10"
|
||||
image_selected="Icon_Gear"
|
||||
image_pressed="Icon_Gear"
|
||||
image_unselected="Icon_Gear"
|
||||
is_toggle="true">
|
||||
</button>
|
||||
<favorites_bar
|
||||
follows="left|right|top"
|
||||
font="SansSerifSmall"
|
||||
height="20"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
left_pad="0"
|
||||
top="4"
|
||||
name="favorite"
|
||||
image_drag_indication="Accordion_ArrowOpened_Off"
|
||||
tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!"
|
||||
width="320">
|
||||
width="268">
|
||||
<label
|
||||
follows="left|top"
|
||||
height="13"
|
||||
|
|
@ -185,8 +199,8 @@
|
|||
tool_tip="Drag Landmarks here for quick access to your favorite places in Second Life!"
|
||||
top="13"
|
||||
valign="bottom"
|
||||
width="102">
|
||||
Favorites Bar
|
||||
width="205">
|
||||
Your saved locations will appear here.
|
||||
</label>
|
||||
<!-- More button actually is a text box. -->
|
||||
<more_button
|
||||
|
|
|
|||
Loading…
Reference in New Issue