Automated merge with file:///Users/oz/Work/viewer-development
commit
3337ef16ce
|
|
@ -355,6 +355,7 @@ Joghert LeSabre
|
|||
VWR-64
|
||||
Jonathan Yap
|
||||
VWR-17801
|
||||
STORM-616
|
||||
Kage Pixel
|
||||
VWR-11
|
||||
Ken March
|
||||
|
|
|
|||
|
|
@ -445,6 +445,7 @@ set(viewer_SOURCE_FILES
|
|||
lltoastimpanel.cpp
|
||||
lltoastnotifypanel.cpp
|
||||
lltoastpanel.cpp
|
||||
lltoastscripttextbox.cpp
|
||||
lltool.cpp
|
||||
lltoolbrush.cpp
|
||||
lltoolcomp.cpp
|
||||
|
|
@ -975,6 +976,7 @@ set(viewer_HEADER_FILES
|
|||
lltoastimpanel.h
|
||||
lltoastnotifypanel.h
|
||||
lltoastpanel.h
|
||||
lltoastscripttextbox.h
|
||||
lltool.h
|
||||
lltoolbrush.h
|
||||
lltoolcomp.h
|
||||
|
|
|
|||
|
|
@ -1365,6 +1365,17 @@
|
|||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>LetterKeysFocusChatBar</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>When printable characters keys (possibly with Shift held) are pressed, the chatbar takes focus</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>S32</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
<key>ChatBubbleOpacity</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
|
|||
|
|
@ -87,7 +87,6 @@ LLHUDNameTag::LLHUDNameTag(const U8 type)
|
|||
mZCompare(TRUE),
|
||||
mVisibleOffScreen(FALSE),
|
||||
mOffscreen(FALSE),
|
||||
mColor(1.f, 1.f, 1.f, 1.f),
|
||||
// mScale(),
|
||||
mWidth(0.f),
|
||||
mHeight(0.f),
|
||||
|
|
@ -109,6 +108,8 @@ LLHUDNameTag::LLHUDNameTag(const U8 type)
|
|||
{
|
||||
LLPointer<LLHUDNameTag> ptr(this);
|
||||
sTextObjects.insert(ptr);
|
||||
|
||||
mColor = LLUIColorTable::instance().getColor("BackgroundChatColor");
|
||||
}
|
||||
|
||||
LLHUDNameTag::~LLHUDNameTag()
|
||||
|
|
@ -256,6 +257,7 @@ void LLHUDNameTag::renderText(BOOL for_select)
|
|||
|
||||
LLColor4 shadow_color(0.f, 0.f, 0.f, 1.f);
|
||||
F32 alpha_factor = 1.f;
|
||||
mColor = LLUIColorTable::instance().getColor("BackgroundChatColor");
|
||||
LLColor4 text_color = mColor;
|
||||
if (mDoFade)
|
||||
{
|
||||
|
|
@ -521,7 +523,6 @@ void LLHUDNameTag::renderText(BOOL for_select)
|
|||
x_offset += 1;
|
||||
}
|
||||
|
||||
text_color = segment_iter->mColor;
|
||||
text_color.mV[VALPHA] *= alpha_factor;
|
||||
|
||||
hud_render_text(segment_iter->getText(), render_position, *fontp, style, shadow, x_offset, y_offset, text_color, FALSE);
|
||||
|
|
|
|||
|
|
@ -32,11 +32,13 @@
|
|||
#include "llchannelmanager.h"
|
||||
#include "llchiclet.h"
|
||||
#include "llfloaterreg.h"
|
||||
#include "lllslconstants.h"
|
||||
#include "llnotifications.h"
|
||||
#include "llnotificationsutil.h"
|
||||
#include "llscreenchannel.h"
|
||||
#include "llsyswellwindow.h"
|
||||
#include "lltoastnotifypanel.h"
|
||||
#include "lltoastscripttextbox.h"
|
||||
#include "lltrans.h"
|
||||
#include "llviewerwindow.h"
|
||||
#include "llimfloater.h"
|
||||
|
|
@ -151,10 +153,18 @@ void LLScriptFloater::createForm(const LLUUID& notification_id)
|
|||
|
||||
// create new form
|
||||
LLRect toast_rect = getRect();
|
||||
// LLToastNotifyPanel will fit own content in vertical direction,
|
||||
// but it needs an initial rect to properly calculate its width
|
||||
// Use an initial rect of the script floater to make the floater window more configurable.
|
||||
mScriptForm = new LLToastNotifyPanel(notification, toast_rect);
|
||||
if (isScriptTextbox(notification))
|
||||
{
|
||||
mScriptForm = new LLToastScriptTextbox(notification);
|
||||
}
|
||||
else
|
||||
{
|
||||
// LLToastNotifyPanel will fit own content in vertical direction,
|
||||
// but it needs an initial rect to properly calculate its width
|
||||
// Use an initial rect of the script floater to make the floater
|
||||
// window more configurable.
|
||||
mScriptForm = new LLToastNotifyPanel(notification, toast_rect);
|
||||
}
|
||||
addChild(mScriptForm);
|
||||
|
||||
// position form on floater
|
||||
|
|
@ -564,4 +574,32 @@ void LLScriptFloaterManager::setFloaterVisible(const LLUUID& notification_id, bo
|
|||
}
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////
|
||||
|
||||
bool LLScriptFloater::isScriptTextbox(LLNotificationPtr notification)
|
||||
{
|
||||
// get a form for the notification
|
||||
LLNotificationFormPtr form(notification->getForm());
|
||||
|
||||
if (form)
|
||||
{
|
||||
// get number of elements in the form
|
||||
int num_options = form->getNumElements();
|
||||
|
||||
// if ANY of the buttons have the magic lltextbox string as
|
||||
// name, then treat the whole dialog as a simple text entry
|
||||
// box (i.e. mixed button and textbox forms are not supported)
|
||||
for (int i=0; i<num_options; ++i)
|
||||
{
|
||||
LLSD form_element = form->getElement(i);
|
||||
if (form_element["name"].asString() == TEXTBOX_MAGIC_TOKEN)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// EOF
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@
|
|||
#define LL_SCRIPTFLOATER_H
|
||||
|
||||
#include "lltransientdockablefloater.h"
|
||||
#include "llnotificationptr.h"
|
||||
|
||||
class LLToastNotifyPanel;
|
||||
|
||||
|
|
@ -203,6 +204,8 @@ protected:
|
|||
void dockToChiclet(bool dock);
|
||||
|
||||
private:
|
||||
bool isScriptTextbox(LLNotificationPtr notification);
|
||||
|
||||
LLToastNotifyPanel* mScriptForm;
|
||||
LLUUID mNotificationId;
|
||||
LLUUID mObjectId;
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ LLToastGroupNotifyPanel::LLToastGroupNotifyPanel(LLNotificationPtr& notification
|
|||
LLGroupData groupData;
|
||||
if (!gAgent.getGroupData(payload["group_id"].asUUID(),groupData))
|
||||
{
|
||||
llwarns << "Group notice for unkown group: " << payload["group_id"].asUUID() << llendl;
|
||||
llwarns << "Group notice for unknown group: " << payload["group_id"].asUUID() << llendl;
|
||||
}
|
||||
|
||||
//group icon
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@
|
|||
|
||||
// library includes
|
||||
#include "lldbstrings.h"
|
||||
#include "lllslconstants.h"
|
||||
#include "llnotifications.h"
|
||||
#include "lluiconstants.h"
|
||||
#include "llrect.h"
|
||||
|
|
@ -70,11 +71,11 @@ mCloseNotificationOnDestroy(true)
|
|||
mControlPanel = getChild<LLPanel>("control_panel");
|
||||
BUTTON_WIDTH = gSavedSettings.getS32("ToastButtonWidth");
|
||||
// customize panel's attributes
|
||||
// is it intended for displaying a tip
|
||||
// is it intended for displaying a tip?
|
||||
mIsTip = notification->getType() == "notifytip";
|
||||
// is it a script dialog
|
||||
// is it a script dialog?
|
||||
mIsScriptDialog = (notification->getName() == "ScriptDialog" || notification->getName() == "ScriptDialogGroup");
|
||||
// is it a caution
|
||||
// is it a caution?
|
||||
//
|
||||
// caution flag can be set explicitly by specifying it in the notification payload, or it can be set implicitly if the
|
||||
// notify xml template specifies that it is a caution
|
||||
|
|
@ -139,6 +140,12 @@ mCloseNotificationOnDestroy(true)
|
|||
LLSD form_element = form->getElement(i);
|
||||
if (form_element["type"].asString() != "button")
|
||||
{
|
||||
// not a button.
|
||||
continue;
|
||||
}
|
||||
if (form_element["name"].asString() == TEXTBOX_MAGIC_TOKEN)
|
||||
{
|
||||
// a textbox pretending to be a button.
|
||||
continue;
|
||||
}
|
||||
LLButton* new_button = createButton(form_element, TRUE);
|
||||
|
|
@ -159,7 +166,7 @@ mCloseNotificationOnDestroy(true)
|
|||
if(h_pad < 2*HPAD)
|
||||
{
|
||||
/*
|
||||
* Probably it is a scriptdialog toast
|
||||
* Probably it is a scriptdialog toast
|
||||
* for a scriptdialog toast h_pad can be < 2*HPAD if we have a lot of buttons.
|
||||
* In last case set default h_pad to avoid heaping of buttons
|
||||
*/
|
||||
|
|
@ -261,7 +268,7 @@ LLButton* LLToastNotifyPanel::createButton(const LLSD& form_element, BOOL is_opt
|
|||
}
|
||||
else if (mIsScriptDialog && is_ignore_btn)
|
||||
{
|
||||
// this is ignore button,make it smaller
|
||||
// this is ignore button, make it smaller
|
||||
p.rect.height = BTN_HEIGHT_SMALL;
|
||||
p.rect.width = 1;
|
||||
p.auto_resize = true;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,109 @@
|
|||
/**
|
||||
* @file lltoastscripttextbox.cpp
|
||||
* @brief Panel for script llTextBox dialogs
|
||||
*
|
||||
* $LicenseInfo:firstyear=2001&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$
|
||||
*/
|
||||
|
||||
#include "llviewerprecompiledheaders.h"
|
||||
|
||||
#include "lltoastscripttextbox.h"
|
||||
|
||||
#include "llfocusmgr.h"
|
||||
|
||||
#include "llbutton.h"
|
||||
#include "llnotifications.h"
|
||||
#include "llviewertexteditor.h"
|
||||
|
||||
#include "llavatarnamecache.h"
|
||||
#include "lluiconstants.h"
|
||||
#include "llui.h"
|
||||
#include "llviewercontrol.h"
|
||||
#include "lltrans.h"
|
||||
#include "llstyle.h"
|
||||
|
||||
#include "llglheaders.h"
|
||||
#include "llagent.h"
|
||||
|
||||
const S32 LLToastScriptTextbox::DEFAULT_MESSAGE_MAX_LINE_COUNT= 7;
|
||||
|
||||
LLToastScriptTextbox::LLToastScriptTextbox(LLNotificationPtr& notification)
|
||||
: LLToastNotifyPanel(notification)
|
||||
{
|
||||
buildFromFile( "panel_notify_textbox.xml");
|
||||
|
||||
const LLSD& payload = notification->getPayload();
|
||||
|
||||
//message body
|
||||
const std::string& message = payload["message"].asString();
|
||||
|
||||
LLViewerTextEditor* pMessageText = getChild<LLViewerTextEditor>("message");
|
||||
pMessageText->clear();
|
||||
|
||||
LLStyle::Params style;
|
||||
style.font = pMessageText->getDefaultFont();
|
||||
pMessageText->appendText(message, TRUE, style);
|
||||
|
||||
//submit button
|
||||
LLButton* pSubmitBtn = getChild<LLButton>("btn_submit");
|
||||
pSubmitBtn->setClickedCallback((boost::bind(&LLToastScriptTextbox::onClickSubmit, this)));
|
||||
setDefaultBtn(pSubmitBtn);
|
||||
|
||||
S32 maxLinesCount;
|
||||
std::istringstream ss( getString("message_max_lines_count") );
|
||||
if (!(ss >> maxLinesCount))
|
||||
{
|
||||
maxLinesCount = DEFAULT_MESSAGE_MAX_LINE_COUNT;
|
||||
}
|
||||
//snapToMessageHeight(pMessageText, maxLinesCount);
|
||||
}
|
||||
|
||||
// virtual
|
||||
LLToastScriptTextbox::~LLToastScriptTextbox()
|
||||
{
|
||||
}
|
||||
|
||||
void LLToastScriptTextbox::close()
|
||||
{
|
||||
die();
|
||||
}
|
||||
|
||||
#include "lllslconstants.h"
|
||||
void LLToastScriptTextbox::onClickSubmit()
|
||||
{
|
||||
LLViewerTextEditor* pMessageText = getChild<LLViewerTextEditor>("message");
|
||||
|
||||
if (pMessageText)
|
||||
{
|
||||
LLSD response = mNotification->getResponseTemplate();
|
||||
response[TEXTBOX_MAGIC_TOKEN] = pMessageText->getText();
|
||||
if (response[TEXTBOX_MAGIC_TOKEN].asString().empty())
|
||||
{
|
||||
// so we can distinguish between a successfully
|
||||
// submitted blank textbox, and an ignored toast
|
||||
response[TEXTBOX_MAGIC_TOKEN] = true;
|
||||
}
|
||||
mNotification->respond(response);
|
||||
close();
|
||||
llwarns << response << llendl;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
/**
|
||||
* @file lltoastscripttextbox.h
|
||||
* @brief Panel for script llTextBox dialogs
|
||||
*
|
||||
* $LicenseInfo:firstyear=2001&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_LLTOASTSCRIPTTEXTBOX_H
|
||||
#define LL_LLTOASTSCRIPTTEXTBOX_H
|
||||
|
||||
#include "lltoastnotifypanel.h"
|
||||
#include "llnotificationptr.h"
|
||||
|
||||
class LLButton;
|
||||
|
||||
/**
|
||||
* Toast panel for scripted llTextbox notifications.
|
||||
*/
|
||||
class LLToastScriptTextbox
|
||||
: public LLToastNotifyPanel
|
||||
{
|
||||
public:
|
||||
void close();
|
||||
|
||||
static bool onNewNotification(const LLSD& notification);
|
||||
|
||||
// Non-transient messages. You can specify non-default button
|
||||
// layouts (like one for script dialogs) by passing various
|
||||
// numbers in for "layout".
|
||||
LLToastScriptTextbox(LLNotificationPtr& notification);
|
||||
|
||||
/*virtual*/ ~LLToastScriptTextbox();
|
||||
protected:
|
||||
void onClickSubmit();
|
||||
private:
|
||||
static const S32 DEFAULT_MESSAGE_MAX_LINE_COUNT;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -7795,6 +7795,9 @@ void initialize_menus()
|
|||
view_listener_t::addMenu(new LLViewCheckRenderType(), "View.CheckRenderType");
|
||||
view_listener_t::addMenu(new LLViewCheckHUDAttachments(), "View.CheckHUDAttachments");
|
||||
|
||||
// Me > Movement
|
||||
view_listener_t::addMenu(new LLAdvancedAgentFlyingInfo(), "Agent.getFlying");
|
||||
|
||||
// World menu
|
||||
commit.add("World.Chat", boost::bind(&handle_chat, (void*)NULL));
|
||||
view_listener_t::addMenu(new LLWorldAlwaysRun(), "World.AlwaysRun");
|
||||
|
|
@ -7868,9 +7871,6 @@ void initialize_menus()
|
|||
|
||||
// Advanced Other Settings
|
||||
view_listener_t::addMenu(new LLAdvancedClearGroupCache(), "Advanced.ClearGroupCache");
|
||||
|
||||
// Advanced > Shortcuts
|
||||
view_listener_t::addMenu(new LLAdvancedAgentFlyingInfo(), "Agent.getFlying");
|
||||
|
||||
// Advanced > Render > Types
|
||||
view_listener_t::addMenu(new LLAdvancedToggleRenderType(), "Advanced.ToggleRenderType");
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@
|
|||
#include "llfloaterreg.h"
|
||||
#include "llfollowcamparams.h"
|
||||
#include "llinventorydefines.h"
|
||||
#include "lllslconstants.h"
|
||||
#include "llregionhandle.h"
|
||||
#include "llsdserialize.h"
|
||||
#include "llteleportflags.h"
|
||||
|
|
@ -6436,8 +6437,22 @@ const char* SCRIPT_DIALOG_HEADER = "Script Dialog:\n";
|
|||
bool callback_script_dialog(const LLSD& notification, const LLSD& response)
|
||||
{
|
||||
LLNotificationForm form(notification["form"]);
|
||||
std::string button = LLNotification::getSelectedOptionName(response);
|
||||
S32 button_idx = LLNotification::getSelectedOption(notification, response);
|
||||
|
||||
std::string rtn_text;
|
||||
S32 button_idx;
|
||||
button_idx = LLNotification::getSelectedOption(notification, response);
|
||||
if (response[TEXTBOX_MAGIC_TOKEN].isDefined())
|
||||
{
|
||||
if (response[TEXTBOX_MAGIC_TOKEN].isString())
|
||||
rtn_text = response[TEXTBOX_MAGIC_TOKEN].asString();
|
||||
else
|
||||
rtn_text.clear(); // bool marks empty string
|
||||
}
|
||||
else
|
||||
{
|
||||
rtn_text = LLNotification::getSelectedOptionName(response);
|
||||
}
|
||||
|
||||
// Didn't click "Ignore"
|
||||
if (button_idx != -1)
|
||||
{
|
||||
|
|
@ -6450,7 +6465,7 @@ bool callback_script_dialog(const LLSD& notification, const LLSD& response)
|
|||
msg->addUUID("ObjectID", notification["payload"]["object_id"].asUUID());
|
||||
msg->addS32("ChatChannel", notification["payload"]["chat_channel"].asInteger());
|
||||
msg->addS32("ButtonIndex", button_idx);
|
||||
msg->addString("ButtonLabel", button);
|
||||
msg->addString("ButtonLabel", rtn_text);
|
||||
msg->sendReliable(LLHost(notification["payload"]["sender"].asString()));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -2266,6 +2266,20 @@ BOOL LLViewerWindow::handleKey(KEY key, MASK mask)
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
// If "Pressing letter keys starts local chat" option is selected, we are not in mouselook,
|
||||
// no view has keyboard focus, this is a printable character key (and no modifier key is
|
||||
// pressed except shift), then give focus to nearby chat (STORM-560)
|
||||
if ( gSavedSettings.getS32("LetterKeysFocusChatBar") && !gAgentCamera.cameraMouselook() &&
|
||||
!keyboard_focus && key < 0x80 && (mask == MASK_NONE || mask == MASK_SHIFT) )
|
||||
{
|
||||
LLLineEditor* chat_editor = LLBottomTray::instanceExists() ? LLBottomTray::getInstance()->getNearbyChatBar()->getChatBox() : NULL;
|
||||
if (chat_editor)
|
||||
{
|
||||
// passing NULL here, character will be added later when it is handled by character handler.
|
||||
LLBottomTray::getInstance()->getNearbyChatBar()->startChat(NULL);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
// give menus a chance to handle unmodified accelerator keys
|
||||
if ((gMenuBarView && gMenuBarView->handleAcceleratorKey(key, mask))
|
||||
|
|
|
|||
|
|
@ -160,7 +160,7 @@
|
|||
layout="topleft"
|
||||
left="10"
|
||||
height="70"
|
||||
top="54"
|
||||
top="59"
|
||||
name="focus_radio_group">
|
||||
<radio_item
|
||||
top_pad="6"
|
||||
|
|
@ -197,7 +197,7 @@
|
|||
<radio_group
|
||||
left="10"
|
||||
height="70"
|
||||
top="54"
|
||||
top="59"
|
||||
layout="topleft"
|
||||
name="move_radio_group">
|
||||
<radio_item
|
||||
|
|
@ -931,7 +931,7 @@
|
|||
height="23"
|
||||
image_overlay="Edit_Wrench"
|
||||
layout="topleft"
|
||||
left_pad="3"
|
||||
left_pad="13"
|
||||
name="button set group"
|
||||
tab_stop="false"
|
||||
tool_tip="Choose a group to share this object's permissions"
|
||||
|
|
@ -944,7 +944,7 @@
|
|||
name="checkbox share with group"
|
||||
tool_tip="Allow all members of the set group to share your modify permissions for this object. You must Deed to enable role restrictions."
|
||||
top_pad="10"
|
||||
left="106"
|
||||
left="100"
|
||||
width="87" />
|
||||
<button
|
||||
follows="top|left"
|
||||
|
|
@ -953,7 +953,7 @@
|
|||
label_selected="Deed"
|
||||
layout="topleft"
|
||||
name="button deed"
|
||||
left_pad="3"
|
||||
left_pad="19"
|
||||
tool_tip="Deeding gives this item away with next owner permissions. Group shared objects can be deeded by a group officer."
|
||||
width="80" />
|
||||
<text
|
||||
|
|
@ -974,7 +974,7 @@
|
|||
layout="topleft"
|
||||
name="clickaction"
|
||||
width="148"
|
||||
left_pad="0">
|
||||
left_pad="10">
|
||||
<combo_box.item
|
||||
label="Touch (default)"
|
||||
name="Touch/grab(default)"
|
||||
|
|
@ -1009,7 +1009,7 @@
|
|||
width="100" />
|
||||
<!-- NEW SALE TYPE COMBO BOX -->
|
||||
<combo_box
|
||||
left_pad="0"
|
||||
left_pad="10"
|
||||
layout="topleft"
|
||||
follows="left|top"
|
||||
allow_text_entry="false"
|
||||
|
|
@ -1041,7 +1041,7 @@ even though the user gets a free copy.
|
|||
decimal_digits="0"
|
||||
increment="1"
|
||||
top_pad="8"
|
||||
left="108"
|
||||
left="118"
|
||||
control_name="Edit Cost"
|
||||
name="Edit Cost"
|
||||
label="Price: L$"
|
||||
|
|
|
|||
|
|
@ -94,6 +94,49 @@
|
|||
function="Floater.Toggle"
|
||||
parameter="voice_effect" />
|
||||
</menu_item_check>
|
||||
<menu
|
||||
create_jump_keys="true"
|
||||
label="Movement"
|
||||
name="Movement"
|
||||
tear_off="true">
|
||||
<menu_item_call
|
||||
label="Sit Down"
|
||||
layout="topleft"
|
||||
shortcut="alt|shift|S"
|
||||
name="Sit Down Here">
|
||||
<menu_item_call.on_click
|
||||
function="Self.SitDown"
|
||||
parameter="" />
|
||||
<menu_item_call.on_enable
|
||||
function="Self.EnableSitDown" />
|
||||
</menu_item_call>
|
||||
<menu_item_check
|
||||
label="Fly"
|
||||
name="Fly"
|
||||
shortcut="Home">
|
||||
<menu_item_check.on_check
|
||||
function="Agent.getFlying" />
|
||||
<menu_item_check.on_click
|
||||
function="Agent.toggleFlying" />
|
||||
<menu_item_check.on_enable
|
||||
function="Agent.enableFlying" />
|
||||
</menu_item_check>
|
||||
<menu_item_check
|
||||
label="Always Run"
|
||||
name="Always Run"
|
||||
shortcut="control|R">
|
||||
<menu_item_check.on_check
|
||||
function="World.CheckAlwaysRun" />
|
||||
<menu_item_check.on_click
|
||||
function="World.AlwaysRun" />
|
||||
</menu_item_check>
|
||||
<menu_item_call
|
||||
label="Stop Animating Me"
|
||||
name="Stop Animating My Avatar">
|
||||
<menu_item_call.on_click
|
||||
function="Tools.StopAllAnimations" />
|
||||
</menu_item_call>
|
||||
</menu>
|
||||
<menu
|
||||
create_jump_keys="true"
|
||||
label="My Status"
|
||||
|
|
@ -995,12 +1038,6 @@
|
|||
name="Advanced"
|
||||
tear_off="true"
|
||||
visible="false">
|
||||
<menu_item_call
|
||||
label="Stop Animating Me"
|
||||
name="Stop Animating My Avatar">
|
||||
<menu_item_call.on_click
|
||||
function="Tools.StopAllAnimations" />
|
||||
</menu_item_call>
|
||||
<menu_item_call
|
||||
label="Rebake Textures"
|
||||
name="Rebake Texture"
|
||||
|
|
@ -1553,29 +1590,6 @@
|
|||
|
||||
<menu_item_separator/>
|
||||
|
||||
<menu_item_check
|
||||
label="Always Run"
|
||||
name="Always Run"
|
||||
shortcut="control|R">
|
||||
<menu_item_check.on_check
|
||||
function="World.CheckAlwaysRun" />
|
||||
<menu_item_check.on_click
|
||||
function="World.AlwaysRun" />
|
||||
</menu_item_check>
|
||||
<menu_item_check
|
||||
label="Fly"
|
||||
name="Fly"
|
||||
shortcut="Home">
|
||||
<menu_item_check.on_check
|
||||
function="Agent.getFlying" />
|
||||
<menu_item_check.on_click
|
||||
function="Agent.toggleFlying" />
|
||||
<menu_item_check.on_enable
|
||||
function="Agent.enableFlying" />
|
||||
</menu_item_check>
|
||||
|
||||
<menu_item_separator/>
|
||||
|
||||
<menu_item_call
|
||||
label="Close Window"
|
||||
name="Close Window"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,68 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<panel
|
||||
background_visible="true"
|
||||
height="230"
|
||||
label="instant_message"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
name="panel_notify_textbox"
|
||||
top="0"
|
||||
width="305">
|
||||
<string
|
||||
name="message_max_lines_count"
|
||||
value="7" />
|
||||
<panel
|
||||
bevel_style="none"
|
||||
follows="left|right|top"
|
||||
height="150"
|
||||
label="info_panel"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
name="info_panel"
|
||||
top="0"
|
||||
width="305">
|
||||
<text_editor
|
||||
parse_urls="true"
|
||||
enabled="true"
|
||||
follows="all"
|
||||
height="60"
|
||||
layout="topleft"
|
||||
left="25"
|
||||
max_length="250"
|
||||
name="message"
|
||||
parse_highlights="true"
|
||||
read_only="false"
|
||||
top="40"
|
||||
type="string"
|
||||
use_ellipses="true"
|
||||
value="message"
|
||||
width="260"
|
||||
word_wrap="true" >
|
||||
</text_editor>
|
||||
parse_urls="false"
|
||||
<button
|
||||
top="110"
|
||||
follows="top|left"
|
||||
height="20"
|
||||
label="Submit"
|
||||
layout="topleft"
|
||||
left="25"
|
||||
name="btn_submit"
|
||||
width="70" />
|
||||
</panel>
|
||||
<panel
|
||||
background_visible="false"
|
||||
follows="left|right|bottom"
|
||||
height="0"
|
||||
width="290"
|
||||
label="control_panel"
|
||||
layout="topleft"
|
||||
left="10"
|
||||
name="control_panel"
|
||||
top_pad="5">
|
||||
<!--
|
||||
Notes:
|
||||
This panel holds the Ignore button and possibly other buttons of notification.
|
||||
-->
|
||||
</panel>
|
||||
</panel>
|
||||
|
|
@ -331,6 +331,7 @@
|
|||
Pressing letter keys:
|
||||
</text>
|
||||
<radio_group
|
||||
control_name="LetterKeysFocusChatBar"
|
||||
height="20"
|
||||
layout="topleft"
|
||||
left="35"
|
||||
|
|
@ -338,12 +339,12 @@
|
|||
name="inworld_typing_preference">
|
||||
<radio_item
|
||||
label="Starts local chat"
|
||||
name="radio_button1"
|
||||
name="radio_start_chat"
|
||||
top_delta="20"
|
||||
layout="topleft"
|
||||
height="16"
|
||||
left="0"
|
||||
value="0"
|
||||
value="1"
|
||||
width="150" />
|
||||
<radio_item
|
||||
label="Affects movement (i.e. WASD)"
|
||||
|
|
@ -351,8 +352,8 @@
|
|||
layout="topleft"
|
||||
top_delta="0"
|
||||
height="16"
|
||||
name="radio_button2"
|
||||
value="1"
|
||||
name="radio_move"
|
||||
value="0"
|
||||
width="75" />
|
||||
</radio_group>
|
||||
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@
|
|||
name="UI Volume"
|
||||
show_text="false"
|
||||
slider_label.halign="right"
|
||||
top_pad="5"
|
||||
top_pad="4"
|
||||
volume="true"
|
||||
width="300">
|
||||
<slider.commit_callback
|
||||
|
|
@ -104,7 +104,7 @@
|
|||
name="Wind Volume"
|
||||
show_text="false"
|
||||
slider_label.halign="right"
|
||||
top_pad="5"
|
||||
top_pad="4"
|
||||
volume="true"
|
||||
width="300">
|
||||
<slider.commit_callback
|
||||
|
|
@ -138,7 +138,7 @@
|
|||
left="0"
|
||||
name="SFX Volume"
|
||||
show_text="false"
|
||||
top_pad="7"
|
||||
top_pad="4"
|
||||
volume="true"
|
||||
width="300">
|
||||
<slider.commit_callback
|
||||
|
|
@ -172,7 +172,7 @@
|
|||
name="Music Volume"
|
||||
slider_label.halign="right"
|
||||
show_text="false"
|
||||
top_pad="5"
|
||||
top_pad="4"
|
||||
volume="true"
|
||||
width="300">
|
||||
<slider.commit_callback
|
||||
|
|
@ -215,7 +215,7 @@
|
|||
name="Media Volume"
|
||||
show_text="false"
|
||||
slider_label.halign="right"
|
||||
top_pad="5"
|
||||
top_pad="4"
|
||||
volume="true"
|
||||
width="300">
|
||||
<slider.commit_callback
|
||||
|
|
@ -257,7 +257,7 @@
|
|||
label_width="120"
|
||||
layout="topleft"
|
||||
left="0"
|
||||
top_pad="5"
|
||||
top_pad="4"
|
||||
name="Voice Volume"
|
||||
show_text="false"
|
||||
slider_label.halign="right"
|
||||
|
|
@ -301,9 +301,9 @@
|
|||
height="15"
|
||||
tool_tip="Check this to let media auto-play if it wants"
|
||||
label="Allow Media to auto-play"
|
||||
top_pad="5"
|
||||
top_pad="1"
|
||||
left="25"/>
|
||||
<check_box
|
||||
<check_box
|
||||
name="media_show_on_others_btn"
|
||||
control_name="MediaShowOnOthers"
|
||||
value="true"
|
||||
|
|
@ -313,16 +313,6 @@
|
|||
label="Play media attached to other avatars"
|
||||
left="25"
|
||||
width="230"/>
|
||||
<check_box
|
||||
control_name="LipSyncEnabled"
|
||||
follows="left|top"
|
||||
height="20"
|
||||
label="Move avatar lips when speaking"
|
||||
layout="topleft"
|
||||
left_pad="0"
|
||||
name="enable_lip_sync"
|
||||
width="237"
|
||||
top_delta="-4" />
|
||||
|
||||
<text
|
||||
type="string"
|
||||
|
|
@ -333,7 +323,7 @@
|
|||
left="25"
|
||||
name="voice_chat_settings"
|
||||
width="180"
|
||||
top_pad="10">
|
||||
top_pad="7">
|
||||
Voice Chat Settings
|
||||
</text>
|
||||
<text
|
||||
|
|
@ -341,10 +331,10 @@
|
|||
length="1"
|
||||
follows="left|top"
|
||||
layout="topleft"
|
||||
left="80"
|
||||
left="46"
|
||||
top_delta="16"
|
||||
name="Listen from"
|
||||
width="102">
|
||||
width="112">
|
||||
Listen from:
|
||||
</text>
|
||||
<icon
|
||||
|
|
@ -363,7 +353,7 @@
|
|||
height="18"
|
||||
image_name="Move_Walk_Off"
|
||||
layout="topleft"
|
||||
left_pad="130"
|
||||
left_pad="170"
|
||||
name="avatar_icon"
|
||||
mouse_opaque="false"
|
||||
visible="true"
|
||||
|
|
@ -375,7 +365,7 @@
|
|||
draw_border="false"
|
||||
follows="left|top"
|
||||
layout="topleft"
|
||||
left_delta="-128"
|
||||
left_delta="-168"
|
||||
width="221"
|
||||
height="20"
|
||||
name="ear_location">
|
||||
|
|
@ -391,11 +381,21 @@
|
|||
follows="left|top"
|
||||
label="Avatar position"
|
||||
layout="topleft"
|
||||
left_pad="-54"
|
||||
left_pad="-16"
|
||||
name="1"
|
||||
top_delta ="0"
|
||||
width="200" />
|
||||
</radio_group>
|
||||
<check_box
|
||||
control_name="LipSyncEnabled"
|
||||
follows="left|top"
|
||||
height="15"
|
||||
label="Move avatar lips when speaking"
|
||||
layout="topleft"
|
||||
left="44"
|
||||
name="enable_lip_sync"
|
||||
top_pad="5"
|
||||
width="237"/>
|
||||
<check_box
|
||||
follows="top|left"
|
||||
enabled_control="EnableVoiceChat"
|
||||
|
|
@ -403,10 +403,11 @@
|
|||
height="15"
|
||||
label="Toggle speak on/off when I press:"
|
||||
layout="topleft"
|
||||
left="30"
|
||||
left="44"
|
||||
name="push_to_talk_toggle_check"
|
||||
width="237"
|
||||
tool_tip="When in toggle mode, press and release the trigger key ONCE to switch your microphone on or off. When not in toggle mode, the microphone broadcasts your voice only while the trigger is being held down."/>
|
||||
tool_tip="When in toggle mode, press and release the trigger key ONCE to switch your microphone on or off. When not in toggle mode, the microphone broadcasts your voice only while the trigger is being held down."
|
||||
top_pad="3"/>
|
||||
<line_editor
|
||||
follows="top|left"
|
||||
control_name="PushToTalkButton"
|
||||
|
|
@ -454,7 +455,7 @@
|
|||
label="Input/Output devices"
|
||||
layout="topleft"
|
||||
left="20"
|
||||
top_pad="8"
|
||||
top_pad="6"
|
||||
name="device_settings_btn"
|
||||
width="190">
|
||||
</button>
|
||||
|
|
|
|||
|
|
@ -283,7 +283,7 @@
|
|||
<combo_box.item label="Plastica" name="Plastic"/>
|
||||
<combo_box.item label="Gomma" name="Rubber"/>
|
||||
</combo_box>
|
||||
<text name="text cut">
|
||||
<text name="text cut" left_delta="-10" width="170">
|
||||
Riduci una sezione (inizio/fine)
|
||||
</text>
|
||||
<spinner label="I" name="cut begin"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<floater name="toolbox floater" title="" short_title="BOUWEN" height="587">
|
||||
<floater name="toolbox floater" title="" short_title="BOUWEN" height="592">
|
||||
<button label="" label_selected="" name="button focus" tool_tip="Focus"/>
|
||||
<button label="" label_selected="" name="button move" tool_tip="Verplaats"/>
|
||||
<button label="" label_selected="" name="button edit" tool_tip="Bewerk"/>
|
||||
|
|
@ -81,13 +81,13 @@
|
|||
<text name="Strength:">
|
||||
Sterkte
|
||||
</text>
|
||||
<text name="obj_count" top_pad="15">
|
||||
<text name="obj_count" top_pad="20">
|
||||
Geselecteerde objecten: [COUNT]
|
||||
</text>
|
||||
<text name="prim_count">
|
||||
primitieven: [COUNT]
|
||||
</text>
|
||||
<tab_container name="Object Info Tabs" tab_max_width="62" tab_min_width="30" top="180">
|
||||
<tab_container name="Object Info Tabs" tab_max_width="62" tab_min_width="30" top="185">
|
||||
<panel label="Algemeen" name="General">
|
||||
<text name="Name:">
|
||||
Naam:
|
||||
|
|
@ -115,19 +115,19 @@
|
|||
<text name="Group Name Proxy">
|
||||
De Lindens
|
||||
</text>
|
||||
<button label="Instellen..." label_selected="Instellen..." name="button set group" left_pad="13"/>
|
||||
<button label="Instellen..." label_selected="Instellen..." name="button set group"/>
|
||||
<text name="Permissions:">
|
||||
Permissies:
|
||||
</text>
|
||||
|
||||
<check_box label="Deel met groep" name="checkbox share with group" tool_tip="Alle leden van de ingestelde groep toestaan om te delen en uw permissies voor dit object te gebruiken. U moet 'Overdragen' om rolbeperkingen in te schakelen." left="100"/>
|
||||
<check_box label="Deel met groep" name="checkbox share with group" tool_tip="Alle leden van de ingestelde groep toestaan om te delen en uw permissies voor dit object te gebruiken. U moet 'Overdragen' om rolbeperkingen in te schakelen."/>
|
||||
<string name="text deed continued">
|
||||
Overdragen...
|
||||
</string>
|
||||
<string name="text deed">
|
||||
Overdragen
|
||||
</string>
|
||||
<button label="Overdragen..." label_selected="Overdragen..." name="button deed" tool_tip="Groepgedeelde objecten kunnen door een groepofficier worden overgedragen" left_pad="19"/>
|
||||
<button label="Overdragen..." label_selected="Overdragen..." name="button deed" tool_tip="Groepgedeelde objecten kunnen door een groepofficier worden overgedragen"/>
|
||||
<check_box label="Iedereen mag verplaatsen" name="checkbox allow everyone move"/>
|
||||
<check_box label="Iedereen mag kopiëren" name="checkbox allow everyone copy"/>
|
||||
<check_box label="Toon in zoeken" name="search_check" tool_tip="Laat mensen dit object zien in zoekresultaten"/>
|
||||
|
|
|
|||
|
|
@ -307,7 +307,7 @@
|
|||
<combo_box.item label="Kwadrat" name="Square"/>
|
||||
<combo_box.item label="Trójkąt" name="Triangle"/>
|
||||
</combo_box>
|
||||
<text name="text twist">
|
||||
<text name="text twist" left_delta="-5" width="160">
|
||||
Skręcenie (początek/koniec)
|
||||
</text>
|
||||
<spinner label="P" name="Twist Begin"/>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<floater name="toolbox floater" short_title="BUILD TOOLS" title="" width="288">
|
||||
<floater name="toolbox floater" short_title="BUILD TOOLS" title="">
|
||||
<floater.string name="status_rotate">
|
||||
Arrastar as faixas coloridas para girar o objeto
|
||||
</floater.string>
|
||||
|
|
|
|||
Loading…
Reference in New Issue