void LLLandmarksPanel::initLandmarksPanel(LLPlacesInventoryPanel* inventory_list) { // In case of a dummy widget further we have no Folder View widget and no Filter, // so further initialization leads to crash. if (!inventory_list->getFilter()) return; inventory_list->getFilter()->setEmptyLookupMessage("PlacesNoMatchingItems"); inventory_list->setFilterTypes(0x1 << LLInventoryType::IT_LANDMARK); inventory_list->setSelectCallback(boost::bind(&LLLandmarksPanel::onSelectionChange, this, inventory_list, _1, _2)); inventory_list->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS); bool sorting_order = gSavedSettings.getBOOL("LandmarksSortedByDate"); updateSortOrder(inventory_list, sorting_order); LLPlacesFolderView* root_folder = dynamic_cast<LLPlacesFolderView*>(inventory_list->getRootFolder()); if (root_folder) { root_folder->setupMenuHandle(LLInventoryType::IT_CATEGORY, mGearFolderMenu->getHandle()); root_folder->setupMenuHandle(LLInventoryType::IT_LANDMARK, mGearLandmarkMenu->getHandle()); root_folder->setParentLandmarksPanel(this); } inventory_list->saveFolderState(); }
void LLLandmarksPanel::onFoldingAction(const LLSD& userdata) { std::string command_name = userdata.asString(); if ("expand_all" == command_name) { expand_all_folders(mFavoritesInventoryPanel->getRootFolder()); expand_all_folders(mLandmarksInventoryPanel->getRootFolder()); expand_all_folders(mMyInventoryPanel->getRootFolder()); expand_all_folders(mLibraryInventoryPanel->getRootFolder()); for (accordion_tabs_t::const_iterator iter = mAccordionTabs.begin(); iter != mAccordionTabs.end(); ++iter) { (*iter)->changeOpenClose(false); } } else if ("collapse_all" == command_name) { collapse_all_folders(mFavoritesInventoryPanel->getRootFolder()); collapse_all_folders(mLandmarksInventoryPanel->getRootFolder()); collapse_all_folders(mMyInventoryPanel->getRootFolder()); collapse_all_folders(mLibraryInventoryPanel->getRootFolder()); for (accordion_tabs_t::const_iterator iter = mAccordionTabs.begin(); iter != mAccordionTabs.end(); ++iter) { (*iter)->changeOpenClose(true); } } else if ("sort_by_date" == command_name) { bool sorting_order = gSavedSettings.getBOOL("LandmarksSortedByDate"); sorting_order=!sorting_order; gSavedSettings.setBOOL("LandmarksSortedByDate",sorting_order); updateSortOrder(mLandmarksInventoryPanel, sorting_order); updateSortOrder(mMyInventoryPanel, sorting_order); updateSortOrder(mLibraryInventoryPanel, sorting_order); } else { if(mCurrentSelectedList) { mCurrentSelectedList->doToSelected(userdata); } } }