diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index e271ff5e42..8d3900ce48 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -19880,9 +19880,31 @@ Change of this parameter will affect the layout of buttons in notification toast Type Boolean Value - 0 + 0 Backup 0 + FSTeleportHistoryShowPosition + + Comment + Shows the local position within a region in the teleport history. + Persist + 1 + Type + Boolean + Value + 0 + + FSTeleportHistoryShowDate + + Comment + Shows the exact date and time in the teleport history. + Persist + 1 + Type + Boolean + Value + 0 + diff --git a/indra/newview/llpanelteleporthistory.cpp b/indra/newview/llpanelteleporthistory.cpp index 0c5d4605d8..f021f28f1e 100644 --- a/indra/newview/llpanelteleporthistory.cpp +++ b/indra/newview/llpanelteleporthistory.cpp @@ -57,7 +57,10 @@ static const std::string COLLAPSED_BY_USER = "collapsed_by_user"; class LLTeleportHistoryFlatItem : public LLPanel { public: - LLTeleportHistoryFlatItem(S32 index, LLTeleportHistoryPanel::ContextMenu *context_menu, const std::string ®ion_name, const std::string &hl); + // Extended TP history + //LLTeleportHistoryFlatItem(S32 index, LLTeleportHistoryPanel::ContextMenu *context_menu, const std::string ®ion_name, const std::string &hl); + LLTeleportHistoryFlatItem(S32 index, LLTeleportHistoryPanel::ContextMenu *context_menu, const std::string ®ion_name, const LLDate& date, const LLVector3& local_pos, const std::string &hl); + // virtual ~LLTeleportHistoryFlatItem(); virtual BOOL postBuild(); @@ -71,6 +74,11 @@ public: void setHighlightedText(const std::string& text); void updateTitle(); + // Extended TP history + void setDate(const LLDate& date); + void setLocalPos(const LLVector3& local_pos); + // + /*virtual*/ void setValue(const LLSD& value); void onMouseEnter(S32 x, S32 y, MASK mask); @@ -93,6 +101,14 @@ private: std::string mRegionName; std::string mHighlight; LLRootHandle mItemHandle; + + // Extended TP history + LLVector3 mLocalPos; + LLDate mDate; + + LLTextBox* mDateBox; + LLTextBox* mLocalPosBox; + // }; //////////////////////////////////////////////////////////////////////////////// @@ -123,11 +139,18 @@ private: //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// -LLTeleportHistoryFlatItem::LLTeleportHistoryFlatItem(S32 index, LLTeleportHistoryPanel::ContextMenu *context_menu, const std::string ®ion_name, const std::string &hl) +// Extended TP history +//LLTeleportHistoryFlatItem::LLTeleportHistoryFlatItem(S32 index, LLTeleportHistoryPanel::ContextMenu *context_menu, const std::string ®ion_name, const std::string &hl) +LLTeleportHistoryFlatItem::LLTeleportHistoryFlatItem(S32 index, LLTeleportHistoryPanel::ContextMenu *context_menu, const std::string ®ion_name, const LLDate& date, const LLVector3& local_pos, const std::string &hl) +// : LLPanel(), mIndex(index), mContextMenu(context_menu), mRegionName(region_name), + // Extended TP history + mDate(date), + mLocalPos(local_pos), + // mHighlight(hl) { buildFromFile( "panel_teleport_history_item.xml"); @@ -142,6 +165,11 @@ BOOL LLTeleportHistoryFlatItem::postBuild() { mTitle = getChild("region"); + // Extended TP history + mDateBox = getChild("date"); + mLocalPosBox = getChild("position"); + // + mProfileBtn = getChild("profile_btn"); mProfileBtn->setClickedCallback(boost::bind(&LLTeleportHistoryFlatItem::onProfileBtnClick, this)); @@ -181,6 +209,18 @@ void LLTeleportHistoryFlatItem::setRegionName(const std::string& name) mRegionName = name; } +// Extended TP history +void LLTeleportHistoryFlatItem::setDate(const LLDate& date) +{ + mDate = date; +} + +void LLTeleportHistoryFlatItem::setLocalPos(const LLVector3& local_pos) +{ + mLocalPos.set(local_pos); +} +// + void LLTeleportHistoryFlatItem::updateTitle() { static LLUIColor sFgColor = LLUIColorTable::instance().getColor("MenuItemEnabledColor", LLColor4U(255, 255, 255)); @@ -190,6 +230,25 @@ void LLTeleportHistoryFlatItem::updateTitle() LLStyle::Params().color(sFgColor), mRegionName, mHighlight); + + // Extended TP history + LLTextUtil::textboxSetHighlightedVal( + mLocalPosBox, + LLStyle::Params().color(sFgColor), + llformat("%.0f, %.0f, %.0f", mLocalPos.mV[VX], mLocalPos.mV[VY], mLocalPos.mV[VZ]), + mHighlight); + + LLSD args; + args["datetime"] = mDate.secondsSinceEpoch(); + std::string date = getString("DateFmt"); + LLStringUtil::format(date, args); + + LLTextUtil::textboxSetHighlightedVal( + mDateBox, + LLStyle::Params().color(sFgColor), + date, + mHighlight); + // } void LLTeleportHistoryFlatItem::onMouseEnter(S32 x, S32 y, MASK mask) @@ -252,6 +311,12 @@ LLTeleportHistoryFlatItemStorage::getFlatItemForPersistentItem ( const S32 cur_item_index, const std::string &hl) { + // 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]); + // + LLTeleportHistoryFlatItem* item = NULL; if ( cur_item_index < (S32) mItems.size() ) { @@ -260,6 +325,10 @@ LLTeleportHistoryFlatItemStorage::getFlatItemForPersistentItem ( { item->setIndex(cur_item_index); item->setRegionName(persistent_item.mTitle); + // Extended TP history + item->setDate(persistent_item.mDate); + item->setLocalPos(local_pos); + // item->setHighlightedText(hl); item->setVisible(TRUE); item->updateTitle(); @@ -276,6 +345,10 @@ LLTeleportHistoryFlatItemStorage::getFlatItemForPersistentItem ( item = new LLTeleportHistoryFlatItem(cur_item_index, context_menu, persistent_item.mTitle, + // Extended TP history + persistent_item.mDate, + local_pos, + // hl); mItems.push_back(item->getItemHandle()); } diff --git a/indra/newview/skins/default/xui/de/panel_preferences_UI.xml b/indra/newview/skins/default/xui/de/panel_preferences_UI.xml index c5e71b2af6..ae0b7406d0 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_UI.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_UI.xml @@ -37,6 +37,11 @@ + + Teleport-Liste erweitern um: + + + Skriptdialoge pro Objekt: diff --git a/indra/newview/skins/default/xui/de/panel_teleport_history_item.xml b/indra/newview/skins/default/xui/de/panel_teleport_history_item.xml index 4b57aa69b6..b91a50fade 100644 --- a/indra/newview/skins/default/xui/de/panel_teleport_history_item.xml +++ b/indra/newview/skins/default/xui/de/panel_teleport_history_item.xml @@ -1,5 +1,18 @@ - + + [day,datetime,local].[mthnum,datetime,local].[year,datetime,local], [hour,datetime,local]:[min,datetime,local] + + + + + + + + + + + +