ContextMenu Support!

LLContextMenu functionality pulled out of LLPieMenu, PieMenu is now derived from LLContextMenu
- The more attribute boolean of pie_menu element determines whether or not to have an actual submenu if it's not a pie, defaults to false which means actual submenu..
-- in the future we may want to have more more="true" depending on feedback
- Pie menu labels now dynamically get " >" appended to them (avoids stupid looking context menus)
- Positioning logic combined in part, mostly conditional still, in the future we could probably combine it more.
- handleHoverOver function combines common functionality between context and pies given an item and hover mouse coords.

LiruUseContextMenus debug setting determines which to use, default is pie, of course
- Context(/Pie) Menus are rebuilt when the setting changes value
-- this is safe at any point because all startup states have been accounted for
- "Use context menus instead of pie menus" added to System->General preferences (it's close to the bottom)
This commit is contained in:
Inusaito Sayori
2013-11-06 18:47:02 -05:00
parent f41c4dd273
commit 511b0cfb9c
31 changed files with 656 additions and 411 deletions

View File

@@ -846,6 +846,17 @@ Found in Advanced->Rendering->Info Displays</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>LiruUseContextMenus</key>
<map>
<key>Comment</key>
<string>Use context menus instead of the default pie menus we all know and love.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<boolean>0</boolean>
</map>
<key>SLBShowFPS</key>
<map>
<key>Comment</key>

View File

@@ -222,6 +222,7 @@ void LLPrefsAscentSys::refreshValues()
mEnableClassicClouds = gSavedSettings.getBOOL("SkyUseClassicClouds");
mSpeedRez = gSavedSettings.getBOOL("SpeedRez");
mSpeedRezInterval = gSavedSettings.getU32("SpeedRezInterval");
mUseContextMenus = gSavedSettings.getBOOL("LiruUseContextMenus");
mUseWebProfiles = gSavedSettings.getBOOL("UseWebProfiles");
mUseWebSearch = gSavedSettings.getBOOL("UseWebSearch");
@@ -377,6 +378,7 @@ void LLPrefsAscentSys::cancel()
gSavedSettings.setBOOL("SkyUseClassicClouds", mEnableClassicClouds);
gSavedSettings.setBOOL("SpeedRez", mSpeedRez);
gSavedSettings.setU32("SpeedRezInterval", mSpeedRezInterval);
gSavedSettings.setBOOL("LiruUseContextMenus", mUseContextMenus);
gSavedSettings.setBOOL("UseWebProfiles", mUseWebProfiles);
gSavedSettings.setBOOL("UseWebSearch", mUseWebSearch);

View File

@@ -73,6 +73,7 @@ private:
bool mEnableClassicClouds;
bool mSpeedRez;
U32 mSpeedRezInterval;
bool mUseContextMenus;
bool mUseWebProfiles;
bool mUseWebSearch;

View File

@@ -1101,7 +1101,7 @@ BOOL LLToolPie::handleRightClickPick()
{
LLParcelSelectionHandle selection = LLViewerParcelMgr::getInstance()->selectParcelAt( mPick.mPosGlobal );
gMenuHolder->setParcelSelection(selection);
gPieLand->show(x, y, true);
gPieLand->show(x, y);
showVisualContextMenuEffect();
@@ -1115,7 +1115,7 @@ BOOL LLToolPie::handleRightClickPick()
return TRUE ;
}
gPieSelf->show(x, y, true);
gPieSelf->show(x, y);
}
else if (object)
{
@@ -1159,11 +1159,11 @@ BOOL LLToolPie::handleRightClickPick()
// [/RLVa:KB]
/*if (is_other_attachment)
{
gPieAttachmentOther->show(x, y, true);
gPieAttachmentOther->show(x, y);
}
else*/
{
gPieAvatar->show(x, y, true);
gPieAvatar->show(x, y);
}
// [RLVa:KB] - Checked: 2010-04-11 (RLVa-1.2.0e) | Modified: RLVa-1.1.0l
}
@@ -1175,7 +1175,7 @@ BOOL LLToolPie::handleRightClickPick()
}
else if (object->isAttachment())
{
gPieAttachment->show(x, y, true);
gPieAttachment->show(x, y);
}
else
{
@@ -1204,7 +1204,7 @@ BOOL LLToolPie::handleRightClickPick()
{
// [/RLVa:KB]
gMenuHolder->childSetText("Object Mute", mute_msg);
gPieObject->show(x, y, true);
gPieObject->show(x, y);
showVisualContextMenuEffect();
// [RLVa:KB] - Checked: 2010-04-11 (RLVa-1.2.el) | Modified: RLVa-1.1.0l

View File

@@ -249,11 +249,11 @@ LLMenuGL *gPopupMenuView = NULL;
LLMenuBarGL *gLoginMenuBarView = NULL;
// Pie menus
LLPieMenu *gPieSelf = NULL;
LLPieMenu *gPieAvatar = NULL;
LLPieMenu *gPieObject = NULL;
LLPieMenu *gPieAttachment = NULL;
LLPieMenu *gPieLand = NULL;
LLContextMenu *gPieSelf = NULL;
LLContextMenu *gPieAvatar = NULL;
LLContextMenu *gPieObject = NULL;
LLContextMenu *gPieAttachment = NULL;
LLContextMenu *gPieLand = NULL;
// local constants
const std::string CLIENT_MENU_NAME("Advanced");
@@ -266,13 +266,13 @@ LLMenuGL* gAttachSubMenu = NULL;
LLMenuGL* gDetachSubMenu = NULL;
LLMenuGL* gTakeOffClothes = NULL;
LLMenuGL* gMeshesAndMorphsMenu = NULL;
LLPieMenu* gPieRate = NULL;
LLPieMenu* gAttachScreenPieMenu = NULL;
LLPieMenu* gAttachPieMenu = NULL;
LLPieMenu* gAttachBodyPartPieMenus[8];
LLPieMenu* gDetachPieMenu = NULL;
LLPieMenu* gDetachScreenPieMenu = NULL;
LLPieMenu* gDetachBodyPartPieMenus[8];
LLContextMenu* gPieRate = NULL;
LLContextMenu* gAttachScreenPieMenu = NULL;
LLContextMenu* gAttachPieMenu = NULL;
LLContextMenu* gAttachBodyPartPieMenus[8];
LLContextMenu* gDetachPieMenu = NULL;
LLContextMenu* gDetachScreenPieMenu = NULL;
LLContextMenu* gDetachBodyPartPieMenus[8];
LLMenuItemCallGL* gAFKMenu = NULL;
LLMenuItemCallGL* gBusyMenu = NULL;
@@ -602,6 +602,42 @@ void set_underclothes_menu_options()
static std::vector<LLPointer<view_listener_t> > sMenus;
void build_pie_menus()
{
if (gPieSelf) delete gPieSelf;
gPieSelf = LLUICtrlFactory::getInstance()->buildContextMenu("menu_pie_self.xml", gMenuHolder);
// TomY TODO: what shall we do about these?
gDetachScreenPieMenu = gMenuHolder->getChild<LLContextMenu>("Object Detach HUD", true);
gDetachPieMenu = gMenuHolder->getChild<LLContextMenu>("Object Detach", true);
if (gPieAvatar) delete gPieAvatar;
gPieAvatar = LLUICtrlFactory::getInstance()->buildContextMenu("menu_pie_avatar.xml", gMenuHolder);
if (gPieObject) delete gPieObject;
gPieObject = LLUICtrlFactory::getInstance()->buildContextMenu("menu_pie_object.xml", gMenuHolder);
gAttachScreenPieMenu = gMenuHolder->getChild<LLContextMenu>("Object Attach HUD");
gAttachPieMenu = gMenuHolder->getChild<LLContextMenu>("Object Attach");
gPieRate = gMenuHolder->getChild<LLContextMenu>("Rate Menu");
if (gPieAttachment) delete gPieAttachment;
gPieAttachment = LLUICtrlFactory::getInstance()->buildContextMenu("menu_pie_attachment.xml", gMenuHolder);
if (gPieLand) delete gPieLand;
gPieLand = LLUICtrlFactory::getInstance()->buildContextMenu("menu_pie_land.xml", gMenuHolder);
}
void rebuild_context_menus()
{
llassert_always(gMenuHolder);
if (!gMenuHolder) return; // This should never happen, if it does, don't do anything, menus haven't been built yet or were destroyed.
gMenuHolder->hideMenus();
build_pie_menus();
if (!gAgentAvatarp) return; // The agent's avatar isn't here yet, don't bother with the dynamic attach/detach submenus.
gAgentAvatarp->buildContextMenus();
}
void init_menus()
{
S32 top = gViewerWindow->getRootView()->getRect().getHeight();
@@ -633,36 +669,15 @@ void init_menus()
///
/// Pie menus
///
gPieSelf = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_self.xml", gMenuHolder);
build_pie_menus();
gSavedSettings.getControl("LiruUseContextMenus")->getSignal()->connect(boost::bind(rebuild_context_menus));
// TomY TODO: what shall we do about these?
gDetachScreenPieMenu = gMenuHolder->getChild<LLPieMenu>("Object Detach HUD", true);
gDetachPieMenu = gMenuHolder->getChild<LLPieMenu>("Object Detach", true);
gPieAvatar = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_avatar.xml", gMenuHolder);
gPieObject = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_object.xml", gMenuHolder);
gAttachScreenPieMenu = gMenuHolder->getChild<LLPieMenu>("Object Attach HUD");
gAttachPieMenu = gMenuHolder->getChild<LLPieMenu>("Object Attach");
gPieRate = gMenuHolder->getChild<LLPieMenu>("Rate Menu");
gPieAttachment = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_attachment.xml", gMenuHolder);
gPieLand = LLUICtrlFactory::getInstance()->buildPieMenu("menu_pie_land.xml", gMenuHolder);
///
/// set up the colors
///
LLColor4 color;
LLColor4 pie_color = gColors.getColor("PieMenuBgColor");
gPieSelf->setBackgroundColor( pie_color );
gPieAvatar->setBackgroundColor( pie_color );
gPieObject->setBackgroundColor( pie_color );
gPieAttachment->setBackgroundColor( pie_color );
gPieLand->setBackgroundColor( pie_color );
color = gColors.getColor( "MenuPopupBgColor" );
gPopupMenuView->setBackgroundColor( color );
@@ -5549,7 +5564,7 @@ class LLEditDelete : public view_listener_t
// When deleting an object we may not actually be done
// Keep selection so we know what to delete when confirmation is needed about the delete
gPieObject->hide(TRUE);
gPieObject->hide();
return true;
}
};
@@ -5669,7 +5684,7 @@ void handle_object_delete()
// When deleting an object we may not actually be done
// Keep selection so we know what to delete when confirmation is needed about the delete
gPieObject->hide(TRUE);
gPieObject->hide();
return;
}

View File

@@ -167,24 +167,24 @@ extern LLViewerMenuHolderGL* gMenuHolder;
extern LLMenuBarGL* gLoginMenuBarView;
// Pie menus
extern LLPieMenu *gPieSelf;
extern LLPieMenu *gPieAvatar;
extern LLPieMenu *gPieObject;
extern LLPieMenu *gPieAttachment;
extern LLPieMenu *gPieLand;
extern LLPieMenu *gPieRate;
extern LLContextMenu *gPieSelf;
extern LLContextMenu *gPieAvatar;
extern LLContextMenu *gPieObject;
extern LLContextMenu *gPieAttachment;
extern LLContextMenu *gPieLand;
extern LLContextMenu *gPieRate;
// Needed to build menus when attachment site list available
extern LLMenuGL* gAttachSubMenu;
extern LLMenuGL* gDetachSubMenu;
extern LLMenuGL* gTakeOffClothes;
extern LLMenuGL* gMeshesAndMorphsMenu;
extern LLPieMenu* gAttachScreenPieMenu;
extern LLPieMenu* gDetachScreenPieMenu;
extern LLPieMenu* gAttachPieMenu;
extern LLPieMenu* gDetachPieMenu;
extern LLPieMenu* gAttachBodyPartPieMenus[8];
extern LLPieMenu* gDetachBodyPartPieMenus[8];
extern LLContextMenu* gAttachScreenPieMenu;
extern LLContextMenu* gDetachScreenPieMenu;
extern LLContextMenu* gAttachPieMenu;
extern LLContextMenu* gDetachPieMenu;
extern LLContextMenu* gAttachBodyPartPieMenus[8];
extern LLContextMenu* gDetachBodyPartPieMenus[8];
extern LLMenuItemCallGL* gAFKMenu;
extern LLMenuItemCallGL* gBusyMenu;

View File

@@ -325,29 +325,55 @@ BOOL LLVOAvatarSelf::buildMenus()
//-------------------------------------------------------------------------
if(gNoRender)
return TRUE;
gAttachBodyPartPieMenus[0] = NULL;
gAttachBodyPartPieMenus[1] = new LLPieMenu(LLTrans::getString("BodyPartsRightArm") + " >");
gAttachBodyPartPieMenus[2] = new LLPieMenu(LLTrans::getString("BodyPartsHead") + " >");
gAttachBodyPartPieMenus[3] = new LLPieMenu(LLTrans::getString("BodyPartsLeftArm") + " >");
gAttachBodyPartPieMenus[4] = NULL;
gAttachBodyPartPieMenus[5] = new LLPieMenu(LLTrans::getString("BodyPartsLeftLeg") + " >");
gAttachBodyPartPieMenus[6] = new LLPieMenu(LLTrans::getString("BodyPartsTorso") + " >");
gAttachBodyPartPieMenus[7] = new LLPieMenu(LLTrans::getString("BodyPartsRightLeg") + " >");
buildContextMenus();
gDetachBodyPartPieMenus[0] = NULL;
gDetachBodyPartPieMenus[1] = new LLPieMenu(LLTrans::getString("BodyPartsRightArm") + " >");
gDetachBodyPartPieMenus[2] = new LLPieMenu(LLTrans::getString("BodyPartsHead") + " >");
gDetachBodyPartPieMenus[3] = new LLPieMenu(LLTrans::getString("BodyPartsLeftArm") + " >");
gDetachBodyPartPieMenus[4] = NULL;
gDetachBodyPartPieMenus[5] = new LLPieMenu(LLTrans::getString("BodyPartsLeftLeg") + " >");
gDetachBodyPartPieMenus[6] = new LLPieMenu(LLTrans::getString("BodyPartsTorso") + " >");
gDetachBodyPartPieMenus[7] = new LLPieMenu(LLTrans::getString("BodyPartsRightLeg") + " >");
init_meshes_and_morphs_menu();
return TRUE;
}
// Convenience function to create context or pie menu with label
static LLContextMenu* make_part_menu(const std::string& label, bool context)
{
return context ? new LLContextMenu(label) : new LLPieMenu(label + " >");
}
void LLVOAvatarSelf::buildContextMenus()
{
gAttachBodyPartPieMenus[0] = gDetachBodyPartPieMenus[0] = NULL;
bool context(gSavedSettings.getBOOL("LiruUseContextMenus"));
std::string label = LLTrans::getString("BodyPartsRightArm");
gAttachBodyPartPieMenus[1] = make_part_menu(label, context);
gDetachBodyPartPieMenus[1] = make_part_menu(label, context);
label = LLTrans::getString("BodyPartsHead");
gAttachBodyPartPieMenus[2] = make_part_menu(label, context);
gDetachBodyPartPieMenus[2] = make_part_menu(label, context);
label = LLTrans::getString("BodyPartsLeftArm");
gAttachBodyPartPieMenus[3] = make_part_menu(label, context);
gDetachBodyPartPieMenus[3] = make_part_menu(label, context);
gAttachBodyPartPieMenus[4] = gDetachBodyPartPieMenus[4] = NULL;
label = LLTrans::getString("BodyPartsLeftLeg");
gAttachBodyPartPieMenus[5] = make_part_menu(label, context);
gDetachBodyPartPieMenus[5] = make_part_menu(label, context);
label = LLTrans::getString("BodyPartsTorso");
gAttachBodyPartPieMenus[6] = make_part_menu(label, context);
gDetachBodyPartPieMenus[6] = make_part_menu(label, context);
label = LLTrans::getString("BodyPartsRightLeg");
gAttachBodyPartPieMenus[7] = make_part_menu(label, context);
gDetachBodyPartPieMenus[7] = make_part_menu(label, context);
for (S32 i = 0; i < 8; i++)
{
if (gAttachBodyPartPieMenus[i])
{
gAttachPieMenu->appendPieMenu( gAttachBodyPartPieMenus[i] );
gAttachPieMenu->appendContextSubMenu( gAttachBodyPartPieMenus[i] );
}
else
{
@@ -379,7 +405,7 @@ BOOL LLVOAvatarSelf::buildMenus()
}
}
if (!attachment_found)
if (!context && !attachment_found)
{
gAttachPieMenu->addSeparator();
}
@@ -387,7 +413,7 @@ BOOL LLVOAvatarSelf::buildMenus()
if (gDetachBodyPartPieMenus[i])
{
gDetachPieMenu->appendPieMenu( gDetachBodyPartPieMenus[i] );
gDetachPieMenu->appendContextSubMenu( gDetachBodyPartPieMenus[i] );
}
else
{
@@ -407,7 +433,7 @@ BOOL LLVOAvatarSelf::buildMenus()
}
}
if (!attachment_found)
if (!context && !attachment_found)
{
gDetachPieMenu->addSeparator();
}
@@ -466,7 +492,7 @@ BOOL LLVOAvatarSelf::buildMenus()
&handle_detach_from_avatar, object_attached, &detach_label, attachment));
}
if (pass == 0)
if (!context && pass == 0)
{
// put separator between non-hud and hud attachments
gAttachSubMenu->addSeparator();
@@ -503,14 +529,17 @@ BOOL LLVOAvatarSelf::buildMenus()
for (std::multimap<S32, S32>::iterator attach_it = attachment_pie_menu_map.begin();
attach_it != attachment_pie_menu_map.end(); ++attach_it)
{
S32 requested_pie_slice = attach_it->first;
S32 attach_index = attach_it->second;
while (cur_pie_slice < requested_pie_slice)
if (!context) // Singu Note: Separators are only needed to keep slices of pies from moving
{
gAttachBodyPartPieMenus[group]->addSeparator();
gDetachBodyPartPieMenus[group]->addSeparator();
cur_pie_slice++;
S32 requested_pie_slice = attach_it->first;
while (cur_pie_slice < requested_pie_slice)
{
gAttachBodyPartPieMenus[group]->addSeparator();
gDetachBodyPartPieMenus[group]->addSeparator();
cur_pie_slice++;
}
}
S32 attach_index = attach_it->second;
LLViewerJointAttachment* attachment = get_if_there(mAttachmentPoints, attach_index, (LLViewerJointAttachment*)NULL);
if (attachment)
@@ -527,14 +556,10 @@ BOOL LLVOAvatarSelf::buildMenus()
gDetachBodyPartPieMenus[group]->addChild(new LLMenuItemCallGL(attachment->getName(),
&handle_detach_from_avatar,
object_attached, attachment));
cur_pie_slice++;
if (!context) cur_pie_slice++;
}
}
}
init_meshes_and_morphs_menu();
return TRUE;
}
void LLVOAvatarSelf::cleanup()

View File

@@ -63,6 +63,7 @@ public:
virtual ~LLVOAvatarSelf();
virtual void markDead();
virtual void initInstance(); // Called after construction to initialize the class.
void buildContextMenus();
void cleanup();
protected:
/*virtual*/ BOOL loadAvatar();

View File

@@ -5,8 +5,8 @@
<menu_item_call label="Berühren" name="Attachment Object Touch"/>
<menu_item_call label="Aufstehen" name="Stand Up"/>
<menu_item_call label="Abnehmen" name="Detach"/>
<pie_menu label="Werkzeuge &gt;" name="Tools &gt;">
<pie_menu label="Skripte &gt;" name="ScriptsMenu">
<pie_menu label="Werkzeuge" name="Tools">
<pie_menu label="Skripte" name="ScriptsMenu">
<menu_item_call label="Erzeuge Mono" name="CompileMono"/>
<menu_item_call label="Erzeuge LSL" name="CompileLSL"/>
<menu_item_call label="Zurücksetzen" name="Reset Scripts"/>

View File

@@ -6,11 +6,11 @@
<menu_item_call label="Melden..." name="abuse"/>
<menu_item_call label="Freund hinzufügen..." name="Add Friend"/>
<menu_item_call label="Zahlen..." name="Pay..."/>
<pie_menu label="Mehr &gt;" name="More &gt;">
<pie_menu label="Mehr" name="More">
<menu_item_call label="Einfrieren..." name="Freeze..."/>
<menu_item_call label="Karte geben" name="Give Card"/>
<menu_item_call label="Gruppeneinladung..." name="Invite..."/>
<pie_menu label="Werkzeuge &gt;" name="Tools &gt;">
<pie_menu label="Werkzeuge" name="Tools">
<menu_item_call label="S. Count" name="ScriptCount"/>
<menu_item_call label="UUID kopieren" name="CopyUUID"/>
<menu_item_call label="Client ID" name="ClientID"/>

View File

@@ -6,16 +6,16 @@
<menu_item_call label="Hier sitzen" name="Object Sit"/>
<menu_item_call label="Nehmen" name="Pie Object Take"/>
<menu_item_call label="Zahlen..." name="Pay..."/>
<pie_menu label="Mehr &gt;" name="More &gt;">
<pie_menu label="Mehr" name="More">
<menu_item_call label="Löschen" name="Delete"/>
<menu_item_call label="Anziehen" name="Wear"/>
<menu_item_call label="Kopie nehmen" name="Take Copy"/>
<pie_menu label="HUD anhängen &gt;" name="Object Attach HUD"/>
<pie_menu label="Anhängen &gt;" name="Object Attach"/>
<pie_menu label="HUD anhängen" name="Object Attach HUD"/>
<pie_menu label="Anhängen" name="Object Attach"/>
<menu_item_call label="Zurückgeben..." name="Return..."/>
<pie_menu label="Mehr &gt;" name="Rate Menu">
<pie_menu label="Mehr" name="Rate Menu">
<pie_menu label="Werkzeuge &gt;" name="Rate Menu">
<pie_menu label="Werkzeuge" name="Rate Menu">
<menu_item_call label="Zerstören" name="Destroy"/>
<menu_item_call label="Explode" name="Explode"/>
<menu_item_call label="Messen" name="Measure"/>
@@ -29,11 +29,11 @@
<menu_item_call label="Untersuchen" name="Object Inspect"/>
<menu_item_call label="Nicht anzeigen" name="Derender"/>
<menu_item_call label="Melden..." name="Report Abuse..."/>
<pie_menu label="Pathfinding &gt;" name="PF Menu">
<pie_menu label="Pathfinding" name="PF Menu">
<menu_item_call label="In Linksets anzeigen" name="show_in_linksets"/>
<menu_item_call label="In Figuren anzeigen" name="show_in_characters"/>
</pie_menu>
<pie_menu label="Skripte &gt;" name="ScriptsMenu">
<pie_menu label="Skripte" name="ScriptsMenu">
<menu_item_call label="Erzeuge Mono" name="CompileMono"/>
<menu_item_call label="Erzeuge LSL" name="CompileLSL"/>
<menu_item_call label="Zurücksetzen" name="Reset Scripts"/>

View File

@@ -2,15 +2,15 @@
<pie_menu name="Self Pie">
<menu_item_call label="Profil..." name="Profile..."/>
<menu_item_call label="Gruppen..." name="Groups..."/>
<pie_menu label="Ausziehen &gt;" name="Take Off &gt;">
<pie_menu label="Kleidung &gt;" name="Clothes &gt;">
<pie_menu label="Ausziehen" name="Take Off">
<pie_menu label="Kleidung" name="Clothes">
<menu_item_call label="Hemd" name="Shirt"/>
<menu_item_call label="Hose" name="Pants"/>
<menu_item_call label="Schuhe" name="Shoes"/>
<menu_item_call label="Socken" name="Socks"/>
<menu_item_call label="Jacke" name="Jacket"/>
<menu_item_call label="Handschuhe" name="Gloves"/>
<pie_menu label="Mehr &gt;" name="More &gt;">
<pie_menu label="Mehr" name="More">
<menu_item_call label="Unterhemd" name="Self Undershirt"/>
<menu_item_call label="Alle Kleider" name="All Clothes"/>
@@ -21,13 +21,13 @@
</pie_menu>
<menu_item_call label="Rock" name="Skirt"/>
</pie_menu>
<pie_menu label="HUD &gt;" name="Object Detach HUD"/>
<pie_menu label="HUD" name="Object Detach HUD"/>
<pie_menu label="Abnehmen &gt;" name="Object Detach"/>
<pie_menu label="Abnehmen" name="Object Detach"/>
<menu_item_call label="Alles abnehmen" name="Detach All"/>
</pie_menu>
<pie_menu label="Werkzeuge &gt;" name="Tools &gt;">
<pie_menu label="Werkzeuge" name="Tools">
<menu_item_call label="Neu laden" name="Reload Textures"/>
<menu_item_call label="Animationen" name="Anims..."/>
<menu_item_call label="S. Count" name="ScriptCount"/>

View File

@@ -19,8 +19,8 @@
<on_click function="Attachment.Detach" />
<on_enable function="Attachment.EnableDetach" />
</menu_item_call>
<pie_menu label="Tools &gt;" name="Tools &gt;">
<pie_menu label="Scripts &gt;" name="ScriptsMenu">
<pie_menu label="Tools" name="Tools">
<pie_menu label="Scripts" name="ScriptsMenu">
<menu_item_call mouse_opaque="true" label="Make Mono" name="CompileMono">
<on_click function="Tools.SelectedScriptAction" userdata="compile mono" />
<on_enable function="EditableSelectedMono" />

View File

@@ -21,7 +21,7 @@
<on_click function="PayObject" />
<on_enable function="EnablePayObject" />
</menu_item_call>
<pie_menu label="More &gt;" name="More &gt;">
<pie_menu more="true" label="More" name="More">
<menu_item_call enabled="false" label="Freeze..." mouse_opaque="true" name="Freeze...">
<on_click function="Avatar.Freeze" />
<on_enable function="Avatar.EnableFreezeEject" />
@@ -32,7 +32,7 @@
<menu_item_call enabled="true" label="Group Invite..." mouse_opaque="true" name="Invite...">
<on_click function="Avatar.InviteToGroup" />
</menu_item_call>
<pie_menu label="Tools &gt;" name="Tools &gt;">
<pie_menu label="Tools" name="Tools">
<menu_item_call enabled="false" hidden="false" label="S. Count" mouse_opaque="true" name="ScriptCount">
<on_click function="Object.ScriptCount" />
<on_visible function="Object.VisibleScriptCount" />

View File

@@ -24,7 +24,7 @@
<on_click function="PayObject" />
<on_enable function="EnablePayObject" />
</menu_item_call>
<pie_menu label="More &gt;" name="More &gt;">
<pie_menu more="true" label="More" name="More">
<menu_item_call enabled="false" label="Delete" mouse_opaque="true" name="Delete">
<on_click function="Object.Delete" />
<on_enable function="Object.EnableDelete" />
@@ -37,15 +37,15 @@
<on_click function="Tools.TakeCopy" />
<on_enable function="Tools.EnableTakeCopy" />
</menu_item_call>
<pie_menu label="Attach HUD &gt;" name="Object Attach HUD" />
<pie_menu label="Attach &gt;" name="Object Attach" />
<pie_menu label="Attach HUD" name="Object Attach HUD" />
<pie_menu label="Attach" name="Object Attach" />
<menu_item_call enabled="false" label="Return..." mouse_opaque="true" name="Return...">
<on_click function="Object.Return" />
<on_enable function="Object.EnableReturn" />
</menu_item_call>
<pie_menu label="More &gt;" name="Rate Menu">
<pie_menu more="true" label="More" name="Rate Menu">
<menu_item_separator />
<pie_menu label="Tools &gt;" name="Rate Menu">
<pie_menu label="Tools" name="Rate Menu">
<menu_item_call enabled="false" label="Destroy" mouse_opaque="true" name="Destroy">
<on_click function="Object.Destroy" />
<on_enable function="Object.EnableDestroy" />
@@ -92,7 +92,7 @@
<on_click function="Object.ReportAbuse" />
<on_enable function="Object.EnableReportAbuse" />
</menu_item_call>
<pie_menu label="Pathfinding &gt;" name="PF Menu">
<pie_menu more="true" label="Pathfinding" name="PF Menu">
<menu_item_call label="Show in linksets" name="show_in_linksets">
<on_click function="Pathfinding.Linksets.Select" />
<on_enable function="EnableSelectInPathfindingLinksets"/>
@@ -102,7 +102,7 @@
<on_enable function="EnableSelectInPathfindingCharacters"/>
</menu_item_call>
</pie_menu>
<pie_menu label="Scripts &gt;" name="ScriptsMenu">
<pie_menu label="Scripts" name="ScriptsMenu">
<menu_item_call mouse_opaque="true" label="Make Mono" name="CompileMono">
<on_click function="Tools.SelectedScriptAction" userdata="compile mono" />
<on_enable function="EditableSelectedMono" />

View File

@@ -6,8 +6,8 @@
<menu_item_call enabled="true" label="Groups..." name="Groups...">
<on_click function="ShowAgentGroups" userdata="agent" />
</menu_item_call>
<pie_menu enabled="true" label="Take Off &gt;" name="Take Off &gt;">
<pie_menu enabled="true" label="Clothes &gt;" name="Clothes &gt;">
<pie_menu enabled="true" label="Take Off" name="Take Off">
<pie_menu enabled="true" label="Clothes" name="Clothes">
<menu_item_call bottom="-29" enabled="false" height="19" label="Shirt" left="0"
mouse_opaque="true" name="Shirt" width="118">
<on_click function="Edit.TakeOff" userdata="shirt" />
@@ -38,7 +38,7 @@
<on_click function="Edit.TakeOff" userdata="gloves" />
<on_enable function="Edit.EnableTakeOff" userdata="gloves" />
</menu_item_call>
<pie_menu enabled="true" label="More &gt;" name="More &gt;">
<pie_menu more="true" label="More" name="More">
<menu_item_call bottom="-143" enabled="false" height="19" label="Undershirt" left="0"
mouse_opaque="true" name="Self Undershirt" width="118">
<on_click function="Edit.TakeOff" userdata="undershirt" />
@@ -76,16 +76,16 @@
<on_enable function="Edit.EnableTakeOff" userdata="skirt" />
</menu_item_call>
</pie_menu>
<pie_menu enabled="true" label="HUD &gt;" name="Object Detach HUD" />
<pie_menu enabled="true" label="HUD" name="Object Detach HUD" />
<menu_item_separator />
<pie_menu enabled="true" label="Detach &gt;" name="Object Detach" />
<pie_menu enabled="true" label="Detach" name="Object Detach" />
<menu_item_separator />
<menu_item_call enabled="true" label="Detach All" name="Detach All">
<on_click function="Self.RemoveAllAttachments" userdata="" />
<on_enable function="Self.EnableRemoveAllAttachments" />
</menu_item_call>
</pie_menu>
<pie_menu label="Tools &gt;" name="Tools &gt;">
<pie_menu label="Tools" name="Tools">
<menu_item_call enabled="true" label="Reload" mouse_opaque="true" name="Reload Textures">
<on_click function="Avatar.ReloadTextures" />
</menu_item_call>

View File

@@ -34,9 +34,10 @@
<check_box bottom_delta="-18" control_name="CloudsEnabled" follows="left|top" initial_value="true" label="Enable Clouds" name="enable_clouds"/>
<check_box bottom_delta="-18" left_delta="10" control_name="SkyUseClassicClouds" follows="top" initial_value="true" label="Enable Classic Clouds" name="enable_classic_clouds"/>
<check_box bottom_delta="-18" left_delta="-10" control_name="SpeedRez" follows="top" initial_value="false" label="Enable speed-rezzing via draw distance stepping" name="speed_rez_check" tool_tip="When active, this will progressively increase your draw distance, which allows closer objects/people to rez first."/>
<spinner bottom_delta="-20" left="30" control_name="SpeedRezInterval" decimal_digits="0" follows="top" height="16" width="230"
<spinner bottom_delta="-16" left="30" control_name="SpeedRezInterval" decimal_digits="0" follows="top" height="16" width="230"
label="Draw distance stepping interval:" label_width="180" max_val="60" min_val="5" initial_val="20" increment="5" name="speed_rez_interval" />
<text bottom_delta="0" left_delta="235" follows="left|top" height="16" name="speed_rez_seconds">seconds</text>
<check_box bottom_delta="-18" control_name="LiruUseContextMenus" follows="top" left="10" name="use_context_menus" label="Use context menus instead of pie menus"/>
<check_box bottom_delta="-18" control_name="UseWebProfiles" follows="top" left="10" name="use_web_profiles" label="Use web profiles instead of legacy v1 profiles" tool_tip="May not be available on certain grids"/>
<check_box bottom_delta="-18" control_name="UseWebSearch" follows="top" left="10" name="use_web_search" label="Use web-based search instead of legacy v1 search" tool_tip="May not be available on certain grids"/>
</panel>

View File

@@ -11,8 +11,8 @@
<on_enable function="Self.EnableSitOrStand" userdata="Sentarse,Pararse"/>
</menu_item_call>
<menu_item_call label="Quitar" name="Detach"/>
<pie_menu label="Herramientas &gt;" name="Tools &gt;">
<pie_menu label="Scripts &gt;" name="ScriptsMenu">
<pie_menu label="Herramientas" name="Tools">
<pie_menu label="Scripts" name="ScriptsMenu">
<menu_item_call label="Compilar en Mono" name="CompileMono"/>
<menu_item_call label="Compilar en LSL" name="CompileLSL"/>
<menu_item_call label="Reiniciar" name="Reset Scripts"/>

View File

@@ -6,11 +6,11 @@
<menu_item_call label="Denunciar..." name="abuse"/>
<menu_item_call label="Añadir Amigo..." name="Add Friend"/>
<menu_item_call label="Pagar..." name="Pay..."/>
<pie_menu label="Más &gt;" name="More &gt;">
<pie_menu label="Más" name="More">
<menu_item_call label="Congelar..." name="Freeze..."/>
<menu_item_call label="Dar Tarjeta" name="Give Card"/>
<menu_item_call label="Invitar a Grupo..." name="Invite..."/>
<pie_menu label="Herramientas &gt;" name="Tools &gt;">
<pie_menu label="Herramientas" name="Tools">
<menu_item_call label="Contar Scripts" name="ScriptCount"/>
<menu_item_call label="Copiar UUID" name="CopyUUID"/>
<menu_item_call label="ID Cliente" name="ClientID"/>

View File

@@ -14,15 +14,15 @@
<on_enable function="Tools.EnableBuyOrTake" userdata="Comprar,Recoger" name="EnableBuyOrTake"/>
</menu_item_call>
<menu_item_call label="Pagar..." name="Pay..."/>
<pie_menu label="Más &gt;" name="More &gt;">
<pie_menu label="Más" name="More">
<menu_item_call label="Borrar" name="Delete"/>
<menu_item_call label="Vestirse" name="Wear"/>
<menu_item_call label="Recoger una copia" name="Take Copy"/>
<pie_menu label="Anexar HUD &gt;" name="Object Attach HUD" />
<pie_menu label="Anexar &gt;" name="Object Attach" />
<pie_menu label="Anexar HUD" name="Object Attach HUD" />
<pie_menu label="Anexar" name="Object Attach" />
<menu_item_call label="Regresar..." name="Return..."/>
<pie_menu label="Más &gt;" name="Rate Menu">
<pie_menu label="Herramientas &gt;" name="Rate Menu">
<pie_menu label="Más" name="Rate Menu">
<pie_menu label="Herramientas" name="Rate Menu">
<menu_item_call label="Destruir" name="Destroy"/>
<menu_item_call label="Explotar" name="Explode"/>
<menu_item_call label="Medir" name="Measure"/>
@@ -36,11 +36,11 @@
<menu_item_call label="Examinar" name="Object Inspect"/>
<menu_item_call label="Desdibujar" name="Derender"/>
<menu_item_call label="Denunciar..." name="Report Abuse..."/>
<pie_menu label="Pathfinding &gt;" name="PF Menu">
<pie_menu label="Pathfinding" name="PF Menu">
<menu_item_call label="Mostrar e/Conj.Enlaces" name="show_in_linksets"/>
<menu_item_call label="Mostrar en Personajes" name="show_in_characters"/>
</pie_menu>
<pie_menu label="Scripts &gt;" name="ScriptsMenu">
<pie_menu label="Scripts" name="ScriptsMenu">
<menu_item_call label="Compilar Mono" name="CompileMono"/>
<menu_item_call label="Compilar LSL" name="CompileLSL"/>
<menu_item_call label="Reiniciar" name="Reset Scripts"/>

View File

@@ -2,15 +2,15 @@
<pie_menu name="Self Pie">
<menu_item_call label="Perfil..." name="Profile..."/>
<menu_item_call label="Grupos..." name="Groups..."/>
<pie_menu label="Quitarse &gt;" name="Take Off &gt;">
<pie_menu label="Ropa &gt;" name="Clothes &gt;">
<pie_menu label="Quitarse" name="Take Off">
<pie_menu label="Ropa" name="Clothes">
<menu_item_call label="Camisa" name="Shirt"/>
<menu_item_call label="Pantalones" name="Pants"/>
<menu_item_call label="Zapatos" name="Shoes"/>
<menu_item_call label="Calcetines" name="Socks"/>
<menu_item_call label="Chaqueta" name="Jacket"/>
<menu_item_call label="Guantes" name="Gloves"/>
<pie_menu label="Más &gt;" name="More &gt;">
<pie_menu label="Más" name="More">
<menu_item_call label="Camiseta" name="Self Undershirt"/>
<menu_item_separator />
<menu_item_call label="Toda la ropa" name="All Clothes"/>
@@ -21,13 +21,13 @@
</pie_menu>
<menu_item_call label="Falda" name="Skirt"/>
</pie_menu>
<pie_menu label="HUD &gt;" name="Object Detach HUD"/>
<pie_menu label="HUD" name="Object Detach HUD"/>
<menu_item_separator />
<pie_menu label="Quitar &gt;" name="Object Detach" />
<pie_menu label="Quitar" name="Object Detach" />
<menu_item_separator />
<menu_item_call label="Quitar todo" name="Detach All"/>
</pie_menu>
<pie_menu label="Herramientas &gt;" name="Tools &gt;">
<pie_menu label="Herramientas" name="Tools">
<menu_item_call label="Recargar" name="Reload Textures"/>
<menu_item_call label="Animaciones..." name="Anims..."/>
<menu_item_call label="Contar Scripts" name="ScriptCount"/>

View File

@@ -6,7 +6,7 @@
<menu_item_call label="Signaler" name="abuse"/>
<menu_item_call label="Devenir ami(e)s" name="Add Friend"/>
<menu_item_call label="Payer" name="Pay..."/>
<pie_menu label="Plus &gt;" name="More &gt;">
<pie_menu label="Plus" name="More">
<menu_item_call label="Geler" name="Freeze..."/>
<menu_item_call label="Donner une carte" name="Give Card"/>
<menu_item_call label="Inviter dans le groupe" name="Invite..."/>

View File

@@ -24,7 +24,7 @@
<on_click function="PayObject" />
<on_enable function="EnablePayObject" />
</menu_item_call>
<pie_menu label="Plus &gt;" name="More &gt;">
<pie_menu label="Plus" name="More">
<menu_item_call label="Supprimer" name="Delete">
<on_click function="Object.Delete" />
<on_enable function="Object.EnableDelete" />
@@ -37,15 +37,15 @@
<on_click function="Tools.TakeCopy" />
<on_enable function="Tools.EnableTakeCopy" />
</menu_item_call>
<pie_menu label="Attacher le HUD &gt;" name="Object Attach HUD" />
<pie_menu label="Attacher &gt;" name="Object Attach" />
<pie_menu label="Attacher le HUD" name="Object Attach HUD" />
<pie_menu label="Attacher" name="Object Attach" />
<menu_item_call label="Retourner" name="Return...">
<on_click function="Object.Return" />
<on_enable function="Object.EnableReturn" />
</menu_item_call>
<pie_menu label="Plus &gt;" name="Rate Menu">
<pie_menu label="Plus" name="Rate Menu">
<menu_item_separator />
<pie_menu label="Outils &gt;" name="Rate Menu">
<pie_menu label="Outils" name="Rate Menu">
<menu_item_call label="Detruire" name="Destroy">
<on_click function="Object.Destroy" />
<on_enable function="Object.EnableDestroy" />

View File

@@ -6,30 +6,30 @@
<menu_item_call label="Me lever" name="Stand Up" />
<menu_item_call label="Amis" name="Friends..." />
<menu_item_call label="Gestures" name="Gestures..." />
<pie_menu label="Outils &gt;" name="Tools &gt;">
<pie_menu label="Outils" name="Tools">
<menu_item_call label="Animations" name="Anims..."/>
<menu_item_call label="Script Compte" name="ScriptCount"/>
<menu_item_call label="Debug" name="Debug Layers"/>
<menu_item_call label="Copie UUID" name="CopyUUID"/>
</pie_menu>
<pie_menu label="Enlever &gt;" name="Take Off &gt;">
<pie_menu label="Habits &gt;" name="Clothes &gt;">
<pie_menu label="Enlever" name="Take Off">
<pie_menu label="Habits" name="Clothes">
<menu_item_call label="Chemise" name="Shirt" />
<menu_item_call label="Pantalon" name="Pants" />
<menu_item_call label="Chaussures" name="Shoes" />
<menu_item_call label="Chaussettes" name="Socks" />
<menu_item_call label="Veste" name="Jacket" />
<menu_item_call label="Gants" name="Gloves" />
<pie_menu label="Plus &gt;" name="More &gt;">
<pie_menu label="Plus" name="More">
<menu_item_call label="Tee Shirt" name="Self Undershirt" />
<menu_item_call label="Tous les habits" name="All Clothes" />
<menu_item_call label="Culotte" name="Self Underpants" />
</pie_menu>
<menu_item_call label="Jupe" name="Skirt" />
</pie_menu>
<pie_menu label="HUD &gt;" name="Object Detach HUD"/>
<pie_menu label="HUD" name="Object Detach HUD"/>
<menu_item_separator />
<pie_menu label="D&#xE9;tacher &gt;" name="Object Detach"/>
<pie_menu label="D&#xE9;tacher" name="Object Detach"/>
<menu_item_separator />
<menu_item_call label="D&#xE9;tacher Tout" name="Detach All"/>
</pie_menu>

View File

@@ -6,7 +6,7 @@
<menu_item_call label="Reportar..." name="abuse"/>
<menu_item_call label="Adicionar amigo..." name="Add Friend"/>
<menu_item_call label="Pagar..." name="Pay..."/>
<pie_menu label="Mais &gt;" name="More &gt;">
<pie_menu label="Mais" name="More">
<menu_item_call label="Paralizar..." name="Freeze..."/>
<menu_item_call label="Dar Cartão" name="Give Card"/>
<menu_item_call label="Convidar para o Grupo..." name="Invite..."/>

View File

@@ -6,14 +6,14 @@
<menu_item_call label="Sentar aqui" name="Object Sit"/>
<menu_item_call label="Pegar" name="Pie Object Take"/>
<menu_item_call label="Pagar..." name="Pay..."/>
<pie_menu label="Mais &gt;" name="More &gt;">
<pie_menu label="Mais" name="More">
<menu_item_call label="Apagar" name="Delete"/>
<menu_item_call label="Vestir" name="Wear"/>
<menu_item_call label="Pegar Cópia" name="Take Copy"/>
<pie_menu label="Anexar HUD &gt;" name="Object Attach HUD"/>
<pie_menu label="Anexar &gt;" name="Object Attach"/>
<pie_menu label="Anexar HUD" name="Object Attach HUD"/>
<pie_menu label="Anexar" name="Object Attach"/>
<menu_item_call label="Retornar..." name="Return..."/>
<pie_menu label="Mais &gt;" name="Rate Menu">
<pie_menu label="Mais" name="Rate Menu">
<menu_item_call label="Reportar..." name="Report Abuse..."/>
<menu_item_call label="Silenciar" name="Object Mute"/>
<menu_item_call label="Inspecionar" name="Object Inspect"/>

View File

@@ -6,23 +6,23 @@
<menu_item_call label="Levantar" name="Stand Up" />
<menu_item_call label="Amigos..." name="Friends..." />
<menu_item_call label="Gestos..." name="Gestures..." />
<pie_menu label="Tirar &gt;" name="Take Off &gt;">
<pie_menu label="Roupas &gt;" name="Clothes &gt;">
<pie_menu label="Tirar" name="Take Off">
<pie_menu label="Roupas" name="Clothes">
<menu_item_call label="Camisa" name="Shirt" />
<menu_item_call label="Calça" name="Pants" />
<menu_item_call label="Sapatos" name="Shoes" />
<menu_item_call label="Meias" name="Socks" />
<menu_item_call label="Jaqueta" name="Jacket" />
<menu_item_call label="Luvas" name="Gloves" />
<pie_menu label="Mais &gt;" name="More &gt;">
<pie_menu label="Mais" name="More">
<menu_item_call label="Anágoas" name="Self Undershirt" />
<menu_item_call label="Todas as roupas" name="All Clothes" />
<menu_item_call label="Roupa de baixo" name="Self Underpants" />
</pie_menu>
<menu_item_call label="Saia" name="Skirt" />
</pie_menu>
<pie_menu label="HUD &gt;" name="Object Detach HUD" />
<pie_menu label="Desanexar &gt;" name="Object Detach" />
<pie_menu label="HUD" name="Object Detach HUD" />
<pie_menu label="Desanexar" name="Object Detach" />
<menu_item_call label="Desanexar todos" name="Detach All" />
</pie_menu>
<menu_item_call label="Aparência..." name="Appearance..." />