fixed showstopper EXT-6289 (Clicking the plus button in the Places side panel only lets you add landmarks not folders)
- PLUS button works as GEAR button and PLUS button on inventory panel (show context menu on click) - "Add a folder" menu item is always enabled (except for received folder) - clicking "Add a folder" menu item creates a folder in My Landmarks tab no matter what has been selected in the Places panel before Reviewed by Mike at https://codereview.productengine.com/secondlife/r/10/ --HG-- branch : product-enginemeow-7.2.2
parent
163077bd98
commit
d21980df98
|
|
@ -656,9 +656,6 @@ void LLLandmarksPanel::initListCommandsHandlers()
|
|||
|
||||
mListCommands->childSetAction(OPTIONS_BUTTON_NAME, boost::bind(&LLLandmarksPanel::onActionsButtonClick, this));
|
||||
mListCommands->childSetAction(TRASH_BUTTON_NAME, boost::bind(&LLLandmarksPanel::onTrashButtonClick, this));
|
||||
mListCommands->getChild<LLButton>(ADD_BUTTON_NAME)->setHeldDownCallback(boost::bind(&LLLandmarksPanel::onAddButtonHeldDown, this));
|
||||
static const LLSD add_landmark_command("add_landmark");
|
||||
mListCommands->childSetAction(ADD_BUTTON_NAME, boost::bind(&LLLandmarksPanel::onAddAction, this, add_landmark_command));
|
||||
|
||||
LLDragAndDropButton* trash_btn = mListCommands->getChild<LLDragAndDropButton>(TRASH_BUTTON_NAME);
|
||||
trash_btn->setDragAndDropHandler(boost::bind(&LLLandmarksPanel::handleDragAndDropToTrash, this
|
||||
|
|
@ -676,6 +673,8 @@ void LLLandmarksPanel::initListCommandsHandlers()
|
|||
mGearLandmarkMenu = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_places_gear_landmark.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance());
|
||||
mGearFolderMenu = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_places_gear_folder.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance());
|
||||
mMenuAdd = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_place_add_button.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance());
|
||||
|
||||
mListCommands->childSetAction(ADD_BUTTON_NAME, boost::bind(&LLLandmarksPanel::showActionMenu, this, mMenuAdd, ADD_BUTTON_NAME));
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -713,11 +712,6 @@ void LLLandmarksPanel::onActionsButtonClick()
|
|||
showActionMenu(menu,OPTIONS_BUTTON_NAME);
|
||||
}
|
||||
|
||||
void LLLandmarksPanel::onAddButtonHeldDown()
|
||||
{
|
||||
showActionMenu(mMenuAdd,ADD_BUTTON_NAME);
|
||||
}
|
||||
|
||||
void LLLandmarksPanel::showActionMenu(LLMenuGL* menu, std::string spawning_view_name)
|
||||
{
|
||||
if (menu)
|
||||
|
|
@ -777,6 +771,12 @@ void LLLandmarksPanel::onAddAction(const LLSD& userdata) const
|
|||
"category"), gInventory.findCategoryUUIDForType(
|
||||
LLFolderType::FT_LANDMARK));
|
||||
}
|
||||
else
|
||||
{
|
||||
//in case My Landmarks tab is completely empty (thus cannot be determined as being selected)
|
||||
menu_create_inventory_item(mLandmarksInventoryPanel->getRootFolder(), NULL, LLSD("category"),
|
||||
gInventory.findCategoryUUIDForType(LLFolderType::FT_LANDMARK));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -917,7 +917,7 @@ bool LLLandmarksPanel::isActionEnabled(const LLSD& userdata) const
|
|||
return false;
|
||||
}
|
||||
}
|
||||
else if (!root_folder_view)
|
||||
else if (!root_folder_view && "category" != command_name)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
|
@ -953,7 +953,8 @@ bool LLLandmarksPanel::isActionEnabled(const LLSD& userdata) const
|
|||
// ... but except Received folder
|
||||
return !isReceivedFolderSelected();
|
||||
}
|
||||
else return false;
|
||||
//"Add a folder" is enabled by default (case when My Landmarks is empty)
|
||||
else return true;
|
||||
}
|
||||
else if("create_pick" == command_name)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -121,7 +121,6 @@ private:
|
|||
void updateListCommands();
|
||||
void onActionsButtonClick();
|
||||
void showActionMenu(LLMenuGL* menu, std::string spawning_view_name);
|
||||
void onAddButtonHeldDown();
|
||||
void onTrashButtonClick() const;
|
||||
void onAddAction(const LLSD& command_name) const;
|
||||
void onClipboardAction(const LLSD& command_name) const;
|
||||
|
|
|
|||
Loading…
Reference in New Issue