merge
commit
e280801e32
|
|
@ -3710,6 +3710,17 @@
|
|||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>EnableGestureSounds</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Play sounds from gestures</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>EnableMouselook</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@
|
|||
#include "llassetuploadresponders.h"
|
||||
#include "llnearbychatbar.h"
|
||||
#include "llnotificationmanager.h"
|
||||
#include "llselectmgr.h"
|
||||
|
||||
#define phoenix_bridge_name "#LSL<->Client Bridge v0.12"
|
||||
#define phoenix_folder_name "#Phoenix"
|
||||
|
|
@ -192,11 +193,12 @@ void FSLSLBridge :: initBridge()
|
|||
|
||||
void FSLSLBridge :: startCreation()
|
||||
{
|
||||
//are we already in conversation with a bridge?
|
||||
if (mpBridge != NULL)
|
||||
{
|
||||
return;
|
||||
}
|
||||
////are we already in conversation with a bridge?
|
||||
////must have already received a URL call from a bridge.
|
||||
//if (mpBridge != NULL)
|
||||
//{
|
||||
// return;
|
||||
//}
|
||||
|
||||
//if bridge object doesn't exist - create and attach it, update script.
|
||||
LLUUID catID = findFSCategory();
|
||||
|
|
@ -326,7 +328,7 @@ FSLSLBridgeRezCallback :: ~FSLSLBridgeRezCallback()
|
|||
|
||||
void FSLSLBridgeRezCallback :: fire(const LLUUID& inv_item)
|
||||
{
|
||||
if ((FSLSLBridge::instance().getBridge() != NULL) || inv_item.isNull() || !FSLSLBridge::instance().bridgeCreating())
|
||||
if ((FSLSLBridge::instance().getBridge() != NULL) || inv_item.isNull() || !FSLSLBridge::instance().getBridgeCreating())
|
||||
return;
|
||||
|
||||
//detach from default and put on the right point
|
||||
|
|
@ -350,7 +352,7 @@ FSLSLBridgeScriptCallback :: ~FSLSLBridgeScriptCallback()
|
|||
|
||||
void FSLSLBridgeScriptCallback::fire(const LLUUID& inv_item)
|
||||
{
|
||||
if (inv_item.isNull() || !FSLSLBridge::instance().bridgeCreating())
|
||||
if (inv_item.isNull() || !FSLSLBridge::instance().getBridgeCreating())
|
||||
return;
|
||||
|
||||
LLViewerInventoryItem* item = gInventory.getItem(inv_item);
|
||||
|
|
@ -366,28 +368,25 @@ void FSLSLBridgeScriptCallback::fire(const LLUUID& inv_item)
|
|||
//caps import
|
||||
std::string url = gAgent.getRegion()->getCapability("UpdateScriptAgent");
|
||||
std::string isMono = "lsl2"; //could also be "mono"
|
||||
if (!url.empty())
|
||||
if (!url.empty() && obj != NULL)
|
||||
{
|
||||
const std::string fName = prepUploadFile();
|
||||
LLLiveLSLEditor::uploadAssetViaCapsStatic(url, fName,
|
||||
obj->getID(), inv_item, isMono, true);
|
||||
llinfos << "updating script ID for bridge" << llendl;
|
||||
FSLSLBridge::instance().mScriptItemID = inv_item;
|
||||
}
|
||||
else
|
||||
{
|
||||
//can't complete bridge creation - detach and remove object, remove script
|
||||
//try to clean up and go away. Fail.
|
||||
LLVOAvatarSelf::detachAttachmentIntoInventory(FSLSLBridge::instance().getBridge()->getUUID());
|
||||
|
||||
LLViewerInventoryItem* bridgeItem = FSLSLBridge::instance().getBridge();
|
||||
gInventory.purgeObject(bridgeItem->getUUID());
|
||||
bridgeItem->removeFromServer();
|
||||
|
||||
FSLSLBridge::instance().cleanUpBridge();
|
||||
//also clean up script remains
|
||||
gInventory.purgeObject(item->getUUID());
|
||||
item->removeFromServer();
|
||||
|
||||
gInventory.notifyObservers();
|
||||
return;
|
||||
}
|
||||
llinfos << "updating script ID for bridge" << llendl;
|
||||
FSLSLBridge::instance().mScriptItemID = inv_item;
|
||||
}
|
||||
|
||||
std::string FSLSLBridgeScriptCallback::prepUploadFile()
|
||||
|
|
@ -419,19 +418,45 @@ void FSLSLBridge :: checkBridgeScriptName(std::string fileName)
|
|||
{
|
||||
//this is our script upload
|
||||
LLViewerObject* obj = gAgentAvatarp->getWornAttachment(mpBridge->getUUID());
|
||||
|
||||
registerVOInventoryListener(obj, NULL);
|
||||
if (obj == NULL)
|
||||
{
|
||||
//something happened to our object. Try to fail gracefully.
|
||||
cleanUpBridge();
|
||||
return;
|
||||
}
|
||||
//registerVOInventoryListener(obj, NULL);
|
||||
obj->saveScript(gInventory.getItem(mScriptItemID), TRUE, false);
|
||||
requestVOInventory();
|
||||
FSLSLBridgeCleanupTimer *objTimer = new FSLSLBridgeCleanupTimer((F32)1.0);
|
||||
objTimer->startTimer();
|
||||
//obj->doInventoryCallback();
|
||||
//requestVOInventory();
|
||||
}
|
||||
}
|
||||
void FSLSLBridge :: inventoryChanged(LLViewerObject* object, LLInventoryObject::object_list_t* inventory_objects, S32 serial_num, void* queue)
|
||||
|
||||
BOOL FSLSLBridgeCleanupTimer::tick()
|
||||
{
|
||||
FSLSLBridge::instance().finishBridge();
|
||||
stopTimer();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void FSLSLBridge :: cleanUpBridge()
|
||||
{
|
||||
//something unexpected went wrong. Try to clean up and not crash.
|
||||
reportToNearbyChat("Bridge object not found. Can't proceed with creation, exiting.");
|
||||
gInventory.purgeObject(mpBridge->getUUID());
|
||||
gInventory.notifyObservers();
|
||||
mpBridge = NULL;
|
||||
mBridgeCreating = false;
|
||||
}
|
||||
|
||||
void FSLSLBridge :: finishBridge()
|
||||
{
|
||||
//announce yourself
|
||||
reportToNearbyChat("Bridge created.");
|
||||
|
||||
mBridgeCreating = false;
|
||||
removeVOInventoryListener();
|
||||
//removeVOInventoryListener();
|
||||
cleanUpBridgeFolder();
|
||||
}
|
||||
//
|
||||
|
|
|
|||
|
|
@ -33,18 +33,20 @@
|
|||
#include "fslslbridgerequest.h"
|
||||
#include "llviewerinventory.h"
|
||||
#include "llinventoryobserver.h"
|
||||
#include "lleventtimer.h"
|
||||
|
||||
//
|
||||
//-TT Client LSL Bridge File
|
||||
//
|
||||
|
||||
class FSLSLBridge : public LLSingleton<FSLSLBridge>, public LLHTTPClient::Responder, public LLVOInventoryListener
|
||||
class FSLSLBridge : public LLSingleton<FSLSLBridge>, public LLHTTPClient::Responder //, public LLVOInventoryListener
|
||||
{
|
||||
static const U8 BRIDGE_POINT = 127;
|
||||
|
||||
friend class FSLSLBridgeScriptCallback;
|
||||
friend class FSLSLBridgeRezCallback;
|
||||
friend class FSLSLBridgeInventoryObserver;
|
||||
friend class FSLSLBridgeCleanupTimer;
|
||||
|
||||
public:
|
||||
FSLSLBridge();
|
||||
|
|
@ -56,12 +58,17 @@ public:
|
|||
void initBridge();
|
||||
void recreateBridge();
|
||||
void processAttach(LLViewerObject *object, const LLViewerJointAttachment *attachment);
|
||||
bool bridgeCreating() {return mBridgeCreating; };
|
||||
void startCreation();
|
||||
|
||||
bool getBridgeCreating() {return mBridgeCreating; };
|
||||
void setBridgeCreating(bool status) { mBridgeCreating = status; };
|
||||
|
||||
void setBridge(LLViewerInventoryItem* item) { mpBridge = item; };
|
||||
LLViewerInventoryItem* getBridge() { return mpBridge; };
|
||||
|
||||
void checkBridgeScriptName(std::string fileName);
|
||||
void startCreation();
|
||||
std::string currentFullName() { return mCurrentFullName; }
|
||||
void finishBridge();
|
||||
|
||||
protected:
|
||||
|
||||
|
|
@ -89,6 +96,7 @@ protected:
|
|||
void cleanUpBridgeFolder();
|
||||
void setupBridge(LLViewerObject *object);
|
||||
void initCreationStep();
|
||||
void cleanUpBridge();
|
||||
};
|
||||
|
||||
|
||||
|
|
@ -124,4 +132,14 @@ protected:
|
|||
|
||||
};
|
||||
|
||||
class FSLSLBridgeCleanupTimer : public LLEventTimer
|
||||
{
|
||||
public:
|
||||
FSLSLBridgeCleanupTimer(F32 period) : LLEventTimer(period) {}
|
||||
BOOL tick();
|
||||
void startTimer() { mEventTimer.start(); }
|
||||
void stopTimer() { mEventTimer.stop(); }
|
||||
|
||||
};
|
||||
|
||||
#endif // FS_LSLBRIDGE_H
|
||||
|
|
|
|||
|
|
@ -322,6 +322,7 @@ LLFloaterPreference::LLFloaterPreference(const LLSD& key)
|
|||
mCommitCallbackRegistrar.add("Pref.VoiceSetKey", boost::bind(&LLFloaterPreference::onClickSetKey, this));
|
||||
mCommitCallbackRegistrar.add("Pref.EditMediaLists", boost::bind(&LLFloaterPreference::onClickSetKey, this));
|
||||
mCommitCallbackRegistrar.add("Pref.VoiceSetMiddleMouse", boost::bind(&LLFloaterPreference::onClickSetMiddleMouse, this));
|
||||
mCommitCallbackRegistrar.add("Pref.SetSounds", boost::bind(&LLFloaterPreference::onClickSetSounds, this));
|
||||
// mCommitCallbackRegistrar.add("Pref.ClickSkipDialogs", boost::bind(&LLFloaterPreference::onClickSkipDialogs, this));
|
||||
// mCommitCallbackRegistrar.add("Pref.ClickResetDialogs", boost::bind(&LLFloaterPreference::onClickResetDialogs, this));
|
||||
mCommitCallbackRegistrar.add("Pref.ClickEnablePopup", boost::bind(&LLFloaterPreference::onClickEnablePopup, this));
|
||||
|
|
@ -1364,6 +1365,14 @@ void LLFloaterPreference::onClickSetMiddleMouse()
|
|||
p2t_line_editor->setValue(advanced_preferences->getString("middle_mouse"));
|
||||
}
|
||||
}
|
||||
|
||||
void LLFloaterPreference::onClickSetSounds()
|
||||
{
|
||||
// Disable Enable gesture sounds checkbox if the master sound is disabled
|
||||
// or if sound effects are disabled.
|
||||
getChild<LLCheckBoxCtrl>("gesture_audio_play_btn")->setEnabled(!gSavedSettings.getBOOL("MuteSounds"));
|
||||
}
|
||||
|
||||
/*
|
||||
void LLFloaterPreference::onClickSkipDialogs()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -134,6 +134,7 @@ public:
|
|||
void onClickSetKey();
|
||||
void setKey(KEY key);
|
||||
void onClickSetMiddleMouse();
|
||||
void onClickSetSounds();
|
||||
// void onClickSkipDialogs();
|
||||
// void onClickResetDialogs();
|
||||
void onClickEnablePopup();
|
||||
|
|
|
|||
|
|
@ -28,6 +28,8 @@
|
|||
|
||||
#include "lltranslate.h"
|
||||
|
||||
#include <curl/curl.h>
|
||||
|
||||
#include "llbufferstream.h"
|
||||
#include "llui.h"
|
||||
#include "llversioninfo.h"
|
||||
|
|
@ -76,7 +78,9 @@ void LLTranslate::translateMessage(LLHTTPClient::ResponderPtr &result, const std
|
|||
//static
|
||||
void LLTranslate::getTranslateUrl(std::string &translate_url, const std::string &from_lang, const std::string &to_lang, const std::string &mesg)
|
||||
{
|
||||
std::string escaped_mesg = curl_escape(mesg.c_str(), mesg.size());
|
||||
char * curl_str = curl_escape(mesg.c_str(), mesg.size());
|
||||
std::string const escaped_mesg(curl_str);
|
||||
curl_free(curl_str);
|
||||
|
||||
translate_url = m_GoogleURL
|
||||
+ escaped_mesg + m_GoogleLangSpec
|
||||
|
|
|
|||
|
|
@ -4808,6 +4808,9 @@ void process_sound_trigger(LLMessageSystem *msg, void **)
|
|||
if (pPeoplePanel)
|
||||
pPeoplePanel->requestRadarChannelAlertSync();
|
||||
}
|
||||
|
||||
// Don't play sounds from gestures if they are not enabled.
|
||||
if (!gSavedSettings.getBOOL("EnableGestureSounds")) return;
|
||||
|
||||
gAudiop->triggerSound(sound_id, owner_id, gain, LLAudioEngine::AUDIO_TYPE_SFX, pos_global);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,21 +14,23 @@
|
|||
<string
|
||||
name="no_group_text"
|
||||
value="Keine" />
|
||||
|
||||
|
||||
<panel name="second_life_panel">
|
||||
<text name="Name:" value="Name:" />
|
||||
<text_editor name="complete_name" value="(laden)" />
|
||||
|
||||
<text name="Key:" value="UUID:"/>
|
||||
<text_editor name="user_key" value="(laden)"/>
|
||||
<button name="copy_uri" label="URI kopieren"/>
|
||||
<text name="Name:" value="Name:"/>
|
||||
<text_editor name="complete_name" value="(laden)"/>
|
||||
<button name="copy_to_clipboard" tool_tip="In Zwischenablage kopieren"/>
|
||||
<text name="status" value="Online"/>
|
||||
<text name="Key:" value="UUID:" />
|
||||
<text_editor name="user_key" value="(laden)" />
|
||||
<text name="label" value="Geboren am:" />
|
||||
<text name="label2" value="Konto:" />
|
||||
<text name="partner_label" value="Partner:" />
|
||||
<text name="About:" value="Info:" left="9" />
|
||||
<view_border left_pad="3" name="info_border" />
|
||||
<text name="Groups:" value="Gruppen:" left="9"/>
|
||||
<group_list left_pad="3" name="group_list" />
|
||||
<text name="label" value="Geboren am:"/>
|
||||
<text name="label2" value="Konto:"/>
|
||||
<text name="partner_label" value="Partner:"/>
|
||||
<text left="9" name="Groups:" value="Gruppen:"/>
|
||||
<group_list left_pad="3" name="group_list"/>
|
||||
<text left="9" name="About:" value="Info:"/>
|
||||
<view_border left_pad="3" name="info_border"/>
|
||||
|
||||
<layout_stack>
|
||||
<layout_panel name="left_buttonstack">
|
||||
|
|
|
|||
|
|
@ -111,8 +111,8 @@
|
|||
function="Pref.setControlFalse"
|
||||
parameter="MuteAmbient" />
|
||||
</slider>
|
||||
<button
|
||||
control_name="MuteAmbient"
|
||||
<button
|
||||
control_name="MuteAmbient"
|
||||
disabled_control="MuteAudio"
|
||||
follows="top|left"
|
||||
height="16"
|
||||
|
|
@ -145,7 +145,7 @@
|
|||
function="Pref.setControlFalse"
|
||||
parameter="MuteSounds" />
|
||||
</slider>
|
||||
<button
|
||||
<button
|
||||
control_name="MuteSounds"
|
||||
disabled_control="MuteAudio"
|
||||
follows="top|left"
|
||||
|
|
@ -157,7 +157,10 @@
|
|||
left_pad="5"
|
||||
name="mute_audio"
|
||||
tab_stop="false"
|
||||
width="16" />
|
||||
width="16">
|
||||
<button.commit_callback
|
||||
function="Pref.SetSounds"/>
|
||||
</button>
|
||||
<slider
|
||||
control_name="AudioLevelMusic"
|
||||
disabled_control="MuteAudio"
|
||||
|
|
@ -298,7 +301,18 @@
|
|||
left_pad="5"
|
||||
name="enable_voice_check"
|
||||
width="110"/>
|
||||
<!-- -->
|
||||
<check_box
|
||||
name="gesture_audio_play_btn"
|
||||
control_name="EnableGestureSounds"
|
||||
disabled_control="MuteAudio"
|
||||
value="true"
|
||||
follows="left|bottom|right"
|
||||
height="15"
|
||||
tool_tip="Check this to hear sounds from gestures"
|
||||
label="Play sounds from gestures"
|
||||
top_pad="1"
|
||||
bottom_delta="10"
|
||||
left="325"/>
|
||||
<check_box
|
||||
name="media_auto_play_btn"
|
||||
control_name="ParcelMediaAutoPlayEnable"
|
||||
|
|
@ -309,6 +323,7 @@
|
|||
tool_tip="Check this to automatically start media when you log in or change regions."
|
||||
label="Allow Media to auto-play when entering a region"
|
||||
top_pad="1"
|
||||
bottom_delta="30"
|
||||
left="25"/>
|
||||
<check_box
|
||||
name="media_allowscript_btn"
|
||||
|
|
@ -327,7 +342,7 @@
|
|||
value="true"
|
||||
follows="left|bottom|right"
|
||||
height="15"
|
||||
bottom_delta="-0"
|
||||
bottom_delta="0"
|
||||
left_delta="245"
|
||||
tool_tip="Check this to enable the filter that allows you to choose whether to play media from a specific host"
|
||||
label="Enable media filter (increased security)"
|
||||
|
|
@ -366,7 +381,7 @@
|
|||
left="25"
|
||||
name="voice_chat_settings"
|
||||
width="180"
|
||||
top_pad="40">
|
||||
top_pad="35">
|
||||
Voice Chat Settings
|
||||
</text>
|
||||
<text
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ KC: I used view_border's around text_editor's due to text render issues with bor
|
|||
<view_border
|
||||
left_pad="4"
|
||||
height="16"
|
||||
width="310"
|
||||
right="-86"
|
||||
bevel_style="in"
|
||||
follows="left|top|right"
|
||||
name="info_border" />
|
||||
|
|
@ -82,7 +82,7 @@ KC: I used view_border's around text_editor's due to text render issues with bor
|
|||
left_delta="3"
|
||||
bottom_delta="2"
|
||||
height="16"
|
||||
width="310"
|
||||
right="-86"
|
||||
h_pad="0"
|
||||
v_pad="0"
|
||||
allow_scroll="false"
|
||||
|
|
@ -98,7 +98,7 @@ KC: I used view_border's around text_editor's due to text render issues with bor
|
|||
layout="topleft"
|
||||
follows="top|right"
|
||||
image_overlay="Copy"
|
||||
top_delta="-3"
|
||||
top_delta="-5"
|
||||
left_pad="4"
|
||||
height="21"
|
||||
width="21"
|
||||
|
|
@ -107,15 +107,15 @@ KC: I used view_border's around text_editor's due to text render issues with bor
|
|||
|
||||
<text
|
||||
follows="top|right"
|
||||
halign="right"
|
||||
halign="center"
|
||||
height="13"
|
||||
top_pad="-17"
|
||||
top_pad="-15"
|
||||
left_pad="2"
|
||||
right="-6"
|
||||
layout="topleft"
|
||||
name="status"
|
||||
text_color="LtGray_50"
|
||||
value="Online"
|
||||
width="70" />
|
||||
value="Online" />
|
||||
|
||||
<text
|
||||
top_pad="2"
|
||||
|
|
@ -130,7 +130,7 @@ KC: I used view_border's around text_editor's due to text render issues with bor
|
|||
<view_border
|
||||
left_pad="4"
|
||||
height="16"
|
||||
right="-6"
|
||||
right="-86"
|
||||
bevel_style="in"
|
||||
follows="left|top|right"
|
||||
name="info_border" />
|
||||
|
|
@ -138,7 +138,7 @@ KC: I used view_border's around text_editor's due to text render issues with bor
|
|||
left_delta="3"
|
||||
bottom_delta="2"
|
||||
height="16"
|
||||
right="-6"
|
||||
right="-86"
|
||||
h_pad="0"
|
||||
v_pad="0"
|
||||
allow_scroll="false"
|
||||
|
|
@ -149,10 +149,19 @@ KC: I used view_border's around text_editor's due to text render issues with bor
|
|||
name="user_key"
|
||||
value="(loading...)" />
|
||||
|
||||
<button
|
||||
name="copy_uri"
|
||||
left_pad="4"
|
||||
right="-6"
|
||||
bottom_delta="2"
|
||||
height="20"
|
||||
label="Copy URI"
|
||||
enabled="false"
|
||||
follows="top|right" />
|
||||
|
||||
<texture_picker
|
||||
left="6"
|
||||
top_pad="5"
|
||||
top_pad="3"
|
||||
height="180"
|
||||
width="220"
|
||||
allow_no_texture="true"
|
||||
|
|
@ -256,6 +265,29 @@ KC: I used view_border's around text_editor's due to text render issues with bor
|
|||
<!--<button follows="left|top" left="15" top="75" height="20" halign="center"
|
||||
label="< <" label_selected="> >" name="bigimg" tool_tip="Open Full Size." width="40" />-->
|
||||
|
||||
<text
|
||||
left="6"
|
||||
top_pad="8"
|
||||
follows="left|top"
|
||||
halign="right"
|
||||
height="16"
|
||||
name="Groups:"
|
||||
width="45"
|
||||
value="Groups:" />
|
||||
|
||||
<group_list
|
||||
left_pad="8"
|
||||
top_delta="0"
|
||||
height="80"
|
||||
right="-6"
|
||||
border_visible="true"
|
||||
for_agent="false"
|
||||
follows="left|top|right"
|
||||
name="group_list" />
|
||||
|
||||
<!--<button follows="left|top" left="15" top="240" height="20" halign="center"
|
||||
label="+" label_selected="+" name="PhoenixGroupInvite_Button" tool_tip="Invite to Group." width="40" />-->
|
||||
|
||||
<text
|
||||
left="6"
|
||||
top_pad="8"
|
||||
|
|
@ -288,30 +320,6 @@ KC: I used view_border's around text_editor's due to text render issues with bor
|
|||
word_wrap="true"
|
||||
parse_urls="true" />
|
||||
|
||||
|
||||
<text
|
||||
left="6"
|
||||
top_pad="8"
|
||||
follows="left|bottom"
|
||||
halign="right"
|
||||
height="16"
|
||||
name="Groups:"
|
||||
width="45"
|
||||
value="Groups:" />
|
||||
|
||||
<group_list
|
||||
left_pad="8"
|
||||
top_delta="0"
|
||||
height="80"
|
||||
right="-6"
|
||||
border_visible="true"
|
||||
for_agent="false"
|
||||
follows="left|bottom|right"
|
||||
name="group_list" />
|
||||
|
||||
<!--<button follows="left|top" left="15" top="240" height="20" halign="center"
|
||||
label="+" label_selected="+" name="PhoenixGroupInvite_Button" tool_tip="Invite to Group." width="40" />-->
|
||||
|
||||
<layout_stack
|
||||
top_pad="8"
|
||||
left="6"
|
||||
|
|
|
|||
|
|
@ -14,23 +14,21 @@
|
|||
<string
|
||||
name="no_group_text"
|
||||
value="Keine" />
|
||||
|
||||
<panel name="second_life_panel">
|
||||
|
||||
<text name="Key:" value="UUID:"/>
|
||||
<text_editor name="user_key" value="(laden)"/>
|
||||
<button name="copy_uri" label="URI kopieren"/>
|
||||
<text name="Name:" value="Name:"/>
|
||||
<text_editor name="complete_name" value="(laden)"/>
|
||||
<panel name="second_life_panel">
|
||||
<text name="Name:" value="Name:" />
|
||||
<text_editor name="complete_name" value="(laden)" />
|
||||
<button name="copy_to_clipboard" tool_tip="In Zwischenablage kopieren"/>
|
||||
<text name="status" value="Online"/>
|
||||
<text name="label" value="Geboren am:"/>
|
||||
<text name="label2" value="Konto:"/>
|
||||
<text name="partner_label" value="Partner:"/>
|
||||
<text left="9" name="Groups:" value="Gruppen:"/>
|
||||
<group_list left_pad="3" name="group_list"/>
|
||||
<text left="9" name="About:" value="Info:"/>
|
||||
<view_border left_pad="3" name="info_border"/>
|
||||
<text name="Key:" value="UUID:" />
|
||||
<text_editor name="user_key" value="(laden)" />
|
||||
<text name="label" value="Geboren am:" />
|
||||
<text name="label2" value="Konto:" />
|
||||
<text name="partner_label" value="Partner:" />
|
||||
<text name="About:" value="Info:" left="9" />
|
||||
<view_border left_pad="3" name="info_border" />
|
||||
<text name="Groups:" value="Gruppen:" left="9"/>
|
||||
<group_list left_pad="3" name="group_list" />
|
||||
|
||||
<layout_stack>
|
||||
<layout_panel name="left_buttonstack">
|
||||
|
|
@ -62,7 +62,7 @@ KC: I used view_border's around text_editor's due to text render issues with bor
|
|||
-->
|
||||
|
||||
<text
|
||||
top="8"
|
||||
top_pad="8"
|
||||
follows="left|top"
|
||||
halign="right"
|
||||
height="16"
|
||||
|
|
@ -265,29 +265,6 @@ KC: I used view_border's around text_editor's due to text render issues with bor
|
|||
<!--<button follows="left|top" left="15" top="75" height="20" halign="center"
|
||||
label="< <" label_selected="> >" name="bigimg" tool_tip="Open Full Size." width="40" />-->
|
||||
|
||||
<text
|
||||
left="6"
|
||||
top_pad="8"
|
||||
follows="left|top"
|
||||
halign="right"
|
||||
height="16"
|
||||
name="Groups:"
|
||||
width="45"
|
||||
value="Groups:" />
|
||||
|
||||
<group_list
|
||||
left_pad="8"
|
||||
top_delta="0"
|
||||
height="80"
|
||||
right="-6"
|
||||
border_visible="true"
|
||||
for_agent="false"
|
||||
follows="left|top|right"
|
||||
name="group_list" />
|
||||
|
||||
<!--<button follows="left|top" left="15" top="240" height="20" halign="center"
|
||||
label="+" label_selected="+" name="PhoenixGroupInvite_Button" tool_tip="Invite to Group." width="40" />-->
|
||||
|
||||
<text
|
||||
left="6"
|
||||
top_pad="8"
|
||||
|
|
@ -320,6 +297,30 @@ KC: I used view_border's around text_editor's due to text render issues with bor
|
|||
word_wrap="true"
|
||||
parse_urls="true" />
|
||||
|
||||
|
||||
<text
|
||||
left="6"
|
||||
top_pad="8"
|
||||
follows="left|bottom"
|
||||
halign="right"
|
||||
height="16"
|
||||
name="Groups:"
|
||||
width="45"
|
||||
value="Groups:" />
|
||||
|
||||
<group_list
|
||||
left_pad="8"
|
||||
top_delta="0"
|
||||
height="80"
|
||||
right="-6"
|
||||
border_visible="true"
|
||||
for_agent="false"
|
||||
follows="left|bottom|right"
|
||||
name="group_list" />
|
||||
|
||||
<!--<button follows="left|top" left="15" top="240" height="20" halign="center"
|
||||
label="+" label_selected="+" name="PhoenixGroupInvite_Button" tool_tip="Invite to Group." width="40" />-->
|
||||
|
||||
<layout_stack
|
||||
top_pad="8"
|
||||
left="6"
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
|
||||
<panel name="panel_profile">
|
||||
<string
|
||||
name="payment_update_link_url">
|
||||
http://www.secondlife.com/account/billing.php?lang=de
|
||||
</string>
|
||||
<string
|
||||
name="partner_edit_link_url">
|
||||
http://www.secondlife.com/account/partners.php?lang=de
|
||||
</string>
|
||||
<string
|
||||
name="no_partner_text"
|
||||
value="Kein Partner" />
|
||||
<string
|
||||
name="no_group_text"
|
||||
value="Keine" />
|
||||
|
||||
<panel name="second_life_panel">
|
||||
<text name="Name:" value="Name:" />
|
||||
<text_editor name="complete_name" value="(laden)" />
|
||||
<button name="copy_to_clipboard" tool_tip="In Zwischenablage kopieren"/>
|
||||
<text name="status" value="Online"/>
|
||||
<text name="Key:" value="UUID:" />
|
||||
<text_editor name="user_key" value="(laden)" />
|
||||
<text name="label" value="Geboren am:" />
|
||||
<text name="label2" value="Konto:" />
|
||||
<text name="partner_label" value="Partner:" />
|
||||
<text name="About:" value="Info:" left="9" />
|
||||
<view_border left_pad="3" name="info_border" />
|
||||
<text name="Groups:" value="Gruppen:" left="9"/>
|
||||
<group_list left_pad="3" name="group_list" />
|
||||
|
||||
<layout_stack>
|
||||
<layout_panel name="left_buttonstack">
|
||||
<button label="Zeige auf Karte" label_selected="Zeige auf Karte" name="show_on_map_btn" tool_tip="Zeige Position des Einwohners auf der Karte."/>
|
||||
<button label="Zahlen" label_selected="Zahlen" name="pay" tool_tip="Zahle Geld an diesen Einwohner."/>
|
||||
</layout_panel>
|
||||
|
||||
<layout_panel name="middle_buttonstack">
|
||||
<button label="Teleport anbieten" label_selected="Teleport anbieten" name="teleport" tool_tip="Diesem Einwohner einen Teleport anbieten."/>
|
||||
<button label="Instant Message" label_selected="Instant Message" name="im" tool_tip="Instant-Message-Session mit diesem Einwohner beginnen."/>
|
||||
</layout_panel>
|
||||
|
||||
<layout_panel name="right_buttonstack">
|
||||
<button label="Freund hinzufügen" label_selected="Freund hinzufügen" name="add_friend" tool_tip="Diesem Einwohner deine Freundschaft anbieten."/>
|
||||
<button label="Blockieren" name="block" tool_tip="Diesen Einwohner blockieren."/>
|
||||
<button label="Freigeben" name="unblock" tool_tip="Diesen Einwohner nicht mehr blockieren."/>
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
|
||||
</panel>
|
||||
</panel>
|
||||
|
||||
|
|
@ -62,7 +62,63 @@ KC: I used view_border's around text_editor's due to text render issues with bor
|
|||
-->
|
||||
|
||||
<text
|
||||
top="8"
|
||||
top_pad="8"
|
||||
follows="left|top"
|
||||
halign="right"
|
||||
height="16"
|
||||
left="6"
|
||||
name="Name:"
|
||||
width="40"
|
||||
value="Name:" />
|
||||
|
||||
<view_border
|
||||
left_pad="4"
|
||||
height="16"
|
||||
right="-86"
|
||||
bevel_style="in"
|
||||
follows="left|top|right"
|
||||
name="info_border" />
|
||||
<text_editor
|
||||
left_delta="3"
|
||||
bottom_delta="2"
|
||||
height="16"
|
||||
right="-86"
|
||||
h_pad="0"
|
||||
v_pad="0"
|
||||
allow_scroll="false"
|
||||
bg_visible="false"
|
||||
enabled="false"
|
||||
follows="left|top|right"
|
||||
max_length="254"
|
||||
name="complete_name"
|
||||
value="(loading...)" />
|
||||
|
||||
<button
|
||||
name="copy_to_clipboard"
|
||||
layout="topleft"
|
||||
follows="top|right"
|
||||
image_overlay="Copy"
|
||||
top_delta="-5"
|
||||
left_pad="4"
|
||||
height="21"
|
||||
width="21"
|
||||
tab_stop="false"
|
||||
tool_tip="Copy to Clipboard"/>
|
||||
|
||||
<text
|
||||
follows="top|right"
|
||||
halign="center"
|
||||
height="13"
|
||||
top_pad="-15"
|
||||
left_pad="2"
|
||||
right="-6"
|
||||
layout="topleft"
|
||||
name="status"
|
||||
text_color="LtGray_50"
|
||||
value="Online" />
|
||||
|
||||
<text
|
||||
top_pad="2"
|
||||
follows="left|top"
|
||||
halign="right"
|
||||
height="16"
|
||||
|
|
@ -97,70 +153,15 @@ KC: I used view_border's around text_editor's due to text render issues with bor
|
|||
name="copy_uri"
|
||||
left_pad="4"
|
||||
right="-6"
|
||||
bottom_delta="2"
|
||||
height="20"
|
||||
label="Copy URI"
|
||||
enabled="false"
|
||||
follows="top|right" />
|
||||
|
||||
<text
|
||||
top_pad="2"
|
||||
follows="left|top"
|
||||
halign="right"
|
||||
height="16"
|
||||
left="6"
|
||||
name="Name:"
|
||||
width="40"
|
||||
value="Name:" />
|
||||
|
||||
<view_border
|
||||
left_pad="4"
|
||||
height="16"
|
||||
width="310"
|
||||
bevel_style="in"
|
||||
follows="left|top|right"
|
||||
name="info_border" />
|
||||
<text_editor
|
||||
left_delta="3"
|
||||
bottom_delta="2"
|
||||
height="16"
|
||||
width="310"
|
||||
h_pad="0"
|
||||
v_pad="0"
|
||||
allow_scroll="false"
|
||||
bg_visible="false"
|
||||
enabled="false"
|
||||
follows="left|top|right"
|
||||
max_length="254"
|
||||
name="complete_name"
|
||||
value="(loading...)" />
|
||||
|
||||
<button
|
||||
name="copy_to_clipboard"
|
||||
layout="topleft"
|
||||
follows="top|right"
|
||||
image_overlay="Copy"
|
||||
top_delta="-3"
|
||||
left_pad="4"
|
||||
height="21"
|
||||
width="21"
|
||||
tab_stop="false"
|
||||
tool_tip="Copy to Clipboard"/>
|
||||
|
||||
<text
|
||||
follows="top|right"
|
||||
halign="right"
|
||||
height="13"
|
||||
top_pad="-17"
|
||||
right="-6"
|
||||
layout="topleft"
|
||||
name="status"
|
||||
text_color="LtGray_50"
|
||||
value="Online"
|
||||
width="70" />
|
||||
|
||||
<texture_picker
|
||||
left="6"
|
||||
top_pad="5"
|
||||
top_pad="3"
|
||||
height="180"
|
||||
width="220"
|
||||
allow_no_texture="true"
|
||||
|
|
@ -264,29 +265,6 @@ KC: I used view_border's around text_editor's due to text render issues with bor
|
|||
<!--<button follows="left|top" left="15" top="75" height="20" halign="center"
|
||||
label="< <" label_selected="> >" name="bigimg" tool_tip="Open Full Size." width="40" />-->
|
||||
|
||||
<text
|
||||
left="6"
|
||||
top_pad="8"
|
||||
follows="left|top"
|
||||
halign="right"
|
||||
height="16"
|
||||
name="Groups:"
|
||||
width="45"
|
||||
value="Groups:" />
|
||||
|
||||
<group_list
|
||||
left_pad="8"
|
||||
top_delta="0"
|
||||
height="80"
|
||||
right="-6"
|
||||
border_visible="true"
|
||||
for_agent="false"
|
||||
follows="left|top|right"
|
||||
name="group_list" />
|
||||
|
||||
<!--<button follows="left|top" left="15" top="240" height="20" halign="center"
|
||||
label="+" label_selected="+" name="PhoenixGroupInvite_Button" tool_tip="Invite to Group." width="40" />-->
|
||||
|
||||
<text
|
||||
left="6"
|
||||
top_pad="8"
|
||||
|
|
@ -319,6 +297,30 @@ KC: I used view_border's around text_editor's due to text render issues with bor
|
|||
word_wrap="true"
|
||||
parse_urls="true" />
|
||||
|
||||
|
||||
<text
|
||||
left="6"
|
||||
top_pad="8"
|
||||
follows="left|bottom"
|
||||
halign="right"
|
||||
height="16"
|
||||
name="Groups:"
|
||||
width="45"
|
||||
value="Groups:" />
|
||||
|
||||
<group_list
|
||||
left_pad="8"
|
||||
top_delta="0"
|
||||
height="80"
|
||||
right="-6"
|
||||
border_visible="true"
|
||||
for_agent="false"
|
||||
follows="left|bottom|right"
|
||||
name="group_list" />
|
||||
|
||||
<!--<button follows="left|top" left="15" top="240" height="20" halign="center"
|
||||
label="+" label_selected="+" name="PhoenixGroupInvite_Button" tool_tip="Invite to Group." width="40" />-->
|
||||
|
||||
<layout_stack
|
||||
top_pad="8"
|
||||
left="6"
|
||||
Loading…
Reference in New Issue