Settings type inventory objects and upload the assests.
parent
5621fa4853
commit
cbe4cac78c
|
|
@ -29,17 +29,17 @@
|
|||
#include "llinventorytype.h"
|
||||
#include "llinventorydefines.h"
|
||||
|
||||
static LLTranslationBridge* sTrans = NULL;
|
||||
static LLTranslationBridge::ptr_t sTrans = NULL;
|
||||
|
||||
// static
|
||||
void LLWearableType::initClass(LLTranslationBridge* trans)
|
||||
void LLWearableType::initClass(LLTranslationBridge::ptr_t &trans)
|
||||
{
|
||||
sTrans = trans;
|
||||
}
|
||||
|
||||
void LLWearableType::cleanupClass()
|
||||
{
|
||||
delete sTrans;
|
||||
sTrans.reset();
|
||||
}
|
||||
|
||||
struct WearableEntry : public LLDictionaryEntry
|
||||
|
|
@ -172,6 +172,6 @@ BOOL LLWearableType::getAllowMultiwear(LLWearableType::EType type)
|
|||
// static
|
||||
LLWearableType::EType LLWearableType::inventoryFlagsToWearableType(U32 flags)
|
||||
{
|
||||
return (LLWearableType::EType)(flags & LLInventoryItemFlags::II_FLAGS_WEARABLES_MASK);
|
||||
return (LLWearableType::EType)(flags & LLInventoryItemFlags::II_FLAGS_SUBTYPE_MASK);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,16 +31,7 @@
|
|||
#include "lldictionary.h"
|
||||
#include "llinventorytype.h"
|
||||
#include "llsingleton.h"
|
||||
|
||||
class LLTranslationBridge
|
||||
{
|
||||
public:
|
||||
// clang needs this to be happy
|
||||
virtual ~LLTranslationBridge() {}
|
||||
|
||||
virtual std::string getString(const std::string &xml_desc) = 0;
|
||||
};
|
||||
|
||||
#include "llinvtranslationbrdg.h"
|
||||
|
||||
class LLWearableType
|
||||
{
|
||||
|
|
@ -69,7 +60,7 @@ public:
|
|||
WT_NONE = -1,
|
||||
};
|
||||
|
||||
static void initClass(LLTranslationBridge* trans); // initializes static members
|
||||
static void initClass(LLTranslationBridge::ptr_t &trans); // initializes static members
|
||||
static void cleanupClass(); // initializes static members
|
||||
|
||||
static const std::string& getTypeName(EType type);
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ set(llinventory_SOURCE_FILES
|
|||
llfoldertype.cpp
|
||||
llinventory.cpp
|
||||
llinventorydefines.cpp
|
||||
llinventorysettings.cpp
|
||||
llinventorytype.cpp
|
||||
lllandmark.cpp
|
||||
llnotecard.cpp
|
||||
|
|
@ -47,6 +48,7 @@ set(llinventory_HEADER_FILES
|
|||
llinventorydefines.h
|
||||
llinventorysettings.h
|
||||
llinventorytype.h
|
||||
llinvtranslationbrdg.h
|
||||
lllandmark.h
|
||||
llnotecard.h
|
||||
llparcel.h
|
||||
|
|
|
|||
|
|
@ -81,13 +81,10 @@ public:
|
|||
II_FLAGS_OBJECT_HAS_MULTIPLE_ITEMS = 0x200000,
|
||||
// Whether a returned object is composed of multiple items.
|
||||
|
||||
II_FLAGS_WEARABLES_MASK = 0xff,
|
||||
// Wearables use the low order byte of flags to store the
|
||||
// LLWearableType::EType enumeration found in newview/llwearable.h
|
||||
//
|
||||
II_FLAGS_SETTINGS_MASK = 0x0000ff,
|
||||
// Settings (like wearables) use the low order byte of flags to store
|
||||
// the settings type
|
||||
II_FLAGS_SUBTYPE_MASK = 0x0000ff,
|
||||
// Some items like Wearables and settings use the low order byte
|
||||
// of flags to store the sub type of the inventory item.
|
||||
// see LLWearableType::EType enumeration found in newview/llwearable.h
|
||||
|
||||
II_FLAGS_PERM_OVERWRITE_MASK = (II_FLAGS_OBJECT_SLAM_PERM |
|
||||
II_FLAGS_OBJECT_SLAM_SALE |
|
||||
|
|
|
|||
|
|
@ -0,0 +1,110 @@
|
|||
/**
|
||||
* @file llinventorysettings.cpp
|
||||
* @author optional
|
||||
* @brief A base class for asset based settings groups.
|
||||
*
|
||||
* $LicenseInfo:2011&license=viewerlgpl$
|
||||
* Second Life Viewer Source Code
|
||||
* Copyright (C) 2017, Linden Research, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation;
|
||||
* version 2.1 of the License only.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
|
||||
* $/LicenseInfo$
|
||||
*/
|
||||
|
||||
#include "linden_common.h"
|
||||
#include "llinventorysettings.h"
|
||||
#include "llinventorytype.h"
|
||||
#include "llinventorydefines.h"
|
||||
#include "lldictionary.h"
|
||||
#include "llsingleton.h"
|
||||
#include "llinvtranslationbrdg.h"
|
||||
|
||||
//=========================================================================
|
||||
namespace {
|
||||
LLTranslationBridge::ptr_t sTranslator;
|
||||
}
|
||||
|
||||
//=========================================================================
|
||||
struct SettingsEntry : public LLDictionaryEntry
|
||||
{
|
||||
SettingsEntry(const std::string &name,
|
||||
const std::string& default_new_name,
|
||||
LLInventoryType::EIconName iconName) :
|
||||
LLDictionaryEntry(name),
|
||||
mDefaultNewName(default_new_name),
|
||||
mLabel(name),
|
||||
mIconName(iconName)
|
||||
{
|
||||
std::string transdname = sTranslator->getString(mLabel);
|
||||
if (!transdname.empty())
|
||||
{
|
||||
mLabel = transdname;
|
||||
}
|
||||
}
|
||||
|
||||
std::string mLabel;
|
||||
std::string mDefaultNewName; //keep mLabel for backward compatibility
|
||||
LLInventoryType::EIconName mIconName;
|
||||
};
|
||||
|
||||
class LLSettingsDictionary : public LLSingleton<LLSettingsDictionary>,
|
||||
public LLDictionary<LLSettingsType::type_e, SettingsEntry>
|
||||
{
|
||||
LLSINGLETON(LLSettingsDictionary);
|
||||
|
||||
void initSingleton() override;
|
||||
};
|
||||
|
||||
LLSettingsDictionary::LLSettingsDictionary()
|
||||
{
|
||||
}
|
||||
|
||||
void LLSettingsDictionary::initSingleton()
|
||||
{
|
||||
addEntry(LLSettingsType::ST_SKY, new SettingsEntry("sky", "New Sky", LLInventoryType::ICONNAME_SETTINGS_SKY));
|
||||
addEntry(LLSettingsType::ST_WATER, new SettingsEntry("water", "New Water", LLInventoryType::ICONNAME_SETTINGS_WATER));
|
||||
addEntry(LLSettingsType::ST_DAYCYCLE, new SettingsEntry("day", "New Day", LLInventoryType::ICONNAME_SETTINGS_DAY));
|
||||
addEntry(LLSettingsType::ST_NONE, new SettingsEntry("none", "New Settings", LLInventoryType::ICONNAME_SETTINGS));
|
||||
addEntry(LLSettingsType::ST_INVALID, new SettingsEntry("invalid", "New Settings", LLInventoryType::ICONNAME_SETTINGS));
|
||||
}
|
||||
|
||||
//=========================================================================
|
||||
|
||||
LLSettingsType::type_e LLSettingsType::fromInventoryFlags(U32 flags)
|
||||
{
|
||||
return (LLSettingsType::type_e)(flags & LLInventoryItemFlags::II_FLAGS_SUBTYPE_MASK);
|
||||
}
|
||||
|
||||
|
||||
LLInventoryType::EIconName LLSettingsType::getIconName(LLSettingsType::type_e type)
|
||||
{
|
||||
const SettingsEntry *entry = LLSettingsDictionary::instance().lookup(type);
|
||||
if (!entry)
|
||||
return getIconName(ST_INVALID);
|
||||
return entry->mIconName;
|
||||
}
|
||||
|
||||
|
||||
void LLSettingsType::initClass(LLTranslationBridge::ptr_t &trans)
|
||||
{
|
||||
sTranslator = trans;
|
||||
}
|
||||
|
||||
void LLSettingsType::cleanupClass()
|
||||
{
|
||||
sTranslator.reset();
|
||||
}
|
||||
|
|
@ -28,15 +28,27 @@
|
|||
#ifndef LL_INVENTORY_SETTINGS_H
|
||||
#define LL_INVENTORY_SETTINGS_H
|
||||
|
||||
#include "llinventorytype.h"
|
||||
#include "llinvtranslationbrdg.h"
|
||||
|
||||
enum class LLSettingsType
|
||||
class LLSettingsType
|
||||
{
|
||||
ST_SKY = 0,
|
||||
ST_WATER = 1,
|
||||
ST_DAYCYCLE = 2,
|
||||
public:
|
||||
enum type_e
|
||||
{
|
||||
ST_SKY = 0,
|
||||
ST_WATER = 1,
|
||||
ST_DAYCYCLE = 2,
|
||||
|
||||
ST_INVALID = 255,
|
||||
ST_NONE = -1
|
||||
ST_INVALID = 255,
|
||||
ST_NONE = -1
|
||||
};
|
||||
|
||||
static type_e fromInventoryFlags(U32 flags);
|
||||
static LLInventoryType::EIconName getIconName(type_e type);
|
||||
|
||||
static void initClass(LLTranslationBridge::ptr_t &trans);
|
||||
static void cleanupClass();
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -203,7 +203,6 @@ bool LLInventoryType::cannotRestrictPermissions(LLInventoryType::EType type)
|
|||
{
|
||||
case IT_CALLINGCARD:
|
||||
case IT_LANDMARK:
|
||||
case IT_SETTINGS:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -111,8 +111,10 @@ public:
|
|||
ICONNAME_LINKFOLDER,
|
||||
ICONNAME_MESH,
|
||||
|
||||
ICONNAME_SETTINGS,
|
||||
ICONNAME_SETTINGS_SKY,
|
||||
ICONNAME_SETTINGS_WATER,
|
||||
ICONNAME_SETTINGS_DAY,
|
||||
|
||||
ICONNAME_INVALID,
|
||||
ICONNAME_COUNT,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,41 @@
|
|||
/**
|
||||
* @file llinvtranslationbrdg.h
|
||||
* @brief Translation adapter for inventory.
|
||||
*
|
||||
* $LicenseInfo:firstyear=2002&license=viewerlgpl$
|
||||
* Second Life Viewer Source Code
|
||||
* Copyright (C) 2010, Linden Research, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation;
|
||||
* version 2.1 of the License only.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
|
||||
* $/LicenseInfo$
|
||||
*/
|
||||
|
||||
#ifndef LL_TRANSLATIONBRDG_H
|
||||
#define LL_TRANSLATIONBRDG_H
|
||||
|
||||
class LLTranslationBridge
|
||||
{
|
||||
public:
|
||||
typedef std::shared_ptr<LLTranslationBridge> ptr_t;
|
||||
|
||||
// clang needs this to be happy
|
||||
virtual ~LLTranslationBridge() {}
|
||||
|
||||
virtual std::string getString(const std::string &xml_desc) = 0;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -68,7 +68,7 @@ public:
|
|||
//---------------------------------------------------------------------
|
||||
virtual std::string getSettingType() const = 0;
|
||||
|
||||
virtual LLSettingsType getSettingTypeValue() const = 0;
|
||||
virtual LLSettingsType::type_e getSettingTypeValue() const = 0;
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
// Settings status
|
||||
|
|
|
|||
|
|
@ -127,6 +127,8 @@ LLSD LLSettingsDay::getSettings() const
|
|||
if (mSettings.has(SETTING_ID))
|
||||
settings[SETTING_ID] = mSettings[SETTING_ID];
|
||||
|
||||
settings[SETTING_TYPE] = getSettingType();
|
||||
|
||||
std::map<std::string, LLSettingsBase::ptr_t> in_use;
|
||||
|
||||
LLSD tracks(LLSD::emptyArray());
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ public:
|
|||
|
||||
virtual ptr_t buildClone() = 0;
|
||||
virtual LLSD getSettings() const override;
|
||||
virtual LLSettingsType getSettingTypeValue() const override { return LLSettingsType::ST_DAYCYCLE; }
|
||||
virtual LLSettingsType::type_e getSettingTypeValue() const override { return LLSettingsType::ST_DAYCYCLE; }
|
||||
|
||||
|
||||
//---------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ public:
|
|||
|
||||
//---------------------------------------------------------------------
|
||||
virtual std::string getSettingType() const override { return std::string("sky"); }
|
||||
virtual LLSettingsType getSettingTypeValue() const override { return LLSettingsType::ST_SKY; }
|
||||
virtual LLSettingsType::type_e getSettingTypeValue() const override { return LLSettingsType::ST_SKY; }
|
||||
|
||||
|
||||
// Settings status
|
||||
|
|
|
|||
|
|
@ -58,7 +58,7 @@ public:
|
|||
|
||||
//---------------------------------------------------------------------
|
||||
virtual std::string getSettingType() const override { return std::string("water"); }
|
||||
virtual LLSettingsType getSettingTypeValue() const override { return LLSettingsType::ST_WATER; }
|
||||
virtual LLSettingsType::type_e getSettingTypeValue() const override { return LLSettingsType::ST_WATER; }
|
||||
|
||||
// Settings status
|
||||
virtual void blend(const LLSettingsBase::ptr_t &end, F64 blendf) override;
|
||||
|
|
|
|||
|
|
@ -764,7 +764,9 @@ bool LLAppViewer::init()
|
|||
|
||||
// initialize LLWearableType translation bridge.
|
||||
// Memory will be cleaned up in ::cleanupClass()
|
||||
LLWearableType::initClass(new LLUITranslationBridge());
|
||||
LLTranslationBridge::ptr_t trans = std::make_shared<LLUITranslationBridge>();
|
||||
LLWearableType::initClass(trans);
|
||||
LLSettingsType::initClass(trans);
|
||||
|
||||
// initialize SSE options
|
||||
LLVector4a::initClass();
|
||||
|
|
|
|||
|
|
@ -241,7 +241,7 @@ void LLFloaterBuy::inventoryChanged(LLViewerObject* obj,
|
|||
BOOL item_is_multi = FALSE;
|
||||
if (( inv_item->getFlags() & LLInventoryItemFlags::II_FLAGS_LANDMARK_VISITED
|
||||
|| inv_item->getFlags() & LLInventoryItemFlags::II_FLAGS_OBJECT_HAS_MULTIPLE_ITEMS)
|
||||
&& !(inv_item->getFlags() & LLInventoryItemFlags::II_FLAGS_WEARABLES_MASK))
|
||||
&& !(inv_item->getFlags() & LLInventoryItemFlags::II_FLAGS_SUBTYPE_MASK))
|
||||
{
|
||||
item_is_multi = TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -216,7 +216,7 @@ void LLFloaterBuyContents::inventoryChanged(LLViewerObject* obj,
|
|||
BOOL item_is_multi = FALSE;
|
||||
if ((inv_item->getFlags() & LLInventoryItemFlags::II_FLAGS_LANDMARK_VISITED
|
||||
|| inv_item->getFlags() & LLInventoryItemFlags::II_FLAGS_OBJECT_HAS_MULTIPLE_ITEMS)
|
||||
&& !(inv_item->getFlags() & LLInventoryItemFlags::II_FLAGS_WEARABLES_MASK))
|
||||
&& !(inv_item->getFlags() & LLInventoryItemFlags::II_FLAGS_SUBTYPE_MASK))
|
||||
{
|
||||
item_is_multi = TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1410,6 +1410,14 @@ LLInvFVBridge* LLInvFVBridge::createBridge(LLAssetType::EType asset_type,
|
|||
//LL_WARNS() << LLAssetType::lookup(asset_type) << " asset type is unhandled for uuid " << uuid << LL_ENDL;
|
||||
break;
|
||||
|
||||
case LLAssetType::AT_SETTINGS:
|
||||
if (inv_type != LLInventoryType::IT_SETTINGS)
|
||||
{
|
||||
LL_WARNS() << LLAssetType::lookup(asset_type) << " asset has inventory type " << LLInventoryType::lookupHumanReadable(inv_type) << " on uuid " << uuid << LL_ENDL;
|
||||
}
|
||||
new_listener = new LLSettingsBridge(inventory, root, uuid, LLSettingsType::fromInventoryFlags(flags));
|
||||
break;
|
||||
|
||||
default:
|
||||
LL_INFOS() << "Unhandled asset type (llassetstorage.h): "
|
||||
<< (S32)asset_type << " (" << LLAssetType::lookup(asset_type) << ")" << LL_ENDL;
|
||||
|
|
@ -6837,6 +6845,48 @@ void LLMeshBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
|
|||
hide_context_entries(menu, items, disabled_items);
|
||||
}
|
||||
|
||||
// +=================================================+
|
||||
// | LLSettingsBridge |
|
||||
// +=================================================+
|
||||
|
||||
LLSettingsBridge::LLSettingsBridge(LLInventoryPanel* inventory,
|
||||
LLFolderView* root,
|
||||
const LLUUID& uuid,
|
||||
LLSettingsType::type_e settings_type):
|
||||
LLItemBridge(inventory, root, uuid),
|
||||
mSettingsType(settings_type)
|
||||
{
|
||||
}
|
||||
|
||||
LLUIImagePtr LLSettingsBridge::getIcon() const
|
||||
{
|
||||
return LLInventoryIcon::getIcon(LLAssetType::AT_SETTINGS, LLInventoryType::IT_SETTINGS, mSettingsType, FALSE);
|
||||
}
|
||||
|
||||
void LLSettingsBridge::performAction(LLInventoryModel* model, std::string action)
|
||||
{
|
||||
LLItemBridge::performAction(model, action);
|
||||
}
|
||||
|
||||
void LLSettingsBridge::openItem()
|
||||
{
|
||||
LLItemBridge::openItem();
|
||||
}
|
||||
|
||||
void LLSettingsBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
|
||||
{
|
||||
LLItemBridge::buildContextMenu(menu, flags);
|
||||
}
|
||||
|
||||
std::string LLSettingsBridge::getLabelSuffix() const
|
||||
{
|
||||
return LLItemBridge::getLabelSuffix();
|
||||
}
|
||||
|
||||
BOOL LLSettingsBridge::renameItem(const std::string& new_name)
|
||||
{
|
||||
return LLItemBridge::renameItem(new_name);
|
||||
}
|
||||
|
||||
// +=================================================+
|
||||
// | LLLinkBridge |
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@
|
|||
#include "lltooldraganddrop.h"
|
||||
#include "lllandmarklist.h"
|
||||
#include "llfolderviewitem.h"
|
||||
#include "llsettingsbase.h"
|
||||
|
||||
class LLInventoryFilter;
|
||||
class LLInventoryPanel;
|
||||
|
|
@ -136,6 +137,7 @@ public:
|
|||
std::string& tooltip_msg) { return FALSE; }
|
||||
virtual LLInventoryType::EType getInventoryType() const { return mInvType; }
|
||||
virtual LLWearableType::EType getWearableType() const { return LLWearableType::WT_NONE; }
|
||||
virtual LLSettingsType::type_e getSettingsType() const { return LLSettingsType::ST_NONE; }
|
||||
EInventorySortGroup getSortGroup() const { return SG_ITEM; }
|
||||
virtual LLInventoryObject* getInventoryObject() const;
|
||||
|
||||
|
|
@ -605,6 +607,26 @@ protected:
|
|||
};
|
||||
|
||||
|
||||
class LLSettingsBridge : public LLItemBridge
|
||||
{
|
||||
public:
|
||||
LLSettingsBridge(LLInventoryPanel* inventory,
|
||||
LLFolderView* root,
|
||||
const LLUUID& uuid,
|
||||
LLSettingsType::type_e settings_type);
|
||||
virtual LLUIImagePtr getIcon() const;
|
||||
virtual void performAction(LLInventoryModel* model, std::string action);
|
||||
virtual void openItem();
|
||||
virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
|
||||
virtual std::string getLabelSuffix() const;
|
||||
virtual BOOL renameItem(const std::string& new_name);
|
||||
virtual LLSettingsType::type_e getSettingsType() const { return mSettingsType; }
|
||||
|
||||
|
||||
protected:
|
||||
LLSettingsType::type_e mSettingsType;
|
||||
};
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Class LLInvFVBridgeAction
|
||||
//
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@
|
|||
#include "llui.h"
|
||||
#include "lluiimage.h"
|
||||
#include "llwearabletype.h"
|
||||
#include "llinventorysettings.h"
|
||||
|
||||
struct IconEntry : public LLDictionaryEntry
|
||||
{
|
||||
|
|
@ -92,8 +93,10 @@ LLIconDictionary::LLIconDictionary()
|
|||
addEntry(LLInventoryType::ICONNAME_LINKFOLDER, new IconEntry("Inv_LinkFolder"));
|
||||
addEntry(LLInventoryType::ICONNAME_MESH, new IconEntry("Inv_Mesh"));
|
||||
|
||||
addEntry(LLInventoryType::ICONNAME_SETTINGS_SKY, new IconEntry("Inv_SettingSky"));
|
||||
addEntry(LLInventoryType::ICONNAME_SETTINGS_WATER, new IconEntry("Inv_SettingWater"));
|
||||
addEntry(LLInventoryType::ICONNAME_SETTINGS_SKY, new IconEntry("Inv_SettingsSky"));
|
||||
addEntry(LLInventoryType::ICONNAME_SETTINGS_WATER, new IconEntry("Inv_SettingsWater"));
|
||||
addEntry(LLInventoryType::ICONNAME_SETTINGS_DAY, new IconEntry("Inv_SettingsDay"));
|
||||
addEntry(LLInventoryType::ICONNAME_SETTINGS, new IconEntry("Inv_Settings"));
|
||||
|
||||
addEntry(LLInventoryType::ICONNAME_INVALID, new IconEntry("Inv_Invalid"));
|
||||
|
||||
|
|
@ -172,7 +175,7 @@ const std::string& LLInventoryIcon::getIconName(LLAssetType::EType asset_type,
|
|||
break;
|
||||
case LLAssetType::AT_SETTINGS:
|
||||
// TODO: distinguish between Sky and Water settings.
|
||||
idx = LLInventoryType::ICONNAME_SETTINGS_SKY;
|
||||
idx = assignSettingsIcon(misc_flag);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
|
@ -193,3 +196,9 @@ LLInventoryType::EIconName LLInventoryIcon::assignWearableIcon(U32 misc_flag)
|
|||
const LLWearableType::EType wearable_type = LLWearableType::inventoryFlagsToWearableType(misc_flag);
|
||||
return LLWearableType::getIconName(wearable_type);
|
||||
}
|
||||
|
||||
LLInventoryType::EIconName LLInventoryIcon::assignSettingsIcon(U32 misc_flag)
|
||||
{
|
||||
LLSettingsType::type_e settings_type = LLSettingsType::fromInventoryFlags(misc_flag);
|
||||
return LLSettingsType::getIconName(settings_type);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ public:
|
|||
|
||||
protected:
|
||||
static LLInventoryType::EIconName assignWearableIcon(U32 misc_flag);
|
||||
static LLInventoryType::EIconName assignSettingsIcon(U32 misc_flag);
|
||||
};
|
||||
#endif // LL_LLINVENTORYICON_H
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/**
|
||||
* @file llsettingsvo.cpp
|
||||
* @file llvo.cpp
|
||||
* @author Rider Linden
|
||||
* @brief Subclasses for viewer specific settings behaviors.
|
||||
*
|
||||
|
|
@ -167,7 +167,7 @@ void LLSettingsVOBase::onSaveNewAssetComplete(const LLUUID& new_asset_id, const
|
|||
void LLSettingsVOBase::createInventoryItem(const LLSettingsBase::ptr_t &settings)
|
||||
{
|
||||
LLTransactionID tid;
|
||||
LLUUID parentFolder = gInventory.findCategoryUUIDForType(LLFolderType::FT_OBJECT);
|
||||
LLUUID parentFolder; //= gInventory.findCategoryUUIDForType(LLFolderType::FT_OBJECT);
|
||||
U32 nextOwnerPerm = LLPermissions::DEFAULT.getMaskNextOwner();
|
||||
|
||||
tid.generate();
|
||||
|
|
@ -237,6 +237,9 @@ void LLSettingsVOBase::uploadSettingsAsset(const LLSettingsBase::ptr_t &settings
|
|||
|
||||
std::stringstream buffer;
|
||||
LLSD settingdata(settings->getSettings());
|
||||
|
||||
LL_WARNS("LAPRAS") << "Sending '" << settingdata << "' for asset." << LL_ENDL;
|
||||
|
||||
LLSDSerialize::serialize(settingdata, buffer, LLSDSerialize::LLSD_NOTATION);
|
||||
|
||||
LLResourceUploadInfo::ptr_t uploadInfo = std::make_shared<LLBufferedAssetUploadInfo>(object_id, inv_item_id, LLAssetType::AT_SETTINGS, buffer.str(),
|
||||
|
|
@ -765,7 +768,6 @@ LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyPreset(const std::string &n
|
|||
return LLSettingsDay::ptr_t();
|
||||
}
|
||||
|
||||
|
||||
LLSettingsDay::ptr_t dayp = std::make_shared<LLSettingsVODay>(newsettings);
|
||||
|
||||
#ifdef VERIFY_LEGACY_CONVERSION
|
||||
|
|
@ -820,7 +822,8 @@ LLSettingsDay::ptr_t LLSettingsVODay::buildFromLegacyMessage(const LLUUID ®io
|
|||
LLSD newsettings = LLSDMap
|
||||
( SETTING_NAME, "Region (legacy)" )
|
||||
( SETTING_TRACKS, LLSDArray(watertrack)(skytrack))
|
||||
( SETTING_FRAMES, frames );
|
||||
( SETTING_FRAMES, frames )
|
||||
( SETTING_TYPE, "daycycle" );
|
||||
|
||||
LL_WARNS("LAPRAS") << "newsettings=" << newsettings << LL_ENDL;
|
||||
|
||||
|
|
|
|||
|
|
@ -1166,7 +1166,7 @@ void create_inventory_settings(const LLUUID& agent_id, const LLUUID& session_id,
|
|||
const LLUUID& parent, const LLTransactionID& transaction_id,
|
||||
const std::string& name,
|
||||
const std::string& desc,
|
||||
LLSettingsType settype,
|
||||
LLSettingsType::type_e settype,
|
||||
U32 next_owner_perm,
|
||||
LLPointer<LLInventoryCallback> cb)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -359,7 +359,7 @@ void create_inventory_wearable(const LLUUID& agent_id, const LLUUID& session_id,
|
|||
void create_inventory_settings(const LLUUID& agent_id, const LLUUID& session_id,
|
||||
const LLUUID& parent, const LLTransactionID& transaction_id,
|
||||
const std::string& name, const std::string& desc,
|
||||
LLSettingsType settype,
|
||||
LLSettingsType::type_e settype,
|
||||
U32 next_owner_perm, LLPointer<LLInventoryCallback> cb);
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2895,8 +2895,6 @@ void LLViewerRegionImpl::buildCapabilityNames(LLSD& capabilityNames)
|
|||
capabilityNames.append("UpdateGestureTaskInventory");
|
||||
capabilityNames.append("UpdateNotecardAgentInventory");
|
||||
capabilityNames.append("UpdateNotecardTaskInventory");
|
||||
capabilityNames.append("UpdateSettingsAgentInventory");
|
||||
capabilityNames.append("UpdateSettingsTaskInventory");
|
||||
capabilityNames.append("UpdateScriptAgent");
|
||||
capabilityNames.append("UpdateScriptTask");
|
||||
capabilityNames.append("UpdateSettingsAgentInventory");
|
||||
|
|
|
|||
|
|
@ -540,7 +540,9 @@ LLUIImagePtr LLEmbeddedItems::getItemImage(llwchar ext_char) const
|
|||
case LLAssetType::AT_ANIMATION: img_name = "Inv_Animation"; break;
|
||||
case LLAssetType::AT_GESTURE: img_name = "Inv_Gesture"; break;
|
||||
case LLAssetType::AT_MESH: img_name = "Inv_Mesh"; break;
|
||||
default: img_name = "Inv_Invalid"; break; // use the Inv_Invalid icon for undefined object types (see MAINT-3981)
|
||||
case LLAssetType::AT_SETTINGS: img_name = "Inv_Settings"; break;
|
||||
default: img_name = "Inv_Invalid"; break; // use the Inv_Invalid icon for undefined object types (see MAINT-3981)
|
||||
|
||||
}
|
||||
|
||||
return LLUI::getUIImage(img_name);
|
||||
|
|
|
|||
|
|
@ -323,6 +323,12 @@ with the same filename but different name
|
|||
<texture name="Inv_Underpants" file_name="icons/Inv_Underpants.png" preload="false" />
|
||||
<texture name="Inv_Undershirt" file_name="icons/Inv_Undershirt.png" preload="false" />
|
||||
<texture name="Inv_Link" file_name="icons/Inv_Link.png" preload="false" />
|
||||
|
||||
<texture name="Inv_Settings" file_name="icons/Inv_Settings.png" preload="false" />
|
||||
<texture name="Inv_SettingsSky" file_name="icons/Inv_SettingsSky.png" preload="false" />
|
||||
<texture name="Inv_SettingsWater" file_name="icons/Inv_SettingsWater.png" preload="false" />
|
||||
<texture name="Inv_SettingsDay" file_name="icons/Inv_SettingsDay.png" preload="false" />
|
||||
|
||||
<texture name="Inv_Invalid" file_name="icons/Inv_Invalid.png" preload="false" />
|
||||
<texture name="Inv_VersionFolderClosed" file_name="icons/Inv_VersionFolderClosed.png" preload="false" />
|
||||
<texture name="Inv_VersionFolderOpen" file_name="icons/Inv_VersionFolderOpen.png" preload="false" />
|
||||
|
|
|
|||
Loading…
Reference in New Issue