Merge branch 'DRTVWR-507-maint' of https://bitbucket.org/lindenlab/viewer

master
Ansariel 2020-06-03 12:28:08 +02:00
commit e7c9024d75
88 changed files with 406 additions and 369 deletions

View File

@ -839,6 +839,7 @@ Kithrak Kirkorian
Kitty Barnett
BUG-228664
BUG-228665
BUG-228719
VWR-19699
STORM-288
STORM-799

View File

@ -987,13 +987,6 @@ void LLAgentWearables::addWearableToAgentInventory(LLPointer<LLInventoryCallback
void LLAgentWearables::removeWearable(const LLWearableType::EType type, bool do_remove_all, U32 index)
{
if (gAgent.isTeen() &&
(type == LLWearableType::WT_UNDERSHIRT || type == LLWearableType::WT_UNDERPANTS))
{
// Can't take off underclothing in simple UI mode or on PG accounts
// TODO: enable the removing of a single undershirt/underpants if multiple are worn. - Nyx
return;
}
if (getWearableCount(type) == 0)
{
// no wearables to remove

View File

@ -141,6 +141,7 @@ protected:
{
LLUICtrl::CommitCallbackRegistry::ScopedRegistrar registrar;
registrar.add("Attachment.Touch", boost::bind(handleMultiple, handle_attachment_touch, mUUIDs));
registrar.add("Attachment.Edit", boost::bind(handleMultiple, handle_item_edit, mUUIDs));
registrar.add("Attachment.Detach", boost::bind(&LLAppearanceMgr::removeItemsFromAvatar, LLAppearanceMgr::getInstance(), mUUIDs));
@ -154,7 +155,11 @@ protected:
{
const std::string event_name = userdata.asString();
if ("edit" == event_name)
if ("touch" == event_name)
{
return (1 == mUUIDs.size()) && (enable_attachment_touch(mUUIDs.front()));
}
else if ("edit" == event_name)
{
return (1 == mUUIDs.size()) && (get_is_item_editable(mUUIDs.front()));
}

View File

@ -1000,7 +1000,7 @@ bool LLEnvironment::canAgentUpdateRegionEnvironment() const
if (gAgent.isGodlike())
return true;
return gAgent.getRegion()->canManageEstate();
return gAgent.canManageEstate();
}
bool LLEnvironment::isExtendedEnvironmentEnabled() const
@ -1056,7 +1056,8 @@ F32 LLEnvironment::getCamHeight() const
F32 LLEnvironment::getWaterHeight() const
{
return gAgent.getRegion()->getWaterHeight();
LLViewerRegion* cur_region = gAgent.getRegion();
return cur_region ? cur_region->getWaterHeight() : DEFAULT_WATER_HEIGHT;
}
bool LLEnvironment::getIsSunUp() const

View File

@ -95,10 +95,7 @@
#include "aoengine.h"
// </FS:TT>
#include "llparcel.h"
#include "llviewerparcelmgr.h"
// <FS:Zi> Do not allow "Restore To Last Postiion" for no-copy items
// <FS:Zi> Do not allow "Restore To Last Position" for no-copy items
#ifdef OPENSIM
#include "fsgridhandler.h"
#endif
@ -6993,70 +6990,6 @@ LLInventoryObject* LLObjectBridge::getObject() const
return object;
}
// [RLVa:KB] - Checked: 2012-08-15 (RLVa-1.4.7)
bool enable_attachment_touch(const LLUUID& idItem)
{
const LLInventoryItem* pItem = gInventory.getItem(idItem);
if ( (isAgentAvatarValid()) && (pItem) && (LLAssetType::AT_OBJECT == pItem->getType()) )
{
const LLViewerObject* pAttachObj = gAgentAvatarp->getWornAttachment(pItem->getLinkedUUID());
return (pAttachObj) && (pAttachObj->flagHandleTouch()) && ( (!RlvActions::isRlvEnabled()) || (RlvActions::canTouch(gAgentAvatarp->getWornAttachment(idItem))) );
}
return false;
}
// [/RLVa:KB]
// <FS:Ansariel> Touch worn objects
void handle_attachment_touch(const LLUUID& idItem)
{
if (!enable_attachment_touch(idItem))
{
return;
}
const LLInventoryItem* pItem = gInventory.getItem(idItem);
if ( (!isAgentAvatarValid()) || (!pItem) )
return;
LLViewerObject* pAttachObj = gAgentAvatarp->getWornAttachment(pItem->getLinkedUUID());
if (!pAttachObj)
return;
LLMessageSystem *msg = gMessageSystem;
msg->newMessageFast(_PREHASH_ObjectGrab);
msg->nextBlockFast( _PREHASH_AgentData);
msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
msg->nextBlockFast( _PREHASH_ObjectData);
msg->addU32Fast( _PREHASH_LocalID, pAttachObj->mLocalID);
msg->addVector3Fast(_PREHASH_GrabOffset, LLVector3::zero);
msg->nextBlock("SurfaceInfo");
msg->addVector3("UVCoord", LLVector3::zero);
msg->addVector3("STCoord", LLVector3::zero);
msg->addS32Fast(_PREHASH_FaceIndex, 0);
msg->addVector3("Position", pAttachObj->getPosition());
msg->addVector3("Normal", LLVector3::zero);
msg->addVector3("Binormal", LLVector3::zero);
msg->sendMessage( pAttachObj->getRegion()->getHost());
msg->newMessageFast(_PREHASH_ObjectDeGrab);
msg->nextBlockFast(_PREHASH_AgentData);
msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
msg->nextBlockFast(_PREHASH_ObjectData);
msg->addU32Fast(_PREHASH_LocalID, pAttachObj->mLocalID);
msg->nextBlock("SurfaceInfo");
msg->addVector3("UVCoord", LLVector3::zero);
msg->addVector3("STCoord", LLVector3::zero);
msg->addS32Fast(_PREHASH_FaceIndex, 0);
msg->addVector3("Position", pAttachObj->getPosition());
msg->addVector3("Normal", LLVector3::zero);
msg->addVector3("Binormal", LLVector3::zero);
msg->sendMessage(pAttachObj->getRegion()->getHost());
}
// </FS:Ansariel>
// <FS:Zi> Texture Refresh on worn attachments
void handle_attachment_texture_refresh(const LLUUID& idItem)
{
@ -7122,16 +7055,14 @@ void LLObjectBridge::performAction(LLInventoryModel* model, std::string action)
{
LLAppearanceMgr::instance().wearItemOnAvatar(mUUID, true, false); // Don't replace if adding.
}
else if ("edit" == action)
{
handle_attachment_edit(mUUID);
}
// <FS:Ansariel> Touch worn objects
else if ("touch" == action)
{
handle_attachment_touch(mUUID);
}
// </FS:Ansariel>
else if ("edit" == action)
{
handle_attachment_edit(mUUID);
}
// <FS:Zi> Texture Refresh on worn attachments
else if ("texture_refresh_attachment" == action)
{
@ -7320,14 +7251,17 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
{
items.push_back(std::string("Wearable And Object Separator"));
items.push_back(std::string("Attachment Touch"));
if ( ((flags & FIRST_SELECTED_ITEM) == 0) || !enable_attachment_touch(mUUID) )
{
disabled_items.push_back(std::string("Attachment Touch"));
}
items.push_back(std::string("Wearable Edit"));
if ( ((flags & FIRST_SELECTED_ITEM) == 0) || !get_is_item_editable(mUUID) )
{
disabled_items.push_back(std::string("Wearable Edit"));
}
items.push_back(std::string("Touch Attachment"));
if ( ((flags & FIRST_SELECTED_ITEM) == 0) || (!enable_attachment_touch(mUUID)) )
disabled_items.push_back(std::string("Touch Attachment"));
// <FS:Zi> Texture Refresh on worn attachments
if (item->getType() == LLAssetType::AT_OBJECT)

View File

@ -2003,6 +2003,12 @@ EMeshProcessingResult LLMeshRepoThread::lodReceived(const LLVolumeParams& mesh_p
{
LLMutexLock lock(mMutex);
mLoadedQ.push(mesh);
// LLPointer is not thread safe, since we added this pointer into
// threaded list, make sure counter gets decreased inside mutex lock
// and won't affect mLoadedQ processing
volume = NULL;
// might be good idea to turn mesh into pointer to avoid making a copy
mesh.mVolume = NULL;
}
return MESH_OK;
}
@ -2930,12 +2936,12 @@ void LLMeshRepoThread::notifyLoadedMeshes()
mMutex->unlock();
break;
}
LoadedMesh mesh = mLoadedQ.front();
LoadedMesh mesh = mLoadedQ.front(); // make sure nothing else owns volume pointer by this point
mLoadedQ.pop();
mMutex->unlock();
update_metrics = true;
if (mesh.mVolume && mesh.mVolume->getNumVolumeFaces() > 0)
if (mesh.mVolume->getNumVolumeFaces() > 0)
{
gMeshRepo.notifyMeshLoaded(mesh.mMeshParams, mesh.mVolume);
}

View File

@ -78,7 +78,7 @@ BOOL LLPanelLandmarkInfo::postBuild()
mCreator = getChild<LLTextBox>("creator");
mCreated = getChild<LLTextBox>("created");
mLandmarkTitle = getChild<LLTextBox>("title_value");
mLandmarkTitle = getChild<LLLineEditor>("title_value");
mLandmarkTitleEditor = getChild<LLLineEditor>("title_editor");
mNotesEditor = getChild<LLTextEditor>("notes_editor");
mFolderCombo = getChild<LLComboBox>("folder_combo");
@ -117,6 +117,7 @@ void LLPanelLandmarkInfo::setInfoType(EInfoType type)
landmark_info_panel->setVisible(type == LANDMARK);
getChild<LLTextBox>("folder_label")->setVisible(is_info_type_create_landmark);
getChild<LLButton>("edit_btn")->setVisible(!is_info_type_create_landmark);
mFolderCombo->setVisible(is_info_type_create_landmark);
switch(type)
@ -134,10 +135,6 @@ void LLPanelLandmarkInfo::setInfoType(EInfoType type)
std::string name = parcel->getName();
LLVector3 agent_pos = gAgent.getPositionAgent();
std::string desc;
LLAgentUI::buildLocationString(desc, LLAgentUI::LOCATION_FORMAT_FULL, agent_pos);
mNotesEditor->setText(desc);
if (name.empty())
{
S32 region_x = ll_round(agent_pos.mV[VX]);
@ -152,6 +149,7 @@ void LLPanelLandmarkInfo::setInfoType(EInfoType type)
}
else
{
std::string desc;
LLAgentUI::buildLocationString(desc, LLAgentUI::LOCATION_FORMAT_NORMAL, agent_pos);
region_name = desc;
}
@ -349,6 +347,7 @@ void LLPanelLandmarkInfo::toggleLandmarkEditMode(BOOL enabled)
mNotesEditor->setReadOnly(!enabled);
mFolderCombo->setVisible(enabled);
getChild<LLTextBox>("folder_label")->setVisible(enabled);
getChild<LLButton>("edit_btn")->setVisible(!enabled);
// HACK: To change the text color in a text editor
// when it was enabled/disabled we set the text once again.

View File

@ -71,7 +71,7 @@ private:
LLTextBox* mOwner;
LLTextBox* mCreator;
LLTextBox* mCreated;
LLTextBox* mLandmarkTitle;
LLLineEditor* mLandmarkTitle;
LLLineEditor* mLandmarkTitleEditor;
LLTextEditor* mNotesEditor;
LLComboBox* mFolderCombo;

View File

@ -562,7 +562,7 @@ void LLPanelLogin::populateFields(LLPointer<LLCredential> credential, bool remem
{
sInstance->getChild<LLUICtrl>("remember_name")->setValue(remember_user);
LLUICtrl* remember_password = sInstance->getChild<LLUICtrl>("remember_password");
remember_password->setValue(remember_psswrd);
remember_password->setValue(remember_user && remember_psswrd);
remember_password->setEnabled(remember_user);
sInstance->populateUserList(credential);
}
@ -1144,7 +1144,11 @@ void LLPanelLogin::onRememberUserCheck(void*)
remember_name->setValue(true);
LLNotificationsUtil::add("LoginCantRemoveUsername");
}
remember_psswrd->setEnabled(remember);
if (!remember)
{
remember_psswrd->setValue(false);
}
remember_psswrd->setEnabled(remember);
}
}

View File

@ -59,6 +59,7 @@
#include "llinventorymodel.h"
#include "lllandmarkactions.h"
#include "lllandmarklist.h"
#include "lllayoutstack.h"
#include "llpanellandmarkinfo.h"
#include "llpanellandmarks.h"
#include "llpanelpick.h"
@ -291,9 +292,6 @@ BOOL LLPanelPlaces::postBuild()
mShowOnMapBtn = getChild<LLButton>("map_btn");
mShowOnMapBtn->setClickedCallback(boost::bind(&LLPanelPlaces::onShowOnMapButtonClicked, this));
mEditBtn = getChild<LLButton>("edit_btn");
mEditBtn->setClickedCallback(boost::bind(&LLPanelPlaces::onEditButtonClicked, this));
mSaveBtn = getChild<LLButton>("save_btn");
mSaveBtn->setClickedCallback(boost::bind(&LLPanelPlaces::onSaveButtonClicked, this));
@ -366,6 +364,9 @@ BOOL LLPanelPlaces::postBuild()
LLComboBox* folder_combo = mLandmarkInfo->getChild<LLComboBox>("folder_combo");
folder_combo->setCommitCallback(boost::bind(&LLPanelPlaces::onEditButtonClicked, this));
LLButton* edit_btn = mLandmarkInfo->getChild<LLButton>("edit_btn");
edit_btn->setCommitCallback(boost::bind(&LLPanelPlaces::onEditButtonClicked, this));
createTabs();
updateVerbs();
@ -566,7 +567,6 @@ void LLPanelPlaces::setItem(LLInventoryItem* item)
BOOL is_landmark_editable = gInventory.isObjectDescendentOf(mItem->getUUID(), gInventory.getRootFolderID()) &&
mItem->getPermissions().allowModifyBy(gAgent.getID());
mEditBtn->setEnabled(is_landmark_editable);
mSaveBtn->setEnabled(is_landmark_editable);
if (is_landmark_editable)
@ -1254,13 +1254,16 @@ void LLPanelPlaces::updateVerbs()
mTeleportBtn->setVisible(!is_create_landmark_visible && !isLandmarkEditModeOn && !is_pick_panel_visible);
mShowOnMapBtn->setVisible(!is_create_landmark_visible && !isLandmarkEditModeOn && !is_pick_panel_visible);
mOverflowBtn->setVisible(is_place_info_visible && !is_create_landmark_visible && !isLandmarkEditModeOn);
mEditBtn->setVisible(mPlaceInfoType == LANDMARK_INFO_TYPE && !isLandmarkEditModeOn);
mSaveBtn->setVisible(isLandmarkEditModeOn);
mCancelBtn->setVisible(isLandmarkEditModeOn);
mCloseBtn->setVisible(is_create_landmark_visible && !isLandmarkEditModeOn);
mPlaceInfoBtn->setVisible(!is_place_info_visible && !is_create_landmark_visible && !isLandmarkEditModeOn && !is_pick_panel_visible);
bool show_options_btn = is_place_info_visible && !is_create_landmark_visible && !isLandmarkEditModeOn;
mOverflowBtn->setVisible(show_options_btn);
getChild<LLLayoutPanel>("lp_options")->setVisible(show_options_btn);
getChild<LLLayoutPanel>("lp2")->setVisible(!show_options_btn);
mPlaceInfoBtn->setEnabled(!is_create_landmark_visible && !isLandmarkEditModeOn && have_3d_pos);
if (is_place_info_visible)

View File

@ -128,7 +128,6 @@ private:
LLButton* mPlaceProfileBackBtn;
LLButton* mTeleportBtn;
LLButton* mShowOnMapBtn;
LLButton* mEditBtn;
LLButton* mSaveBtn;
LLButton* mCancelBtn;
LLButton* mCloseBtn;

View File

@ -72,6 +72,7 @@ public:
LLUICtrl::CommitCallbackRegistry::ScopedRegistrar registrar;
LLUICtrl::EnableCallbackRegistry::ScopedRegistrar enable_registrar;
registrar.add("Gear.TouchAttach", boost::bind(&LLWearingGearMenu::handleMultiple, this, handle_attachment_touch));
registrar.add("Gear.EditItem", boost::bind(&LLWearingGearMenu::handleMultiple, this, handle_item_edit));
registrar.add("Gear.EditOutfit", boost::bind(&edit_outfit));
registrar.add("Gear.TakeOff", boost::bind(&LLPanelWearing::onRemoveItem, mPanelWearing));
@ -111,6 +112,7 @@ protected:
{
LLUICtrl::CommitCallbackRegistry::ScopedRegistrar registrar;
registrar.add("Wearing.TouchAttach", boost::bind(handleMultiple, handle_attachment_touch, mUUIDs));
registrar.add("Wearing.EditItem", boost::bind(handleMultiple, handle_item_edit, mUUIDs));
registrar.add("Wearing.EditOutfit", boost::bind(&edit_outfit));
registrar.add("Wearing.ShowOriginal", boost::bind(show_item_original, mUUIDs.front()));
@ -174,15 +176,18 @@ protected:
// [RLVa:KB] - Checked: 2012-07-28 (RLVa-1.4.7)
bool rlv_blocked = (mUUIDs.size() == rlv_locked_count);
// [/RLVa:KB]
bool show_touch = !bp_selected && !clothes_selected && attachments_selected;
bool show_edit = bp_selected || clothes_selected || attachments_selected;
bool allow_detach = !bp_selected && !clothes_selected && attachments_selected;
bool allow_take_off = !bp_selected && clothes_selected && !attachments_selected;
menu->setItemVisible("touch_attach", show_touch);
menu->setItemEnabled("touch_attach", 1 == mUUIDs.size() && enable_attachment_touch(mUUIDs.front()));
menu->setItemVisible("edit_item", show_edit);
menu->setItemEnabled("edit_item", 1 == mUUIDs.size() && get_is_item_editable(mUUIDs.front()));
menu->setItemVisible("take_off", allow_take_off);
menu->setItemVisible("detach", allow_detach);
menu->setItemVisible("edit_outfit_separator", show_edit | allow_take_off || allow_detach);
menu->setItemVisible("edit_outfit_separator", show_touch | show_edit | allow_take_off || allow_detach);
menu->setItemVisible("show_original", mUUIDs.size() == 1);
// [SL:KB] - Patch: Inventory-AttachmentEdit - Checked: 2010-09-04 (Catznip-2.2.0a) | Added: Catznip-2.1.2a
menu->setItemVisible("take_off_or_detach", (!allow_detach) && (!allow_take_off) && (clothes_selected) && (attachments_selected));
@ -218,6 +223,8 @@ protected:
void updateMenuItemsVisibility(LLContextMenu* menu)
{
menu->setItemVisible("touch_attach", TRUE);
menu->setItemEnabled("touch_attach", 1 == mUUIDs.size());
menu->setItemVisible("edit_item", TRUE);
menu->setItemEnabled("edit_item", 1 == mUUIDs.size());
menu->setItemVisible("take_off", FALSE);
@ -408,7 +415,11 @@ bool LLPanelWearing::isActionEnabled(const LLSD& userdata)
uuid_vec_t selected_uuids;
getSelectedItemsUUIDs(selected_uuids);
if (command_name == "edit_item")
if (command_name == "touch_attach")
{
return (1 == selected_uuids.size()) && (enable_attachment_touch(selected_uuids.front()));
}
else if (command_name == "edit_item")
{
return (1 == selected_uuids.size()) && (get_is_item_editable(selected_uuids.front()));
}

View File

@ -1865,7 +1865,6 @@ bool idle_startup()
display_startup();
gAgentCamera.init();
display_startup();
set_underclothes_menu_options();
display_startup();
// Since we connected, save off the settings so the user doesn't have to

View File

@ -616,6 +616,9 @@ bool LLTextureCacheRemoteWorker::doWrite()
if(idx >= 0)
{
// write to the fast cache.
// mRawImage is not entirely safe here since it is a pointer to one owned by cache worker,
// it could have been retrieved via getRequestFinished() and then modified.
// If writeToFastCache crashes, something is wrong around fetch worker.
if(!mCache->writeToFastCache(mID, idx, mRawImage, mRawDiscardLevel))
{
LL_WARNS() << "writeToFastCache failed" << LL_ENDL;
@ -2197,8 +2200,8 @@ bool LLTextureCache::writeToFastCache(LLUUID image_id, S32 id, LLPointer<LLImage
h >>= i;
if(w * h *c > 0) //valid
{
//make a duplicate to keep the original raw image untouched.
// Make a duplicate to keep the original raw image untouched.
// Might be good idea to do a copy during writeToCache() call instead of here
try
{
#if LL_WINDOWS

View File

@ -1998,6 +1998,11 @@ bool LLTextureFetchWorker::doWork(S32 param)
setState(WAIT_ON_WRITE);
++mCacheWriteCount;
CacheWriteResponder* responder = new CacheWriteResponder(mFetcher, mID);
// This call might be under work mutex, but mRawImage is not nessesary safe here.
// If something retrieves it via getRequestFinished() and modifies, image won't
// be protected by work mutex and won't be safe to use here nor in cache worker.
// So make sure users of getRequestFinished() does not attempt to modify image while
// fetcher is working
mCacheWriteHandle = mFetcher->mTextureCache->writeToCache(mID, cache_priority,
mFormattedImage->getData(), datasize,
mFileSize, mRawImage, mDecodedDiscard, responder);

View File

@ -92,6 +92,7 @@ public:
void deleteAllRequests();
// Threads: T*
// keep in mind that if fetcher isn't done, it still might need original raw image
bool getRequestFinished(const LLUUID& id, S32& discard_level,
LLPointer<LLImageRaw>& raw, LLPointer<LLImageRaw>& aux,
LLCore::HttpStatus& last_http_get_status);

View File

@ -447,20 +447,6 @@ void initialize_menus();
// Break up groups of more than 6 items with separators
//-----------------------------------------------------------------------------
void set_underclothes_menu_options()
{
if (gMenuHolder && gAgent.isTeen())
{
gMenuHolder->getChild<LLView>("Self Underpants")->setVisible(FALSE);
gMenuHolder->getChild<LLView>("Self Undershirt")->setVisible(FALSE);
}
if (gMenuBarView && gAgent.isTeen())
{
gMenuBarView->getChild<LLView>("Menu Underpants")->setVisible(FALSE);
gMenuBarView->getChild<LLView>("Menu Undershirt")->setVisible(FALSE);
}
}
void set_merchant_SLM_menu()
{
// All other cases (new merchant, not merchant, migrated merchant): show the new Marketplace Listings menu and enable the tool
@ -3481,6 +3467,46 @@ void handle_attachment_edit(const LLUUID& inv_item_id)
}
}
void handle_attachment_touch(const LLUUID& inv_item_id)
{
if ( (isAgentAvatarValid()) && (enable_attachment_touch(inv_item_id)) )
{
if (LLViewerObject* attach_obj = gAgentAvatarp->getWornAttachment(gInventory.getLinkedItemID(inv_item_id)))
{
LLSelectMgr::getInstance()->deselectAll();
LLObjectSelectionHandle sel = LLSelectMgr::getInstance()->selectObjectAndFamily(attach_obj);
if (!LLToolMgr::getInstance()->inBuildMode())
{
struct SetTransient : public LLSelectedNodeFunctor
{
bool apply(LLSelectNode* node)
{
node->setTransient(TRUE);
return true;
}
} f;
sel->applyToNodes(&f);
}
handle_object_touch();
}
}
}
bool enable_attachment_touch(const LLUUID& inv_item_id)
{
if (isAgentAvatarValid())
{
const LLViewerObject* attach_obj = gAgentAvatarp->getWornAttachment(gInventory.getLinkedItemID(inv_item_id));
return (attach_obj) && (attach_obj->flagHandleTouch()) && ( (!RlvActions::isRlvEnabled()) || (RlvActions::canTouch(gAgentAvatarp->getWornAttachment(inv_item_id))) );
// [RLVa:KB] - Checked: 2012-08-15 (RLVa-1.4.7)
//return (attach_obj) && (attach_obj->flagHandleTouch());
// [/RLVa:KB]
}
return false;
}
void handle_object_inspect()
{
LLObjectSelectionHandle selection = LLSelectMgr::getInstance()->getSelection();

View File

@ -90,7 +90,6 @@ void handle_detach(void*);
BOOL enable_god_full(void* user_data);
BOOL enable_god_liaison(void* user_data);
BOOL enable_god_basic(void* user_data);
void set_underclothes_menu_options();
void check_merchant_status(bool force = false);
void exchange_callingcard(const LLUUID& dest_id);
@ -122,7 +121,10 @@ void handle_zoom_to_object(LLUUID object_id, const LLVector3d& object_pos = LLVe
void handle_object_return();
void handle_object_delete();
void handle_object_edit();
void handle_attachment_edit(const LLUUID& inv_item_id);
void handle_attachment_touch(const LLUUID& inv_item_id);
bool enable_attachment_touch(const LLUUID& inv_item_id);
// <FS:Techwolf Lupindo> area search
// expose this function so other classes can call it

View File

@ -1307,20 +1307,22 @@ void LLViewerFetchedTexture::loadFromFastCache()
else
{
if (mBoostLevel == LLGLTexture::BOOST_ICON)
{
S32 expected_width = mKnownDrawWidth > 0 ? mKnownDrawWidth : DEFAULT_ICON_DIMENTIONS;
S32 expected_height = mKnownDrawHeight > 0 ? mKnownDrawHeight : DEFAULT_ICON_DIMENTIONS;
if (mRawImage && (mRawImage->getWidth() > expected_width || mRawImage->getHeight() > expected_height))
{
// scale oversized icon, no need to give more work to gl
mRawImage->scale(expected_width, expected_height);
}
// Shouldn't do anything usefull since texures in fast cache are 16x16,
// it is here in case fast cache changes.
S32 expected_width = mKnownDrawWidth > 0 ? mKnownDrawWidth : DEFAULT_ICON_DIMENTIONS;
S32 expected_height = mKnownDrawHeight > 0 ? mKnownDrawHeight : DEFAULT_ICON_DIMENTIONS;
if (mRawImage && (mRawImage->getWidth() > expected_width || mRawImage->getHeight() > expected_height))
{
// scale oversized icon, no need to give more work to gl
mRawImage->scale(expected_width, expected_height);
}
}
mRequestedDiscardLevel = mDesiredDiscardLevel + 1;
mIsRawImageValid = TRUE;
addToCreateTexture();
}
mRequestedDiscardLevel = mDesiredDiscardLevel + 1;
mIsRawImageValid = TRUE;
addToCreateTexture();
}
}
else
{
@ -1595,7 +1597,8 @@ BOOL LLViewerFetchedTexture::createTexture(S32 usename/*= 0*/)
mOrigWidth = mRawImage->getWidth();
mOrigHeight = mRawImage->getHeight();
// This is only safe because it's a local image and fetcher doesn't use raw data
// from local images, but this might become unsafe in case of changes to fetcher
if (mBoostLevel == BOOST_PREVIEW)
{
mRawImage->biasedScaleToPowerOfTwo(1024);
@ -2130,6 +2133,7 @@ bool LLViewerFetchedTexture::updateFetch()
if (mRawImage.notNull()) sRawCount--;
if (mAuxRawImage.notNull()) sAuxCount--;
// keep in mind that fetcher still might need raw image, don't modify original
bool finished = LLAppViewer::getTextureFetch()->getRequestFinished(getID(), fetch_discard, mRawImage, mAuxRawImage,
mLastHttpGetStatus);
if (mRawImage.notNull()) sRawCount++;
@ -2192,7 +2196,8 @@ bool LLViewerFetchedTexture::updateFetch()
if (mRawImage && (mRawImage->getWidth() > expected_width || mRawImage->getHeight() > expected_height))
{
// scale oversized icon, no need to give more work to gl
mRawImage->scale(expected_width, expected_height);
// since we got mRawImage from thread worker and image may be in use (ex: writing cache), make a copy
mRawImage = mRawImage->scaled(expected_width, expected_height);
}
}

View File

@ -38,6 +38,7 @@
#include "llgesturemgr.h"
#include "lltransutil.h"
#include "llviewerattachmenu.h"
#include "llviewermenu.h"
#include "llvoavatarself.h"
// [RLVa:KB] - Checked: 2011-05-22 (RLVa-1.3.1a)
#include "rlvactions.h"
@ -948,6 +949,7 @@ LLContextMenu* LLWearableItemsList::ContextMenu::createMenu()
// Register handlers for attachments.
registrar.add("Attachment.Detach",
boost::bind(&LLAppearanceMgr::removeItemsFromAvatar, LLAppearanceMgr::getInstance(), ids));
registrar.add("Attachment.Touch", boost::bind(handle_attachment_touch, selected_id));
registrar.add("Attachment.Profile", boost::bind(show_item_profile, selected_id));
registrar.add("Object.Attach", boost::bind(LLViewerAttachMenu::attachObjects, ids, _2));
@ -977,6 +979,7 @@ void LLWearableItemsList::ContextMenu::updateItemsVisibility(LLContextMenu* menu
U32 n_already_worn = 0; // number of items worn of same type as selected items
U32 n_links = 0; // number of links among the selected items
U32 n_editable = 0; // number of editable items among the selected ones
U32 n_touchable = 0; // number of touchable items among the selected ones
bool can_be_worn = true;
@ -1005,11 +1008,16 @@ void LLWearableItemsList::ContextMenu::updateItemsVisibility(LLContextMenu* menu
const bool is_link = item->getIsLinkType();
const bool is_worn = get_is_item_worn(id);
const bool is_editable = get_is_item_editable(id);
const bool is_touchable = enable_attachment_touch(id);
const bool is_already_worn = gAgentWearables.selfHasWearable(wearable_type);
if (is_worn)
{
++n_worn;
}
if (is_touchable)
{
++n_touchable;
}
if (is_editable)
{
++n_editable;
@ -1075,6 +1083,8 @@ void LLWearableItemsList::ContextMenu::updateItemsVisibility(LLContextMenu* menu
setMenuItemEnabled(menu, "wear_replace", rlvCanWearReplace);
// [/RLVa:KB]
//visible only when one item selected and this item is worn
setMenuItemVisible(menu, "touch", !standalone && mask == MASK_ATTACHMENT && n_worn == n_items);
setMenuItemEnabled(menu, "touch", n_touchable && n_worn == 1 && n_items == 1);
setMenuItemVisible(menu, "edit", !standalone && mask & (MASK_CLOTHING|MASK_BODYPART|MASK_ATTACHMENT) && n_worn == n_items);
setMenuItemEnabled(menu, "edit", n_editable && n_worn == 1 && n_items == 1);
// <FS:Ansariel> Optional "Create new" menu item

View File

@ -76,6 +76,9 @@
<color
name="Gray"
value="0.5 0.5 0.5 1" />
<color
name="DkGray0"
value="0.27 0.27 0.27 1" />
<color
name="DkGray"
value="0.125 0.125 0.125 1" />

View File

@ -76,6 +76,9 @@
<color
name="Gray"
value="0.5 0.5 0.5 1" />
<color
name="DkGray0"
value="0.27 0.27 0.27 1" />
<color
name="DkGray"
value="0.125 0.125 0.125 1" />

View File

@ -76,6 +76,9 @@
<color
name="Gray"
value="0.5 0.5 0.5 1" />
<color
name="DkGray0"
value="0.27 0.27 0.27 1" />
<color
name="DkGray"
value="0.125 0.125 0.125 1" />

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="COF Attachment">
<menu_item_call label="Berør" name="touch_attach" />
<menu_item_call label="Redigér" name="edit_item" />
<menu_item_call label="Tag af" name="detach"/>
</context_menu>

View File

@ -78,6 +78,7 @@
<menu_item_call label="Tag på" name="Wearable And Object Wear"/>
<menu label="Vedhæft" name="Attach To"/>
<menu label="Vedhæft til HUD" name="Attach To HUD"/>
<menu_item_call label="Berør" name="Attachment Touch" />
<menu_item_call label="Redigér" name="Wearable Edit"/>
<menu_item_call label="Tilføj" name="Wearable Add"/>
<menu_item_call label="Tag af" name="Take Off"/>

View File

@ -3,6 +3,7 @@
<menu_item_call label="Erstat" name="wear_replace"/>
<menu_item_call label="Tag på" name="wear_wear"/>
<menu_item_call label="Tilføj" name="wear_add"/>
<menu_item_call label="Berør" name="touch" />
<menu_item_call label="Tag af" name="take_off_or_detach"/>
<menu_item_call label="Tag af" name="detach"/>
<context_menu label="Vedhæft til" name="wearable_attach_to"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="Gear Wearing">
<menu_item_call label="Berør" name="touch"/>
<menu_item_call label="Redigér" name="edit_item"/>
<menu_item_call label="Redigér sæt" name="edit_outfit"/>
<menu_item_call label="Tag af" name="takeoff"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Wearing">
<menu_item_call label="Berør" name="touch_attach"/>
<menu_item_call label="Redigér" name="edit_item"/>
<menu_item_call label="Tag af" name="take_off"/>
<menu_item_call label="Tag af" name="detach"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="COF Attachment">
<menu_item_call label="Berühren" name="touch_attach" />
<menu_item_call label="Bearbeiten" name="edit_item" />
<menu_item_call label="Abnehmen" name="detach"/>
</context_menu>

View File

@ -114,8 +114,8 @@
<menu_item_call label="Anziehen" name="Wearable And Object Wear"/>
<menu label="Anhängen an" name="Attach To"/>
<menu label="An HUD hängen" name="Attach To HUD"/>
<menu_item_call label="Berühren" name="Attachment Touch" />
<menu_item_call label="Bearbeiten" name="Wearable Edit"/>
<menu_item_call label="Berühren" name="Touch Attachment"/>
<menu_item_call label="In Gesamtansicht anzeigen" name="Show in Main Panel"/>
<menu_item_call label="Hinzufügen" name="Wearable Add"/>
<menu_item_call label="Texturen aktualisieren" name="Texture Refresh Attachment"/>

View File

@ -3,6 +3,7 @@
<menu_item_call label="Ersetzen" name="wear_replace"/>
<menu_item_call label="Anziehen" name="wear_wear"/>
<menu_item_call label="Hinzufügen" name="wear_add"/>
<menu_item_call label="Berühren" name="touch" />
<menu_item_call label="Ausziehen / Abnehmen" name="take_off_or_detach"/>
<menu_item_call label="Abnehmen" name="detach"/>
<context_menu label="Anhängen an" name="wearable_attach_to"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="Gear Wearing">
<menu_item_call label="Berühren" name="touch"/>
<menu_item_call label="Bearbeiten" name="edit_item"/>
<menu_item_call label="Outfit bearbeiten" name="edit_outfit"/>
<menu_item_call label="Ausziehen" name="takeoff"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Wearing">
<menu_item_call label="Berühren" name="touch_attach"/>
<menu_item_call label="Ausziehen" name="take_off"/>
<menu_item_call label="Abnehmen" name="detach"/>
<menu_item_call label="Ausziehen / Abnehmen" name="take_off_or_detach"/>

View File

@ -51,6 +51,7 @@
<text name="title_label" value="Titel:" width="70"/>
<text name="notes_label" value="Meine Notizen:"/>
<text name="folder_label" value="Landmarken-Position:"/>
<button label="Bearbeiten" name="edit_btn" tool_tip="Landmarken-Information bearbeiten" />
</panel>
</layout_panel>

View File

@ -15,15 +15,10 @@
</layout_panel>
</layout_stack>
</layout_panel>
<layout_panel name="lp_options">
<menu_button name="overflow_btn" tool_tip="Zusätzliche Optionen anzeigen"/>
</layout_panel>
<layout_panel name="lp2">
<layout_stack name="bottom_bar_ls3">
<layout_panel name="edit_btn_lp">
<button label="Bearbeiten" name="edit_btn" tool_tip="Landmarken-Info bearbeiten"/>
</layout_panel>
<layout_panel name="overflow_btn_lp">
<menu_button label="▼" name="overflow_btn" tool_tip="Zusätzliche Optionen anzeigen"/>
</layout_panel>
</layout_stack>
<layout_stack name="bottom_bar_profile_ls">
<layout_panel name="profile_btn_lp">
<button label="Profil" name="profile_btn" tool_tip="Ortsprofil anzeigen"/>

View File

@ -2,6 +2,16 @@
<context_menu
layout="topleft"
name="COF Attachment">
<menu_item_call
label="Touch"
layout="topleft"
name="touch_attach">
<on_click
function="Attachment.Touch" />
<on_enable
function="Attachment.OnEnable"
parameter="touch" />
</menu_item_call>
<menu_item_call
label="Edit"
layout="topleft"

View File

@ -906,6 +906,14 @@
label="Attach To HUD"
layout="topleft"
name="Attach To HUD" />
<menu_item_call
label="Touch"
layout="topleft"
name="Attachment Touch">
<menu_item_call.on_click
function="Inventory.DoToSelected"
parameter="touch" />
</menu_item_call>
<menu_item_call
label="Edit"
layout="topleft"
@ -914,14 +922,6 @@
function="Inventory.DoToSelected"
parameter="edit" />
</menu_item_call>
<menu_item_call
label="Touch"
layout="topleft"
name="Touch Attachment">
<menu_item_call.on_click
function="Inventory.DoToSelected"
parameter="touch" />
</menu_item_call>
<menu_item_call
label="Texture Refresh"
layout="topleft"

View File

@ -30,6 +30,12 @@
label="Attach to HUD"
layout="topleft"
name="wearable_attach_to_hud" />
<menu_item_call
label="Touch"
layout="topleft"
name="touch"
on_click.function="Attachment.Touch"
/>
<menu_item_call
label="Edit"
layout="topleft"

View File

@ -3,6 +3,16 @@
layout="topleft"
visible="false"
name="Gear Wearing">
<menu_item_call
label="Touch"
layout="topleft"
name="touch">
<on_click
function="Gear.TouchAttach" />
<on_enable
function="Gear.OnEnable"
parameter="touch_attach" />
</menu_item_call>
<menu_item_call
label="Edit"
layout="topleft"

View File

@ -2,6 +2,13 @@
<context_menu
layout="topleft"
name="Wearing">
<menu_item_call
label="Touch"
layout="topleft"
name="touch_attach">
<on_click
function="Wearing.TouchAttach" />
</menu_item_call>
<menu_item_call
label="Edit"
layout="topleft"

View File

@ -319,14 +319,18 @@
value="Title:"
width="60" />
<text
<line_editor
enabled="false"
use_bg_color="true"
bg_color="DkGray0"
parse_urls="false"
follows="left|top|right"
height="22"
layout="topleft"
left_pad="0"
top_delta="0"
name="title_value"
text_color="white"
top_delta="-3"
use_ellipses="true"
right="-1" />
@ -334,7 +338,6 @@
follows="left|top|right"
height="22"
layout="topleft"
top_pad="-27"
name="title_editor"
prevalidate_callback="ascii"
text_readonly_color="white"
@ -352,7 +355,7 @@
right="-1" />
<text_editor
bg_readonly_color="DkGray2"
bg_readonly_color="DkGray0"
follows="all"
height="90"
layout="topleft"
@ -384,6 +387,18 @@
top_pad="-20"
name="folder_combo"
right="-1" />
<button
follows="bottom|left|right"
height="23"
label="Edit"
layout="topleft"
left="0"
mouse_opaque="false"
name="edit_btn"
tool_tip="Edit landmark information"
top_delta="0"
width="100" />
</panel>
</layout_panel>

View File

@ -77,6 +77,7 @@
layout="topleft"
mouse_opaque="false"
name="bottom_bar_ls0"
animate="false"
left="4"
orientation="horizontal"
top="0"
@ -145,8 +146,32 @@
width="85" />
</layout_panel>
</layout_stack>
</layout_panel>
</layout_panel>
<!--*********************** Options button ***********************-->
<layout_panel
follows="bottom|right"
height="23"
layout="bottomleft"
left_pad="0"
mouse_opaque="false"
visible="false"
name="lp_options"
auto_resize="false"
width="23">
<menu_button
follows="bottom|right"
height="23"
image_disabled="ComboButton_UpOff"
image_unselected="ComboButton_UpOff"
image_selected="ComboButton_UpSelected"
layout="topleft"
mouse_opaque="false"
name="overflow_btn"
tool_tip="Show additional options"
top="0"
left="0"
width="23" />
</layout_panel>
<layout_panel
follows="bottom|left|right"
height="23"
@ -154,69 +179,9 @@
left_pad="0"
mouse_opaque="false"
name="lp2"
auto_resize="true"
auto_resize="true"
width="116">
<!--*********************** Edit, Options buttons ***********************-->
<layout_stack
follows="bottom|left|right"
height="23"
layout="topleft"
mouse_opaque="false"
name="bottom_bar_ls3"
left="0"
orientation="horizontal"
top="0"
width="113">
<layout_panel
follows="bottom|left|right"
height="23"
layout="bottomleft"
left_pad="0"
mouse_opaque="false"
name="edit_btn_lp"
auto_resize="true"
width="84">
<button
follows="bottom|left|right"
height="23"
label="Edit"
layout="topleft"
left="1"
mouse_opaque="false"
name="edit_btn"
tool_tip="Edit landmark information"
top="0"
width="83" />
</layout_panel>
<layout_panel
follows="bottom|right"
height="23"
layout="bottomleft"
left_pad="0"
mouse_opaque="false"
name="overflow_btn_lp"
auto_resize="true"
width="24">
<menu_button
follows="bottom|right"
height="23"
image_disabled="ComboButton_UpOff"
image_unselected="ComboButton_UpOff"
image_selected="ComboButton_UpSelected"
layout="topleft"
mouse_opaque="false"
name="overflow_btn"
tool_tip="Show additional options"
top="0"
left="1"
width="23" />
</layout_panel>
</layout_stack>
<!--*********************** Profile button ***********************-->
<layout_stack

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="COF Attachment">
<menu_item_call label="Tocar" name="touch_attach" />
<menu_item_call label="Editar" name="edit_item" />
<menu_item_call label="Quitar" name="detach"/>
</context_menu>

View File

@ -106,8 +106,8 @@
<menu_item_call label="Añadir" name="Wearable Add"/>
<menu label="Anexar a" name="Attach To"/>
<menu label="Anexar como HUD" name="Attach To HUD"/>
<menu_item_call label="Tocar" name="Attachment Touch" />
<menu_item_call label="Editar" name="Wearable Edit"/>
<menu_item_call label="Tocar" name="Touch Attachment"/>
<menu_item_call label="Quitarse" name="Take Off"/>
<menu_item_call label="Aplicar sólo a Mi mismo" name="Settings Apply Local"/>
<menu_item_call label="Aplicar a la Parcela" name="Settings Apply Parcel"/>

View File

@ -3,6 +3,7 @@
<menu_item_call label="Reemplazar" name="wear_replace"/>
<menu_item_call label="Ponerme" name="wear_wear"/>
<menu_item_call label="Añadir" name="wear_add"/>
<menu_item_call label="Tocar" name="touch" />
<menu_item_call label="Quitarme / Quitar" name="take_off_or_detach"/>
<menu_item_call label="Quitar" name="detach"/>
<context_menu label="Anexar a" name="wearable_attach_to"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="Gear Wearing">
<menu_item_call label="Tocar" name="touch"/>
<menu_item_call label="Editar" name="edit_item"/>
<menu_item_call label="Editar el vestuario" name="edit_outfit"/>
<menu_item_call label="Quitarme" name="takeoff"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Wearing">
<menu_item_call label="Tocar" name="touch_attach"/>
<menu_item_call label="Quitarme" name="take_off"/>
<menu_item_call label="Quitar" name="detach"/>
<menu_item_call label="Quitarme / Quitar" name="take_off_or_detach"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="COF Attachment">
<menu_item_call label="Toucher" name="touch_attach" />
<menu_item_call label="Modifier" name="edit_item" />
<menu_item_call label="Détacher" name="detach"/>
</context_menu>

View File

@ -105,6 +105,7 @@
<menu_item_call label="Porter" name="Wearable And Object Wear"/>
<menu label="Attacher à" name="Attach To"/>
<menu label="Attacher au HUD " name="Attach To HUD"/>
<menu_item_call label="Toucher" name="Attachment Touch" />
<menu_item_call label="Modifier" name="Wearable Edit"/>
<menu_item_call label="Ajouter" name="Wearable Add"/>
<menu_item_call label="Enlever" name="Take Off"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="Gear Wearing">
<menu_item_call label="Toucher" name="touch"/>
<menu_item_call label="Modifier" name="edit_item"/>
<menu_item_call label="Modifier la tenue" name="edit_outfit"/>
<menu_item_call label="Retirer" name="takeoff"/>

View File

@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Wearing">
<menu_item_call label="Retirer" name="take_off"/>
<menu_item_call label="Toucher" name="touch_attach"/>
<menu_item_call label="Enlever" name="take_off"/>
<menu_item_call label="Détacher" name="detach"/>
<menu_item_call label="Retirer / Détacher" name="take_off_or_detach"/>
<menu_item_call label="Modifier la tenue" name="edit_outfit"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="COF Attachment">
<menu_item_call label="Tocca" name="touch_attach" />
<menu_item_call label="Modifica" name="edit_item" />
<menu_item_call label="Stacca" name="detach"/>
</context_menu>

View File

@ -107,8 +107,8 @@
<menu_item_call label="Aggiungi" name="Wearable Add"/>
<menu label="Attacca a" name="Attach To"/>
<menu label="Attacca all&apos;HUD" name="Attach To HUD"/>
<menu_item_call label="Tocca" name="Attachment Touch" />
<menu_item_call label="Modifica" name="Wearable Edit"/>
<menu_item_call label="Tocca" name="Touch Attachment"/>
<menu_item_call label="Togli" name="Take Off"/>
<menu_item_call label="Stacca" name="Detach From Yourself"/>
<menu_item_call label="Copia negli annunci Marketplace" name="Marketplace Copy"/>

View File

@ -3,6 +3,7 @@
<menu_item_call label="Sostituisci" name="wear_replace"/>
<menu_item_call label="Indossa" name="wear_wear"/>
<menu_item_call label="Aggiungi" name="wear_add"/>
<menu_item_call label="Tocca" name="touch" />
<context_menu label="Attacca a" name="wearable_attach_to"/>
<context_menu label="Attacca a HUD" name="wearable_attach_to_hud"/>
<menu_item_call label="Modifica" name="edit"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="Gear Wearing">
<menu_item_call label="Tocca" name="touch"/>
<menu_item_call label="Modifica" name="edit_item"/>
<menu_item_call label="Modifica vestiario" name="edit_outfit"/>
<menu_item_call label="Togli" name="takeoff"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Wearing">
<menu_item_call label="Tocca" name="touch_attach"/>
<menu_item_call label="Togli" name="take_off"/>
<menu_item_call label="Stacca" name="detach"/>
<menu_item_call label="Modifica abito" name="edit_outfit"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="COF Attachment">
<menu_item_call label="触る" name="touch_attach" />
<menu_item_call label="編集" name="edit_item" />
<menu_item_call label="取り外す" name="detach"/>
</context_menu>

View File

@ -109,8 +109,8 @@
<menu_item_call label="追加" name="Wearable Add"/>
<menu label="装着先" name="Attach To"/>
<menu label="HUD 装着先" name="Attach To HUD"/>
<menu_item_call label="触る" name="Attachment Touch" />
<menu_item_call label="編集" name="Wearable Edit"/>
<menu_item_call label="触る" name="Touch Attachment" />
<menu_item_call label="テクスチャの更新" name="Texture Refresh Attachment" />
<menu_item_call label="取り外す" name="Take Off"/>
<menu_item_call label="自分から取り外す" name="Detach From Yourself" />

View File

@ -3,6 +3,7 @@
<menu_item_call label="交換" name="wear_replace"/>
<menu_item_call label="装着" name="wear_wear"/>
<menu_item_call label="追加" name="wear_add"/>
<menu_item_call label="触る" name="touch" />
<menu_item_call label="取り外す" name="take_off_or_detach"/>
<menu_item_call label="取り外す" name="detach"/>
<context_menu label="装着:" name="wearable_attach_to"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="Gear Wearing">
<menu_item_call label="触る" name="touch"/>
<menu_item_call label="編集" name="edit_item"/>
<menu_item_call label="アウトフットの編集" name="edit_outfit"/>
<menu_item_call label="取り外す" name="takeoff"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Wearing">
<menu_item_call label="触る" name="touch_attach"/>
<menu_item_call label="取り外す" name="take_off"/>
<menu_item_call label="取り外す" name="detach"/>
<menu_item_call label="取り外す" name="take_off_or_detach"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<context_menu name="COF Attachment">
<menu_item_call label="Dotknij" name="touch_attach" />
<menu_item_call label="Edytuj" name="edit_item" />
<menu_item_call label="Odłącz" name="detach" />
</context_menu>

View File

@ -115,8 +115,8 @@
<menu_item_call label="Dodaj/dołącz" name="Wearable Add"/>
<menu label="Dołącz do" name="Attach To"/>
<menu label="Dołącz do HUD-a" name="Attach To HUD"/>
<menu_item_call label="Dotknij" name="Attachment Touch"/>
<menu_item_call label="Edytuj" name="Wearable Edit"/>
<menu_item_call label="Dotknij" name="Touch Attachment"/>
<menu_item_call label="Odśwież tekstury" name="Texture Refresh Attachment" />
<menu_item_call label="Zdejmij" name="Take Off"/>
<menu_item_call label="Odłącz od siebie" name="Detach From Yourself"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<toggleable_menu name="Gear Wearing">
<menu_item_call label="Dotknij" name="touch"/>
<menu_item_call label="Edytuj" name="edit_item"/>
<menu_item_call label="Edytuj strój" name="edit_outfit" />
<menu_item_call label="Zdejmij" name="takeoff" />

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="COF Attachment">
<menu_item_call label="Tocar" name="touch_attach" />
<menu_item_call label="Editar" name="edit_item" />
<menu_item_call label="Separar" name="detach"/>
</context_menu>

View File

@ -105,6 +105,7 @@
<menu_item_call label="Vestir" name="Wearable And Object Wear"/>
<menu label="Anexar a" name="Attach To"/>
<menu label="Anexar ao HUD" name="Attach To HUD"/>
<menu_item_call label="Tocar" name="Attachment Touch" />
<menu_item_call label="Editar" name="Wearable Edit"/>
<menu_item_call label="Adicionar" name="Wearable Add"/>
<menu_item_call label="Tirar" name="Take Off"/>

View File

@ -3,6 +3,7 @@
<menu_item_call label="Trocar" name="wear_replace"/>
<menu_item_call label="Vestir" name="wear_wear"/>
<menu_item_call label="Adicionar" name="wear_add"/>
<menu_item_call label="Tocar" name="touch" />
<menu_item_call label="Tirar / Separar" name="take_off_or_detach"/>
<menu_item_call label="Separar" name="detach"/>
<context_menu label="Colocar em" name="wearable_attach_to"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="Gear Wearing">
<menu_item_call label="Tocar" name="touch"/>
<menu_item_call label="Editar" name="edit_item"/>
<menu_item_call label="Editar look" name="edit_outfit"/>
<menu_item_call label="Tirar" name="takeoff"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Wearing">
<menu_item_call label="Tocar" name="touch_attach"/>
<menu_item_call label="Tirar" name="take_off"/>
<menu_item_call label="Tirar" name="detach"/>
<menu_item_call label="Tirar" name="take_off_or_detach"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="COF Attachment">
<menu_item_call label="Коснуться" name="touch_attach" />
<menu_item_call label="Изменить" name="edit_item" />
<menu_item_call label="Отсоединить" name="detach"/>
</context_menu>

View File

@ -110,8 +110,8 @@
<menu_item_call label="Добавить" name="Wearable Add"/>
<menu label="Прикрепить" name="Attach To"/>
<menu label="Прикрепить к HUD" name="Attach To HUD"/>
<menu_item_call label="Коснуться" name="Attachment Touch"/>
<menu_item_call label="Редактировать" name="Wearable Edit"/>
<menu_item_call label="Коснуться" name="Touch Attachment"/>
<menu_item_call label="Обновить текстуру" name="Texture Refresh Attachment" />
<menu_item_call label="Снять" name="Take Off"/>
<menu_item_call label="Отделить от себя" name="Detach From Yourself"/>

View File

@ -3,6 +3,7 @@
<menu_item_call label="Заменить" name="wear_replace"/>
<menu_item_call label="Надеть" name="wear_wear"/>
<menu_item_call label="Добавить" name="wear_add"/>
<menu_item_call label="Коснуться" name="touch" />
<context_menu label="Присоединить" name="wearable_attach_to"/>
<context_menu label="Присоединить к HUD" name="wearable_attach_to_hud"/>
<menu_item_call label="Изменить" name="edit"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="Gear Wearing">
<menu_item_call label="Коснуться" name="touch"/>
<menu_item_call label="Изменить" name="edit_item"/>
<menu_item_call label="Изменить костюм" name="edit_outfit"/>
<menu_item_call label="Снять" name="takeoff"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Wearing">
<menu_item_call label="Коснуться" name="touch_attach"/>
<menu_item_call label="Снять" name="take_off"/>
<menu_item_call label="Отсоединить" name="detach"/>
<menu_item_call label="Снять/Отсоединить" name="take_off_or_detach"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="COF Attachment">
<menu_item_call label="Dokun" name="touch_attach" />
<menu_item_call label="Düzenle" name="edit_item" />
<menu_item_call label="Ayır" name="detach"/>
</context_menu>

View File

@ -105,6 +105,7 @@
<menu_item_call label="Giy" name="Wearable And Object Wear"/>
<menu label="Şuna Ekle:" name="Attach To"/>
<menu label="BÜG&apos;e Ekle" name="Attach To HUD"/>
<menu_item_call label="Dokun" name="Attachment Touch" />
<menu_item_call label="Düzenle" name="Wearable Edit"/>
<menu_item_call label="Ekle" name="Wearable Add"/>
<menu_item_call label=ıkar" name="Take Off"/>

View File

@ -3,6 +3,7 @@
<menu_item_call label="Değiştir" name="wear_replace"/>
<menu_item_call label="Giy" name="wear_wear"/>
<menu_item_call label="Ekle" name="wear_add"/>
<menu_item_call label="Dokun" name="touch" />
<menu_item_call label=ıkar / Ayır" name="take_off_or_detach"/>
<menu_item_call label="Ayır" name="detach"/>
<context_menu label="Şuna ekle" name="wearable_attach_to"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="Gear Wearing">
<menu_item_call label="Dokun" name="touch"/>
<menu_item_call label="Düzenle" name="edit_item"/>
<menu_item_call label="Dış Görünümü Düzenle" name="edit_outfit"/>
<menu_item_call label=ıkar" name="takeoff"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Wearing">
<menu_item_call label="Dokun" name="touch_attach"/>
<menu_item_call label=ıkar" name="take_off"/>
<menu_item_call label="Ayır" name="detach"/>
<menu_item_call label="Dış Görünümü Düzenle" name="edit_outfit"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="COF Attachment">
<menu_item_call label="觸碰" name="touch_attach" />
<menu_item_call label="編輯" name="edit_item" />
<menu_item_call label="卸下" name="detach"/>
</context_menu>

View File

@ -105,6 +105,7 @@
<menu_item_call label="穿上" name="Wearable And Object Wear"/>
<menu label="附著到..." name="Attach To"/>
<menu label="附著到擡頭顯示" name="Attach To HUD"/>
<menu_item_call label="觸碰" name="Attachment Touch" />
<menu_item_call label="編輯" name="Wearable Edit"/>
<menu_item_call label="添加" name="Wearable Add"/>
<menu_item_call label="脫下" name="Take Off"/>

View File

@ -3,6 +3,7 @@
<menu_item_call label="取代" name="wear_replace"/>
<menu_item_call label="穿上" name="wear_wear"/>
<menu_item_call label="添加" name="wear_add"/>
<menu_item_call label="觸碰" name="touch" />
<menu_item_call label="脫下裝扮 / 卸除附件" name="take_off_or_detach"/>
<menu_item_call label="卸下" name="detach"/>
<context_menu label="附著到..." name="wearable_attach_to"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="Gear Wearing">
<menu_item_call label="觸碰" name="touch"/>
<menu_item_call label="編輯" name="edit_item"/>
<menu_item_call label="編輯裝扮" name="edit_outfit"/>
<menu_item_call label="脫下" name="takeoff"/>

View File

@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<context_menu name="Wearing">
<menu_item_call label="觸碰" name="touch_attach"/>
<menu_item_call label="脫下" name="take_off"/>
<menu_item_call label="卸下" name="detach"/>
<menu_item_call label="編輯裝扮" name="edit_outfit"/>

View File

@ -326,20 +326,24 @@
layout="topleft"
left="0"
name="title_label"
top_pad="10"
top_pad="27"
value="Title:"
width="290" />
<text
<line_editor
text_readonly_color="white"
enabled="false"
use_bg_color="true"
bg_color="SL-Background"
parse_urls="false"
follows="left|top"
follows="left|top|right"
height="22"
layout="topleft"
left="0"
name="title_value"
text_color="White"
text_color="white"
top_pad="5"
use_ellipses="true"
width="290" />
right="290" />
<line_editor
follows="left|top|right"
height="22"
@ -381,7 +385,7 @@
layout="topleft"
left="0"
name="folder_label"
top_pad="15"
top_pad="20"
value="Landmark location:"
width="290" />
<combo_box
@ -390,8 +394,19 @@
layout="topleft"
left="0"
name="folder_combo"
top_pad="5"
top_delta="-5"
width="200" />
<button
follows="bottom|left|right"
height="23"
label="Edit"
layout="topleft"
left="0"
mouse_opaque="false"
name="edit_btn"
tool_tip="Edit landmark information"
top_delta="0"
width="100" />
</panel>
</panel>
</scroll_container>

View File

@ -80,6 +80,7 @@ background_visible="true"
layout="topleft"
mouse_opaque="false"
name="bottom_bar_ls0"
animate="false"
left="1"
orientation="horizontal"
top="0"
@ -148,8 +149,33 @@ background_visible="true"
width="85" />
</layout_panel>
</layout_stack>
</layout_panel>
</layout_panel>
<!--*********************** Options button ***********************-->
<layout_panel
follows="bottom|right"
height="23"
layout="bottomleft"
left_pad="0"
mouse_opaque="false"
visible="false"
name="lp_options"
auto_resize="false"
width="23">
<menu_button
follows="bottom|right"
height="23"
image_disabled="ComboButton_UpOff"
image_unselected="ComboButton_UpOff"
image_selected="ComboButton_UpSelected"
layout="topleft"
mouse_opaque="false"
name="overflow_btn"
tool_tip="Show additional options"
top="0"
left="0"
width="23" />
</layout_panel>
<layout_panel
follows="bottom|left|right"
height="23"
@ -157,67 +183,9 @@ background_visible="true"
left_pad="0"
mouse_opaque="false"
name="lp2"
auto_resize="true"
auto_resize="true"
width="111">
<!--*********************** Edit, Options buttons ***********************-->
<layout_stack
follows="bottom|left|right"
height="23"
layout="topleft"
mouse_opaque="false"
name="bottom_bar_ls3"
left="0"
orientation="horizontal"
top="0"
width="111">
<layout_panel
follows="bottom|left|right"
height="23"
layout="bottomleft"
left_pad="0"
mouse_opaque="false"
name="edit_btn_lp"
auto_resize="true"
width="84">
<button
follows="bottom|left|right"
height="23"
label="Edit"
layout="topleft"
left="1"
mouse_opaque="false"
name="edit_btn"
tool_tip="Edit landmark information"
top="0"
width="83" />
</layout_panel>
<layout_panel
follows="bottom|right"
height="23"
layout="bottomleft"
left_pad="0"
mouse_opaque="false"
name="overflow_btn_lp"
auto_resize="true"
width="24">
<menu_button
follows="bottom|right"
height="23"
image_overlay="OptionsMenu_Off"
layout="topleft"
mouse_opaque="false"
name="overflow_btn"
tool_tip="Show additional options"
top="0"
left="1"
width="23" />
</layout_panel>
</layout_stack>
<!--*********************** Profile button ***********************-->
<layout_stack

View File

@ -326,20 +326,24 @@
layout="topleft"
left="0"
name="title_label"
top_pad="10"
top_pad="27"
value="Title:"
width="290" />
<text
<line_editor
text_readonly_color="white"
enabled="false"
use_bg_color="true"
bg_color="SL-Background"
parse_urls="false"
follows="left|top"
follows="left|top|right"
height="22"
layout="topleft"
left="0"
name="title_value"
text_color="White"
text_color="white"
top_pad="5"
use_ellipses="true"
width="290" />
right="290" />
<line_editor
follows="left|top|right"
height="22"
@ -381,7 +385,7 @@
layout="topleft"
left="0"
name="folder_label"
top_pad="15"
top_pad="20"
value="Landmark location:"
width="290" />
<combo_box
@ -390,8 +394,19 @@
layout="topleft"
left="0"
name="folder_combo"
top_pad="5"
top_delta="-5"
width="200" />
<button
follows="bottom|left|right"
height="23"
label="Edit"
layout="topleft"
left="0"
mouse_opaque="false"
name="edit_btn"
tool_tip="Edit landmark information"
top_delta="0"
width="100" />
</panel>
</panel>
</scroll_container>

View File

@ -80,6 +80,7 @@ background_visible="true"
layout="topleft"
mouse_opaque="false"
name="bottom_bar_ls0"
animate="false"
left="1"
orientation="horizontal"
top="0"
@ -148,8 +149,33 @@ background_visible="true"
width="85" />
</layout_panel>
</layout_stack>
</layout_panel>
</layout_panel>
<!--*********************** Options button ***********************-->
<layout_panel
follows="bottom|right"
height="23"
layout="bottomleft"
left_pad="0"
mouse_opaque="false"
visible="false"
name="lp_options"
auto_resize="false"
width="23">
<menu_button
follows="bottom|right"
height="23"
image_disabled="ComboButton_UpOff"
image_unselected="ComboButton_UpOff"
image_selected="ComboButton_UpSelected"
layout="topleft"
mouse_opaque="false"
name="overflow_btn"
tool_tip="Show additional options"
top="0"
left="0"
width="23" />
</layout_panel>
<layout_panel
follows="bottom|left|right"
height="23"
@ -157,67 +183,9 @@ background_visible="true"
left_pad="0"
mouse_opaque="false"
name="lp2"
auto_resize="true"
auto_resize="true"
width="111">
<!--*********************** Edit, Options buttons ***********************-->
<layout_stack
follows="bottom|left|right"
height="23"
layout="topleft"
mouse_opaque="false"
name="bottom_bar_ls3"
left="0"
orientation="horizontal"
top="0"
width="111">
<layout_panel
follows="bottom|left|right"
height="23"
layout="bottomleft"
left_pad="0"
mouse_opaque="false"
name="edit_btn_lp"
auto_resize="true"
width="84">
<button
follows="bottom|left|right"
height="23"
label="Edit"
layout="topleft"
left="1"
mouse_opaque="false"
name="edit_btn"
tool_tip="Edit landmark information"
top="0"
width="83" />
</layout_panel>
<layout_panel
follows="bottom|right"
height="23"
layout="bottomleft"
left_pad="0"
mouse_opaque="false"
name="overflow_btn_lp"
auto_resize="true"
width="24">
<menu_button
follows="bottom|right"
height="23"
image_overlay="OptionsMenu_Off"
layout="topleft"
mouse_opaque="false"
name="overflow_btn"
tool_tip="Show additional options"
top="0"
left="1"
width="23" />
</layout_panel>
</layout_stack>
<!--*********************** Profile button ***********************-->
<layout_stack
@ -273,18 +241,18 @@ background_visible="true"
mouse_opaque="false"
name="close_btn_lp"
top="0"
auto_resize="true"
auto_resize="true"
width="51">
<button
follows="bottom|left|right"
height="23"
label="Close"
layout="topleft"
mouse_opaque="false"
mouse_opaque="false"
name="close_btn"
left="1"
top="0"
width="50" />
width="50"/>
</layout_panel>
</layout_stack>