From e4a9613a2ce15bcb3131e3b5f0f83fc52e6c5afa Mon Sep 17 00:00:00 2001 From: Ansariel Date: Thu, 29 Oct 2015 13:51:13 +0100 Subject: [PATCH] FIRE-17173: Add total amount paid/received to money tracker --- indra/newview/fsmoneytracker.cpp | 21 ++++++++++++++++++- indra/newview/fsmoneytracker.h | 8 ++++++- .../xui/de/floater_fs_money_tracker.xml | 3 +++ .../xui/en/floater_fs_money_tracker.xml | 15 +++++++++++-- 4 files changed, 43 insertions(+), 4 deletions(-) diff --git a/indra/newview/fsmoneytracker.cpp b/indra/newview/fsmoneytracker.cpp index bff83f5829..8f88ef1e64 100644 --- a/indra/newview/fsmoneytracker.cpp +++ b/indra/newview/fsmoneytracker.cpp @@ -32,16 +32,20 @@ #include "llclipboard.h" #include "llfloaterreg.h" #include "llnamelistctrl.h" +#include "lltextbox.h" #include "lltrans.h" #include "llviewercontrol.h" FSMoneyTracker::FSMoneyTracker(const LLSD& key) -: LLFloater(key) + : LLFloater(key), + mAmountPaid(0), + mAmountReceived(0) { } BOOL FSMoneyTracker::postBuild() { + mSummary = getChild("summary"); mTransactionHistory = getChild("payment_list"); mTransactionHistory->setContextMenu(&gFSMoneyTrackerListMenu); mTransactionHistory->sortByColumn("time", TRUE); @@ -85,6 +89,17 @@ void FSMoneyTracker::addPayment(const LLUUID other_id, bool is_group, S32 amount { mTransactionHistory->setScrollPos(scroll_pos + 1); } + + if (incoming) + { + mAmountReceived += amount; + mSummary->setTextArg("RECEIVED", llformat("%d", mAmountReceived)); + } + else + { + mAmountPaid += amount; + mSummary->setTextArg("PAID", llformat("%d", mAmountPaid)); + } } std::string FSMoneyTracker::getTime(time_t utc_time) @@ -107,7 +122,11 @@ std::string FSMoneyTracker::getDate(time_t utc_time) void FSMoneyTracker::clear() { LL_INFOS() << "Cleared." << LL_ENDL; + mAmountPaid = 0; + mAmountReceived = 0; mTransactionHistory->clearRows(); + mSummary->setTextArg("RECEIVED", llformat("%d", mAmountReceived)); + mSummary->setTextArg("PAID", llformat("%d", mAmountPaid)); } ////////////////////////////////////////////////////////////////////////////// diff --git a/indra/newview/fsmoneytracker.h b/indra/newview/fsmoneytracker.h index 0830272a66..119f7de23b 100644 --- a/indra/newview/fsmoneytracker.h +++ b/indra/newview/fsmoneytracker.h @@ -32,6 +32,7 @@ #include "lllistcontextmenu.h" class LLNameListCtrl; +class LLTextBox; class FSMoneyTracker: public LLFloater { @@ -47,7 +48,12 @@ private: void clear(); std::string getTime(time_t utc_time); std::string getDate(time_t utc_time); - LLNameListCtrl* mTransactionHistory; + + LLNameListCtrl* mTransactionHistory; + LLTextBox* mSummary; + + S32 mAmountPaid; + S32 mAmountReceived; }; class FSMoneyTrackerListMenu : public LLListContextMenu diff --git a/indra/newview/skins/default/xui/de/floater_fs_money_tracker.xml b/indra/newview/skins/default/xui/de/floater_fs_money_tracker.xml index c7c21118d5..9251ef4491 100644 --- a/indra/newview/skins/default/xui/de/floater_fs_money_tracker.xml +++ b/indra/newview/skins/default/xui/de/floater_fs_money_tracker.xml @@ -5,6 +5,9 @@ + + Gezahlt: L$ [PAID] - Erhalten: L$ [RECEIVED] +