FIRE-16960: Sorting in money tracker incorrect if date flips over

master
Ansariel 2015-09-17 22:25:16 +02:00
parent a0e5878184
commit 37da43e1ba
3 changed files with 17 additions and 4 deletions

View File

@ -63,6 +63,8 @@ void FSMoneyTracker::onClose(bool app_quitting)
void FSMoneyTracker::addPayment(const LLUUID other_id, bool is_group, S32 amount, bool incoming)
{
time_t utc_time = time_corrected();
S32 scroll_pos = mTransactionHistory->getScrollPos();
bool at_end = mTransactionHistory->getScrollbar()->isAtEnd();
@ -70,11 +72,12 @@ void FSMoneyTracker::addPayment(const LLUUID other_id, bool is_group, S32 amount
item_params.value = other_id;
item_params.name = LLTrans::getString("AvatarNameWaiting");
item_params.target = is_group ? LLNameListCtrl::GROUP : LLNameListCtrl::INDIVIDUAL;
item_params.columns.add().column("time").value(getTime());
item_params.columns.add().column("time").value(getTime(utc_time));
item_params.columns.add().column("name");
item_params.columns.add().column("amount")
.value((incoming ? amount : -amount))
.color(LLUIColorTable::instance().getColor((incoming ? "MoneyTrackerIncrease" : "MoneyTrackerDecrease")));
item_params.columns.add().column("time_sort_column").value(getDate(utc_time));
mTransactionHistory->addNameItemRow(item_params);
@ -84,9 +87,8 @@ void FSMoneyTracker::addPayment(const LLUUID other_id, bool is_group, S32 amount
}
}
std::string FSMoneyTracker::getTime()
std::string FSMoneyTracker::getTime(time_t utc_time)
{
time_t utc_time = time_corrected();
std::string timeStr = "[" + LLTrans::getString("TimeHour") + "]:[" + LLTrans::getString("TimeMin") + "]:[" + LLTrans::getString("TimeSec") + "]";
LLSD substitution;
@ -96,6 +98,12 @@ std::string FSMoneyTracker::getTime()
return timeStr;
}
std::string FSMoneyTracker::getDate(time_t utc_time)
{
LLDate curdate = LLDate(utc_time);
return curdate.asString();
}
void FSMoneyTracker::clear()
{
LL_INFOS() << "Cleared." << LL_ENDL;

View File

@ -45,7 +45,8 @@ public:
private:
void clear();
std::string getTime();
std::string getTime(time_t utc_time);
std::string getDate(time_t utc_time);
LLNameListCtrl* mTransactionHistory;
};

View File

@ -30,6 +30,7 @@
<name_list.columns
name="time"
label="Time"
sort_column="time_sort_column"
width="50"/>
<name_list.columns
name="name"
@ -38,6 +39,9 @@
name="amount"
label="Amount"
width="63"/>
<name_list.columns
name="time_sort_column"
width="-1"/>
</name_list>
<check_box
control_name="FSAlwaysTrackPayments"