LLTeleportHistoryFlatItem* LLTeleportHistoryFlatItemStorage::getFlatItemForPersistentItem ( LLTeleportHistoryPanel::ContextMenu *context_menu, const LLTeleportHistoryPersistentItem& persistent_item, const S32 cur_item_index, const std::string &hl) { // <FS:Ansariel> Extended TP history LLVector3 local_pos((F32)fmod(persistent_item.mGlobalPos.mdV[VX], (F64)REGION_WIDTH_METERS), (F32)fmod(persistent_item.mGlobalPos.mdV[VY], (F64)REGION_WIDTH_METERS), (F32)persistent_item.mGlobalPos.mdV[VZ]); // </FS:Ansariel> LLTeleportHistoryFlatItem* item = NULL; if ( cur_item_index < (S32) mItems.size() ) { item = mItems[cur_item_index].get(); if (item->getParent() == NULL) { item->setIndex(cur_item_index); item->setRegionName(persistent_item.mTitle); item->setDate(persistent_item.mDate); // <FS:Ansariel> Extended TP history item->setLocalPos(local_pos); // </FS:Ansariel> item->setHighlightedText(hl); item->setVisible(TRUE); item->updateTitle(); item->updateTimestamp(); } else { // Item already added to parent item = NULL; } } if ( !item ) { item = new LLTeleportHistoryFlatItem(cur_item_index, context_menu, persistent_item.mTitle, persistent_item.mDate, // <FS:Ansariel> Extended TP history local_pos, // </FS:Ansariel> hl); mItems.push_back(item->getItemHandle()); } return item; }
LLTeleportHistoryFlatItem* LLTeleportHistoryFlatItemStorage::getFlatItemForPersistentItem ( LLTeleportHistoryPanel::ContextMenu *context_menu, const LLTeleportHistoryPersistentItem& persistent_item, const S32 cur_item_index, const std::string &hl) { LLTeleportHistoryFlatItem* item = NULL; if ( cur_item_index < (S32) mItems.size() ) { item = mItems[cur_item_index].get(); if (item->getParent() == NULL) { item->setIndex(cur_item_index); item->setRegionName(persistent_item.mTitle); item->setHighlightedText(hl); item->setVisible(TRUE); item->updateTitle(); } else { // Item already added to parent item = NULL; } } if ( !item ) { item = new LLTeleportHistoryFlatItem(cur_item_index, context_menu, persistent_item.mTitle, hl); mItems.push_back(item->getItemHandle()); } return item; }