summaryrefslogtreecommitdiff
path: root/indra/newview/llfolderview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfolderview.cpp')
-rw-r--r--indra/newview/llfolderview.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp
index d50c54b938..79e3315115 100644
--- a/indra/newview/llfolderview.cpp
+++ b/indra/newview/llfolderview.cpp
@@ -4645,7 +4645,7 @@ void LLInventoryFilter::setDateRangeLastLogoff(BOOL sl)
BOOL LLInventoryFilter::isSinceLogoff()
{
- return mFilterOps.mMinDate == mLastLogoff && mFilterOps.mMaxDate == U32_MAX;
+ return (mFilterOps.mMinDate == mLastLogoff) && (mFilterOps.mMaxDate == U32_MAX);
}
void LLInventoryFilter::setHoursAgo(U32 hours)
@@ -4946,28 +4946,48 @@ void LLInventoryFilter::toLLSD(LLSD& data)
data["permissions"] = (LLSD::Integer)getFilterPermissions();
data["substring"] = (LLSD::String)getFilterSubString();
data["sort_order"] = (LLSD::Integer)getSortOrder();
+ data["since_logoff"] = (LLSD::Boolean)isSinceLogoff();
}
void LLInventoryFilter::fromLLSD(LLSD& data)
{
if(data.has("filter_types"))
+ {
setFilterTypes((U32)data["filter_types"].asInteger());
+ }
if(data.has("min_date") && data.has("max_date"))
+ {
setDateRange((U32)data["min_date"].asInteger(), (U32)data["max_date"].asInteger());
+ }
if(data.has("hours_ago"))
+ {
setHoursAgo((U32)data["hours_ago"].asInteger());
+ }
if(data.has("show_folder_state"))
+ {
setShowFolderState((EFolderShow)data["show_folder_state"].asInteger());
+ }
if(data.has("permissions"))
+ {
setFilterPermissions((PermissionMask)data["permissions"].asInteger());
+ }
if(data.has("substring"))
+ {
setFilterSubString(LLString(data["substring"].asString()));
+ }
if(data.has("sort_order"))
+ {
setSortOrder((U32)data["sort_order"].asInteger());
+ }
+
+ if(data.has("since_logoff"))
+ {
+ setDateRangeLastLogoff((bool)data["since_logoff"].asBoolean());
+ }
}