Added a separate column for flags and renamed variables for clarity
parent
0e41374743
commit
17146c4c3b
|
|
@ -104,12 +104,12 @@ bool FSAssetBlacklist::isBlacklisted(const LLUUID& id, LLAssetType::EType type,
|
|||
}
|
||||
|
||||
const LLSD& data = data_it->second;
|
||||
if (!data.has("asset_flag"))
|
||||
if (!data.has("asset_blacklist_flag"))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
eBlacklistFlag stored_flag = static_cast<eBlacklistFlag>(data["asset_flag"].asInteger());
|
||||
eBlacklistFlag stored_flag = static_cast<eBlacklistFlag>(data["asset_blacklist_flag"].asInteger());
|
||||
|
||||
return (static_cast<int>(stored_flag) & static_cast<int>(flag)) != 0;
|
||||
}
|
||||
|
|
@ -130,8 +130,8 @@ void FSAssetBlacklist::addNewItemToBlacklist(const LLUUID& id, const std::string
|
|||
{
|
||||
data = it->second;
|
||||
|
||||
S32 existing_flag = data.has("asset_flag") ? data["asset_flag"].asInteger() : 0;
|
||||
data["asset_flag"] = static_cast<S32>(existing_flag | static_cast<S32>(flag));
|
||||
S32 existing_flag = data.has("asset_blacklist_flag") ? data["asset_blacklist_flag"].asInteger() : 0;
|
||||
data["asset_blacklist_flag"] = static_cast<S32>(existing_flag | static_cast<S32>(flag));
|
||||
|
||||
data["asset_name"] = name;
|
||||
data["asset_region"] = region;
|
||||
|
|
@ -146,7 +146,7 @@ void FSAssetBlacklist::addNewItemToBlacklist(const LLUUID& id, const std::string
|
|||
data["asset_name"] = name;
|
||||
data["asset_region"] = region;
|
||||
data["asset_type"] = type;
|
||||
data["asset_flag"] = static_cast<S32>(flag);
|
||||
data["asset_blacklist_flag"] = static_cast<S32>(flag);
|
||||
data["asset_date"] = input_date;
|
||||
data["asset_permanent"] = permanent;
|
||||
|
||||
|
|
@ -218,7 +218,7 @@ void FSAssetBlacklist::removeFlagsFromItem(const LLUUID& id, S32 combined_flags)
|
|||
}
|
||||
|
||||
LLSD& data = it->second;
|
||||
S32 current_flags = data.has("asset_flag") ? data["asset_flag"].asInteger() : 0;
|
||||
S32 current_flags = data.has("asset_blacklist_flag") ? data["asset_blacklist_flag"].asInteger() : 0;
|
||||
|
||||
current_flags &= ~combined_flags;
|
||||
|
||||
|
|
@ -228,7 +228,7 @@ void FSAssetBlacklist::removeFlagsFromItem(const LLUUID& id, S32 combined_flags)
|
|||
}
|
||||
else
|
||||
{
|
||||
data["asset_flag"] = current_flags;
|
||||
data["asset_blacklist_flag"] = current_flags;
|
||||
addNewItemToBlacklistData(id, data, true);
|
||||
|
||||
if (!mBlacklistChangedCallback.empty())
|
||||
|
|
@ -253,7 +253,7 @@ void FSAssetBlacklist::addNewItemToBlacklistData(const LLUUID& id, const LLSD& d
|
|||
mBlacklistData[id] = data;
|
||||
}
|
||||
|
||||
if (type == LLAssetType::AT_SOUND && data["flag"].asInteger() == 0)
|
||||
if (type == LLAssetType::AT_SOUND && data["asset_blacklist_flag"].asInteger() == 0)
|
||||
{
|
||||
LLFileSystem::removeFile(id, LLAssetType::AT_SOUND);
|
||||
std::string wav_path = gDirUtilp->getExpandedFilename(LL_PATH_FS_SOUND_CACHE, id.asString()) + ".dsf";
|
||||
|
|
|
|||
|
|
@ -50,7 +50,9 @@ public:
|
|||
NONE = 0,
|
||||
WORN = 1 << 0,
|
||||
REZZED = 1 << 1,
|
||||
GESTURE = 1 << 2
|
||||
GESTURE = 1 << 2,
|
||||
|
||||
LAST_FLAG = 1 << 2
|
||||
};
|
||||
bool isBlacklisted(const LLUUID& id, LLAssetType::EType type, eBlacklistFlag flag = eBlacklistFlag::NONE);
|
||||
void addNewItemToBlacklist(const LLUUID& id, const std::string& name, const std::string& region, LLAssetType::EType type, eBlacklistFlag flag = eBlacklistFlag::NONE,bool permanent = true, bool save = true);
|
||||
|
|
|
|||
|
|
@ -92,9 +92,9 @@ void FSFloaterAssetBlacklist::onOpen(const LLSD& key)
|
|||
|
||||
FSAssetBlacklist::eBlacklistFlag FSFloaterAssetBlacklist::getFlagFromLLSD(const LLSD& data)
|
||||
{
|
||||
if (data.has("asset_flag"))
|
||||
if (data.has("asset_blacklist_flag"))
|
||||
{
|
||||
return static_cast<FSAssetBlacklist::eBlacklistFlag>(data["asset_flag"].asInteger());
|
||||
return static_cast<FSAssetBlacklist::eBlacklistFlag>(data["asset_blacklist_flag"].asInteger());
|
||||
}
|
||||
return FSAssetBlacklist::eBlacklistFlag::NONE;
|
||||
}
|
||||
|
|
@ -122,14 +122,16 @@ std::string FSFloaterAssetBlacklist::getFlagString(FSAssetBlacklist::eBlacklistF
|
|||
{
|
||||
switch (flag)
|
||||
{
|
||||
case FSAssetBlacklist::eBlacklistFlag::NONE:
|
||||
return getString("blacklist_flag_none");
|
||||
case FSAssetBlacklist::eBlacklistFlag::WORN:
|
||||
return getString("asset_avatar_worn_sounds");
|
||||
return getString("blacklist_flag_mute_avatar_worn_objects_sounds");
|
||||
case FSAssetBlacklist::eBlacklistFlag::REZZED:
|
||||
return getString("asset_avatar_rezzed_sounds");
|
||||
return getString("blacklist_flag_mute_avatar_rezzed_objects_sounds");
|
||||
case FSAssetBlacklist::eBlacklistFlag::GESTURE:
|
||||
return getString("asset_avatar_gesture_sounds");
|
||||
return getString("blacklist_flag_mute_avatar_gestures_sounds");
|
||||
default:
|
||||
return getString("asset_sound");
|
||||
return getString("blacklist_flag_unknown");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -160,79 +162,56 @@ void FSFloaterAssetBlacklist::addElementToList(const LLUUID& id, const LLSD& dat
|
|||
LLStringUtil::format(date_str, substitution);
|
||||
|
||||
const S32 asset_type = data["asset_type"].asInteger();
|
||||
S32 flags = data.has("asset_blacklist_flag") && data["asset_blacklist_flag"].asInteger() > 0 ? data["asset_blacklist_flag"].asInteger() : static_cast<S32>(FSAssetBlacklist::eBlacklistFlag::NONE);
|
||||
const S32 last_flag_value = static_cast<S32>(FSAssetBlacklist::eBlacklistFlag::LAST_FLAG);
|
||||
|
||||
if (data.has("asset_flag") && data["asset_flag"].asInteger() > 0)
|
||||
for (S32 flag_value = 1; flag_value <= last_flag_value; flag_value <<= 1)
|
||||
{
|
||||
S32 flags = data["asset_flag"].asInteger();
|
||||
|
||||
for (S32 flag_value = 1; flag_value <= static_cast<S32>(FSAssetBlacklist::eBlacklistFlag::GESTURE); flag_value <<= 1)
|
||||
if ((flags & flag_value) || flags == static_cast<S32>(FSAssetBlacklist::eBlacklistFlag::NONE))
|
||||
{
|
||||
if (flags & flag_value)
|
||||
{
|
||||
FSAssetBlacklist::eBlacklistFlag flag = static_cast<FSAssetBlacklist::eBlacklistFlag>(flag_value);
|
||||
FSAssetBlacklist::eBlacklistFlag flag = static_cast<FSAssetBlacklist::eBlacklistFlag>(flag_value);
|
||||
|
||||
LLSD element;
|
||||
element["id"] = id;
|
||||
element["columns"][0]["column"] = "name";
|
||||
element["columns"][0]["type"] = "text";
|
||||
element["columns"][0]["value"] = !data["asset_name"].asString().empty() ? data["asset_name"].asString() : getString("unknown_object");
|
||||
element["columns"][1]["column"] = "region";
|
||||
element["columns"][1]["type"] = "text";
|
||||
element["columns"][1]["value"] = !data["asset_region"].asString().empty() ? data["asset_region"].asString() : getString("unknown_region");
|
||||
element["columns"][2]["column"] = "type";
|
||||
element["columns"][2]["type"] = "text";
|
||||
element["columns"][2]["value"] = getFlagString(flag);
|
||||
element["columns"][3]["column"] = "date";
|
||||
element["columns"][3]["type"] = "text";
|
||||
element["columns"][3]["value"] = date_str;
|
||||
element["columns"][4]["column"] = "permanent";
|
||||
element["columns"][4]["type"] = "text";
|
||||
element["columns"][4]["halign"] = "center";
|
||||
element["columns"][4]["value"] = data["asset_permanent"].asBoolean() ? getString("asset_permanent") : LLStringUtil::null;
|
||||
element["columns"][5]["column"] = "date_sort";
|
||||
element["columns"][5]["type"] = "text";
|
||||
element["columns"][5]["value"] = llformat("%u", (U64)date.secondsSinceEpoch());
|
||||
element["columns"][6]["column"] = "asset_type";
|
||||
element["columns"][6]["type"] = "integer";
|
||||
element["columns"][6]["value"] = data["asset_type"].asInteger();
|
||||
if (flags == static_cast<S32>(FSAssetBlacklist::eBlacklistFlag::NONE))
|
||||
flag = FSAssetBlacklist::eBlacklistFlag::NONE;
|
||||
|
||||
LLSD value;
|
||||
value["flag"] = static_cast<S32>(flag);
|
||||
element["alt_value"] = value;
|
||||
LLSD element;
|
||||
element["id"] = id;
|
||||
element["columns"][0]["column"] = "name";
|
||||
element["columns"][0]["type"] = "text";
|
||||
element["columns"][0]["value"] = !data["asset_name"].asString().empty() ? data["asset_name"].asString() : getString("unknown_object");
|
||||
element["columns"][1]["column"] = "region";
|
||||
element["columns"][1]["type"] = "text";
|
||||
element["columns"][1]["value"] = !data["asset_region"].asString().empty() ? data["asset_region"].asString() : getString("unknown_region");
|
||||
element["columns"][2]["column"] = "type";
|
||||
element["columns"][2]["type"] = "text";
|
||||
element["columns"][2]["value"] = getTypeString(asset_type);
|
||||
element["columns"][3]["column"] = "flags";
|
||||
element["columns"][3]["type"] = "text";
|
||||
element["columns"][3]["value"] = getFlagString(flag);
|
||||
element["columns"][4]["column"] = "date";
|
||||
element["columns"][4]["type"] = "text";
|
||||
element["columns"][4]["value"] = date_str;
|
||||
element["columns"][5]["column"] = "permanent";
|
||||
element["columns"][5]["type"] = "text";
|
||||
element["columns"][5]["halign"] = "center";
|
||||
element["columns"][5]["value"] = data["asset_permanent"].asBoolean() ? getString("asset_permanent") : LLStringUtil::null;
|
||||
element["columns"][6]["column"] = "date_sort";
|
||||
element["columns"][6]["type"] = "text";
|
||||
element["columns"][6]["value"] = llformat("%u", (U64)date.secondsSinceEpoch());
|
||||
element["columns"][7]["column"] = "asset_type";
|
||||
element["columns"][7]["type"] = "integer";
|
||||
element["columns"][7]["value"] = data["asset_type"].asInteger();
|
||||
|
||||
mResultList->addElement(element, ADD_BOTTOM);
|
||||
}
|
||||
LLSD value;
|
||||
value["flag"] = static_cast<S32>(flag);
|
||||
element["alt_value"] = value;
|
||||
|
||||
mResultList->addElement(element, ADD_BOTTOM);
|
||||
|
||||
if (flags == static_cast<S32>(FSAssetBlacklist::eBlacklistFlag::NONE))
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LLSD element;
|
||||
element["id"] = id;
|
||||
element["columns"][0]["column"] = "name";
|
||||
element["columns"][0]["type"] = "text";
|
||||
element["columns"][0]["value"] = !data["asset_name"].asString().empty() ? data["asset_name"].asString() : getString("unknown_object");
|
||||
element["columns"][1]["column"] = "region";
|
||||
element["columns"][1]["type"] = "text";
|
||||
element["columns"][1]["value"] = !data["asset_region"].asString().empty() ? data["asset_region"].asString() : getString("unknown_region");
|
||||
element["columns"][2]["column"] = "type";
|
||||
element["columns"][2]["type"] = "text";
|
||||
element["columns"][2]["value"] = getTypeString(asset_type);
|
||||
element["columns"][3]["column"] = "date";
|
||||
element["columns"][3]["type"] = "text";
|
||||
element["columns"][3]["value"] = date_str;
|
||||
element["columns"][4]["column"] = "permanent";
|
||||
element["columns"][4]["type"] = "text";
|
||||
element["columns"][4]["halign"] = "center";
|
||||
element["columns"][4]["value"] = data["asset_permanent"].asBoolean() ? getString("asset_permanent") : LLStringUtil::null;
|
||||
element["columns"][5]["column"] = "date_sort";
|
||||
element["columns"][5]["type"] = "text";
|
||||
element["columns"][5]["value"] = llformat("%u", (U64)date.secondsSinceEpoch());
|
||||
element["columns"][6]["column"] = "asset_type";
|
||||
element["columns"][6]["type"] = "integer";
|
||||
element["columns"][6]["value"] = data["asset_type"].asInteger();
|
||||
|
||||
mResultList->addElement(element, ADD_BOTTOM);
|
||||
}
|
||||
}
|
||||
|
||||
void FSFloaterAssetBlacklist::removeElements()
|
||||
|
|
|
|||
|
|
@ -27,14 +27,19 @@
|
|||
<floater.string name="asset_resident">
|
||||
Resident
|
||||
</floater.string>
|
||||
<floater.string name="asset_avatar_worn_sounds">
|
||||
<floater.string name="blacklist_flag_none">
|
||||
</floater.string>
|
||||
<floater.string name="blacklist_flag_mute_avatar_worn_objects_sounds">
|
||||
Avatar worn objects sounds
|
||||
</floater.string>
|
||||
<floater.string name="asset_avatar_rezzed_sounds">
|
||||
<floater.string name="blacklist_flag_mute_avatar_rezzed_objects_sounds">
|
||||
Avatar rezzed objects sounds
|
||||
</floater.string>
|
||||
<floater.string name="asset_avatar_gesture_sounds">
|
||||
<floater.string name="blacklist_flag_mute_avatar_gestures_sounds">
|
||||
Avatar gestures sounds
|
||||
</floater.string>
|
||||
<floater.string name="blacklist_flag_unknown">
|
||||
Unknow flag
|
||||
</floater.string>
|
||||
<floater.string name="asset_unknown">
|
||||
Unknown
|
||||
|
|
@ -91,6 +96,11 @@
|
|||
label="Type"
|
||||
width="60"
|
||||
/>
|
||||
<columns
|
||||
name="flags"
|
||||
label="Flags"
|
||||
width="170"
|
||||
/>
|
||||
<columns
|
||||
name="date"
|
||||
label="Date"
|
||||
|
|
@ -114,6 +124,7 @@
|
|||
<column column="name">[UNKNOWN] Template item</column>
|
||||
<column column="region">[UNKNOWN] Template item</column>
|
||||
<column column="type">Unknown</column>
|
||||
<column column="flags">None</column>
|
||||
<column column="date">2012-12-11 13:37:00</column>
|
||||
<column column="permanent">✔</column>
|
||||
</row>
|
||||
|
|
|
|||
Loading…
Reference in New Issue