aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden
diff options
context:
space:
mode:
Diffstat (limited to 'linden')
-rw-r--r--linden/indra/llui/lllineeditor.cpp122
-rw-r--r--linden/indra/llui/lllineeditor.h6
-rw-r--r--linden/indra/llui/llmenugl.cpp219
-rw-r--r--linden/indra/llui/llmenugl.h114
-rw-r--r--linden/indra/llui/lltexteditor.cpp111
-rw-r--r--linden/indra/llui/lltexteditor.h1
-rw-r--r--linden/indra/newview/llpanellogin.cpp2
-rw-r--r--linden/indra/newview/skins/default/xui/da/menu_rightclick_text.xml115
-rw-r--r--linden/indra/newview/skins/default/xui/de/menu_rightclick_text.xml115
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/menu_rightclick_text.xml115
-rw-r--r--linden/indra/newview/skins/default/xui/es/menu_rightclick_text.xml115
-rw-r--r--linden/indra/newview/skins/default/xui/fr/menu_rightclick_text.xml115
-rw-r--r--linden/indra/newview/skins/default/xui/hu/menu_rightclick_text.xml115
-rw-r--r--linden/indra/newview/skins/default/xui/it/menu_rightclick_text.xml115
-rw-r--r--linden/indra/newview/skins/default/xui/ja/menu_rightclick_text.xml115
-rw-r--r--linden/indra/newview/skins/default/xui/ko/menu_rightclick_text.xml115
-rw-r--r--linden/indra/newview/skins/default/xui/pl/menu_rightclick_text.xml115
-rw-r--r--linden/indra/newview/skins/default/xui/pt/menu_rightclick_text.xml115
-rw-r--r--linden/indra/newview/skins/default/xui/ru/menu_rightclick_text.xml115
-rw-r--r--linden/indra/newview/skins/default/xui/tr/menu_rightclick_text.xml115
-rw-r--r--linden/indra/newview/skins/default/xui/uk/menu_rightclick_text.xml115
-rw-r--r--linden/indra/newview/skins/default/xui/zh/menu_rightclick_text.xml115
22 files changed, 2208 insertions, 92 deletions
diff --git a/linden/indra/llui/lllineeditor.cpp b/linden/indra/llui/lllineeditor.cpp
index a21ad5d..1d998be 100644
--- a/linden/indra/llui/lllineeditor.cpp
+++ b/linden/indra/llui/lllineeditor.cpp
@@ -55,17 +55,24 @@
55#include "llui.h" 55#include "llui.h"
56#include "lluictrlfactory.h" 56#include "lluictrlfactory.h"
57#include "llclipboard.h" 57#include "llclipboard.h"
58#include "llmemberlistener.h"
58 59
59#include "../newview/lgghunspell_wrapper.h" 60#include "../newview/lgghunspell_wrapper.h"
60#include "../newview/lltranslate.h" 61#include "../newview/lltranslate.h"
61#include "../newview/llviewercontrol.h" 62#include "../newview/llviewercontrol.h"
62#include "../newview/lggautocorrect.h" 63#include "../newview/lggautocorrect.h"
63 64
65
64// 66//
65// Imported globals 67// Imported globals
66// 68//
67 69
68// 70//
71// Globals
72
73
74
75//
69// Constants 76// Constants
70// 77//
71 78
@@ -90,6 +97,8 @@ static LLRegisterWidget<LLLineEditor> r1("line_editor");
90 97
91/* static */ LLPointer<LLUIImage> LLLineEditor::sImage; 98/* static */ LLPointer<LLUIImage> LLLineEditor::sImage;
92 99
100typedef LLMemberListener<LLView> text_edit_listener_t;
101
93// 102//
94// Member functions 103// Member functions
95// 104//
@@ -214,46 +223,18 @@ LLLineEditor::LLLineEditor(const std::string& name, const LLRect& rect,
214 } 223 }
215 mImage = sImage; 224 mImage = sImage;
216 225
217 // make the popup menu available 226
218 //LLMenuGL* menu = LLUICtrlFactory::getInstance()->buildMenu("menu_texteditor.xml", parent_view); 227 LLMenuGL* menu = LLUICtrlFactory::getInstance()->buildMenu("menu_rightclick_text.xml",this);
219 LLMenuGL* menu = new LLMenuGL("wot"); 228 if (!menu)
220 /*if (!menu) 229 {
221 { 230 menu = new LLMenuGL(LLStringUtil::null);
222 menu = new LLMenuGL(LLStringUtil::null); 231 }
223 }*/ 232
224 233 defineMenuCallbacks(menu);
225 menu->append(new LLMenuItemCallGL("Cut", context_cut, context_enable_cut, this));
226 menu->append(new LLMenuItemCallGL("Copy", context_copy, context_enable_copy, this));
227 menu->append(new LLMenuItemCallGL("Paste", context_paste, context_enable_paste, this));
228 menu->append(new LLMenuItemCallGL("Delete", context_delete, context_enable_delete, this));
229 menu->append(new LLMenuItemCallGL("Select All", context_selectall, context_enable_selectall, this));
230
231 menu->appendSeparator("Transep");
232 LLMenuGL* translatemenu = new LLMenuGL("Translate To");
233 translatemenu->setCanTearOff(FALSE);
234 translatemenu->append(new LLMenuItemCallGL("en", "English", context_translate, context_enable_translate, this));
235 translatemenu->append(new LLMenuItemCallGL("da", "Danish", context_translate, context_enable_translate, this));
236 translatemenu->append(new LLMenuItemCallGL("de", "Deutsch(German)", context_translate, context_enable_translate, this));
237 translatemenu->append(new LLMenuItemCallGL("es", "Spanish", context_translate, context_enable_translate, this));
238 translatemenu->append(new LLMenuItemCallGL("fr", "French", context_translate, context_enable_translate, this));
239 translatemenu->append(new LLMenuItemCallGL("it", "Italian", context_translate, context_enable_translate, this));
240 translatemenu->append(new LLMenuItemCallGL("hu", "Hungarian", context_translate, context_enable_translate, this));
241 translatemenu->append(new LLMenuItemCallGL("nl", "Dutch", context_translate, context_enable_translate, this));
242 translatemenu->append(new LLMenuItemCallGL("pl", "Polish", context_translate, context_enable_translate, this));
243 translatemenu->append(new LLMenuItemCallGL("pt", "Portugese", context_translate, context_enable_translate, this));
244 translatemenu->append(new LLMenuItemCallGL("ru", "Russian", context_translate, context_enable_translate, this));
245 translatemenu->append(new LLMenuItemCallGL("tr", "Turkish", context_translate, context_enable_translate, this));
246 translatemenu->append(new LLMenuItemCallGL("uk", "Ukrainian", context_translate, context_enable_translate, this));
247 translatemenu->append(new LLMenuItemCallGL("zh", "Chinese", context_translate, context_enable_translate, this));
248 translatemenu->append(new LLMenuItemCallGL("ja", "Japanese", context_translate, context_enable_translate, this));
249 translatemenu->append(new LLMenuItemCallGL("ko", "Korean", context_translate, context_enable_translate, this));
250
251 menu->appendMenu(translatemenu);
252 menu->appendSeparator("Spelsep");
253 //menu->setBackgroundColor(gColors.getColor("MenuPopupBgColor"));
254 menu->setCanTearOff(FALSE);
255 menu->setVisible(FALSE);
256 mPopupMenuHandle = menu->getHandle(); 234 mPopupMenuHandle = menu->getHandle();
235 menu->setBorderColor(gColors.getColor("MenuItemDisabledColor"));
236 menu->setBackgroundColor(gColors.getColor("MenuPopupBgColor"));
237
257} 238}
258 239
259 240
@@ -556,7 +537,7 @@ void LLLineEditor::context_translate(void * data)
556{ 537{
557 LLLineEditor* line = (LLLineEditor*)data; 538 LLLineEditor* line = (LLLineEditor*)data;
558 LLMenuGL* menu = line ? (LLMenuGL*)(line->mPopupMenuHandle.get()) : NULL; 539 LLMenuGL* menu = line ? (LLMenuGL*)(line->mPopupMenuHandle.get()) : NULL;
559 LLMenuGL* translate_menu = menu ? menu->getChildMenuByName("Translate To", TRUE) : NULL; 540 LLMenuGL* translate_menu = menu ? menu->getChildMenuByName("Translation Options", TRUE) : NULL;
560 if (!translate_menu) 541 if (!translate_menu)
561 { 542 {
562 return; 543 return;
@@ -1318,6 +1299,67 @@ BOOL LLLineEditor::canCut() const
1318 return !mReadOnly && !mDrawAsterixes && hasSelection(); 1299 return !mReadOnly && !mDrawAsterixes && hasSelection();
1319} 1300}
1320 1301
1302// method to define the associated callbacks
1303void LLLineEditor::defineMenuCallbacks(LLMenuGL* menu) {
1304
1305 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_ENABLE,
1306 "Cut Text",
1307 this,
1308 (void*)context_enable_cut);
1309 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_CLICK,
1310 "Cut Text",
1311 this,
1312 (void*)context_cut);
1313
1314 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_ENABLE,
1315 "Copy Text",
1316 this,
1317 (void*)context_enable_copy);
1318 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_CLICK,
1319 "Copy Text",
1320 this,
1321 (void*)context_copy);
1322
1323 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_ENABLE,
1324 "Paste Text",
1325 this,
1326 (void*)context_enable_paste);
1327 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_CLICK,
1328 "Paste Text",
1329 this,
1330 (void*)context_paste);
1331
1332 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_ENABLE,
1333 "Delete Text",
1334 this,
1335 (void*)context_enable_delete);
1336 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_CLICK,
1337 "Delete Text",
1338 this,
1339 (void*)context_delete);
1340
1341 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_ENABLE,
1342 "Select All Text",
1343 this,
1344 (void*)context_enable_selectall);
1345 menu->setCtrlResponse(1+LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_CLICK,
1346 "Select All Text",
1347 this,
1348 (void*)context_selectall);
1349
1350 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_ENABLE,
1351 "Translate Text",
1352 this,
1353 (void*)context_enable_translate);
1354 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_TRANSLATE,
1355 "Translate Text",
1356 this,
1357 (void*)context_translate);
1358
1359
1360
1361}
1362
1321// cut selection to clipboard 1363// cut selection to clipboard
1322void LLLineEditor::cut() 1364void LLLineEditor::cut()
1323{ 1365{
diff --git a/linden/indra/llui/lllineeditor.h b/linden/indra/llui/lllineeditor.h
index 43ce869..54c0146 100644
--- a/linden/indra/llui/lllineeditor.h
+++ b/linden/indra/llui/lllineeditor.h
@@ -55,6 +55,7 @@
55class LLFontGL; 55class LLFontGL;
56class LLLineEditorRollback; 56class LLLineEditorRollback;
57class LLButton; 57class LLButton;
58class LLMenuGL;
58 59
59typedef BOOL (*LLLinePrevalidateFunc)(const LLWString &wstr); 60typedef BOOL (*LLLinePrevalidateFunc)(const LLWString &wstr);
60 61
@@ -112,7 +113,8 @@ public:
112 virtual BOOL canTranslate() const; 113 virtual BOOL canTranslate() const;
113 virtual void insert(std::string what,S32 wher); 114 virtual void insert(std::string what,S32 wher);
114 115
115 // LLEditMenuHandler overrides 116 // LLEditMenuHandler overrides and menu set up methods.
117 void defineMenuCallbacks(LLMenuGL* menu);
116 virtual void cut(); 118 virtual void cut();
117 virtual BOOL canCut() const; 119 virtual BOOL canCut() const;
118 120
@@ -468,4 +470,6 @@ private:
468 470
469}; 471};
470 472
473
474
471#endif // LL_LINEEDITOR_ 475#endif // LL_LINEEDITOR_
diff --git a/linden/indra/llui/llmenugl.cpp b/linden/indra/llui/llmenugl.cpp
index 91bb581..d5e1186 100644
--- a/linden/indra/llui/llmenugl.cpp
+++ b/linden/indra/llui/llmenugl.cpp
@@ -149,6 +149,18 @@ LLMenuItemGL::LLMenuItemGL( const std::string& name, const std::string& label, K
149 setLabel( label ); 149 setLabel( label );
150} 150}
151 151
152LLMenuItemGL::~LLMenuItemGL() {
153
154 // Delete all the entries in the mFutureCallbackRequests vector
155 for(std::vector<LLCallbackInformation*>::iterator iter= mFutureCallbackRequests.begin();
156 iter!=mFutureCallbackRequests.end();
157 ++iter) {
158 delete (*iter);
159 }
160
161}
162
163
152// virtual 164// virtual
153LLXMLNodePtr LLMenuItemGL::getXML(bool save_children) const 165LLXMLNodePtr LLMenuItemGL::getXML(bool save_children) const
154{ 166{
@@ -517,6 +529,18 @@ BOOL LLMenuItemGL::setLabelArg( const std::string& key, const LLStringExplicit&
517 return TRUE; 529 return TRUE;
518} 530}
519 531
532
533void LLMenuItemGL::addCallbackType(U8 theType,
534 const std::string& name,
535 const std::string& userdata) {
536
537 // Add the new callback information to the list of callbacks that are being tracked.
538 mFutureCallbackRequests.push_back(new LLCallbackInformation(theType,name,userdata));
539
540}
541
542
543
520//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 544//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
521// Class LLMenuItemSeparatorGL 545// Class LLMenuItemSeparatorGL
522// 546//
@@ -541,6 +565,12 @@ public:
541 virtual BOOL handleHover(S32 x, S32 y, MASK mask); 565 virtual BOOL handleHover(S32 x, S32 y, MASK mask);
542 566
543 virtual U32 getNominalHeight( void ) const { return SEPARATOR_HEIGHT_PIXELS; } 567 virtual U32 getNominalHeight( void ) const { return SEPARATOR_HEIGHT_PIXELS; }
568
569 virtual BOOL setCtrlResponse(U8 llMenuItemCallType,
570 const std::string& name,
571 void* user_data,
572 void *callback_fcn) { return FALSE; } ;
573
544}; 574};
545 575
546LLMenuItemSeparatorGL::LLMenuItemSeparatorGL( const std::string &name ) : 576LLMenuItemSeparatorGL::LLMenuItemSeparatorGL( const std::string &name ) :
@@ -726,6 +756,11 @@ public:
726 } 756 }
727 virtual void doIt( void ) {} 757 virtual void doIt( void ) {}
728 virtual void draw( void ) {} 758 virtual void draw( void ) {}
759 virtual BOOL setCtrlResponse(U8 llMenuItemCallType,
760 const std::string& name,
761 void* user_data,
762 void *callback_fcn) { return FALSE; } ;
763
729}; 764};
730 765
731 766
@@ -805,6 +840,8 @@ LLMenuItemCallGL::LLMenuItemCallGL(const std::string& name,
805 if(!enabled) setEnabled(FALSE); 840 if(!enabled) setEnabled(FALSE);
806} 841}
807 842
843
844
808void LLMenuItemCallGL::setEnabledControl(std::string enabled_control, LLView *context) 845void LLMenuItemCallGL::setEnabledControl(std::string enabled_control, LLView *context)
809{ 846{
810 // Register new listener 847 // Register new listener
@@ -921,6 +958,53 @@ BOOL LLMenuItemCallGL::handleAcceleratorKey( KEY key, MASK mask )
921 return LLMenuItemGL::handleAcceleratorKey(key, mask); 958 return LLMenuItemGL::handleAcceleratorKey(key, mask);
922} 959}
923 960
961
962
963// Method to add a callback function for the given type and name.
964BOOL LLMenuItemCallGL::setCtrlResponse(U8 llMenuItemCallType,
965 const std::string& name,
966 void* user_data,
967 void *callback_fcn) {
968
969 // Loop through all of the menu items and check to see which ones
970 // match the name and callback type given.
971 BOOL result = FALSE;
972 std::vector<LLCallbackInformation*>::iterator item_iter;
973 for (item_iter = mFutureCallbackRequests.begin();
974 item_iter != mFutureCallbackRequests.end();
975 ++item_iter)
976 {
977 if( ((*item_iter)->getTypeOfCallback()==llMenuItemCallType) &&
978 ((*item_iter)->getCallbackName()==name)) {
979
980 // Found a match. Set the user data and then determine what type it is.
981 setUserData(user_data);
982
983 if(llMenuItemCallType == LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_CLICK)
984 {
985 setMenuCallback((menu_callback)callback_fcn,user_data);
986 }
987
988 else if (llMenuItemCallType == LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_ENABLE)
989 {
990 setEnabledCallback((enabled_callback)callback_fcn);
991 }
992
993 else if (llMenuItemCallType == LLCallbackInformation::LL_MENU_ITEM_CALL_GL_TRANSLATE) {
994 setName((*item_iter)->getCallbackUserData());
995 setMenuCallback((menu_callback)callback_fcn,user_data);
996 }
997
998 }
999 }
1000
1001
1002 return result;
1003
1004}
1005
1006
1007
924///============================================================================ 1008///============================================================================
925/// Class LLMenuItemCheckGL 1009/// Class LLMenuItemCheckGL
926///============================================================================ 1010///============================================================================
@@ -1379,6 +1463,17 @@ void LLMenuItemBranchGL::openMenu()
1379} 1463}
1380 1464
1381 1465
1466BOOL LLMenuItemBranchGL::setCtrlResponse(U8 llMenuItemCallType,
1467 const std::string& name,
1468 void* user_data,
1469 void *callback_fcn) {
1470
1471 // Get the menu branch and set the callback functions on all its children.
1472 return(getBranch()->setCtrlResponse(llMenuItemCallType,name,user_data,callback_fcn));
1473
1474}
1475
1476
1382//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1477//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1383// Class LLMenuItemBranchDownGL 1478// Class LLMenuItemBranchDownGL
1384// 1479//
@@ -1982,13 +2077,31 @@ void LLMenuGL::parseChildXML(LLXMLNodePtr child, LLView *parent, LLUICtrlFactory
1982 2077
1983 LLSimpleListener* callback = parent->getListenerByName(callback_name); 2078 LLSimpleListener* callback = parent->getListenerByName(callback_name);
1984 2079
1985 if (!callback) 2080 if (callback)
1986 { 2081 {
1987 lldebugs << "Ignoring \"on_click\" \"" << item_name << "\" because \"" << callback_name << "\" is not registered" << llendl; 2082 new_item->addListener(callback, "on_click", callback_data);
1988 continue; 2083 }
2084 else {
2085
2086 // A callback for this item has not yet been
2087 // specified. Add it to the list of options
2088 // that do not yet have callbacks.
2089 if (call_child->hasAttribute("translate"))
2090 {
2091 new_item->addCallbackType
2092 (LLCallbackInformation::LL_MENU_ITEM_CALL_GL_TRANSLATE,
2093 item_name,
2094 callback_data);
2095 }
2096
2097 else
2098 {
2099 new_item->addCallbackType
2100 (LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_CLICK,
2101 item_name,
2102 callback_data);
2103 }
1989 } 2104 }
1990
1991 new_item->addListener(callback, "on_click", callback_data);
1992 } 2105 }
1993 if (call_child->hasName("on_enable")) 2106 if (call_child->hasName("on_enable"))
1994 { 2107 {
@@ -2016,13 +2129,22 @@ void LLMenuGL::parseChildXML(LLXMLNodePtr child, LLView *parent, LLUICtrlFactory
2016 2129
2017 LLSimpleListener* callback = parent->getListenerByName(callback_name); 2130 LLSimpleListener* callback = parent->getListenerByName(callback_name);
2018 2131
2019 if (!callback) 2132 if (callback)
2020 { 2133 {
2021 lldebugs << "Ignoring \"on_enable\" \"" << item_name << "\" because \"" << callback_name << "\" is not registered" << llendl; 2134 new_item->addListener(callback, "on_build", userdata);
2022 continue; 2135 } else {
2136
2137 // A callback for this item has not yet been
2138 // specified. Add it to the list of options
2139 // that do not yet have callbacks.
2140
2141 new_item->addCallbackType
2142 (LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_ENABLE,
2143 item_name,
2144 callback_data);
2023 } 2145 }
2024 2146
2025 new_item->addListener(callback, "on_build", userdata); 2147
2026 } 2148 }
2027 else if (call_child->hasAttribute("control")) 2149 else if (call_child->hasAttribute("control"))
2028 { 2150 {
@@ -2188,7 +2310,7 @@ LLView* LLMenuGL::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *fa
2188 LLColor4 color(0,0,0,1); 2310 LLColor4 color(0,0,0,1);
2189 if (opaque && LLUICtrlFactory::getAttributeColor(node,"color", color)) 2311 if (opaque && LLUICtrlFactory::getAttributeColor(node,"color", color))
2190 { 2312 {
2191 menu->setBackgroundColor(color); 2313 menu->setBackgroundColor(color);
2192 } 2314 }
2193 2315
2194 BOOL create_jump_keys = FALSE; 2316 BOOL create_jump_keys = FALSE;
@@ -2977,7 +3099,8 @@ void LLMenuGL::draw( void )
2977 3099
2978 if( mBgVisible ) 3100 if( mBgVisible )
2979 { 3101 {
2980 gl_rect_2d( 0, getRect().getHeight(), getRect().getWidth(), 0, mBackgroundColor ); 3102 gl_rect_2d( -1, getRect().getHeight()+2, getRect().getWidth()+2, -2, mBorderColor,FALSE);
3103 gl_rect_2d( 0, getRect().getHeight(), getRect().getWidth(), 0, mBackgroundColor );
2981 } 3104 }
2982 LLView::draw(); 3105 LLView::draw();
2983} 3106}
@@ -3033,6 +3156,41 @@ LLMenuGL* LLMenuGL::getChildMenuByName(const std::string& name, BOOL recurse) co
3033 return NULL; 3156 return NULL;
3034} 3157}
3035 3158
3159
3160void LLMenuGL::setBackgroundColor( const LLColor4& color ) {
3161
3162 mBackgroundColor = color;
3163 item_list_t::iterator item_iter;
3164 for (item_iter = mItems.begin(); item_iter != mItems.end(); ++item_iter)
3165 {
3166 if((*item_iter)->getType()=="menu")
3167 {
3168 LLMenuItemBranchGL *menuBranchItem = (LLMenuItemBranchGL*)(*item_iter);
3169 menuBranchItem->getBranch()->setBackgroundColor(color);
3170 }
3171 }
3172
3173
3174}
3175
3176
3177void LLMenuGL::setBorderColor( const LLColor4& color ) {
3178
3179 mBorderColor = color;
3180 item_list_t::iterator item_iter;
3181 for (item_iter = mItems.begin(); item_iter != mItems.end(); ++item_iter)
3182 {
3183 if((*item_iter)->getType()=="menu")
3184 {
3185 LLMenuItemBranchGL *menuBranchItem = (LLMenuItemBranchGL*)(*item_iter);
3186 menuBranchItem->getBranch()->setBorderColor(color);
3187 }
3188 }
3189
3190
3191}
3192
3193
3036BOOL LLMenuGL::clearHoverItem() 3194BOOL LLMenuGL::clearHoverItem()
3037{ 3195{
3038 for ( child_list_const_iter_t child_it = getChildList()->begin(); child_it != getChildList()->end(); ++child_it) 3196 for ( child_list_const_iter_t child_it = getChildList()->begin(); child_it != getChildList()->end(); ++child_it)
@@ -3098,6 +3256,26 @@ void LLMenuGL::showPopup(LLView* spawning_view, LLMenuGL* menu, S32 x, S32 y)
3098 menu->getParent()->sendChildToFront(menu); 3256 menu->getParent()->sendChildToFront(menu);
3099} 3257}
3100 3258
3259
3260BOOL LLMenuGL::setCtrlResponse(U8 llMenuItemCallType,
3261 const std::string& name,
3262 void* user_data,
3263 void *callback_fcn)
3264{
3265
3266 // Go through all of the children on this menu and set the callback function.
3267 BOOL result = FALSE;
3268 item_list_t::iterator item_iter;
3269 for (item_iter = mItems.begin(); item_iter != mItems.end(); ++item_iter)
3270 {
3271 result |= (*item_iter)->setCtrlResponse(llMenuItemCallType,name,user_data,callback_fcn);
3272 }
3273
3274 return result;
3275}
3276
3277
3278
3101//----------------------------------------------------------------------------- 3279//-----------------------------------------------------------------------------
3102// class LLPieMenuBranch 3280// class LLPieMenuBranch
3103// A branch to another pie menu 3281// A branch to another pie menu
@@ -3117,6 +3295,12 @@ public:
3117 3295
3118 LLPieMenu* getBranch() { return mBranch; } 3296 LLPieMenu* getBranch() { return mBranch; }
3119 3297
3298 virtual BOOL setCtrlResponse(U8 llMenuItemCallType,
3299 const std::string& name,
3300 void* user_data,
3301 void *callback_fcn) { return FALSE; } ;
3302
3303
3120protected: 3304protected:
3121 LLPieMenu* mBranch; 3305 LLPieMenu* mBranch;
3122}; 3306};
@@ -4581,3 +4765,16 @@ void LLTearOffMenu::onClose(bool app_quitting)
4581 destroy(); 4765 destroy();
4582} 4766}
4583 4767
4768
4769///============================================================================
4770/// Class LLCallbackInformation
4771///============================================================================
4772
4773LLCallbackInformation::LLCallbackInformation(U8 theType,
4774 const std::string& theName,
4775 const std::string& userData)
4776 : callbackName(theName),
4777 callbackUserData(userData)
4778{
4779 setTypeOfCallback(theType);
4780}
diff --git a/linden/indra/llui/llmenugl.h b/linden/indra/llui/llmenugl.h
index 63f9d55..9a9d1b0 100644
--- a/linden/indra/llui/llmenugl.h
+++ b/linden/indra/llui/llmenugl.h
@@ -70,6 +70,57 @@ typedef BOOL (*check_callback)(void*);
70// contents. Put the contents of the label in the provided parameter. 70// contents. Put the contents of the label in the provided parameter.
71typedef void (*label_callback)(std::string&,void*); 71typedef void (*label_callback)(std::string&,void*);
72 72
73
74
75//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
76// Class LLCallbackInformation
77//
78// The LLCallbackInformation class is used to keep track of callback
79// information for menus that might be requested at a future time.
80//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
81
82class LLCallbackInformation
83{
84
85public :
86
87 // Constants used for keeping track of what type of callback is required.
88 static const U8 LL_MENU_ITEM_CALL_GL_NONE = 0;
89 static const U8 LL_MENU_ITEM_CALL_GL_ON_CLICK = 1;
90 static const U8 LL_MENU_ITEM_CALL_GL_ON_ENABLE = 2;
91 static const U8 LL_MENU_ITEM_CALL_GL_TRANSLATE = 3;
92
93
94 LLCallbackInformation(U8 theType=LLCallbackInformation::LL_MENU_ITEM_CALL_GL_NONE,
95 const std::string& theName = LLStringUtil::null,
96 const std::string& userData = LLStringUtil::null);
97 ~LLCallbackInformation() {};
98
99 void setTypeOfCallback(U8 theType) {typeOfCallback = theType; }
100 void setCallbackName(const std::string& name) {callbackName = name; }
101 void setCallbackUserData(const std::string& userdata) {callbackUserData = userdata; }
102
103 U8 getTypeOfCallback() {return(typeOfCallback); }
104 const std::string& getCallbackName() {return(callbackName); }
105 const std::string& getCallbackUserData() {return(callbackUserData); }
106
107 BOOL isTypeMatch(U8 type) { return(type == typeOfCallback);}
108 BOOL isNameMatch(const std::string& name) { return(name == callbackName);}
109
110protected:
111
112private:
113
114 U8 typeOfCallback;
115 std::string callbackName;
116 std::string callbackUserData;
117
118};
119
120
121
122
123
73//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 124//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
74// Class LLMenuItemGL 125// Class LLMenuItemGL
75// 126//
@@ -79,6 +130,7 @@ typedef void (*label_callback)(std::string&,void*);
79class LLMenuItemGL : public LLView 130class LLMenuItemGL : public LLView
80{ 131{
81public: 132public:
133
82 // static functions to control the global color scheme. 134 // static functions to control the global color scheme.
83 static void setEnabledColor( const LLColor4& color ) { sEnabledColor = color; } 135 static void setEnabledColor( const LLColor4& color ) { sEnabledColor = color; }
84 static const LLColor4& getEnabledColor() { return sEnabledColor; } 136 static const LLColor4& getEnabledColor() { return sEnabledColor; }
@@ -90,7 +142,7 @@ public:
90 static const LLColor4& getHighlightFGColor() { return sHighlightForeground; } 142 static const LLColor4& getHighlightFGColor() { return sHighlightForeground; }
91 143
92 LLMenuItemGL( const std::string& name, const std::string& label, KEY key = KEY_NONE, MASK = MASK_NONE ); 144 LLMenuItemGL( const std::string& name, const std::string& label, KEY key = KEY_NONE, MASK = MASK_NONE );
93 virtual ~LLMenuItemGL() {}; 145 virtual ~LLMenuItemGL();
94 146
95 virtual void setValue(const LLSD& value) { setLabel(value.asString()); } 147 virtual void setValue(const LLSD& value) { setLabel(value.asString()); }
96 148
@@ -174,6 +226,14 @@ public:
174 void setDrawTextDisabled(BOOL disabled) { mDrawTextDisabled = disabled; } 226 void setDrawTextDisabled(BOOL disabled) { mDrawTextDisabled = disabled; }
175 BOOL getDrawTextDisabled() const { return mDrawTextDisabled; } 227 BOOL getDrawTextDisabled() const { return mDrawTextDisabled; }
176 228
229 // functionality for adding callbacks after the menu is constucted
230 void addCallbackType(U8 theType,const std::string& name,const std::string& userdata);
231
232 virtual BOOL setCtrlResponse(U8 llMenuItemCallType,
233 const std::string& name,
234 void* user_data,
235 void *callback_fcn) = 0;
236
177protected: 237protected:
178 void setHover(BOOL hover) { mGotHover = hover; } 238 void setHover(BOOL hover) { mGotHover = hover; }
179 239
@@ -194,6 +254,11 @@ protected:
194 LLUIString mDrawBranchLabel; 254 LLUIString mDrawBranchLabel;
195 255
196 BOOL mHighlight; 256 BOOL mHighlight;
257
258 // variables used for tracking callback types that will be
259 // requested after the widget is in place.
260 std::vector<LLCallbackInformation*> mFutureCallbackRequests;
261
197private: 262private:
198 static LLColor4 sEnabledColor; 263 static LLColor4 sEnabledColor;
199 static LLColor4 sDisabledColor; 264 static LLColor4 sDisabledColor;
@@ -214,6 +279,7 @@ private:
214 BOOL mDrawTextDisabled; 279 BOOL mDrawTextDisabled;
215 280
216 KEY mJumpKey; 281 KEY mJumpKey;
282
217}; 283};
218 284
219 285
@@ -262,6 +328,7 @@ public:
262 KEY key = KEY_NONE, MASK mask = MASK_NONE, 328 KEY key = KEY_NONE, MASK mask = MASK_NONE,
263 BOOL enabled = TRUE, 329 BOOL enabled = TRUE,
264 on_disabled_callback on_disabled_c = NULL); 330 on_disabled_callback on_disabled_c = NULL);
331
265 virtual LLXMLNodePtr getXML(bool save_children = true) const; 332 virtual LLXMLNodePtr getXML(bool save_children = true) const;
266 333
267 virtual std::string getType() const { return "call"; } 334 virtual std::string getType() const { return "call"; }
@@ -288,6 +355,13 @@ public:
288 355
289 //virtual void draw(); 356 //virtual void draw();
290 357
358 // Functionality for tracking callback types for setting after widget is in place.
359 virtual BOOL setCtrlResponse(U8 llMenuItemCallType,
360 const std::string& name,
361 void* user_data,
362 void *callback_fcn);
363
364
291 365
292private: 366private:
293 menu_callback mCallback; 367 menu_callback mCallback;
@@ -382,6 +456,12 @@ public:
382 // LLView Functionality 456 // LLView Functionality
383 //virtual void draw( void ); 457 //virtual void draw( void );
384 458
459 virtual BOOL setCtrlResponse(U8 llMenuItemCallType,
460 const std::string& name,
461 void* user_data,
462 void *callback_fcn) { return FALSE; } ;
463
464
385private: 465private:
386 BOOL* mToggle; 466 BOOL* mToggle;
387}; 467};
@@ -434,8 +514,10 @@ public:
434 514
435 // background colors 515 // background colors
436 static void setDefaultBackgroundColor( const LLColor4& color ) { sDefaultBackgroundColor = color; } 516 static void setDefaultBackgroundColor( const LLColor4& color ) { sDefaultBackgroundColor = color; }
437 void setBackgroundColor( const LLColor4& color ) { mBackgroundColor = color; } 517 void setBackgroundColor( const LLColor4& color );
518 void setBorderColor( const LLColor4& color );
438 const LLColor4& getBackgroundColor() const { return mBackgroundColor; } 519 const LLColor4& getBackgroundColor() const { return mBackgroundColor; }
520 const LLColor4& getBorderColor() const { return mBorderColor; }
439 void setBackgroundVisible( BOOL b ) { mBgVisible = b; } 521 void setBackgroundVisible( BOOL b ) { mBgVisible = b; }
440 void setCanTearOff(BOOL tear_off, LLHandle<LLFloater> parent_floater_handle = LLHandle<LLFloater>()); 522 void setCanTearOff(BOOL tear_off, LLHandle<LLFloater> parent_floater_handle = LLHandle<LLFloater>());
441 523
@@ -525,6 +607,8 @@ public:
525 static BOOL getKeyboardMode() { return sKeyboardMode; } 607 static BOOL getKeyboardMode() { return sKeyboardMode; }
526 608
527 static class LLMenuHolderGL* sMenuContainer; 609 static class LLMenuHolderGL* sMenuContainer;
610
611 BOOL setCtrlResponse(U8 llMenuItemCallType,const std::string& name,void* user_data,void *callback_fcn);
528 612
529protected: 613protected:
530 void createSpilloverBranch(); 614 void createSpilloverBranch();
@@ -547,6 +631,7 @@ private:
547 static BOOL sKeyboardMode; 631 static BOOL sKeyboardMode;
548 632
549 LLColor4 mBackgroundColor; 633 LLColor4 mBackgroundColor;
634 LLColor4 mBorderColor;
550 BOOL mBgVisible; 635 BOOL mBgVisible;
551 LLMenuItemGL* mParentMenuItem; 636 LLMenuItemGL* mParentMenuItem;
552 LLUIString mLabel; 637 LLUIString mLabel;
@@ -623,6 +708,12 @@ public:
623 708
624 virtual LLView* getChildView(const std::string& name, BOOL recurse = TRUE, BOOL create_if_missing = TRUE) const; 709 virtual LLView* getChildView(const std::string& name, BOOL recurse = TRUE, BOOL create_if_missing = TRUE) const;
625 710
711 virtual BOOL setCtrlResponse(U8 llMenuItemCallType,
712 const std::string& name,
713 void* user_data,
714 void *callback_fcn);
715
716
626private: 717private:
627 LLHandle<LLView> mBranch; 718 LLHandle<LLView> mBranch;
628}; // end class LLMenuItemBranchGL 719}; // end class LLMenuItemBranchGL
@@ -668,6 +759,12 @@ public:
668 void show(S32 x, S32 y, BOOL mouse_down); 759 void show(S32 x, S32 y, BOOL mouse_down);
669 void hide(BOOL item_selected); 760 void hide(BOOL item_selected);
670 761
762 virtual BOOL setCtrlResponse(U8 llMenuItemCallType,
763 const std::string& name,
764 void* user_data,
765 void *callback_fcn) { return FALSE; } ;
766
767
671private: 768private:
672 LLMenuItemGL *pieItemFromXY(S32 x, S32 y); 769 LLMenuItemGL *pieItemFromXY(S32 x, S32 y);
673 S32 pieItemIndexFromXY(S32 x, S32 y); 770 S32 pieItemIndexFromXY(S32 x, S32 y);
@@ -729,6 +826,12 @@ public:
729 826
730 void resetMenuTrigger() { mAltKeyTrigger = FALSE; } 827 void resetMenuTrigger() { mAltKeyTrigger = FALSE; }
731 828
829 virtual BOOL setCtrlResponse(U8 llMenuItemCallType,
830 const std::string& name,
831 void* user_data,
832 void *callback_fcn) { return FALSE; } ;
833
834
732private: 835private:
733 void checkMenuTrigger(); 836 void checkMenuTrigger();
734 837
@@ -814,6 +917,12 @@ public:
814 virtual void draw(void); 917 virtual void draw(void);
815 virtual U32 getNominalHeight() const; 918 virtual U32 getNominalHeight() const;
816 919
920 virtual BOOL setCtrlResponse(U8 llMenuItemCallType,
921 const std::string& name,
922 void* user_data,
923 void *callback_fcn) { return FALSE; } ;
924
925
817private: 926private:
818 LLHandle<LLFloater> mParentHandle; 927 LLHandle<LLFloater> mParentHandle;
819}; 928};
@@ -832,4 +941,5 @@ private:
832 LLEditMenuHandlerMgr() {}; 941 LLEditMenuHandlerMgr() {};
833}; 942};
834 943
944
835#endif // LL_LLMENUGL_H 945#endif // LL_LLMENUGL_H
diff --git a/linden/indra/llui/lltexteditor.cpp b/linden/indra/llui/lltexteditor.cpp
index 004d063..0cafd4b 100644
--- a/linden/indra/llui/lltexteditor.cpp
+++ b/linden/indra/llui/lltexteditor.cpp
@@ -385,43 +385,18 @@ LLTextEditor::LLTextEditor(
385 mHTML.clear(); 385 mHTML.clear();
386 386
387 // make the popup menu available 387 // make the popup menu available
388 //LLMenuGL* menu = LLUICtrlFactory::getInstance()->buildMenu("menu_texteditor.xml", parent_view); 388
389 LLMenuGL* menu = new LLMenuGL("wot"); 389 LLMenuGL* menu = LLUICtrlFactory::getInstance()->buildMenu("menu_rightclick_text.xml",this);
390 /*if (!menu) 390 if (!menu)
391 { 391 {
392 menu = new LLMenuGL(LLStringUtil::null); 392 menu = new LLMenuGL(LLStringUtil::null);
393 }*/ 393 }
394 menu->append(new LLMenuItemCallGL("Cut", context_cut, context_enable_cut, this)); 394
395 menu->append(new LLMenuItemCallGL("Copy", context_copy, context_enable_copy, this)); 395 defineMenuCallbacks(menu);
396 menu->append(new LLMenuItemCallGL("Paste", context_paste, context_enable_paste, this));
397 menu->append(new LLMenuItemCallGL("Delete", context_delete, context_enable_delete, this));
398 menu->append(new LLMenuItemCallGL("Select All", context_selectall, context_enable_selectall, this));
399 menu->appendSeparator("Transep");
400 LLMenuGL* translatemenu = new LLMenuGL("Translate To");
401 translatemenu->setCanTearOff(FALSE);
402 translatemenu->append(new LLMenuItemCallGL("en", "English", context_translate, context_enable_translate, this));
403 translatemenu->append(new LLMenuItemCallGL("da", "Danish", context_translate, context_enable_translate, this));
404 translatemenu->append(new LLMenuItemCallGL("de", "Deutsch(German)", context_translate, context_enable_translate, this));
405 translatemenu->append(new LLMenuItemCallGL("es", "Spanish", context_translate, context_enable_translate, this));
406 translatemenu->append(new LLMenuItemCallGL("fr", "French", context_translate, context_enable_translate, this));
407 translatemenu->append(new LLMenuItemCallGL("it", "Italian", context_translate, context_enable_translate, this));
408 translatemenu->append(new LLMenuItemCallGL("hu", "Hungarian", context_translate, context_enable_translate, this));
409 translatemenu->append(new LLMenuItemCallGL("nl", "Dutch", context_translate, context_enable_translate, this));
410 translatemenu->append(new LLMenuItemCallGL("pl", "Polish", context_translate, context_enable_translate, this));
411 translatemenu->append(new LLMenuItemCallGL("pt", "Portugese", context_translate, context_enable_translate, this));
412 translatemenu->append(new LLMenuItemCallGL("ru", "Russian", context_translate, context_enable_translate, this));
413 translatemenu->append(new LLMenuItemCallGL("tr", "Turkish", context_translate, context_enable_translate, this));
414 translatemenu->append(new LLMenuItemCallGL("uk", "Ukrainian", context_translate, context_enable_translate, this));
415 translatemenu->append(new LLMenuItemCallGL("zh", "Chinese", context_translate, context_enable_translate, this));
416 translatemenu->append(new LLMenuItemCallGL("ja", "Japanese", context_translate, context_enable_translate, this));
417 translatemenu->append(new LLMenuItemCallGL("ko", "Korean", context_translate, context_enable_translate, this));
418
419 menu->appendMenu(translatemenu);
420 menu->appendSeparator("Spelsep");
421 //menu->setBackgroundColor(gColors.getColor("MenuPopupBgColor"));
422 menu->setCanTearOff(FALSE);
423 menu->setVisible(FALSE);
424 mPopupMenuHandle = menu->getHandle(); 396 mPopupMenuHandle = menu->getHandle();
397 menu->setBorderColor(gColors.getColor("MenuItemDisabledColor"));
398 menu->setBackgroundColor(gColors.getColor("MenuPopupBgColor"));
399
425} 400}
426 401
427LLTextEditor::~LLTextEditor() 402LLTextEditor::~LLTextEditor()
@@ -476,7 +451,7 @@ void LLTextEditor::context_translate(void * data)
476{ 451{
477 LLTextEditor* line = (LLTextEditor*)data; 452 LLTextEditor* line = (LLTextEditor*)data;
478 LLMenuGL* menu = line ? (LLMenuGL*)(line->mPopupMenuHandle.get()) : NULL; 453 LLMenuGL* menu = line ? (LLMenuGL*)(line->mPopupMenuHandle.get()) : NULL;
479 LLMenuGL* translate_menu = menu ? menu->getChildMenuByName("Translate To", TRUE) : NULL; 454 LLMenuGL* translate_menu = menu ? menu->getChildMenuByName("Translation Options", TRUE) : NULL;
480 if (!translate_menu) 455 if (!translate_menu)
481 { 456 {
482 return; 457 return;
@@ -615,6 +590,68 @@ void LLTextEditor::context_selectall(void* data)
615 if(line)line->selectAll(); 590 if(line)line->selectAll();
616} 591}
617 592
593// method to define the associated callbacks
594void LLTextEditor::defineMenuCallbacks(LLMenuGL* menu) {
595
596 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_ENABLE,
597 "Cut Text",
598 this,
599 (void*)context_enable_cut);
600 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_CLICK,
601 "Cut Text",
602 this,
603 (void*)context_cut);
604
605 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_ENABLE,
606 "Copy Text",
607 this,
608 (void*)context_enable_copy);
609 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_CLICK,
610 "Copy Text",
611 this,
612 (void*)context_copy);
613
614 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_ENABLE,
615 "Paste Text",
616 this,
617 (void*)context_enable_paste);
618 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_CLICK,
619 "Paste Text",
620 this,
621 (void*)context_paste);
622
623 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_ENABLE,
624 "Delete Text",
625 this,
626 (void*)context_enable_delete);
627 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_CLICK,
628 "Delete Text",
629 this,
630 (void*)context_delete);
631
632 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_ENABLE,
633 "Select All Text",
634 this,
635 (void*)context_enable_selectall);
636 menu->setCtrlResponse(1+LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_CLICK,
637 "Select All Text",
638 this,
639 (void*)context_selectall);
640
641 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_ON_ENABLE,
642 "Translate Text",
643 this,
644 (void*)context_enable_translate);
645 menu->setCtrlResponse(LLCallbackInformation::LL_MENU_ITEM_CALL_GL_TRANSLATE,
646 "Translate Text",
647 this,
648 (void*)context_translate);
649
650
651
652}
653
654
618void LLTextEditor::setTrackColor( const LLColor4& color ) 655void LLTextEditor::setTrackColor( const LLColor4& color )
619{ 656{
620 mScrollbar->setTrackColor(color); 657 mScrollbar->setTrackColor(color);
diff --git a/linden/indra/llui/lltexteditor.h b/linden/indra/llui/lltexteditor.h
index f2a831b..1d7a735 100644
--- a/linden/indra/llui/lltexteditor.h
+++ b/linden/indra/llui/lltexteditor.h
@@ -167,6 +167,7 @@ public:
167 static void spell_add(void* data); 167 static void spell_add(void* data);
168 static void spell_show(void* data); 168 static void spell_show(void* data);
169 std::vector<S32> getMisspelledWordsPositions(); 169 std::vector<S32> getMisspelledWordsPositions();
170 void defineMenuCallbacks(LLMenuGL* menu);
170 171
171 void selectNext(const std::string& search_text_in, BOOL case_insensitive, BOOL wrap = TRUE); 172 void selectNext(const std::string& search_text_in, BOOL case_insensitive, BOOL wrap = TRUE);
172 BOOL replaceText(const std::string& search_text, const std::string& replace_text, BOOL case_insensitive, BOOL wrap = TRUE); 173 BOOL replaceText(const std::string& search_text, const std::string& replace_text, BOOL case_insensitive, BOOL wrap = TRUE);
diff --git a/linden/indra/newview/llpanellogin.cpp b/linden/indra/newview/llpanellogin.cpp
index e67e702..3f748d4 100644
--- a/linden/indra/newview/llpanellogin.cpp
+++ b/linden/indra/newview/llpanellogin.cpp
@@ -200,7 +200,7 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
200 mLogoImage = LLUI::getUIImage("startup_logo.j2c"); 200 mLogoImage = LLUI::getUIImage("startup_logo.j2c");
201 201
202 LLUICtrlFactory::getInstance()->buildPanel(this, "panel_login.xml"); 202 LLUICtrlFactory::getInstance()->buildPanel(this, "panel_login.xml");
203 203
204#if USE_VIEWER_AUTH 204#if USE_VIEWER_AUTH
205 //leave room for the login menu bar 205 //leave room for the login menu bar
206 setRect(LLRect(0, rect.getHeight()-18, rect.getWidth(), 0)); 206 setRect(LLRect(0, rect.getHeight()-18, rect.getWidth(), 0));
diff --git a/linden/indra/newview/skins/default/xui/da/menu_rightclick_text.xml b/linden/indra/newview/skins/default/xui/da/menu_rightclick_text.xml
new file mode 100644
index 0000000..bc16b45
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/da/menu_rightclick_text.xml
@@ -0,0 +1,115 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2
3<menu drop_shadow="true"
4 mouse_opaque="false" name="Text Edit Menu" opaque="true">
5 <menu_item_call label="Cut" mouse_opaque="true"
6 name="Cut Text">
7 <on_click function="textfield_cut" userdata="about" />
8 <on_enable function="textfield_cut_enable" />
9 </menu_item_call>
10 <menu_item_call label="Copy" mouse_opaque="true"
11 name="Copy Text" >
12 <on_click function="textfield_copy" userdata="" />
13 <on_enable function="textfield_copy_enable" />
14 </menu_item_call>
15 <menu_item_call label="Paste" mouse_opaque="true"
16 name="Paste Text" >
17 <on_click function="textfield_paste" userdata="" />
18 <on_enable function="textfield_paste_enable" />
19 </menu_item_call>
20 <menu_item_call label="Delete" mouse_opaque="true"
21 name="Delete Text" >
22 <on_click function="textfield_delete" userdata="" />
23 <on_enable function="textfield_delete_enable" />
24 </menu_item_call>
25 <menu_item_call label="Select All" mouse_opaque="true"
26 name="Select All Text" >
27 <on_click function="textfield_selectall" userdata="" />
28 <on_enable function="textfield_selectall_enable" />
29 </menu_item_call>
30 <menu_item_separator name="Translate" />
31 <menu drop_shadow="true"
32 mouse_opaque="false" name="Translation Options"
33 bottom_delta="0" label="Translate To" opaque="true" >
34 <menu_item_call label="English" mouse_opaque="true"
35 name="Translate Text" >
36 <on_click function="textfield_translate" translate="true" userdata="en" />
37 <on_enable function="textfield_translate_enable" />
38 </menu_item_call>
39 <menu_item_call label="Danish" mouse_opaque="true"
40 name="Translate Text" >
41 <on_click function="textfield_translate" translate="true" userdata="da" />
42 <on_enable function="textfield_translate_enable" />
43 </menu_item_call>
44 <menu_item_call label="Deutsch(German)" mouse_opaque="true"
45 name="Translate Text" >
46 <on_click function="textfield_translate" translate="true" userdata="de" />
47 <on_enable function="textfield_translate_enable" />
48 </menu_item_call>
49 <menu_item_call label="Spanish" mouse_opaque="true"
50 name="Translate Text" >
51 <on_click function="textfield_translate" translate="true" userdata="es" />
52 <on_enable function="textfield_translate_enable" />
53 </menu_item_call>
54 <menu_item_call label="French" mouse_opaque="true"
55 name="Translate Text" >
56 <on_click function="textfield_translate" translate="true" userdata="fr" />
57 <on_enable function="textfield_translate_enable" />
58 </menu_item_call>
59 <menu_item_call label="Italian" mouse_opaque="true"
60 name="Translate Text" >
61 <on_click function="textfield_translate" translate="true" userdata="it" />
62 <on_enable function="textfield_translate_enable" />
63 </menu_item_call>
64 <menu_item_call label="Hungarian" mouse_opaque="true"
65 name="Translate Text" >
66 <on_click function="textfield_translate" translate="true" userdata="hu" />
67 <on_enable function="textfield_translate_enable" />
68 </menu_item_call>
69 <menu_item_call label="Dutch" mouse_opaque="true"
70 name="Translate Text" >
71 <on_click function="textfield_translate" translate="true" userdata="nl" />
72 <on_enable function="textfield_translate_enable" />
73 </menu_item_call>
74 <menu_item_call label="Polish" mouse_opaque="true"
75 name="Translate Text" >
76 <on_click function="textfield_translate" translate="true" userdata="pl" />
77 <on_enable function="textfield_translate_enable" />
78 </menu_item_call>
79 <menu_item_call label="Portugese" mouse_opaque="true"
80 name="Translate Text" >
81 <on_click function="textfield_translate" translate="true" userdata="pt" />
82 <on_enable function="textfield_translate_enable" />
83 </menu_item_call>
84 <menu_item_call label="Russian" mouse_opaque="true"
85 name="Translate Text" >
86 <on_click function="textfield_translate" translate="true" userdata="ru" />
87 <on_enable function="textfield_translate_enable" />
88 </menu_item_call>
89 <menu_item_call label="Turkish" mouse_opaque="true"
90 name="Translate Text" >
91 <on_click function="textfield_translate" translate="true" userdata="tr" />
92 <on_enable function="textfield_translate_enable" />
93 </menu_item_call>
94 <menu_item_call label="Ukrainian" mouse_opaque="true"
95 name="Translate Text" >
96 <on_click function="textfield_translate" translate="true" userdata="uk" />
97 <on_enable function="textfield_translate_enable" />
98 </menu_item_call>
99 <menu_item_call label="Chinese" mouse_opaque="true"
100 name="Translate Text" >
101 <on_click function="textfield_translate" translate="true" userdata="zh" />
102 <on_enable function="textfield_translate_enable" />
103 </menu_item_call>
104 <menu_item_call label="Japanese" mouse_opaque="true"
105 name="Translate Text" >
106 <on_click function="textfield_translate" translate="true" userdata="ja" />
107 <on_enable function="textfield_translate_enable" />
108 </menu_item_call>
109 <menu_item_call label="Korean" mouse_opaque="true"
110 name="Translate Text" >
111 <on_click function="textfield_translate" translate="true" userdata="ko" />
112 <on_enable function="textfield_translate_enable" />
113 </menu_item_call>
114 </menu>
115</menu>
diff --git a/linden/indra/newview/skins/default/xui/de/menu_rightclick_text.xml b/linden/indra/newview/skins/default/xui/de/menu_rightclick_text.xml
new file mode 100644
index 0000000..bc16b45
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/de/menu_rightclick_text.xml
@@ -0,0 +1,115 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2
3<menu drop_shadow="true"
4 mouse_opaque="false" name="Text Edit Menu" opaque="true">
5 <menu_item_call label="Cut" mouse_opaque="true"
6 name="Cut Text">
7 <on_click function="textfield_cut" userdata="about" />
8 <on_enable function="textfield_cut_enable" />
9 </menu_item_call>
10 <menu_item_call label="Copy" mouse_opaque="true"
11 name="Copy Text" >
12 <on_click function="textfield_copy" userdata="" />
13 <on_enable function="textfield_copy_enable" />
14 </menu_item_call>
15 <menu_item_call label="Paste" mouse_opaque="true"
16 name="Paste Text" >
17 <on_click function="textfield_paste" userdata="" />
18 <on_enable function="textfield_paste_enable" />
19 </menu_item_call>
20 <menu_item_call label="Delete" mouse_opaque="true"
21 name="Delete Text" >
22 <on_click function="textfield_delete" userdata="" />
23 <on_enable function="textfield_delete_enable" />
24 </menu_item_call>
25 <menu_item_call label="Select All" mouse_opaque="true"
26 name="Select All Text" >
27 <on_click function="textfield_selectall" userdata="" />
28 <on_enable function="textfield_selectall_enable" />
29 </menu_item_call>
30 <menu_item_separator name="Translate" />
31 <menu drop_shadow="true"
32 mouse_opaque="false" name="Translation Options"
33 bottom_delta="0" label="Translate To" opaque="true" >
34 <menu_item_call label="English" mouse_opaque="true"
35 name="Translate Text" >
36 <on_click function="textfield_translate" translate="true" userdata="en" />
37 <on_enable function="textfield_translate_enable" />
38 </menu_item_call>
39 <menu_item_call label="Danish" mouse_opaque="true"
40 name="Translate Text" >
41 <on_click function="textfield_translate" translate="true" userdata="da" />
42 <on_enable function="textfield_translate_enable" />
43 </menu_item_call>
44 <menu_item_call label="Deutsch(German)" mouse_opaque="true"
45 name="Translate Text" >
46 <on_click function="textfield_translate" translate="true" userdata="de" />
47 <on_enable function="textfield_translate_enable" />
48 </menu_item_call>
49 <menu_item_call label="Spanish" mouse_opaque="true"
50 name="Translate Text" >
51 <on_click function="textfield_translate" translate="true" userdata="es" />
52 <on_enable function="textfield_translate_enable" />
53 </menu_item_call>
54 <menu_item_call label="French" mouse_opaque="true"
55 name="Translate Text" >
56 <on_click function="textfield_translate" translate="true" userdata="fr" />
57 <on_enable function="textfield_translate_enable" />
58 </menu_item_call>
59 <menu_item_call label="Italian" mouse_opaque="true"
60 name="Translate Text" >
61 <on_click function="textfield_translate" translate="true" userdata="it" />
62 <on_enable function="textfield_translate_enable" />
63 </menu_item_call>
64 <menu_item_call label="Hungarian" mouse_opaque="true"
65 name="Translate Text" >
66 <on_click function="textfield_translate" translate="true" userdata="hu" />
67 <on_enable function="textfield_translate_enable" />
68 </menu_item_call>
69 <menu_item_call label="Dutch" mouse_opaque="true"
70 name="Translate Text" >
71 <on_click function="textfield_translate" translate="true" userdata="nl" />
72 <on_enable function="textfield_translate_enable" />
73 </menu_item_call>
74 <menu_item_call label="Polish" mouse_opaque="true"
75 name="Translate Text" >
76 <on_click function="textfield_translate" translate="true" userdata="pl" />
77 <on_enable function="textfield_translate_enable" />
78 </menu_item_call>
79 <menu_item_call label="Portugese" mouse_opaque="true"
80 name="Translate Text" >
81 <on_click function="textfield_translate" translate="true" userdata="pt" />
82 <on_enable function="textfield_translate_enable" />
83 </menu_item_call>
84 <menu_item_call label="Russian" mouse_opaque="true"
85 name="Translate Text" >
86 <on_click function="textfield_translate" translate="true" userdata="ru" />
87 <on_enable function="textfield_translate_enable" />
88 </menu_item_call>
89 <menu_item_call label="Turkish" mouse_opaque="true"
90 name="Translate Text" >
91 <on_click function="textfield_translate" translate="true" userdata="tr" />
92 <on_enable function="textfield_translate_enable" />
93 </menu_item_call>
94 <menu_item_call label="Ukrainian" mouse_opaque="true"
95 name="Translate Text" >
96 <on_click function="textfield_translate" translate="true" userdata="uk" />
97 <on_enable function="textfield_translate_enable" />
98 </menu_item_call>
99 <menu_item_call label="Chinese" mouse_opaque="true"
100 name="Translate Text" >
101 <on_click function="textfield_translate" translate="true" userdata="zh" />
102 <on_enable function="textfield_translate_enable" />
103 </menu_item_call>
104 <menu_item_call label="Japanese" mouse_opaque="true"
105 name="Translate Text" >
106 <on_click function="textfield_translate" translate="true" userdata="ja" />
107 <on_enable function="textfield_translate_enable" />
108 </menu_item_call>
109 <menu_item_call label="Korean" mouse_opaque="true"
110 name="Translate Text" >
111 <on_click function="textfield_translate" translate="true" userdata="ko" />
112 <on_enable function="textfield_translate_enable" />
113 </menu_item_call>
114 </menu>
115</menu>
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_rightclick_text.xml b/linden/indra/newview/skins/default/xui/en-us/menu_rightclick_text.xml
new file mode 100644
index 0000000..bc16b45
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/en-us/menu_rightclick_text.xml
@@ -0,0 +1,115 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2
3<menu drop_shadow="true"
4 mouse_opaque="false" name="Text Edit Menu" opaque="true">
5 <menu_item_call label="Cut" mouse_opaque="true"
6 name="Cut Text">
7 <on_click function="textfield_cut" userdata="about" />
8 <on_enable function="textfield_cut_enable" />
9 </menu_item_call>
10 <menu_item_call label="Copy" mouse_opaque="true"
11 name="Copy Text" >
12 <on_click function="textfield_copy" userdata="" />
13 <on_enable function="textfield_copy_enable" />
14 </menu_item_call>
15 <menu_item_call label="Paste" mouse_opaque="true"
16 name="Paste Text" >
17 <on_click function="textfield_paste" userdata="" />
18 <on_enable function="textfield_paste_enable" />
19 </menu_item_call>
20 <menu_item_call label="Delete" mouse_opaque="true"
21 name="Delete Text" >
22 <on_click function="textfield_delete" userdata="" />
23 <on_enable function="textfield_delete_enable" />
24 </menu_item_call>
25 <menu_item_call label="Select All" mouse_opaque="true"
26 name="Select All Text" >
27 <on_click function="textfield_selectall" userdata="" />
28 <on_enable function="textfield_selectall_enable" />
29 </menu_item_call>
30 <menu_item_separator name="Translate" />
31 <menu drop_shadow="true"
32 mouse_opaque="false" name="Translation Options"
33 bottom_delta="0" label="Translate To" opaque="true" >
34 <menu_item_call label="English" mouse_opaque="true"
35 name="Translate Text" >
36 <on_click function="textfield_translate" translate="true" userdata="en" />
37 <on_enable function="textfield_translate_enable" />
38 </menu_item_call>
39 <menu_item_call label="Danish" mouse_opaque="true"
40 name="Translate Text" >
41 <on_click function="textfield_translate" translate="true" userdata="da" />
42 <on_enable function="textfield_translate_enable" />
43 </menu_item_call>
44 <menu_item_call label="Deutsch(German)" mouse_opaque="true"
45 name="Translate Text" >
46 <on_click function="textfield_translate" translate="true" userdata="de" />
47 <on_enable function="textfield_translate_enable" />
48 </menu_item_call>
49 <menu_item_call label="Spanish" mouse_opaque="true"
50 name="Translate Text" >
51 <on_click function="textfield_translate" translate="true" userdata="es" />
52 <on_enable function="textfield_translate_enable" />
53 </menu_item_call>
54 <menu_item_call label="French" mouse_opaque="true"
55 name="Translate Text" >
56 <on_click function="textfield_translate" translate="true" userdata="fr" />
57 <on_enable function="textfield_translate_enable" />
58 </menu_item_call>
59 <menu_item_call label="Italian" mouse_opaque="true"
60 name="Translate Text" >
61 <on_click function="textfield_translate" translate="true" userdata="it" />
62 <on_enable function="textfield_translate_enable" />
63 </menu_item_call>
64 <menu_item_call label="Hungarian" mouse_opaque="true"
65 name="Translate Text" >
66 <on_click function="textfield_translate" translate="true" userdata="hu" />
67 <on_enable function="textfield_translate_enable" />
68 </menu_item_call>
69 <menu_item_call label="Dutch" mouse_opaque="true"
70 name="Translate Text" >
71 <on_click function="textfield_translate" translate="true" userdata="nl" />
72 <on_enable function="textfield_translate_enable" />
73 </menu_item_call>
74 <menu_item_call label="Polish" mouse_opaque="true"
75 name="Translate Text" >
76 <on_click function="textfield_translate" translate="true" userdata="pl" />
77 <on_enable function="textfield_translate_enable" />
78 </menu_item_call>
79 <menu_item_call label="Portugese" mouse_opaque="true"
80 name="Translate Text" >
81 <on_click function="textfield_translate" translate="true" userdata="pt" />
82 <on_enable function="textfield_translate_enable" />
83 </menu_item_call>
84 <menu_item_call label="Russian" mouse_opaque="true"
85 name="Translate Text" >
86 <on_click function="textfield_translate" translate="true" userdata="ru" />
87 <on_enable function="textfield_translate_enable" />
88 </menu_item_call>
89 <menu_item_call label="Turkish" mouse_opaque="true"
90 name="Translate Text" >
91 <on_click function="textfield_translate" translate="true" userdata="tr" />
92 <on_enable function="textfield_translate_enable" />
93 </menu_item_call>
94 <menu_item_call label="Ukrainian" mouse_opaque="true"
95 name="Translate Text" >
96 <on_click function="textfield_translate" translate="true" userdata="uk" />
97 <on_enable function="textfield_translate_enable" />
98 </menu_item_call>
99 <menu_item_call label="Chinese" mouse_opaque="true"
100 name="Translate Text" >
101 <on_click function="textfield_translate" translate="true" userdata="zh" />
102 <on_enable function="textfield_translate_enable" />
103 </menu_item_call>
104 <menu_item_call label="Japanese" mouse_opaque="true"
105 name="Translate Text" >
106 <on_click function="textfield_translate" translate="true" userdata="ja" />
107 <on_enable function="textfield_translate_enable" />
108 </menu_item_call>
109 <menu_item_call label="Korean" mouse_opaque="true"
110 name="Translate Text" >
111 <on_click function="textfield_translate" translate="true" userdata="ko" />
112 <on_enable function="textfield_translate_enable" />
113 </menu_item_call>
114 </menu>
115</menu>
diff --git a/linden/indra/newview/skins/default/xui/es/menu_rightclick_text.xml b/linden/indra/newview/skins/default/xui/es/menu_rightclick_text.xml
new file mode 100644
index 0000000..bc16b45
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/es/menu_rightclick_text.xml
@@ -0,0 +1,115 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2
3<menu drop_shadow="true"
4 mouse_opaque="false" name="Text Edit Menu" opaque="true">
5 <menu_item_call label="Cut" mouse_opaque="true"
6 name="Cut Text">
7 <on_click function="textfield_cut" userdata="about" />
8 <on_enable function="textfield_cut_enable" />
9 </menu_item_call>
10 <menu_item_call label="Copy" mouse_opaque="true"
11 name="Copy Text" >
12 <on_click function="textfield_copy" userdata="" />
13 <on_enable function="textfield_copy_enable" />
14 </menu_item_call>
15 <menu_item_call label="Paste" mouse_opaque="true"
16 name="Paste Text" >
17 <on_click function="textfield_paste" userdata="" />
18 <on_enable function="textfield_paste_enable" />
19 </menu_item_call>
20 <menu_item_call label="Delete" mouse_opaque="true"
21 name="Delete Text" >
22 <on_click function="textfield_delete" userdata="" />
23 <on_enable function="textfield_delete_enable" />
24 </menu_item_call>
25 <menu_item_call label="Select All" mouse_opaque="true"
26 name="Select All Text" >
27 <on_click function="textfield_selectall" userdata="" />
28 <on_enable function="textfield_selectall_enable" />
29 </menu_item_call>
30 <menu_item_separator name="Translate" />
31 <menu drop_shadow="true"
32 mouse_opaque="false" name="Translation Options"
33 bottom_delta="0" label="Translate To" opaque="true" >
34 <menu_item_call label="English" mouse_opaque="true"
35 name="Translate Text" >
36 <on_click function="textfield_translate" translate="true" userdata="en" />
37 <on_enable function="textfield_translate_enable" />
38 </menu_item_call>
39 <menu_item_call label="Danish" mouse_opaque="true"
40 name="Translate Text" >
41 <on_click function="textfield_translate" translate="true" userdata="da" />
42 <on_enable function="textfield_translate_enable" />
43 </menu_item_call>
44 <menu_item_call label="Deutsch(German)" mouse_opaque="true"
45 name="Translate Text" >
46 <on_click function="textfield_translate" translate="true" userdata="de" />
47 <on_enable function="textfield_translate_enable" />
48 </menu_item_call>
49 <menu_item_call label="Spanish" mouse_opaque="true"
50 name="Translate Text" >
51 <on_click function="textfield_translate" translate="true" userdata="es" />
52 <on_enable function="textfield_translate_enable" />
53 </menu_item_call>
54 <menu_item_call label="French" mouse_opaque="true"
55 name="Translate Text" >
56 <on_click function="textfield_translate" translate="true" userdata="fr" />
57 <on_enable function="textfield_translate_enable" />
58 </menu_item_call>
59 <menu_item_call label="Italian" mouse_opaque="true"
60 name="Translate Text" >
61 <on_click function="textfield_translate" translate="true" userdata="it" />
62 <on_enable function="textfield_translate_enable" />
63 </menu_item_call>
64 <menu_item_call label="Hungarian" mouse_opaque="true"
65 name="Translate Text" >
66 <on_click function="textfield_translate" translate="true" userdata="hu" />
67 <on_enable function="textfield_translate_enable" />
68 </menu_item_call>
69 <menu_item_call label="Dutch" mouse_opaque="true"
70 name="Translate Text" >
71 <on_click function="textfield_translate" translate="true" userdata="nl" />
72 <on_enable function="textfield_translate_enable" />
73 </menu_item_call>
74 <menu_item_call label="Polish" mouse_opaque="true"
75 name="Translate Text" >
76 <on_click function="textfield_translate" translate="true" userdata="pl" />
77 <on_enable function="textfield_translate_enable" />
78 </menu_item_call>
79 <menu_item_call label="Portugese" mouse_opaque="true"
80 name="Translate Text" >
81 <on_click function="textfield_translate" translate="true" userdata="pt" />
82 <on_enable function="textfield_translate_enable" />
83 </menu_item_call>
84 <menu_item_call label="Russian" mouse_opaque="true"
85 name="Translate Text" >
86 <on_click function="textfield_translate" translate="true" userdata="ru" />
87 <on_enable function="textfield_translate_enable" />
88 </menu_item_call>
89 <menu_item_call label="Turkish" mouse_opaque="true"
90 name="Translate Text" >
91 <on_click function="textfield_translate" translate="true" userdata="tr" />
92 <on_enable function="textfield_translate_enable" />
93 </menu_item_call>
94 <menu_item_call label="Ukrainian" mouse_opaque="true"
95 name="Translate Text" >
96 <on_click function="textfield_translate" translate="true" userdata="uk" />
97 <on_enable function="textfield_translate_enable" />
98 </menu_item_call>
99 <menu_item_call label="Chinese" mouse_opaque="true"
100 name="Translate Text" >
101 <on_click function="textfield_translate" translate="true" userdata="zh" />
102 <on_enable function="textfield_translate_enable" />
103 </menu_item_call>
104 <menu_item_call label="Japanese" mouse_opaque="true"
105 name="Translate Text" >
106 <on_click function="textfield_translate" translate="true" userdata="ja" />
107 <on_enable function="textfield_translate_enable" />
108 </menu_item_call>
109 <menu_item_call label="Korean" mouse_opaque="true"
110 name="Translate Text" >
111 <on_click function="textfield_translate" translate="true" userdata="ko" />
112 <on_enable function="textfield_translate_enable" />
113 </menu_item_call>
114 </menu>
115</menu>
diff --git a/linden/indra/newview/skins/default/xui/fr/menu_rightclick_text.xml b/linden/indra/newview/skins/default/xui/fr/menu_rightclick_text.xml
new file mode 100644
index 0000000..bc16b45
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/fr/menu_rightclick_text.xml
@@ -0,0 +1,115 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2
3<menu drop_shadow="true"
4 mouse_opaque="false" name="Text Edit Menu" opaque="true">
5 <menu_item_call label="Cut" mouse_opaque="true"
6 name="Cut Text">
7 <on_click function="textfield_cut" userdata="about" />
8 <on_enable function="textfield_cut_enable" />
9 </menu_item_call>
10 <menu_item_call label="Copy" mouse_opaque="true"
11 name="Copy Text" >
12 <on_click function="textfield_copy" userdata="" />
13 <on_enable function="textfield_copy_enable" />
14 </menu_item_call>
15 <menu_item_call label="Paste" mouse_opaque="true"
16 name="Paste Text" >
17 <on_click function="textfield_paste" userdata="" />
18 <on_enable function="textfield_paste_enable" />
19 </menu_item_call>
20 <menu_item_call label="Delete" mouse_opaque="true"
21 name="Delete Text" >
22 <on_click function="textfield_delete" userdata="" />
23 <on_enable function="textfield_delete_enable" />
24 </menu_item_call>
25 <menu_item_call label="Select All" mouse_opaque="true"
26 name="Select All Text" >
27 <on_click function="textfield_selectall" userdata="" />
28 <on_enable function="textfield_selectall_enable" />
29 </menu_item_call>
30 <menu_item_separator name="Translate" />
31 <menu drop_shadow="true"
32 mouse_opaque="false" name="Translation Options"
33 bottom_delta="0" label="Translate To" opaque="true" >
34 <menu_item_call label="English" mouse_opaque="true"
35 name="Translate Text" >
36 <on_click function="textfield_translate" translate="true" userdata="en" />
37 <on_enable function="textfield_translate_enable" />
38 </menu_item_call>
39 <menu_item_call label="Danish" mouse_opaque="true"
40 name="Translate Text" >
41 <on_click function="textfield_translate" translate="true" userdata="da" />
42 <on_enable function="textfield_translate_enable" />
43 </menu_item_call>
44 <menu_item_call label="Deutsch(German)" mouse_opaque="true"
45 name="Translate Text" >
46 <on_click function="textfield_translate" translate="true" userdata="de" />
47 <on_enable function="textfield_translate_enable" />
48 </menu_item_call>
49 <menu_item_call label="Spanish" mouse_opaque="true"
50 name="Translate Text" >
51 <on_click function="textfield_translate" translate="true" userdata="es" />
52 <on_enable function="textfield_translate_enable" />
53 </menu_item_call>
54 <menu_item_call label="French" mouse_opaque="true"
55 name="Translate Text" >
56 <on_click function="textfield_translate" translate="true" userdata="fr" />
57 <on_enable function="textfield_translate_enable" />
58 </menu_item_call>
59 <menu_item_call label="Italian" mouse_opaque="true"
60 name="Translate Text" >
61 <on_click function="textfield_translate" translate="true" userdata="it" />
62 <on_enable function="textfield_translate_enable" />
63 </menu_item_call>
64 <menu_item_call label="Hungarian" mouse_opaque="true"
65 name="Translate Text" >
66 <on_click function="textfield_translate" translate="true" userdata="hu" />
67 <on_enable function="textfield_translate_enable" />
68 </menu_item_call>
69 <menu_item_call label="Dutch" mouse_opaque="true"
70 name="Translate Text" >
71 <on_click function="textfield_translate" translate="true" userdata="nl" />
72 <on_enable function="textfield_translate_enable" />
73 </menu_item_call>
74 <menu_item_call label="Polish" mouse_opaque="true"
75 name="Translate Text" >
76 <on_click function="textfield_translate" translate="true" userdata="pl" />
77 <on_enable function="textfield_translate_enable" />
78 </menu_item_call>
79 <menu_item_call label="Portugese" mouse_opaque="true"
80 name="Translate Text" >
81 <on_click function="textfield_translate" translate="true" userdata="pt" />
82 <on_enable function="textfield_translate_enable" />
83 </menu_item_call>
84 <menu_item_call label="Russian" mouse_opaque="true"
85 name="Translate Text" >
86 <on_click function="textfield_translate" translate="true" userdata="ru" />
87 <on_enable function="textfield_translate_enable" />
88 </menu_item_call>
89 <menu_item_call label="Turkish" mouse_opaque="true"
90 name="Translate Text" >
91 <on_click function="textfield_translate" translate="true" userdata="tr" />
92 <on_enable function="textfield_translate_enable" />
93 </menu_item_call>
94 <menu_item_call label="Ukrainian" mouse_opaque="true"
95 name="Translate Text" >
96 <on_click function="textfield_translate" translate="true" userdata="uk" />
97 <on_enable function="textfield_translate_enable" />
98 </menu_item_call>
99 <menu_item_call label="Chinese" mouse_opaque="true"
100 name="Translate Text" >
101 <on_click function="textfield_translate" translate="true" userdata="zh" />
102 <on_enable function="textfield_translate_enable" />
103 </menu_item_call>
104 <menu_item_call label="Japanese" mouse_opaque="true"
105 name="Translate Text" >
106 <on_click function="textfield_translate" translate="true" userdata="ja" />
107 <on_enable function="textfield_translate_enable" />
108 </menu_item_call>
109 <menu_item_call label="Korean" mouse_opaque="true"
110 name="Translate Text" >
111 <on_click function="textfield_translate" translate="true" userdata="ko" />
112 <on_enable function="textfield_translate_enable" />
113 </menu_item_call>
114 </menu>
115</menu>
diff --git a/linden/indra/newview/skins/default/xui/hu/menu_rightclick_text.xml b/linden/indra/newview/skins/default/xui/hu/menu_rightclick_text.xml
new file mode 100644
index 0000000..bc16b45
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/hu/menu_rightclick_text.xml
@@ -0,0 +1,115 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2
3<menu drop_shadow="true"
4 mouse_opaque="false" name="Text Edit Menu" opaque="true">
5 <menu_item_call label="Cut" mouse_opaque="true"
6 name="Cut Text">
7 <on_click function="textfield_cut" userdata="about" />
8 <on_enable function="textfield_cut_enable" />
9 </menu_item_call>
10 <menu_item_call label="Copy" mouse_opaque="true"
11 name="Copy Text" >
12 <on_click function="textfield_copy" userdata="" />
13 <on_enable function="textfield_copy_enable" />
14 </menu_item_call>
15 <menu_item_call label="Paste" mouse_opaque="true"
16 name="Paste Text" >
17 <on_click function="textfield_paste" userdata="" />
18 <on_enable function="textfield_paste_enable" />
19 </menu_item_call>
20 <menu_item_call label="Delete" mouse_opaque="true"
21 name="Delete Text" >
22 <on_click function="textfield_delete" userdata="" />
23 <on_enable function="textfield_delete_enable" />
24 </menu_item_call>
25 <menu_item_call label="Select All" mouse_opaque="true"
26 name="Select All Text" >
27 <on_click function="textfield_selectall" userdata="" />
28 <on_enable function="textfield_selectall_enable" />
29 </menu_item_call>
30 <menu_item_separator name="Translate" />
31 <menu drop_shadow="true"
32 mouse_opaque="false" name="Translation Options"
33 bottom_delta="0" label="Translate To" opaque="true" >
34 <menu_item_call label="English" mouse_opaque="true"
35 name="Translate Text" >
36 <on_click function="textfield_translate" translate="true" userdata="en" />
37 <on_enable function="textfield_translate_enable" />
38 </menu_item_call>
39 <menu_item_call label="Danish" mouse_opaque="true"
40 name="Translate Text" >
41 <on_click function="textfield_translate" translate="true" userdata="da" />
42 <on_enable function="textfield_translate_enable" />
43 </menu_item_call>
44 <menu_item_call label="Deutsch(German)" mouse_opaque="true"
45 name="Translate Text" >
46 <on_click function="textfield_translate" translate="true" userdata="de" />
47 <on_enable function="textfield_translate_enable" />
48 </menu_item_call>
49 <menu_item_call label="Spanish" mouse_opaque="true"
50 name="Translate Text" >
51 <on_click function="textfield_translate" translate="true" userdata="es" />
52 <on_enable function="textfield_translate_enable" />
53 </menu_item_call>
54 <menu_item_call label="French" mouse_opaque="true"
55 name="Translate Text" >
56 <on_click function="textfield_translate" translate="true" userdata="fr" />
57 <on_enable function="textfield_translate_enable" />
58 </menu_item_call>
59 <menu_item_call label="Italian" mouse_opaque="true"
60 name="Translate Text" >
61 <on_click function="textfield_translate" translate="true" userdata="it" />
62 <on_enable function="textfield_translate_enable" />
63 </menu_item_call>
64 <menu_item_call label="Hungarian" mouse_opaque="true"
65 name="Translate Text" >
66 <on_click function="textfield_translate" translate="true" userdata="hu" />
67 <on_enable function="textfield_translate_enable" />
68 </menu_item_call>
69 <menu_item_call label="Dutch" mouse_opaque="true"
70 name="Translate Text" >
71 <on_click function="textfield_translate" translate="true" userdata="nl" />
72 <on_enable function="textfield_translate_enable" />
73 </menu_item_call>
74 <menu_item_call label="Polish" mouse_opaque="true"
75 name="Translate Text" >
76 <on_click function="textfield_translate" translate="true" userdata="pl" />
77 <on_enable function="textfield_translate_enable" />
78 </menu_item_call>
79 <menu_item_call label="Portugese" mouse_opaque="true"
80 name="Translate Text" >
81 <on_click function="textfield_translate" translate="true" userdata="pt" />
82 <on_enable function="textfield_translate_enable" />
83 </menu_item_call>
84 <menu_item_call label="Russian" mouse_opaque="true"
85 name="Translate Text" >
86 <on_click function="textfield_translate" translate="true" userdata="ru" />
87 <on_enable function="textfield_translate_enable" />
88 </menu_item_call>
89 <menu_item_call label="Turkish" mouse_opaque="true"
90 name="Translate Text" >
91 <on_click function="textfield_translate" translate="true" userdata="tr" />
92 <on_enable function="textfield_translate_enable" />
93 </menu_item_call>
94 <menu_item_call label="Ukrainian" mouse_opaque="true"
95 name="Translate Text" >
96 <on_click function="textfield_translate" translate="true" userdata="uk" />
97 <on_enable function="textfield_translate_enable" />
98 </menu_item_call>
99 <menu_item_call label="Chinese" mouse_opaque="true"
100 name="Translate Text" >
101 <on_click function="textfield_translate" translate="true" userdata="zh" />
102 <on_enable function="textfield_translate_enable" />
103 </menu_item_call>
104 <menu_item_call label="Japanese" mouse_opaque="true"
105 name="Translate Text" >
106 <on_click function="textfield_translate" translate="true" userdata="ja" />
107 <on_enable function="textfield_translate_enable" />
108 </menu_item_call>
109 <menu_item_call label="Korean" mouse_opaque="true"
110 name="Translate Text" >
111 <on_click function="textfield_translate" translate="true" userdata="ko" />
112 <on_enable function="textfield_translate_enable" />
113 </menu_item_call>
114 </menu>
115</menu>
diff --git a/linden/indra/newview/skins/default/xui/it/menu_rightclick_text.xml b/linden/indra/newview/skins/default/xui/it/menu_rightclick_text.xml
new file mode 100644
index 0000000..bc16b45
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/it/menu_rightclick_text.xml
@@ -0,0 +1,115 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2
3<menu drop_shadow="true"
4 mouse_opaque="false" name="Text Edit Menu" opaque="true">
5 <menu_item_call label="Cut" mouse_opaque="true"
6 name="Cut Text">
7 <on_click function="textfield_cut" userdata="about" />
8 <on_enable function="textfield_cut_enable" />
9 </menu_item_call>
10 <menu_item_call label="Copy" mouse_opaque="true"
11 name="Copy Text" >
12 <on_click function="textfield_copy" userdata="" />
13 <on_enable function="textfield_copy_enable" />
14 </menu_item_call>
15 <menu_item_call label="Paste" mouse_opaque="true"
16 name="Paste Text" >
17 <on_click function="textfield_paste" userdata="" />
18 <on_enable function="textfield_paste_enable" />
19 </menu_item_call>
20 <menu_item_call label="Delete" mouse_opaque="true"
21 name="Delete Text" >
22 <on_click function="textfield_delete" userdata="" />
23 <on_enable function="textfield_delete_enable" />
24 </menu_item_call>
25 <menu_item_call label="Select All" mouse_opaque="true"
26 name="Select All Text" >
27 <on_click function="textfield_selectall" userdata="" />
28 <on_enable function="textfield_selectall_enable" />
29 </menu_item_call>
30 <menu_item_separator name="Translate" />
31 <menu drop_shadow="true"
32 mouse_opaque="false" name="Translation Options"
33 bottom_delta="0" label="Translate To" opaque="true" >
34 <menu_item_call label="English" mouse_opaque="true"
35 name="Translate Text" >
36 <on_click function="textfield_translate" translate="true" userdata="en" />
37 <on_enable function="textfield_translate_enable" />
38 </menu_item_call>
39 <menu_item_call label="Danish" mouse_opaque="true"
40 name="Translate Text" >
41 <on_click function="textfield_translate" translate="true" userdata="da" />
42 <on_enable function="textfield_translate_enable" />
43 </menu_item_call>
44 <menu_item_call label="Deutsch(German)" mouse_opaque="true"
45 name="Translate Text" >
46 <on_click function="textfield_translate" translate="true" userdata="de" />
47 <on_enable function="textfield_translate_enable" />
48 </menu_item_call>
49 <menu_item_call label="Spanish" mouse_opaque="true"
50 name="Translate Text" >
51 <on_click function="textfield_translate" translate="true" userdata="es" />
52 <on_enable function="textfield_translate_enable" />
53 </menu_item_call>
54 <menu_item_call label="French" mouse_opaque="true"
55 name="Translate Text" >
56 <on_click function="textfield_translate" translate="true" userdata="fr" />
57 <on_enable function="textfield_translate_enable" />
58 </menu_item_call>
59 <menu_item_call label="Italian" mouse_opaque="true"
60 name="Translate Text" >
61 <on_click function="textfield_translate" translate="true" userdata="it" />
62 <on_enable function="textfield_translate_enable" />
63 </menu_item_call>
64 <menu_item_call label="Hungarian" mouse_opaque="true"
65 name="Translate Text" >
66 <on_click function="textfield_translate" translate="true" userdata="hu" />
67 <on_enable function="textfield_translate_enable" />
68 </menu_item_call>
69 <menu_item_call label="Dutch" mouse_opaque="true"
70 name="Translate Text" >
71 <on_click function="textfield_translate" translate="true" userdata="nl" />
72 <on_enable function="textfield_translate_enable" />
73 </menu_item_call>
74 <menu_item_call label="Polish" mouse_opaque="true"
75 name="Translate Text" >
76 <on_click function="textfield_translate" translate="true" userdata="pl" />
77 <on_enable function="textfield_translate_enable" />
78 </menu_item_call>
79 <menu_item_call label="Portugese" mouse_opaque="true"
80 name="Translate Text" >
81 <on_click function="textfield_translate" translate="true" userdata="pt" />
82 <on_enable function="textfield_translate_enable" />
83 </menu_item_call>
84 <menu_item_call label="Russian" mouse_opaque="true"
85 name="Translate Text" >
86 <on_click function="textfield_translate" translate="true" userdata="ru" />
87 <on_enable function="textfield_translate_enable" />
88 </menu_item_call>
89 <menu_item_call label="Turkish" mouse_opaque="true"
90 name="Translate Text" >
91 <on_click function="textfield_translate" translate="true" userdata="tr" />
92 <on_enable function="textfield_translate_enable" />
93 </menu_item_call>
94 <menu_item_call label="Ukrainian" mouse_opaque="true"
95 name="Translate Text" >
96 <on_click function="textfield_translate" translate="true" userdata="uk" />
97 <on_enable function="textfield_translate_enable" />
98 </menu_item_call>
99 <menu_item_call label="Chinese" mouse_opaque="true"
100 name="Translate Text" >
101 <on_click function="textfield_translate" translate="true" userdata="zh" />
102 <on_enable function="textfield_translate_enable" />
103 </menu_item_call>
104 <menu_item_call label="Japanese" mouse_opaque="true"
105 name="Translate Text" >
106 <on_click function="textfield_translate" translate="true" userdata="ja" />
107 <on_enable function="textfield_translate_enable" />
108 </menu_item_call>
109 <menu_item_call label="Korean" mouse_opaque="true"
110 name="Translate Text" >
111 <on_click function="textfield_translate" translate="true" userdata="ko" />
112 <on_enable function="textfield_translate_enable" />
113 </menu_item_call>
114 </menu>
115</menu>
diff --git a/linden/indra/newview/skins/default/xui/ja/menu_rightclick_text.xml b/linden/indra/newview/skins/default/xui/ja/menu_rightclick_text.xml
new file mode 100644
index 0000000..bc16b45
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/ja/menu_rightclick_text.xml
@@ -0,0 +1,115 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2
3<menu drop_shadow="true"
4 mouse_opaque="false" name="Text Edit Menu" opaque="true">
5 <menu_item_call label="Cut" mouse_opaque="true"
6 name="Cut Text">
7 <on_click function="textfield_cut" userdata="about" />
8 <on_enable function="textfield_cut_enable" />
9 </menu_item_call>
10 <menu_item_call label="Copy" mouse_opaque="true"
11 name="Copy Text" >
12 <on_click function="textfield_copy" userdata="" />
13 <on_enable function="textfield_copy_enable" />
14 </menu_item_call>
15 <menu_item_call label="Paste" mouse_opaque="true"
16 name="Paste Text" >
17 <on_click function="textfield_paste" userdata="" />
18 <on_enable function="textfield_paste_enable" />
19 </menu_item_call>
20 <menu_item_call label="Delete" mouse_opaque="true"
21 name="Delete Text" >
22 <on_click function="textfield_delete" userdata="" />
23 <on_enable function="textfield_delete_enable" />
24 </menu_item_call>
25 <menu_item_call label="Select All" mouse_opaque="true"
26 name="Select All Text" >
27 <on_click function="textfield_selectall" userdata="" />
28 <on_enable function="textfield_selectall_enable" />
29 </menu_item_call>
30 <menu_item_separator name="Translate" />
31 <menu drop_shadow="true"
32 mouse_opaque="false" name="Translation Options"
33 bottom_delta="0" label="Translate To" opaque="true" >
34 <menu_item_call label="English" mouse_opaque="true"
35 name="Translate Text" >
36 <on_click function="textfield_translate" translate="true" userdata="en" />
37 <on_enable function="textfield_translate_enable" />
38 </menu_item_call>
39 <menu_item_call label="Danish" mouse_opaque="true"
40 name="Translate Text" >
41 <on_click function="textfield_translate" translate="true" userdata="da" />
42 <on_enable function="textfield_translate_enable" />
43 </menu_item_call>
44 <menu_item_call label="Deutsch(German)" mouse_opaque="true"
45 name="Translate Text" >
46 <on_click function="textfield_translate" translate="true" userdata="de" />
47 <on_enable function="textfield_translate_enable" />
48 </menu_item_call>
49 <menu_item_call label="Spanish" mouse_opaque="true"
50 name="Translate Text" >
51 <on_click function="textfield_translate" translate="true" userdata="es" />
52 <on_enable function="textfield_translate_enable" />
53 </menu_item_call>
54 <menu_item_call label="French" mouse_opaque="true"
55 name="Translate Text" >
56 <on_click function="textfield_translate" translate="true" userdata="fr" />
57 <on_enable function="textfield_translate_enable" />
58 </menu_item_call>
59 <menu_item_call label="Italian" mouse_opaque="true"
60 name="Translate Text" >
61 <on_click function="textfield_translate" translate="true" userdata="it" />
62 <on_enable function="textfield_translate_enable" />
63 </menu_item_call>
64 <menu_item_call label="Hungarian" mouse_opaque="true"
65 name="Translate Text" >
66 <on_click function="textfield_translate" translate="true" userdata="hu" />
67 <on_enable function="textfield_translate_enable" />
68 </menu_item_call>
69 <menu_item_call label="Dutch" mouse_opaque="true"
70 name="Translate Text" >
71 <on_click function="textfield_translate" translate="true" userdata="nl" />
72 <on_enable function="textfield_translate_enable" />
73 </menu_item_call>
74 <menu_item_call label="Polish" mouse_opaque="true"
75 name="Translate Text" >
76 <on_click function="textfield_translate" translate="true" userdata="pl" />
77 <on_enable function="textfield_translate_enable" />
78 </menu_item_call>
79 <menu_item_call label="Portugese" mouse_opaque="true"
80 name="Translate Text" >
81 <on_click function="textfield_translate" translate="true" userdata="pt" />
82 <on_enable function="textfield_translate_enable" />
83 </menu_item_call>
84 <menu_item_call label="Russian" mouse_opaque="true"
85 name="Translate Text" >
86 <on_click function="textfield_translate" translate="true" userdata="ru" />
87 <on_enable function="textfield_translate_enable" />
88 </menu_item_call>
89 <menu_item_call label="Turkish" mouse_opaque="true"
90 name="Translate Text" >
91 <on_click function="textfield_translate" translate="true" userdata="tr" />
92 <on_enable function="textfield_translate_enable" />
93 </menu_item_call>
94 <menu_item_call label="Ukrainian" mouse_opaque="true"
95 name="Translate Text" >
96 <on_click function="textfield_translate" translate="true" userdata="uk" />
97 <on_enable function="textfield_translate_enable" />
98 </menu_item_call>
99 <menu_item_call label="Chinese" mouse_opaque="true"
100 name="Translate Text" >
101 <on_click function="textfield_translate" translate="true" userdata="zh" />
102 <on_enable function="textfield_translate_enable" />
103 </menu_item_call>
104 <menu_item_call label="Japanese" mouse_opaque="true"
105 name="Translate Text" >
106 <on_click function="textfield_translate" translate="true" userdata="ja" />
107 <on_enable function="textfield_translate_enable" />
108 </menu_item_call>
109 <menu_item_call label="Korean" mouse_opaque="true"
110 name="Translate Text" >
111 <on_click function="textfield_translate" translate="true" userdata="ko" />
112 <on_enable function="textfield_translate_enable" />
113 </menu_item_call>
114 </menu>
115</menu>
diff --git a/linden/indra/newview/skins/default/xui/ko/menu_rightclick_text.xml b/linden/indra/newview/skins/default/xui/ko/menu_rightclick_text.xml
new file mode 100644
index 0000000..bc16b45
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/ko/menu_rightclick_text.xml
@@ -0,0 +1,115 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2
3<menu drop_shadow="true"
4 mouse_opaque="false" name="Text Edit Menu" opaque="true">
5 <menu_item_call label="Cut" mouse_opaque="true"
6 name="Cut Text">
7 <on_click function="textfield_cut" userdata="about" />
8 <on_enable function="textfield_cut_enable" />
9 </menu_item_call>
10 <menu_item_call label="Copy" mouse_opaque="true"
11 name="Copy Text" >
12 <on_click function="textfield_copy" userdata="" />
13 <on_enable function="textfield_copy_enable" />
14 </menu_item_call>
15 <menu_item_call label="Paste" mouse_opaque="true"
16 name="Paste Text" >
17 <on_click function="textfield_paste" userdata="" />
18 <on_enable function="textfield_paste_enable" />
19 </menu_item_call>
20 <menu_item_call label="Delete" mouse_opaque="true"
21 name="Delete Text" >
22 <on_click function="textfield_delete" userdata="" />
23 <on_enable function="textfield_delete_enable" />
24 </menu_item_call>
25 <menu_item_call label="Select All" mouse_opaque="true"
26 name="Select All Text" >
27 <on_click function="textfield_selectall" userdata="" />
28 <on_enable function="textfield_selectall_enable" />
29 </menu_item_call>
30 <menu_item_separator name="Translate" />
31 <menu drop_shadow="true"
32 mouse_opaque="false" name="Translation Options"
33 bottom_delta="0" label="Translate To" opaque="true" >
34 <menu_item_call label="English" mouse_opaque="true"
35 name="Translate Text" >
36 <on_click function="textfield_translate" translate="true" userdata="en" />
37 <on_enable function="textfield_translate_enable" />
38 </menu_item_call>
39 <menu_item_call label="Danish" mouse_opaque="true"
40 name="Translate Text" >
41 <on_click function="textfield_translate" translate="true" userdata="da" />
42 <on_enable function="textfield_translate_enable" />
43 </menu_item_call>
44 <menu_item_call label="Deutsch(German)" mouse_opaque="true"
45 name="Translate Text" >
46 <on_click function="textfield_translate" translate="true" userdata="de" />
47 <on_enable function="textfield_translate_enable" />
48 </menu_item_call>
49 <menu_item_call label="Spanish" mouse_opaque="true"
50 name="Translate Text" >
51 <on_click function="textfield_translate" translate="true" userdata="es" />
52 <on_enable function="textfield_translate_enable" />
53 </menu_item_call>
54 <menu_item_call label="French" mouse_opaque="true"
55 name="Translate Text" >
56 <on_click function="textfield_translate" translate="true" userdata="fr" />
57 <on_enable function="textfield_translate_enable" />
58 </menu_item_call>
59 <menu_item_call label="Italian" mouse_opaque="true"
60 name="Translate Text" >
61 <on_click function="textfield_translate" translate="true" userdata="it" />
62 <on_enable function="textfield_translate_enable" />
63 </menu_item_call>
64 <menu_item_call label="Hungarian" mouse_opaque="true"
65 name="Translate Text" >
66 <on_click function="textfield_translate" translate="true" userdata="hu" />
67 <on_enable function="textfield_translate_enable" />
68 </menu_item_call>
69 <menu_item_call label="Dutch" mouse_opaque="true"
70 name="Translate Text" >
71 <on_click function="textfield_translate" translate="true" userdata="nl" />
72 <on_enable function="textfield_translate_enable" />
73 </menu_item_call>
74 <menu_item_call label="Polish" mouse_opaque="true"
75 name="Translate Text" >
76 <on_click function="textfield_translate" translate="true" userdata="pl" />
77 <on_enable function="textfield_translate_enable" />
78 </menu_item_call>
79 <menu_item_call label="Portugese" mouse_opaque="true"
80 name="Translate Text" >
81 <on_click function="textfield_translate" translate="true" userdata="pt" />
82 <on_enable function="textfield_translate_enable" />
83 </menu_item_call>
84 <menu_item_call label="Russian" mouse_opaque="true"
85 name="Translate Text" >
86 <on_click function="textfield_translate" translate="true" userdata="ru" />
87 <on_enable function="textfield_translate_enable" />
88 </menu_item_call>
89 <menu_item_call label="Turkish" mouse_opaque="true"
90 name="Translate Text" >
91 <on_click function="textfield_translate" translate="true" userdata="tr" />
92 <on_enable function="textfield_translate_enable" />
93 </menu_item_call>
94 <menu_item_call label="Ukrainian" mouse_opaque="true"
95 name="Translate Text" >
96 <on_click function="textfield_translate" translate="true" userdata="uk" />
97 <on_enable function="textfield_translate_enable" />
98 </menu_item_call>
99 <menu_item_call label="Chinese" mouse_opaque="true"
100 name="Translate Text" >
101 <on_click function="textfield_translate" translate="true" userdata="zh" />
102 <on_enable function="textfield_translate_enable" />
103 </menu_item_call>
104 <menu_item_call label="Japanese" mouse_opaque="true"
105 name="Translate Text" >
106 <on_click function="textfield_translate" translate="true" userdata="ja" />
107 <on_enable function="textfield_translate_enable" />
108 </menu_item_call>
109 <menu_item_call label="Korean" mouse_opaque="true"
110 name="Translate Text" >
111 <on_click function="textfield_translate" translate="true" userdata="ko" />
112 <on_enable function="textfield_translate_enable" />
113 </menu_item_call>
114 </menu>
115</menu>
diff --git a/linden/indra/newview/skins/default/xui/pl/menu_rightclick_text.xml b/linden/indra/newview/skins/default/xui/pl/menu_rightclick_text.xml
new file mode 100644
index 0000000..bc16b45
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/pl/menu_rightclick_text.xml
@@ -0,0 +1,115 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2
3<menu drop_shadow="true"
4 mouse_opaque="false" name="Text Edit Menu" opaque="true">
5 <menu_item_call label="Cut" mouse_opaque="true"
6 name="Cut Text">
7 <on_click function="textfield_cut" userdata="about" />
8 <on_enable function="textfield_cut_enable" />
9 </menu_item_call>
10 <menu_item_call label="Copy" mouse_opaque="true"
11 name="Copy Text" >
12 <on_click function="textfield_copy" userdata="" />
13 <on_enable function="textfield_copy_enable" />
14 </menu_item_call>
15 <menu_item_call label="Paste" mouse_opaque="true"
16 name="Paste Text" >
17 <on_click function="textfield_paste" userdata="" />
18 <on_enable function="textfield_paste_enable" />
19 </menu_item_call>
20 <menu_item_call label="Delete" mouse_opaque="true"
21 name="Delete Text" >
22 <on_click function="textfield_delete" userdata="" />
23 <on_enable function="textfield_delete_enable" />
24 </menu_item_call>
25 <menu_item_call label="Select All" mouse_opaque="true"
26 name="Select All Text" >
27 <on_click function="textfield_selectall" userdata="" />
28 <on_enable function="textfield_selectall_enable" />
29 </menu_item_call>
30 <menu_item_separator name="Translate" />
31 <menu drop_shadow="true"
32 mouse_opaque="false" name="Translation Options"
33 bottom_delta="0" label="Translate To" opaque="true" >
34 <menu_item_call label="English" mouse_opaque="true"
35 name="Translate Text" >
36 <on_click function="textfield_translate" translate="true" userdata="en" />
37 <on_enable function="textfield_translate_enable" />
38 </menu_item_call>
39 <menu_item_call label="Danish" mouse_opaque="true"
40 name="Translate Text" >
41 <on_click function="textfield_translate" translate="true" userdata="da" />
42 <on_enable function="textfield_translate_enable" />
43 </menu_item_call>
44 <menu_item_call label="Deutsch(German)" mouse_opaque="true"
45 name="Translate Text" >
46 <on_click function="textfield_translate" translate="true" userdata="de" />
47 <on_enable function="textfield_translate_enable" />
48 </menu_item_call>
49 <menu_item_call label="Spanish" mouse_opaque="true"
50 name="Translate Text" >
51 <on_click function="textfield_translate" translate="true" userdata="es" />
52 <on_enable function="textfield_translate_enable" />
53 </menu_item_call>
54 <menu_item_call label="French" mouse_opaque="true"
55 name="Translate Text" >
56 <on_click function="textfield_translate" translate="true" userdata="fr" />
57 <on_enable function="textfield_translate_enable" />
58 </menu_item_call>
59 <menu_item_call label="Italian" mouse_opaque="true"
60 name="Translate Text" >
61 <on_click function="textfield_translate" translate="true" userdata="it" />
62 <on_enable function="textfield_translate_enable" />
63 </menu_item_call>
64 <menu_item_call label="Hungarian" mouse_opaque="true"
65 name="Translate Text" >
66 <on_click function="textfield_translate" translate="true" userdata="hu" />
67 <on_enable function="textfield_translate_enable" />
68 </menu_item_call>
69 <menu_item_call label="Dutch" mouse_opaque="true"
70 name="Translate Text" >
71 <on_click function="textfield_translate" translate="true" userdata="nl" />
72 <on_enable function="textfield_translate_enable" />
73 </menu_item_call>
74 <menu_item_call label="Polish" mouse_opaque="true"
75 name="Translate Text" >
76 <on_click function="textfield_translate" translate="true" userdata="pl" />
77 <on_enable function="textfield_translate_enable" />
78 </menu_item_call>
79 <menu_item_call label="Portugese" mouse_opaque="true"
80 name="Translate Text" >
81 <on_click function="textfield_translate" translate="true" userdata="pt" />
82 <on_enable function="textfield_translate_enable" />
83 </menu_item_call>
84 <menu_item_call label="Russian" mouse_opaque="true"
85 name="Translate Text" >
86 <on_click function="textfield_translate" translate="true" userdata="ru" />
87 <on_enable function="textfield_translate_enable" />
88 </menu_item_call>
89 <menu_item_call label="Turkish" mouse_opaque="true"
90 name="Translate Text" >
91 <on_click function="textfield_translate" translate="true" userdata="tr" />
92 <on_enable function="textfield_translate_enable" />
93 </menu_item_call>
94 <menu_item_call label="Ukrainian" mouse_opaque="true"
95 name="Translate Text" >
96 <on_click function="textfield_translate" translate="true" userdata="uk" />
97 <on_enable function="textfield_translate_enable" />
98 </menu_item_call>
99 <menu_item_call label="Chinese" mouse_opaque="true"
100 name="Translate Text" >
101 <on_click function="textfield_translate" translate="true" userdata="zh" />
102 <on_enable function="textfield_translate_enable" />
103 </menu_item_call>
104 <menu_item_call label="Japanese" mouse_opaque="true"
105 name="Translate Text" >
106 <on_click function="textfield_translate" translate="true" userdata="ja" />
107 <on_enable function="textfield_translate_enable" />
108 </menu_item_call>
109 <menu_item_call label="Korean" mouse_opaque="true"
110 name="Translate Text" >
111 <on_click function="textfield_translate" translate="true" userdata="ko" />
112 <on_enable function="textfield_translate_enable" />
113 </menu_item_call>
114 </menu>
115</menu>
diff --git a/linden/indra/newview/skins/default/xui/pt/menu_rightclick_text.xml b/linden/indra/newview/skins/default/xui/pt/menu_rightclick_text.xml
new file mode 100644
index 0000000..bc16b45
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/pt/menu_rightclick_text.xml
@@ -0,0 +1,115 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2
3<menu drop_shadow="true"
4 mouse_opaque="false" name="Text Edit Menu" opaque="true">
5 <menu_item_call label="Cut" mouse_opaque="true"
6 name="Cut Text">
7 <on_click function="textfield_cut" userdata="about" />
8 <on_enable function="textfield_cut_enable" />
9 </menu_item_call>
10 <menu_item_call label="Copy" mouse_opaque="true"
11 name="Copy Text" >
12 <on_click function="textfield_copy" userdata="" />
13 <on_enable function="textfield_copy_enable" />
14 </menu_item_call>
15 <menu_item_call label="Paste" mouse_opaque="true"
16 name="Paste Text" >
17 <on_click function="textfield_paste" userdata="" />
18 <on_enable function="textfield_paste_enable" />
19 </menu_item_call>
20 <menu_item_call label="Delete" mouse_opaque="true"
21 name="Delete Text" >
22 <on_click function="textfield_delete" userdata="" />
23 <on_enable function="textfield_delete_enable" />
24 </menu_item_call>
25 <menu_item_call label="Select All" mouse_opaque="true"
26 name="Select All Text" >
27 <on_click function="textfield_selectall" userdata="" />
28 <on_enable function="textfield_selectall_enable" />
29 </menu_item_call>
30 <menu_item_separator name="Translate" />
31 <menu drop_shadow="true"
32 mouse_opaque="false" name="Translation Options"
33 bottom_delta="0" label="Translate To" opaque="true" >
34 <menu_item_call label="English" mouse_opaque="true"
35 name="Translate Text" >
36 <on_click function="textfield_translate" translate="true" userdata="en" />
37 <on_enable function="textfield_translate_enable" />
38 </menu_item_call>
39 <menu_item_call label="Danish" mouse_opaque="true"
40 name="Translate Text" >
41 <on_click function="textfield_translate" translate="true" userdata="da" />
42 <on_enable function="textfield_translate_enable" />
43 </menu_item_call>
44 <menu_item_call label="Deutsch(German)" mouse_opaque="true"
45 name="Translate Text" >
46 <on_click function="textfield_translate" translate="true" userdata="de" />
47 <on_enable function="textfield_translate_enable" />
48 </menu_item_call>
49 <menu_item_call label="Spanish" mouse_opaque="true"
50 name="Translate Text" >
51 <on_click function="textfield_translate" translate="true" userdata="es" />
52 <on_enable function="textfield_translate_enable" />
53 </menu_item_call>
54 <menu_item_call label="French" mouse_opaque="true"
55 name="Translate Text" >
56 <on_click function="textfield_translate" translate="true" userdata="fr" />
57 <on_enable function="textfield_translate_enable" />
58 </menu_item_call>
59 <menu_item_call label="Italian" mouse_opaque="true"
60 name="Translate Text" >
61 <on_click function="textfield_translate" translate="true" userdata="it" />
62 <on_enable function="textfield_translate_enable" />
63 </menu_item_call>
64 <menu_item_call label="Hungarian" mouse_opaque="true"
65 name="Translate Text" >
66 <on_click function="textfield_translate" translate="true" userdata="hu" />
67 <on_enable function="textfield_translate_enable" />
68 </menu_item_call>
69 <menu_item_call label="Dutch" mouse_opaque="true"
70 name="Translate Text" >
71 <on_click function="textfield_translate" translate="true" userdata="nl" />
72 <on_enable function="textfield_translate_enable" />
73 </menu_item_call>
74 <menu_item_call label="Polish" mouse_opaque="true"
75 name="Translate Text" >
76 <on_click function="textfield_translate" translate="true" userdata="pl" />
77 <on_enable function="textfield_translate_enable" />
78 </menu_item_call>
79 <menu_item_call label="Portugese" mouse_opaque="true"
80 name="Translate Text" >
81 <on_click function="textfield_translate" translate="true" userdata="pt" />
82 <on_enable function="textfield_translate_enable" />
83 </menu_item_call>
84 <menu_item_call label="Russian" mouse_opaque="true"
85 name="Translate Text" >
86 <on_click function="textfield_translate" translate="true" userdata="ru" />
87 <on_enable function="textfield_translate_enable" />
88 </menu_item_call>
89 <menu_item_call label="Turkish" mouse_opaque="true"
90 name="Translate Text" >
91 <on_click function="textfield_translate" translate="true" userdata="tr" />
92 <on_enable function="textfield_translate_enable" />
93 </menu_item_call>
94 <menu_item_call label="Ukrainian" mouse_opaque="true"
95 name="Translate Text" >
96 <on_click function="textfield_translate" translate="true" userdata="uk" />
97 <on_enable function="textfield_translate_enable" />
98 </menu_item_call>
99 <menu_item_call label="Chinese" mouse_opaque="true"
100 name="Translate Text" >
101 <on_click function="textfield_translate" translate="true" userdata="zh" />
102 <on_enable function="textfield_translate_enable" />
103 </menu_item_call>
104 <menu_item_call label="Japanese" mouse_opaque="true"
105 name="Translate Text" >
106 <on_click function="textfield_translate" translate="true" userdata="ja" />
107 <on_enable function="textfield_translate_enable" />
108 </menu_item_call>
109 <menu_item_call label="Korean" mouse_opaque="true"
110 name="Translate Text" >
111 <on_click function="textfield_translate" translate="true" userdata="ko" />
112 <on_enable function="textfield_translate_enable" />
113 </menu_item_call>
114 </menu>
115</menu>
diff --git a/linden/indra/newview/skins/default/xui/ru/menu_rightclick_text.xml b/linden/indra/newview/skins/default/xui/ru/menu_rightclick_text.xml
new file mode 100644
index 0000000..bc16b45
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/ru/menu_rightclick_text.xml
@@ -0,0 +1,115 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2
3<menu drop_shadow="true"
4 mouse_opaque="false" name="Text Edit Menu" opaque="true">
5 <menu_item_call label="Cut" mouse_opaque="true"
6 name="Cut Text">
7 <on_click function="textfield_cut" userdata="about" />
8 <on_enable function="textfield_cut_enable" />
9 </menu_item_call>
10 <menu_item_call label="Copy" mouse_opaque="true"
11 name="Copy Text" >
12 <on_click function="textfield_copy" userdata="" />
13 <on_enable function="textfield_copy_enable" />
14 </menu_item_call>
15 <menu_item_call label="Paste" mouse_opaque="true"
16 name="Paste Text" >
17 <on_click function="textfield_paste" userdata="" />
18 <on_enable function="textfield_paste_enable" />
19 </menu_item_call>
20 <menu_item_call label="Delete" mouse_opaque="true"
21 name="Delete Text" >
22 <on_click function="textfield_delete" userdata="" />
23 <on_enable function="textfield_delete_enable" />
24 </menu_item_call>
25 <menu_item_call label="Select All" mouse_opaque="true"
26 name="Select All Text" >
27 <on_click function="textfield_selectall" userdata="" />
28 <on_enable function="textfield_selectall_enable" />
29 </menu_item_call>
30 <menu_item_separator name="Translate" />
31 <menu drop_shadow="true"
32 mouse_opaque="false" name="Translation Options"
33 bottom_delta="0" label="Translate To" opaque="true" >
34 <menu_item_call label="English" mouse_opaque="true"
35 name="Translate Text" >
36 <on_click function="textfield_translate" translate="true" userdata="en" />
37 <on_enable function="textfield_translate_enable" />
38 </menu_item_call>
39 <menu_item_call label="Danish" mouse_opaque="true"
40 name="Translate Text" >
41 <on_click function="textfield_translate" translate="true" userdata="da" />
42 <on_enable function="textfield_translate_enable" />
43 </menu_item_call>
44 <menu_item_call label="Deutsch(German)" mouse_opaque="true"
45 name="Translate Text" >
46 <on_click function="textfield_translate" translate="true" userdata="de" />
47 <on_enable function="textfield_translate_enable" />
48 </menu_item_call>
49 <menu_item_call label="Spanish" mouse_opaque="true"
50 name="Translate Text" >
51 <on_click function="textfield_translate" translate="true" userdata="es" />
52 <on_enable function="textfield_translate_enable" />
53 </menu_item_call>
54 <menu_item_call label="French" mouse_opaque="true"
55 name="Translate Text" >
56 <on_click function="textfield_translate" translate="true" userdata="fr" />
57 <on_enable function="textfield_translate_enable" />
58 </menu_item_call>
59 <menu_item_call label="Italian" mouse_opaque="true"
60 name="Translate Text" >
61 <on_click function="textfield_translate" translate="true" userdata="it" />
62 <on_enable function="textfield_translate_enable" />
63 </menu_item_call>
64 <menu_item_call label="Hungarian" mouse_opaque="true"
65 name="Translate Text" >
66 <on_click function="textfield_translate" translate="true" userdata="hu" />
67 <on_enable function="textfield_translate_enable" />
68 </menu_item_call>
69 <menu_item_call label="Dutch" mouse_opaque="true"
70 name="Translate Text" >
71 <on_click function="textfield_translate" translate="true" userdata="nl" />
72 <on_enable function="textfield_translate_enable" />
73 </menu_item_call>
74 <menu_item_call label="Polish" mouse_opaque="true"
75 name="Translate Text" >
76 <on_click function="textfield_translate" translate="true" userdata="pl" />
77 <on_enable function="textfield_translate_enable" />
78 </menu_item_call>
79 <menu_item_call label="Portugese" mouse_opaque="true"
80 name="Translate Text" >
81 <on_click function="textfield_translate" translate="true" userdata="pt" />
82 <on_enable function="textfield_translate_enable" />
83 </menu_item_call>
84 <menu_item_call label="Russian" mouse_opaque="true"
85 name="Translate Text" >
86 <on_click function="textfield_translate" translate="true" userdata="ru" />
87 <on_enable function="textfield_translate_enable" />
88 </menu_item_call>
89 <menu_item_call label="Turkish" mouse_opaque="true"
90 name="Translate Text" >
91 <on_click function="textfield_translate" translate="true" userdata="tr" />
92 <on_enable function="textfield_translate_enable" />
93 </menu_item_call>
94 <menu_item_call label="Ukrainian" mouse_opaque="true"
95 name="Translate Text" >
96 <on_click function="textfield_translate" translate="true" userdata="uk" />
97 <on_enable function="textfield_translate_enable" />
98 </menu_item_call>
99 <menu_item_call label="Chinese" mouse_opaque="true"
100 name="Translate Text" >
101 <on_click function="textfield_translate" translate="true" userdata="zh" />
102 <on_enable function="textfield_translate_enable" />
103 </menu_item_call>
104 <menu_item_call label="Japanese" mouse_opaque="true"
105 name="Translate Text" >
106 <on_click function="textfield_translate" translate="true" userdata="ja" />
107 <on_enable function="textfield_translate_enable" />
108 </menu_item_call>
109 <menu_item_call label="Korean" mouse_opaque="true"
110 name="Translate Text" >
111 <on_click function="textfield_translate" translate="true" userdata="ko" />
112 <on_enable function="textfield_translate_enable" />
113 </menu_item_call>
114 </menu>
115</menu>
diff --git a/linden/indra/newview/skins/default/xui/tr/menu_rightclick_text.xml b/linden/indra/newview/skins/default/xui/tr/menu_rightclick_text.xml
new file mode 100644
index 0000000..bc16b45
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/tr/menu_rightclick_text.xml
@@ -0,0 +1,115 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2
3<menu drop_shadow="true"
4 mouse_opaque="false" name="Text Edit Menu" opaque="true">
5 <menu_item_call label="Cut" mouse_opaque="true"
6 name="Cut Text">
7 <on_click function="textfield_cut" userdata="about" />
8 <on_enable function="textfield_cut_enable" />
9 </menu_item_call>
10 <menu_item_call label="Copy" mouse_opaque="true"
11 name="Copy Text" >
12 <on_click function="textfield_copy" userdata="" />
13 <on_enable function="textfield_copy_enable" />
14 </menu_item_call>
15 <menu_item_call label="Paste" mouse_opaque="true"
16 name="Paste Text" >
17 <on_click function="textfield_paste" userdata="" />
18 <on_enable function="textfield_paste_enable" />
19 </menu_item_call>
20 <menu_item_call label="Delete" mouse_opaque="true"
21 name="Delete Text" >
22 <on_click function="textfield_delete" userdata="" />
23 <on_enable function="textfield_delete_enable" />
24 </menu_item_call>
25 <menu_item_call label="Select All" mouse_opaque="true"
26 name="Select All Text" >
27 <on_click function="textfield_selectall" userdata="" />
28 <on_enable function="textfield_selectall_enable" />
29 </menu_item_call>
30 <menu_item_separator name="Translate" />
31 <menu drop_shadow="true"
32 mouse_opaque="false" name="Translation Options"
33 bottom_delta="0" label="Translate To" opaque="true" >
34 <menu_item_call label="English" mouse_opaque="true"
35 name="Translate Text" >
36 <on_click function="textfield_translate" translate="true" userdata="en" />
37 <on_enable function="textfield_translate_enable" />
38 </menu_item_call>
39 <menu_item_call label="Danish" mouse_opaque="true"
40 name="Translate Text" >
41 <on_click function="textfield_translate" translate="true" userdata="da" />
42 <on_enable function="textfield_translate_enable" />
43 </menu_item_call>
44 <menu_item_call label="Deutsch(German)" mouse_opaque="true"
45 name="Translate Text" >
46 <on_click function="textfield_translate" translate="true" userdata="de" />
47 <on_enable function="textfield_translate_enable" />
48 </menu_item_call>
49 <menu_item_call label="Spanish" mouse_opaque="true"
50 name="Translate Text" >
51 <on_click function="textfield_translate" translate="true" userdata="es" />
52 <on_enable function="textfield_translate_enable" />
53 </menu_item_call>
54 <menu_item_call label="French" mouse_opaque="true"
55 name="Translate Text" >
56 <on_click function="textfield_translate" translate="true" userdata="fr" />
57 <on_enable function="textfield_translate_enable" />
58 </menu_item_call>
59 <menu_item_call label="Italian" mouse_opaque="true"
60 name="Translate Text" >
61 <on_click function="textfield_translate" translate="true" userdata="it" />
62 <on_enable function="textfield_translate_enable" />
63 </menu_item_call>
64 <menu_item_call label="Hungarian" mouse_opaque="true"
65 name="Translate Text" >
66 <on_click function="textfield_translate" translate="true" userdata="hu" />
67 <on_enable function="textfield_translate_enable" />
68 </menu_item_call>
69 <menu_item_call label="Dutch" mouse_opaque="true"
70 name="Translate Text" >
71 <on_click function="textfield_translate" translate="true" userdata="nl" />
72 <on_enable function="textfield_translate_enable" />
73 </menu_item_call>
74 <menu_item_call label="Polish" mouse_opaque="true"
75 name="Translate Text" >
76 <on_click function="textfield_translate" translate="true" userdata="pl" />
77 <on_enable function="textfield_translate_enable" />
78 </menu_item_call>
79 <menu_item_call label="Portugese" mouse_opaque="true"
80 name="Translate Text" >
81 <on_click function="textfield_translate" translate="true" userdata="pt" />
82 <on_enable function="textfield_translate_enable" />
83 </menu_item_call>
84 <menu_item_call label="Russian" mouse_opaque="true"
85 name="Translate Text" >
86 <on_click function="textfield_translate" translate="true" userdata="ru" />
87 <on_enable function="textfield_translate_enable" />
88 </menu_item_call>
89 <menu_item_call label="Turkish" mouse_opaque="true"
90 name="Translate Text" >
91 <on_click function="textfield_translate" translate="true" userdata="tr" />
92 <on_enable function="textfield_translate_enable" />
93 </menu_item_call>
94 <menu_item_call label="Ukrainian" mouse_opaque="true"
95 name="Translate Text" >
96 <on_click function="textfield_translate" translate="true" userdata="uk" />
97 <on_enable function="textfield_translate_enable" />
98 </menu_item_call>
99 <menu_item_call label="Chinese" mouse_opaque="true"
100 name="Translate Text" >
101 <on_click function="textfield_translate" translate="true" userdata="zh" />
102 <on_enable function="textfield_translate_enable" />
103 </menu_item_call>
104 <menu_item_call label="Japanese" mouse_opaque="true"
105 name="Translate Text" >
106 <on_click function="textfield_translate" translate="true" userdata="ja" />
107 <on_enable function="textfield_translate_enable" />
108 </menu_item_call>
109 <menu_item_call label="Korean" mouse_opaque="true"
110 name="Translate Text" >
111 <on_click function="textfield_translate" translate="true" userdata="ko" />
112 <on_enable function="textfield_translate_enable" />
113 </menu_item_call>
114 </menu>
115</menu>
diff --git a/linden/indra/newview/skins/default/xui/uk/menu_rightclick_text.xml b/linden/indra/newview/skins/default/xui/uk/menu_rightclick_text.xml
new file mode 100644
index 0000000..bc16b45
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/uk/menu_rightclick_text.xml
@@ -0,0 +1,115 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2
3<menu drop_shadow="true"
4 mouse_opaque="false" name="Text Edit Menu" opaque="true">
5 <menu_item_call label="Cut" mouse_opaque="true"
6 name="Cut Text">
7 <on_click function="textfield_cut" userdata="about" />
8 <on_enable function="textfield_cut_enable" />
9 </menu_item_call>
10 <menu_item_call label="Copy" mouse_opaque="true"
11 name="Copy Text" >
12 <on_click function="textfield_copy" userdata="" />
13 <on_enable function="textfield_copy_enable" />
14 </menu_item_call>
15 <menu_item_call label="Paste" mouse_opaque="true"
16 name="Paste Text" >
17 <on_click function="textfield_paste" userdata="" />
18 <on_enable function="textfield_paste_enable" />
19 </menu_item_call>
20 <menu_item_call label="Delete" mouse_opaque="true"
21 name="Delete Text" >
22 <on_click function="textfield_delete" userdata="" />
23 <on_enable function="textfield_delete_enable" />
24 </menu_item_call>
25 <menu_item_call label="Select All" mouse_opaque="true"
26 name="Select All Text" >
27 <on_click function="textfield_selectall" userdata="" />
28 <on_enable function="textfield_selectall_enable" />
29 </menu_item_call>
30 <menu_item_separator name="Translate" />
31 <menu drop_shadow="true"
32 mouse_opaque="false" name="Translation Options"
33 bottom_delta="0" label="Translate To" opaque="true" >
34 <menu_item_call label="English" mouse_opaque="true"
35 name="Translate Text" >
36 <on_click function="textfield_translate" translate="true" userdata="en" />
37 <on_enable function="textfield_translate_enable" />
38 </menu_item_call>
39 <menu_item_call label="Danish" mouse_opaque="true"
40 name="Translate Text" >
41 <on_click function="textfield_translate" translate="true" userdata="da" />
42 <on_enable function="textfield_translate_enable" />
43 </menu_item_call>
44 <menu_item_call label="Deutsch(German)" mouse_opaque="true"
45 name="Translate Text" >
46 <on_click function="textfield_translate" translate="true" userdata="de" />
47 <on_enable function="textfield_translate_enable" />
48 </menu_item_call>
49 <menu_item_call label="Spanish" mouse_opaque="true"
50 name="Translate Text" >
51 <on_click function="textfield_translate" translate="true" userdata="es" />
52 <on_enable function="textfield_translate_enable" />
53 </menu_item_call>
54 <menu_item_call label="French" mouse_opaque="true"
55 name="Translate Text" >
56 <on_click function="textfield_translate" translate="true" userdata="fr" />
57 <on_enable function="textfield_translate_enable" />
58 </menu_item_call>
59 <menu_item_call label="Italian" mouse_opaque="true"
60 name="Translate Text" >
61 <on_click function="textfield_translate" translate="true" userdata="it" />
62 <on_enable function="textfield_translate_enable" />
63 </menu_item_call>
64 <menu_item_call label="Hungarian" mouse_opaque="true"
65 name="Translate Text" >
66 <on_click function="textfield_translate" translate="true" userdata="hu" />
67 <on_enable function="textfield_translate_enable" />
68 </menu_item_call>
69 <menu_item_call label="Dutch" mouse_opaque="true"
70 name="Translate Text" >
71 <on_click function="textfield_translate" translate="true" userdata="nl" />
72 <on_enable function="textfield_translate_enable" />
73 </menu_item_call>
74 <menu_item_call label="Polish" mouse_opaque="true"
75 name="Translate Text" >
76 <on_click function="textfield_translate" translate="true" userdata="pl" />
77 <on_enable function="textfield_translate_enable" />
78 </menu_item_call>
79 <menu_item_call label="Portugese" mouse_opaque="true"
80 name="Translate Text" >
81 <on_click function="textfield_translate" translate="true" userdata="pt" />
82 <on_enable function="textfield_translate_enable" />
83 </menu_item_call>
84 <menu_item_call label="Russian" mouse_opaque="true"
85 name="Translate Text" >
86 <on_click function="textfield_translate" translate="true" userdata="ru" />
87 <on_enable function="textfield_translate_enable" />
88 </menu_item_call>
89 <menu_item_call label="Turkish" mouse_opaque="true"
90 name="Translate Text" >
91 <on_click function="textfield_translate" translate="true" userdata="tr" />
92 <on_enable function="textfield_translate_enable" />
93 </menu_item_call>
94 <menu_item_call label="Ukrainian" mouse_opaque="true"
95 name="Translate Text" >
96 <on_click function="textfield_translate" translate="true" userdata="uk" />
97 <on_enable function="textfield_translate_enable" />
98 </menu_item_call>
99 <menu_item_call label="Chinese" mouse_opaque="true"
100 name="Translate Text" >
101 <on_click function="textfield_translate" translate="true" userdata="zh" />
102 <on_enable function="textfield_translate_enable" />
103 </menu_item_call>
104 <menu_item_call label="Japanese" mouse_opaque="true"
105 name="Translate Text" >
106 <on_click function="textfield_translate" translate="true" userdata="ja" />
107 <on_enable function="textfield_translate_enable" />
108 </menu_item_call>
109 <menu_item_call label="Korean" mouse_opaque="true"
110 name="Translate Text" >
111 <on_click function="textfield_translate" translate="true" userdata="ko" />
112 <on_enable function="textfield_translate_enable" />
113 </menu_item_call>
114 </menu>
115</menu>
diff --git a/linden/indra/newview/skins/default/xui/zh/menu_rightclick_text.xml b/linden/indra/newview/skins/default/xui/zh/menu_rightclick_text.xml
new file mode 100644
index 0000000..bc16b45
--- /dev/null
+++ b/linden/indra/newview/skins/default/xui/zh/menu_rightclick_text.xml
@@ -0,0 +1,115 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2
3<menu drop_shadow="true"
4 mouse_opaque="false" name="Text Edit Menu" opaque="true">
5 <menu_item_call label="Cut" mouse_opaque="true"
6 name="Cut Text">
7 <on_click function="textfield_cut" userdata="about" />
8 <on_enable function="textfield_cut_enable" />
9 </menu_item_call>
10 <menu_item_call label="Copy" mouse_opaque="true"
11 name="Copy Text" >
12 <on_click function="textfield_copy" userdata="" />
13 <on_enable function="textfield_copy_enable" />
14 </menu_item_call>
15 <menu_item_call label="Paste" mouse_opaque="true"
16 name="Paste Text" >
17 <on_click function="textfield_paste" userdata="" />
18 <on_enable function="textfield_paste_enable" />
19 </menu_item_call>
20 <menu_item_call label="Delete" mouse_opaque="true"
21 name="Delete Text" >
22 <on_click function="textfield_delete" userdata="" />
23 <on_enable function="textfield_delete_enable" />
24 </menu_item_call>
25 <menu_item_call label="Select All" mouse_opaque="true"
26 name="Select All Text" >
27 <on_click function="textfield_selectall" userdata="" />
28 <on_enable function="textfield_selectall_enable" />
29 </menu_item_call>
30 <menu_item_separator name="Translate" />
31 <menu drop_shadow="true"
32 mouse_opaque="false" name="Translation Options"
33 bottom_delta="0" label="Translate To" opaque="true" >
34 <menu_item_call label="English" mouse_opaque="true"
35 name="Translate Text" >
36 <on_click function="textfield_translate" translate="true" userdata="en" />
37 <on_enable function="textfield_translate_enable" />
38 </menu_item_call>
39 <menu_item_call label="Danish" mouse_opaque="true"
40 name="Translate Text" >
41 <on_click function="textfield_translate" translate="true" userdata="da" />
42 <on_enable function="textfield_translate_enable" />
43 </menu_item_call>
44 <menu_item_call label="Deutsch(German)" mouse_opaque="true"
45 name="Translate Text" >
46 <on_click function="textfield_translate" translate="true" userdata="de" />
47 <on_enable function="textfield_translate_enable" />
48 </menu_item_call>
49 <menu_item_call label="Spanish" mouse_opaque="true"
50 name="Translate Text" >
51 <on_click function="textfield_translate" translate="true" userdata="es" />
52 <on_enable function="textfield_translate_enable" />
53 </menu_item_call>
54 <menu_item_call label="French" mouse_opaque="true"
55 name="Translate Text" >
56 <on_click function="textfield_translate" translate="true" userdata="fr" />
57 <on_enable function="textfield_translate_enable" />
58 </menu_item_call>
59 <menu_item_call label="Italian" mouse_opaque="true"
60 name="Translate Text" >
61 <on_click function="textfield_translate" translate="true" userdata="it" />
62 <on_enable function="textfield_translate_enable" />
63 </menu_item_call>
64 <menu_item_call label="Hungarian" mouse_opaque="true"
65 name="Translate Text" >
66 <on_click function="textfield_translate" translate="true" userdata="hu" />
67 <on_enable function="textfield_translate_enable" />
68 </menu_item_call>
69 <menu_item_call label="Dutch" mouse_opaque="true"
70 name="Translate Text" >
71 <on_click function="textfield_translate" translate="true" userdata="nl" />
72 <on_enable function="textfield_translate_enable" />
73 </menu_item_call>
74 <menu_item_call label="Polish" mouse_opaque="true"
75 name="Translate Text" >
76 <on_click function="textfield_translate" translate="true" userdata="pl" />
77 <on_enable function="textfield_translate_enable" />
78 </menu_item_call>
79 <menu_item_call label="Portugese" mouse_opaque="true"
80 name="Translate Text" >
81 <on_click function="textfield_translate" translate="true" userdata="pt" />
82 <on_enable function="textfield_translate_enable" />
83 </menu_item_call>
84 <menu_item_call label="Russian" mouse_opaque="true"
85 name="Translate Text" >
86 <on_click function="textfield_translate" translate="true" userdata="ru" />
87 <on_enable function="textfield_translate_enable" />
88 </menu_item_call>
89 <menu_item_call label="Turkish" mouse_opaque="true"
90 name="Translate Text" >
91 <on_click function="textfield_translate" translate="true" userdata="tr" />
92 <on_enable function="textfield_translate_enable" />
93 </menu_item_call>
94 <menu_item_call label="Ukrainian" mouse_opaque="true"
95 name="Translate Text" >
96 <on_click function="textfield_translate" translate="true" userdata="uk" />
97 <on_enable function="textfield_translate_enable" />
98 </menu_item_call>
99 <menu_item_call label="Chinese" mouse_opaque="true"
100 name="Translate Text" >
101 <on_click function="textfield_translate" translate="true" userdata="zh" />
102 <on_enable function="textfield_translate_enable" />
103 </menu_item_call>
104 <menu_item_call label="Japanese" mouse_opaque="true"
105 name="Translate Text" >
106 <on_click function="textfield_translate" translate="true" userdata="ja" />
107 <on_enable function="textfield_translate_enable" />
108 </menu_item_call>
109 <menu_item_call label="Korean" mouse_opaque="true"
110 name="Translate Text" >
111 <on_click function="textfield_translate" translate="true" userdata="ko" />
112 <on_enable function="textfield_translate_enable" />
113 </menu_item_call>
114 </menu>
115</menu>