aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden
diff options
context:
space:
mode:
Diffstat (limited to 'linden')
-rw-r--r--linden/indra/llui/lllineeditor.cpp77
-rw-r--r--linden/indra/llui/lltexteditor.cpp77
-rw-r--r--linden/indra/newview/app_settings/settings.xml13
-rw-r--r--linden/indra/newview/lgghunspell_wrapper.cpp7
-rw-r--r--linden/indra/newview/llappviewer.cpp3
-rw-r--r--linden/indra/newview/llpanelgeneral.cpp2
-rw-r--r--linden/indra/newview/llselectmgr.cpp29
-rw-r--r--linden/indra/newview/lltexturecache.cpp5
-rw-r--r--linden/indra/newview/lltoolplacer.cpp13
-rw-r--r--linden/indra/newview/llviewermenufile.cpp5
-rw-r--r--linden/indra/newview/llviewerparcelmgr.cpp22
-rw-r--r--linden/indra/newview/llvoavatar.cpp17
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/floater_mini_map.xml2
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/floater_snapshot.xml4
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml2
-rw-r--r--linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml38
16 files changed, 180 insertions, 136 deletions
diff --git a/linden/indra/llui/lllineeditor.cpp b/linden/indra/llui/lllineeditor.cpp
index b3da7fd..e73b287 100644
--- a/linden/indra/llui/lllineeditor.cpp
+++ b/linden/indra/llui/lllineeditor.cpp
@@ -231,38 +231,22 @@ LLLineEditor::LLLineEditor(const std::string& name, const LLRect& rect,
231 menu->appendSeparator("Transep"); 231 menu->appendSeparator("Transep");
232 LLMenuGL* translatemenu = new LLMenuGL("Translate To"); 232 LLMenuGL* translatemenu = new LLMenuGL("Translate To");
233 translatemenu->setCanTearOff(FALSE); 233 translatemenu->setCanTearOff(FALSE);
234 SpellMenuBind* t=new SpellMenuBind;t->origin=this;t->word="en"; 234 translatemenu->append(new LLMenuItemCallGL("en", "English", context_translate, context_enable_translate, this));
235 translatemenu->append(new LLMenuItemCallGL("English", context_translate, context_enable_translate, t)); 235 translatemenu->append(new LLMenuItemCallGL("da", "Danish", context_translate, context_enable_translate, this));
236 t=new SpellMenuBind;t->origin=this;t->word="da"; 236 translatemenu->append(new LLMenuItemCallGL("de", "Deutsch(German)", context_translate, context_enable_translate, this));
237 translatemenu->append(new LLMenuItemCallGL("Danish", context_translate, context_enable_translate, t)); 237 translatemenu->append(new LLMenuItemCallGL("es", "Spanish", context_translate, context_enable_translate, this));
238 t=new SpellMenuBind;t->origin=this;t->word="de"; 238 translatemenu->append(new LLMenuItemCallGL("fr", "French", context_translate, context_enable_translate, this));
239 translatemenu->append(new LLMenuItemCallGL("Deutsch(German)", context_translate, context_enable_translate, t)); 239 translatemenu->append(new LLMenuItemCallGL("it", "Italian", context_translate, context_enable_translate, this));
240 t=new SpellMenuBind;t->origin=this;t->word="es"; 240 translatemenu->append(new LLMenuItemCallGL("hu", "Hungarian", context_translate, context_enable_translate, this));
241 translatemenu->append(new LLMenuItemCallGL("Spanish", context_translate, context_enable_translate, t)); 241 translatemenu->append(new LLMenuItemCallGL("nl", "Dutch", context_translate, context_enable_translate, this));
242 t=new SpellMenuBind;t->origin=this;t->word="fr"; 242 translatemenu->append(new LLMenuItemCallGL("pl", "Polish", context_translate, context_enable_translate, this));
243 translatemenu->append(new LLMenuItemCallGL("French", context_translate, context_enable_translate, t)); 243 translatemenu->append(new LLMenuItemCallGL("pt", "Portugese", context_translate, context_enable_translate, this));
244 t=new SpellMenuBind;t->origin=this;t->word="it"; 244 translatemenu->append(new LLMenuItemCallGL("ru", "Russian", context_translate, context_enable_translate, this));
245 translatemenu->append(new LLMenuItemCallGL("Italian", context_translate, context_enable_translate, t)); 245 translatemenu->append(new LLMenuItemCallGL("tr", "Turkish", context_translate, context_enable_translate, this));
246 t=new SpellMenuBind;t->origin=this;t->word="hu"; 246 translatemenu->append(new LLMenuItemCallGL("uk", "Ukrainian", context_translate, context_enable_translate, this));
247 translatemenu->append(new LLMenuItemCallGL("Hungarian", context_translate, context_enable_translate, t)); 247 translatemenu->append(new LLMenuItemCallGL("zh", "Chinese", context_translate, context_enable_translate, this));
248 t=new SpellMenuBind;t->origin=this;t->word="nl"; 248 translatemenu->append(new LLMenuItemCallGL("ja", "Japanese", context_translate, context_enable_translate, this));
249 translatemenu->append(new LLMenuItemCallGL("Dutch", context_translate, context_enable_translate, t)); 249 translatemenu->append(new LLMenuItemCallGL("ko", "Korean", context_translate, context_enable_translate, this));
250 t=new SpellMenuBind;t->origin=this;t->word="pl";
251 translatemenu->append(new LLMenuItemCallGL("Polish", context_translate, context_enable_translate, t));
252 t=new SpellMenuBind;t->origin=this;t->word="pt";
253 translatemenu->append(new LLMenuItemCallGL("Portugese", context_translate, context_enable_translate, t));
254 t=new SpellMenuBind;t->origin=this;t->word="ru";
255 translatemenu->append(new LLMenuItemCallGL("Russian", context_translate, context_enable_translate, t));
256 t=new SpellMenuBind;t->origin=this;t->word="tr";
257 translatemenu->append(new LLMenuItemCallGL("Turkish", context_translate, context_enable_translate, t));
258 t=new SpellMenuBind;t->origin=this;t->word="uk";
259 translatemenu->append(new LLMenuItemCallGL("Ukrainian", context_translate, context_enable_translate, t));
260 t=new SpellMenuBind;t->origin=this;t->word="zh";
261 translatemenu->append(new LLMenuItemCallGL("Chinese", context_translate, context_enable_translate, t));
262 t=new SpellMenuBind;t->origin=this;t->word="ja";
263 translatemenu->append(new LLMenuItemCallGL("Japanese", context_translate, context_enable_translate, t));
264 t=new SpellMenuBind;t->origin=this;t->word="ko";
265 translatemenu->append(new LLMenuItemCallGL("Korean", context_translate, context_enable_translate, t));
266 250
267 menu->appendMenu(translatemenu); 251 menu->appendMenu(translatemenu);
268 menu->appendSeparator("Spelsep"); 252 menu->appendSeparator("Spelsep");
@@ -555,15 +539,20 @@ void LLLineEditor::spell_correct(void* data)
555 539
556BOOL LLLineEditor::context_enable_translate(void* data) 540BOOL LLLineEditor::context_enable_translate(void* data)
557{ 541{
558 SpellMenuBind* t = (SpellMenuBind*)data; 542 LLLineEditor* line = (LLLineEditor*)data;
559 return (t && t->origin && t->origin->canTranslate()); 543 return line && line->canTranslate();
560} 544}
561 545
562void LLLineEditor::context_translate(void * data) 546void LLLineEditor::context_translate(void * data)
563{ 547{
564 SpellMenuBind* t = (SpellMenuBind*)data; 548 LLLineEditor* line = (LLLineEditor*)data;
565 LLLineEditor* line = t->origin; 549 LLMenuGL* menu = line ? (LLMenuGL*)(line->mPopupMenuHandle.get()) : NULL;
566 const std::string &toLang = t->word;//LLTranslate::getTranslateLanguage(); 550 LLMenuGL* translate_menu = menu ? menu->getChildMenuByName("Translate To", TRUE) : NULL;
551 if (!translate_menu)
552 {
553 return;
554 }
555 const std::string to_lang = translate_menu->getHighlightedItem()->getName();
567 556
568 bool has_text = false; 557 bool has_text = false;
569 S32 start, length; 558 S32 start, length;
@@ -584,8 +573,8 @@ void LLLineEditor::context_translate(void * data)
584 if (has_text) 573 if (has_text)
585 { 574 {
586 std::string to_translate = wstring_to_utf8str(line->getWText().substr(start, length)); 575 std::string to_translate = wstring_to_utf8str(line->getWText().substr(start, length));
587 LLHTTPClient::ResponderPtr result = LineChatTranslationReceiver::build(toLang, line, start, length); 576 LLHTTPClient::ResponderPtr result = LineChatTranslationReceiver::build(to_lang, line, start, length);
588 LLTranslate::translateMessage(result,"", toLang, to_translate); 577 LLTranslate::translateMessage(result,"", to_lang, to_translate);
589 } 578 }
590} 579}
591 580
@@ -790,7 +779,7 @@ BOOL LLLineEditor::handleRightMouseDown( S32 x, S32 y, MASK mask )
790 779
791 //setCursorAtLocalPos( x); 780 //setCursorAtLocalPos( x);
792 S32 wordStart = 0; 781 S32 wordStart = 0;
793 S32 wordEnd = 0; 782 S32 wordLen = 0;
794 S32 pos = calculateCursorFromMouse(x); 783 S32 pos = calculateCursorFromMouse(x);
795 784
796 LLMenuGL* menu = (LLMenuGL*)mPopupMenuHandle.get(); 785 LLMenuGL* menu = (LLMenuGL*)mPopupMenuHandle.get();
@@ -819,11 +808,11 @@ BOOL LLLineEditor::handleRightMouseDown( S32 x, S32 y, MASK mask )
819 if (!mReadOnly && mSpellCheckable) 808 if (!mReadOnly && mSpellCheckable)
820 { 809 {
821 // search for word matches 810 // search for word matches
822 bool is_word_part = getWordBoundriesAt(pos, &wordStart, &wordEnd); 811 bool is_word_part = getWordBoundriesAt(pos, &wordStart, &wordLen);
823 if (is_word_part) 812 if (is_word_part)
824 { 813 {
825 const LLWString& text = mText.getWString(); 814 const LLWString& text = mText.getWString();
826 std::string selectedWord(std::string(text.begin(), text.end()).substr(wordStart,wordEnd-wordStart)); 815 std::string selectedWord(std::string(text.begin(), text.end()).substr(wordStart,wordLen));
827 816
828 if (!glggHunSpell->isSpelledRight(selectedWord)) 817 if (!glggHunSpell->isSpelledRight(selectedWord))
829 { 818 {
@@ -835,7 +824,7 @@ BOOL LLLineEditor::handleRightMouseDown( S32 x, S32 y, MASK mask )
835 SpellMenuBind * tempStruct = new SpellMenuBind; 824 SpellMenuBind * tempStruct = new SpellMenuBind;
836 tempStruct->origin = this; 825 tempStruct->origin = this;
837 tempStruct->word = suggs[i]; 826 tempStruct->word = suggs[i];
838 tempStruct->wordPositionEnd = wordEnd; 827 tempStruct->wordPositionEnd = wordStart + wordLen;
839 tempStruct->wordPositionStart=wordStart; 828 tempStruct->wordPositionStart=wordStart;
840 LLMenuItemCallGL * suggMenuItem = new LLMenuItemCallGL( 829 LLMenuItemCallGL * suggMenuItem = new LLMenuItemCallGL(
841 tempStruct->word, spell_correct, NULL, tempStruct); 830 tempStruct->word, spell_correct, NULL, tempStruct);
@@ -847,7 +836,7 @@ BOOL LLLineEditor::handleRightMouseDown( S32 x, S32 y, MASK mask )
847 SpellMenuBind * tempStruct = new SpellMenuBind; 836 SpellMenuBind * tempStruct = new SpellMenuBind;
848 tempStruct->origin = this; 837 tempStruct->origin = this;
849 tempStruct->word = selectedWord; 838 tempStruct->word = selectedWord;
850 tempStruct->wordPositionEnd = wordEnd; 839 tempStruct->wordPositionEnd = wordStart + wordLen;
851 tempStruct->wordPositionStart=wordStart; 840 tempStruct->wordPositionStart=wordStart;
852 LLMenuItemCallGL * suggMenuItem = new LLMenuItemCallGL( 841 LLMenuItemCallGL * suggMenuItem = new LLMenuItemCallGL(
853 "Add Word", spell_add, NULL, tempStruct); 842 "Add Word", spell_add, NULL, tempStruct);
diff --git a/linden/indra/llui/lltexteditor.cpp b/linden/indra/llui/lltexteditor.cpp
index 8dcb014..fdf8bcf 100644
--- a/linden/indra/llui/lltexteditor.cpp
+++ b/linden/indra/llui/lltexteditor.cpp
@@ -398,38 +398,22 @@ LLTextEditor::LLTextEditor(
398 menu->appendSeparator("Transep"); 398 menu->appendSeparator("Transep");
399 LLMenuGL* translatemenu = new LLMenuGL("Translate To"); 399 LLMenuGL* translatemenu = new LLMenuGL("Translate To");
400 translatemenu->setCanTearOff(FALSE); 400 translatemenu->setCanTearOff(FALSE);
401 SpellMenuBind* t=new SpellMenuBind;t->origin=this;t->word="en"; 401 translatemenu->append(new LLMenuItemCallGL("en", "English", context_translate, context_enable_translate, this));
402 translatemenu->append(new LLMenuItemCallGL("English", context_translate, context_enable_translate, t)); 402 translatemenu->append(new LLMenuItemCallGL("da", "Danish", context_translate, context_enable_translate, this));
403 t=new SpellMenuBind;t->origin=this;t->word="da"; 403 translatemenu->append(new LLMenuItemCallGL("de", "Deutsch(German)", context_translate, context_enable_translate, this));
404 translatemenu->append(new LLMenuItemCallGL("Danish", context_translate, context_enable_translate, t)); 404 translatemenu->append(new LLMenuItemCallGL("es", "Spanish", context_translate, context_enable_translate, this));
405 t=new SpellMenuBind;t->origin=this;t->word="de"; 405 translatemenu->append(new LLMenuItemCallGL("fr", "French", context_translate, context_enable_translate, this));
406 translatemenu->append(new LLMenuItemCallGL("Deutsch(German)", context_translate, context_enable_translate, t)); 406 translatemenu->append(new LLMenuItemCallGL("it", "Italian", context_translate, context_enable_translate, this));
407 t=new SpellMenuBind;t->origin=this;t->word="es"; 407 translatemenu->append(new LLMenuItemCallGL("hu", "Hungarian", context_translate, context_enable_translate, this));
408 translatemenu->append(new LLMenuItemCallGL("Spanish", context_translate, context_enable_translate, t)); 408 translatemenu->append(new LLMenuItemCallGL("nl", "Dutch", context_translate, context_enable_translate, this));
409 t=new SpellMenuBind;t->origin=this;t->word="fr"; 409 translatemenu->append(new LLMenuItemCallGL("pl", "Polish", context_translate, context_enable_translate, this));
410 translatemenu->append(new LLMenuItemCallGL("French", context_translate, context_enable_translate, t)); 410 translatemenu->append(new LLMenuItemCallGL("pt", "Portugese", context_translate, context_enable_translate, this));
411 t=new SpellMenuBind;t->origin=this;t->word="it"; 411 translatemenu->append(new LLMenuItemCallGL("ru", "Russian", context_translate, context_enable_translate, this));
412 translatemenu->append(new LLMenuItemCallGL("Italian", context_translate, context_enable_translate, t)); 412 translatemenu->append(new LLMenuItemCallGL("tr", "Turkish", context_translate, context_enable_translate, this));
413 t=new SpellMenuBind;t->origin=this;t->word="hu"; 413 translatemenu->append(new LLMenuItemCallGL("uk", "Ukrainian", context_translate, context_enable_translate, this));
414 translatemenu->append(new LLMenuItemCallGL("Hungarian", context_translate, context_enable_translate, t)); 414 translatemenu->append(new LLMenuItemCallGL("zh", "Chinese", context_translate, context_enable_translate, this));
415 t=new SpellMenuBind;t->origin=this;t->word="nl"; 415 translatemenu->append(new LLMenuItemCallGL("ja", "Japanese", context_translate, context_enable_translate, this));
416 translatemenu->append(new LLMenuItemCallGL("Dutch", context_translate, context_enable_translate, t)); 416 translatemenu->append(new LLMenuItemCallGL("ko", "Korean", context_translate, context_enable_translate, this));
417 t=new SpellMenuBind;t->origin=this;t->word="pl";
418 translatemenu->append(new LLMenuItemCallGL("Polish", context_translate, context_enable_translate, t));
419 t=new SpellMenuBind;t->origin=this;t->word="pt";
420 translatemenu->append(new LLMenuItemCallGL("Portugese", context_translate, context_enable_translate, t));
421 t=new SpellMenuBind;t->origin=this;t->word="ru";
422 translatemenu->append(new LLMenuItemCallGL("Russian", context_translate, context_enable_translate, t));
423 t=new SpellMenuBind;t->origin=this;t->word="tr";
424 translatemenu->append(new LLMenuItemCallGL("Turkish", context_translate, context_enable_translate, t));
425 t=new SpellMenuBind;t->origin=this;t->word="uk";
426 translatemenu->append(new LLMenuItemCallGL("Ukrainian", context_translate, context_enable_translate, t));
427 t=new SpellMenuBind;t->origin=this;t->word="zh";
428 translatemenu->append(new LLMenuItemCallGL("Chinese", context_translate, context_enable_translate, t));
429 t=new SpellMenuBind;t->origin=this;t->word="ja";
430 translatemenu->append(new LLMenuItemCallGL("Japanese", context_translate, context_enable_translate, t));
431 t=new SpellMenuBind;t->origin=this;t->word="ko";
432 translatemenu->append(new LLMenuItemCallGL("Korean", context_translate, context_enable_translate, t));
433 417
434 menu->appendMenu(translatemenu); 418 menu->appendMenu(translatemenu);
435 menu->appendSeparator("Spelsep"); 419 menu->appendSeparator("Spelsep");
@@ -483,15 +467,20 @@ void LLTextEditor::context_copy(void* data)
483 467
484BOOL LLTextEditor::context_enable_translate(void * data) 468BOOL LLTextEditor::context_enable_translate(void * data)
485{ 469{
486 SpellMenuBind* t = (SpellMenuBind*)data; 470 LLTextEditor* editor = (LLTextEditor*)data;
487 return (t && t->origin && t->origin->canTranslate()); 471 return editor && editor->canTranslate();
488} 472}
489 473
490void LLTextEditor::context_translate(void * data) 474void LLTextEditor::context_translate(void * data)
491{ 475{
492 SpellMenuBind* t = (SpellMenuBind*)data; 476 LLTextEditor* line = (LLTextEditor*)data;
493 LLTextEditor* line = t->origin; 477 LLMenuGL* menu = line ? (LLMenuGL*)(line->mPopupMenuHandle.get()) : NULL;
494 const std::string &toLang = t->word;//LLTranslate::getTranslateLanguage(); 478 LLMenuGL* translate_menu = menu ? menu->getChildMenuByName("Translate To", TRUE) : NULL;
479 if (!translate_menu)
480 {
481 return;
482 }
483 const std::string to_lang = translate_menu->getHighlightedItem()->getName();
495 484
496 bool has_text = false; 485 bool has_text = false;
497 S32 start, length; 486 S32 start, length;
@@ -512,8 +501,8 @@ void LLTextEditor::context_translate(void * data)
512 if (has_text) 501 if (has_text)
513 { 502 {
514 const std::string to_translate = wstring_to_utf8str(line->getWText().substr(start, length)); 503 const std::string to_translate = wstring_to_utf8str(line->getWText().substr(start, length));
515 LLHTTPClient::ResponderPtr result = TextChatTranslationReceiver::build(toLang, line, start, length); 504 LLHTTPClient::ResponderPtr result = TextChatTranslationReceiver::build(to_lang, line, start, length);
516 LLTranslate::translateMessage(result,"", toLang, to_translate); 505 LLTranslate::translateMessage(result,"", to_lang, to_translate);
517 } 506 }
518} 507}
519 508
@@ -1513,7 +1502,7 @@ BOOL LLTextEditor::handleRightMouseDown( S32 x, S32 y, MASK mask )
1513 1502
1514 //setCursorAtLocalPos( x, y, TRUE ); 1503 //setCursorAtLocalPos( x, y, TRUE );
1515 S32 wordStart = 0; 1504 S32 wordStart = 0;
1516 S32 wordEnd = 0; 1505 S32 wordLen = 0;
1517 S32 pos = getCursorPosFromLocalCoord(x,y,TRUE); 1506 S32 pos = getCursorPosFromLocalCoord(x,y,TRUE);
1518 1507
1519 LLMenuGL* menu = (LLMenuGL*)mPopupMenuHandle.get(); 1508 LLMenuGL* menu = (LLMenuGL*)mPopupMenuHandle.get();
@@ -1537,11 +1526,11 @@ BOOL LLTextEditor::handleRightMouseDown( S32 x, S32 y, MASK mask )
1537 menu->setItemVisible("Spelsep", !mReadOnly && mSpellCheckable); 1526 menu->setItemVisible("Spelsep", !mReadOnly && mSpellCheckable);
1538 if (!mReadOnly && mSpellCheckable) 1527 if (!mReadOnly && mSpellCheckable)
1539 { 1528 {
1540 bool is_word_part = getWordBoundriesAt(pos, &wordStart, &wordEnd); 1529 bool is_word_part = getWordBoundriesAt(pos, &wordStart, &wordLen);
1541 if (is_word_part) 1530 if (is_word_part)
1542 { 1531 {
1543 const LLWString &text = mWText; 1532 const LLWString &text = mWText;
1544 std::string selectedWord(std::string(text.begin(), text.end()).substr(wordStart,wordEnd-wordStart)); 1533 std::string selectedWord(std::string(text.begin(), text.end()).substr(wordStart,wordLen));
1545 1534
1546 if (!glggHunSpell->isSpelledRight(selectedWord)) 1535 if (!glggHunSpell->isSpelledRight(selectedWord))
1547 { 1536 {
@@ -1553,7 +1542,7 @@ BOOL LLTextEditor::handleRightMouseDown( S32 x, S32 y, MASK mask )
1553 SpellMenuBind * tempStruct = new SpellMenuBind; 1542 SpellMenuBind * tempStruct = new SpellMenuBind;
1554 tempStruct->origin = this; 1543 tempStruct->origin = this;
1555 tempStruct->word = suggs[i]; 1544 tempStruct->word = suggs[i];
1556 tempStruct->wordPositionEnd = wordEnd; 1545 tempStruct->wordPositionEnd = wordStart + wordLen;
1557 tempStruct->wordPositionStart=wordStart; 1546 tempStruct->wordPositionStart=wordStart;
1558 tempStruct->wordY=y; 1547 tempStruct->wordY=y;
1559 LLMenuItemCallGL * suggMenuItem = new LLMenuItemCallGL( 1548 LLMenuItemCallGL * suggMenuItem = new LLMenuItemCallGL(
@@ -1565,7 +1554,7 @@ BOOL LLTextEditor::handleRightMouseDown( S32 x, S32 y, MASK mask )
1565 SpellMenuBind * tempStruct = new SpellMenuBind; 1554 SpellMenuBind * tempStruct = new SpellMenuBind;
1566 tempStruct->origin = this; 1555 tempStruct->origin = this;
1567 tempStruct->word = selectedWord; 1556 tempStruct->word = selectedWord;
1568 tempStruct->wordPositionEnd = wordEnd; 1557 tempStruct->wordPositionEnd = wordStart + wordLen;
1569 tempStruct->wordPositionStart=wordStart; 1558 tempStruct->wordPositionStart=wordStart;
1570 tempStruct->wordY=y; 1559 tempStruct->wordY=y;
1571 LLMenuItemCallGL * suggMenuItem = new LLMenuItemCallGL( 1560 LLMenuItemCallGL * suggMenuItem = new LLMenuItemCallGL(
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml
index aeb5c0b..d33285d 100644
--- a/linden/indra/newview/app_settings/settings.xml
+++ b/linden/indra/newview/app_settings/settings.xml
@@ -6683,7 +6683,7 @@
6683 <key>Comment</key> 6683 <key>Comment</key>
6684 <string>Double resolution of snapshot from current window resolution</string> 6684 <string>Double resolution of snapshot from current window resolution</string>
6685 <key>Persist</key> 6685 <key>Persist</key>
6686 <integer>1</integer> 6686 <integer>0</integer>
6687 <key>Type</key> 6687 <key>Type</key>
6688 <string>Boolean</string> 6688 <string>Boolean</string>
6689 <key>Value</key> 6689 <key>Value</key>
@@ -10926,6 +10926,17 @@
10926 <key>Value</key> 10926 <key>Value</key>
10927 <integer>1</integer> 10927 <integer>1</integer>
10928 </map> 10928 </map>
10929 <key>HighlightFriends</key>
10930 <map>
10931 <key>Comment</key>
10932 <string>Display avatar name text in bold if is a friend</string>
10933 <key>Persist</key>
10934 <integer>1</integer>
10935 <key>Type</key>
10936 <string>Boolean</string>
10937 <key>Value</key>
10938 <integer>1</integer>
10939 </map>
10929 <key>SnapEnabled</key> 10940 <key>SnapEnabled</key>
10930 <map> 10941 <map>
10931 <key>Comment</key> 10942 <key>Comment</key>
diff --git a/linden/indra/newview/lgghunspell_wrapper.cpp b/linden/indra/newview/lgghunspell_wrapper.cpp
index aa4507c..9548c4f 100644
--- a/linden/indra/newview/lgghunspell_wrapper.cpp
+++ b/linden/indra/newview/lgghunspell_wrapper.cpp
@@ -472,7 +472,7 @@ static char * languageCodesraw[]={
472lggHunSpell_Wrapper::lggHunSpell_Wrapper() 472lggHunSpell_Wrapper::lggHunSpell_Wrapper()
473{ 473{
474 //languageCodes(begin(languageCodesraw), end(languageCodesraw)); 474 //languageCodes(begin(languageCodesraw), end(languageCodesraw));
475 mSpellCheckHighlight = rebind_llcontrol<BOOL>("EmeraldSpellDisplay", &gSavedSettings, false); 475 mSpellCheckHighlight = rebind_llcontrol<BOOL>("EmeraldSpellDisplay", &gSavedSettings, true);
476} 476}
477 477
478lggHunSpell_Wrapper::~lggHunSpell_Wrapper() 478lggHunSpell_Wrapper::~lggHunSpell_Wrapper()
@@ -963,8 +963,5 @@ void lggHunSpell_Wrapper::editCustomButton()
963 963
964void lggHunSpell_Wrapper::setSpellCheckHighlight(BOOL highlight) 964void lggHunSpell_Wrapper::setSpellCheckHighlight(BOOL highlight)
965{ 965{
966 if (mSpellCheckHighlight) 966 gSavedSettings.setBOOL("EmeraldSpellDisplay", highlight);
967 {
968 *mSpellCheckHighlight = highlight;
969 }
970} 967}
diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp
index 2496d13..96fc451 100644
--- a/linden/indra/newview/llappviewer.cpp
+++ b/linden/indra/newview/llappviewer.cpp
@@ -1189,6 +1189,9 @@ bool LLAppViewer::cleanup()
1189 { //*might* crash imprudence TODO: fix the voiceclient instead 1189 { //*might* crash imprudence TODO: fix the voiceclient instead
1190 //this deletes all your buddies 1190 //this deletes all your buddies
1191 LLAvatarTracker::instance().reset(); 1191 LLAvatarTracker::instance().reset();
1192 // reset group data. Blame LL for the need to clear a member variable through a global
1193 LLGroupMgr::getInstance()->clearGroups();
1194 gAgent.mGroups.clear();
1192 } 1195 }
1193 1196
1194 //reset balance for not playing the UI-Sound 1197 //reset balance for not playing the UI-Sound
diff --git a/linden/indra/newview/llpanelgeneral.cpp b/linden/indra/newview/llpanelgeneral.cpp
index a2cba4c..fc6073a 100644
--- a/linden/indra/newview/llpanelgeneral.cpp
+++ b/linden/indra/newview/llpanelgeneral.cpp
@@ -91,6 +91,7 @@ BOOL LLPanelGeneral::postBuild()
91 childSetValue("show_all_title_checkbox", gSavedSettings.getBOOL("RenderHideGroupTitleAll")); 91 childSetValue("show_all_title_checkbox", gSavedSettings.getBOOL("RenderHideGroupTitleAll"));
92 childSetValue("show_my_name_checkbox", gSavedSettings.getBOOL("RenderNameHideSelf")); 92 childSetValue("show_my_name_checkbox", gSavedSettings.getBOOL("RenderNameHideSelf"));
93 childSetValue("small_avatar_names_checkbox", gSavedSettings.getBOOL("SmallAvatarNames")); 93 childSetValue("small_avatar_names_checkbox", gSavedSettings.getBOOL("SmallAvatarNames"));
94 childSetValue("highlight_friends_checkbox", gSavedSettings.getBOOL("HighlightFriends"));
94 childSetValue("show_my_title_checkbox", gSavedSettings.getBOOL("RenderHideGroupTitle")); 95 childSetValue("show_my_title_checkbox", gSavedSettings.getBOOL("RenderHideGroupTitle"));
95 childSetValue("afk_timeout_spinner", gSavedSettings.getF32("AFKTimeout")); 96 childSetValue("afk_timeout_spinner", gSavedSettings.getF32("AFKTimeout"));
96 childSetValue("afk_timeout_checkbox", gSavedSettings.getBOOL("AllowIdleAFK")); 97 childSetValue("afk_timeout_checkbox", gSavedSettings.getBOOL("AllowIdleAFK"));
@@ -163,6 +164,7 @@ void LLPanelGeneral::apply()
163 gSavedSettings.setBOOL("RenderHideGroupTitleAll", childGetValue("show_all_title_checkbox")); 164 gSavedSettings.setBOOL("RenderHideGroupTitleAll", childGetValue("show_all_title_checkbox"));
164 gSavedSettings.setBOOL("RenderNameHideSelf", childGetValue("show_my_name_checkbox")); 165 gSavedSettings.setBOOL("RenderNameHideSelf", childGetValue("show_my_name_checkbox"));
165 gSavedSettings.setBOOL("SmallAvatarNames", childGetValue("small_avatar_names_checkbox")); 166 gSavedSettings.setBOOL("SmallAvatarNames", childGetValue("small_avatar_names_checkbox"));
167 gSavedSettings.setBOOL("HighlightFriends", childGetValue("highlight_friends_checkbox"));
166 gSavedSettings.setBOOL("RenderHideGroupTitle", childGetValue("show_my_title_checkbox")); 168 gSavedSettings.setBOOL("RenderHideGroupTitle", childGetValue("show_my_title_checkbox"));
167 gSavedSettings.setF32("AFKTimeout", childGetValue("afk_timeout_spinner").asReal()); 169 gSavedSettings.setF32("AFKTimeout", childGetValue("afk_timeout_spinner").asReal());
168 gSavedSettings.setBOOL("AllowIdleAFK", childGetValue("afk_timeout_checkbox")); 170 gSavedSettings.setBOOL("AllowIdleAFK", childGetValue("afk_timeout_checkbox"));
diff --git a/linden/indra/newview/llselectmgr.cpp b/linden/indra/newview/llselectmgr.cpp
index 83abcf4..1634950 100644
--- a/linden/indra/newview/llselectmgr.cpp
+++ b/linden/indra/newview/llselectmgr.cpp
@@ -64,6 +64,7 @@
64#include "llinventorymodel.h" 64#include "llinventorymodel.h"
65#include "llmenugl.h" 65#include "llmenugl.h"
66#include "llmutelist.h" 66#include "llmutelist.h"
67#include "llparcel.h" // RezWithLandGroup
67#include "llstatusbar.h" 68#include "llstatusbar.h"
68#include "llsurface.h" 69#include "llsurface.h"
69#include "lltool.h" 70#include "lltool.h"
@@ -77,6 +78,7 @@
77#include "llviewermenu.h" 78#include "llviewermenu.h"
78#include "llviewerobject.h" 79#include "llviewerobject.h"
79#include "llviewerobjectlist.h" 80#include "llviewerobjectlist.h"
81#include "llviewerparcelmgr.h" // RezWithLandGroup
80#include "llviewerregion.h" 82#include "llviewerregion.h"
81#include "llviewerstats.h" 83#include "llviewerstats.h"
82#include "llvoavatar.h" 84#include "llvoavatar.h"
@@ -3135,7 +3137,20 @@ void LLSelectMgr::packDuplicateOnRayHead(void *user_data)
3135 msg->nextBlockFast(_PREHASH_AgentData); 3137 msg->nextBlockFast(_PREHASH_AgentData);
3136 msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID() ); 3138 msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID() );
3137 msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID() ); 3139 msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID() );
3138 msg->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID() ); 3140 LLUUID group_id = gAgent.getGroupID();
3141 if (gSavedSettings.getBOOL("RezWithLandGroup"))
3142 {
3143 LLParcel *parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
3144 if (gAgent.isInGroup(parcel->getGroupID()))
3145 {
3146 group_id = parcel->getGroupID();
3147 }
3148 else if (gAgent.isInGroup(parcel->getOwnerID()))
3149 {
3150 group_id = parcel->getOwnerID();
3151 }
3152 }
3153 msg->addUUIDFast(_PREHASH_GroupID, group_id);
3139 msg->addVector3Fast(_PREHASH_RayStart, data->mRayStartRegion ); 3154 msg->addVector3Fast(_PREHASH_RayStart, data->mRayStartRegion );
3140 msg->addVector3Fast(_PREHASH_RayEnd, data->mRayEndRegion ); 3155 msg->addVector3Fast(_PREHASH_RayEnd, data->mRayEndRegion );
3141 msg->addBOOLFast(_PREHASH_BypassRaycast, data->mBypassRaycast ); 3156 msg->addBOOLFast(_PREHASH_BypassRaycast, data->mBypassRaycast );
@@ -3907,6 +3922,18 @@ void LLSelectMgr::packAgentAndSessionAndGroupID(void* user_data)
3907void LLSelectMgr::packDuplicateHeader(void* data) 3922void LLSelectMgr::packDuplicateHeader(void* data)
3908{ 3923{
3909 LLUUID group_id(gAgent.getGroupID()); 3924 LLUUID group_id(gAgent.getGroupID());
3925 if (gSavedSettings.getBOOL("RezWithLandGroup"))
3926 {
3927 LLParcel *parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
3928 if (gAgent.isInGroup(parcel->getGroupID()))
3929 {
3930 group_id = parcel->getGroupID();
3931 }
3932 else if (gAgent.isInGroup(parcel->getOwnerID()))
3933 {
3934 group_id = parcel->getOwnerID();
3935 }
3936 }
3910 packAgentAndSessionAndGroupID(&group_id); 3937 packAgentAndSessionAndGroupID(&group_id);
3911 3938
3912 LLDuplicateData* dup_data = (LLDuplicateData*) data; 3939 LLDuplicateData* dup_data = (LLDuplicateData*) data;
diff --git a/linden/indra/newview/lltexturecache.cpp b/linden/indra/newview/lltexturecache.cpp
index 46c125f..0c35b32 100644
--- a/linden/indra/newview/lltexturecache.cpp
+++ b/linden/indra/newview/lltexturecache.cpp
@@ -372,9 +372,10 @@ bool LLTextureCacheRemoteWorker::doRead()
372 if (!done && (mState == LOCAL)) 372 if (!done && (mState == LOCAL))
373 { 373 {
374 llassert(local_size != 0); // we're assuming there is a non empty local file here... 374 llassert(local_size != 0); // we're assuming there is a non empty local file here...
375 if (!mDataSize || mDataSize > local_size) 375 llassert(mReadData == NULL);
376 if (!mDataSize || mDataSize > (local_size - mOffset))
376 { 377 {
377 mDataSize = local_size; 378 mDataSize = local_size - mOffset;
378 } 379 }
379 // Allocate read buffer 380 // Allocate read buffer
380 mReadData = new U8[mDataSize]; 381 mReadData = new U8[mDataSize];
diff --git a/linden/indra/newview/lltoolplacer.cpp b/linden/indra/newview/lltoolplacer.cpp
index d5c4de1..00b0c9f 100644
--- a/linden/indra/newview/lltoolplacer.cpp
+++ b/linden/indra/newview/lltoolplacer.cpp
@@ -67,6 +67,7 @@
67 67
68#include "llparcel.h" // RezWithLandGroup 68#include "llparcel.h" // RezWithLandGroup
69#include "llviewerparcelmgr.h" // RezWithLandGroup 69#include "llviewerparcelmgr.h" // RezWithLandGroup
70#include "roles_constants.h" // Ele: Land Group Override
70 71
71const LLVector3 DEFAULT_OBJECT_SCALE(0.5f, 0.5f, 0.5f); 72const LLVector3 DEFAULT_OBJECT_SCALE(0.5f, 0.5f, 0.5f);
72 73
@@ -264,9 +265,11 @@ BOOL LLToolPlacer::addObject( LLPCode pcode, S32 x, S32 y, U8 use_physics )
264 gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); 265 gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
265 // RezWithLandGroup 2009-05, If avatar is in land group/land owner group, 266 // RezWithLandGroup 2009-05, If avatar is in land group/land owner group,
266 // it rezzes it with it to prevent autoreturn/whatever 267 // it rezzes it with it to prevent autoreturn/whatever
267 if ( gSavedSettings.getBOOL("RezWithLandGroup") ) 268
269 // Ele: if agent is in land group and has create powers but the tag is not active, force it to enable build seamlessly
270 LLParcel *parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
271 if ( gSavedSettings.getBOOL("RezWithLandGroup"))
268 { 272 {
269 LLParcel *parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
270 if ( gAgent.isInGroup(parcel->getGroupID()) ) 273 if ( gAgent.isInGroup(parcel->getGroupID()) )
271 { 274 {
272 gMessageSystem->addUUIDFast(_PREHASH_GroupID, parcel->getGroupID()); 275 gMessageSystem->addUUIDFast(_PREHASH_GroupID, parcel->getGroupID());
@@ -280,7 +283,11 @@ BOOL LLToolPlacer::addObject( LLPCode pcode, S32 x, S32 y, U8 use_physics )
280 gMessageSystem->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID()); 283 gMessageSystem->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID());
281 } 284 }
282 } 285 }
283 else 286 else if (gAgent.hasPowerInGroup(parcel->getGroupID(), GP_LAND_ALLOW_CREATE) && !parcel->getIsGroupOwned())
287 {
288 gMessageSystem->addUUIDFast(_PREHASH_GroupID, parcel->getGroupID());
289 }
290 else
284 { 291 {
285 gMessageSystem->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID()); 292 gMessageSystem->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID());
286 } 293 }
diff --git a/linden/indra/newview/llviewermenufile.cpp b/linden/indra/newview/llviewermenufile.cpp
index 364dcfd..432fcc5 100644
--- a/linden/indra/newview/llviewermenufile.cpp
+++ b/linden/indra/newview/llviewermenufile.cpp
@@ -43,6 +43,7 @@
43#include "llfloaternamedesc.h" 43#include "llfloaternamedesc.h"
44#include "llfloatersnapshot.h" 44#include "llfloatersnapshot.h"
45#include "llinventorymodel.h" // gInventory 45#include "llinventorymodel.h" // gInventory
46#include "llinventoryview.h" // open_texture()
46#include "llresourcedata.h" 47#include "llresourcedata.h"
47#include "llfloaterperms.h" 48#include "llfloaterperms.h"
48#include "llstatusbar.h" 49#include "llstatusbar.h"
@@ -875,7 +876,9 @@ void temp_upload_done_callback(const LLUUID& uuid, void* user_data, S32 result,
875 item->updateServer(TRUE); 876 item->updateServer(TRUE);
876 gInventory.updateItem(item); 877 gInventory.updateItem(item);
877 gInventory.notifyObservers(); 878 gInventory.notifyObservers();
878 }else // if(result >= 0) 879 open_texture(item_id, std::string("Texture: ") + item->getName(), TRUE, LLUUID::null, FALSE);
880 }
881 else // if(result >= 0)
879 { 882 {
880 LLSD args; 883 LLSD args;
881 args["FILE"] = LLInventoryType::lookupHumanReadable(data->mInventoryType); 884 args["FILE"] = LLInventoryType::lookupHumanReadable(data->mInventoryType);
diff --git a/linden/indra/newview/llviewerparcelmgr.cpp b/linden/indra/newview/llviewerparcelmgr.cpp
index 61b91fe..257ce0d 100644
--- a/linden/indra/newview/llviewerparcelmgr.cpp
+++ b/linden/indra/newview/llviewerparcelmgr.cpp
@@ -651,15 +651,21 @@ BOOL LLViewerParcelMgr::agentCanBuild() const
651{ 651{
652 if (mAgentParcel) 652 if (mAgentParcel)
653 { 653 {
654 return (gAgent.isGodlike() 654 const LLUUID parcel_group = mAgentParcel->getGroupID();
655 || (mAgentParcel->allowModifyBy( 655 const LLUUID active_group = gAgent.getGroupID();
656 gAgent.getID(), 656
657 gAgent.getGroupID()))); 657 if (gAgent.isGodlike())
658 } 658 return true;
659 else 659
660 { 660 if (mAgentParcel->allowModifyBy(gAgent.getID(), active_group))
661 return gAgent.isGodlike(); 661 return true;
662
663 // Ele: enable build option if we are in the land group and we have create powers, even if the group tag is not active
664 if (gAgent.isInGroup(parcel_group) && gAgent.hasPowerInGroup(parcel_group, GP_LAND_ALLOW_CREATE))
665 return true;
662 } 666 }
667
668 return gAgent.isGodlike();
663} 669}
664 670
665BOOL LLViewerParcelMgr::agentCanTakeDamage() const 671BOOL LLViewerParcelMgr::agentCanTakeDamage() const
diff --git a/linden/indra/newview/llvoavatar.cpp b/linden/indra/newview/llvoavatar.cpp
index 6e16ea3..422b22f 100644
--- a/linden/indra/newview/llvoavatar.cpp
+++ b/linden/indra/newview/llvoavatar.cpp
@@ -3801,15 +3801,20 @@ void LLVOAvatar::idleUpdateNameTag(const LLVector3& root_pos_last)
3801 } 3801 }
3802 else 3802 else
3803 { 3803 {
3804 static BOOL* sSmallAvatarNames = rebind_llcontrol<BOOL>("SmallAvatarNames", &gSavedSettings, true); 3804 S32 style = LLFontGL::NORMAL;
3805 if (*sSmallAvatarNames) 3805
3806 if (!mIsSelf && gSavedSettings.getBOOL("HighlightFriends"))
3806 { 3807 {
3807 mNameText->setFont(LLFontGL::getFontSansSerif()); 3808 if (is_agent_friend(this->getID())) // Ele: bold for friends
3809 style |= LLFontGL::BOLD;
3808 } 3810 }
3811
3812 static BOOL* sSmallAvatarNames = rebind_llcontrol<BOOL>("SmallAvatarNames", &gSavedSettings, true);
3813 if (*sSmallAvatarNames)
3814 mNameText->setFont(LLFontGL::getFont(LLFontDescriptor("SansSerif","Medium",style)));
3809 else 3815 else
3810 { 3816 mNameText->setFont(LLFontGL::getFont(LLFontDescriptor("SansSerif","Large",style)));
3811 mNameText->setFont(LLFontGL::getFontSansSerifBig()); 3817
3812 }
3813 mNameText->setTextAlignment(LLHUDText::ALIGN_TEXT_CENTER); 3818 mNameText->setTextAlignment(LLHUDText::ALIGN_TEXT_CENTER);
3814 mNameText->setFadeDistance(CHAT_NORMAL_RADIUS, 5.f); 3819 mNameText->setFadeDistance(CHAT_NORMAL_RADIUS, 5.f);
3815 mNameText->setVisibleOffScreen(FALSE); 3820 mNameText->setVisibleOffScreen(FALSE);
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_mini_map.xml b/linden/indra/newview/skins/default/xui/en-us/floater_mini_map.xml
index 8dfd43c..e02abe2 100644
--- a/linden/indra/newview/skins/default/xui/en-us/floater_mini_map.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/floater_mini_map.xml
@@ -1,7 +1,7 @@
1<?xml version="1.0" encoding="utf-8" standalone="yes" ?> 1<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
2 2
3<floater name="minimap" short_title="Mini-Map" 3<floater name="minimap" short_title="Mini-Map"
4 height="455" width="200" min_height="400" min_width="240" 4 height="455" width="200" min_height="325" min_width="200"
5 follows="top|right" can_close="true" can_drag_on_left="false" 5 follows="top|right" can_close="true" can_drag_on_left="false"
6 can_minimize="true" can_resize="true" can_tear_off="false" 6 can_minimize="true" can_resize="true" can_tear_off="false"
7 rect_control="FloaterMiniMapRect"> 7 rect_control="FloaterMiniMapRect">
diff --git a/linden/indra/newview/skins/default/xui/en-us/floater_snapshot.xml b/linden/indra/newview/skins/default/xui/en-us/floater_snapshot.xml
index 3b039de..db4d1e1 100644
--- a/linden/indra/newview/skins/default/xui/en-us/floater_snapshot.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/floater_snapshot.xml
@@ -136,10 +136,10 @@
136 </combo_box> 136 </combo_box>
137 137
138 <spinner bottom_delta="-25" decimal_digits="0" follows="left|top" height="20" 138 <spinner bottom_delta="-25" decimal_digits="0" follows="left|top" height="20"
139 increment="32" label="Width" label_width="30" left="10" max_val="6016" 139 increment="32" label="Width" label_width="30" left="10" max_val="4096"
140 min_val="32" name="snapshot_width" width="95" allow_text_entry="false"/> 140 min_val="32" name="snapshot_width" width="95" allow_text_entry="false"/>
141 <spinner bottom_delta="0" decimal_digits="0" follows="left|top" height="20" 141 <spinner bottom_delta="0" decimal_digits="0" follows="left|top" height="20"
142 increment="32" label="Height" label_width="35" left="110" max_val="6016" 142 increment="32" label="Height" label_width="35" left="110" max_val="4096"
143 min_val="32" name="snapshot_height" width="95" allow_text_entry="false"/> 143 min_val="32" name="snapshot_height" width="95" allow_text_entry="false"/>
144 <check_box bottom_delta="-20" follows="left|top" label="Constrain Proportions" left="10" 144 <check_box bottom_delta="-20" follows="left|top" label="Constrain Proportions" left="10"
145 name="keep_aspect_check" /> 145 name="keep_aspect_check" />
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml
index a0c9e28..c3ee726 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml
@@ -139,7 +139,7 @@
139 name="EmeraldHelp_SpellCheck" tool_tip="Click here for help regarding the settings in this page." 139 name="EmeraldHelp_SpellCheck" tool_tip="Click here for help regarding the settings in this page."
140 right="490" width="18"/> 140 right="490" width="18"/>
141 <check_box bottom="-25" enabled="true" follows="left|top" font="SansSerifSmall" height="16" 141 <check_box bottom="-25" enabled="true" follows="left|top" font="SansSerifSmall" height="16"
142 label="Show misspelled words in red (requires restart)" left="12" mouse_opaque="true" name="EmeraldSpellDisplay" 142 label="Show misspelled words in red" left="12" mouse_opaque="true" name="EmeraldSpellDisplay"
143 control_name="EmeraldSpellDisplay" width="126"/> 143 control_name="EmeraldSpellDisplay" width="126"/>
144 <text bottom_delta="-30" follows="left|top" font="SansSerifSmall" height="16" left="12" 144 <text bottom_delta="-30" follows="left|top" font="SansSerifSmall" height="16" left="12"
145 name="EmSpell_txt1" width="512"> 145 name="EmSpell_txt1" width="512">
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml
index 7b4b809..badd2b4 100644
--- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml
+++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_general.xml
@@ -44,6 +44,10 @@
44 font="SansSerifSmall" height="16" initial_value="false" 44 font="SansSerifSmall" height="16" initial_value="false"
45 label="Hide my name on my screen" left="151" name="show_my_name_checkbox" 45 label="Hide my name on my screen" left="151" name="show_my_name_checkbox"
46 width="200" /> 46 width="200" />
47 <check_box bottom_delta="-20" follows="left|top"
48 font="SansSerifSmall" height="16" initial_value="false"
49 label="Highlight friends tags" left="151" name="highlight_friends_checkbox"
50 width="200" />
47 <text type="string" length="1" bottom_delta="-24" follows="left|top" font="SansSerifSmall" h_pad="0" 51 <text type="string" length="1" bottom_delta="-24" follows="left|top" font="SansSerifSmall" h_pad="0"
48 halign="left" height="16" left="10" name="group_titles_textbox" v_pad="0" 52 halign="left" height="16" left="10" name="group_titles_textbox" v_pad="0"
49 width="394"> 53 width="394">
@@ -57,34 +61,34 @@
57 font="SansSerifSmall" height="16" initial_value="false" 61 font="SansSerifSmall" height="16" initial_value="false"
58 label="Hide my group title" left="151" name="show_my_title_checkbox" 62 label="Hide my group title" left="151" name="show_my_title_checkbox"
59 radio_style="false" width="256" /> 63 radio_style="false" width="256" />
60 <color_swatch border_color="0.45098 0.517647 0.607843 1" bottom="-210" 64 <color_swatch border_color="0.45098 0.517647 0.607843 1" bottom="-230"
61 can_apply_immediately="false" color="1 1 1 1" 65 can_apply_immediately="false" color="1 1 1 1"
62 enabled="true" follows="left|top" height="65" label="" left="153" 66 enabled="true" follows="left|top" height="65" label="" left="153"
63 mouse_opaque="true" name="effect_color_swatch" 67 mouse_opaque="true" name="effect_color_swatch"
64 tool_tip="Click to open Color Picker" width="55" /> 68 tool_tip="Click to open Color Picker" width="55" />
65 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 69 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
66 bottom="-215" drop_shadow_visible="true" enabled="true" follows="left|top" 70 bottom="-235" drop_shadow_visible="true" enabled="true" follows="left|top"
67 font="SansSerifSmall" h_pad="0" halign="left" height="12" left="10" 71 font="SansSerifSmall" h_pad="0" halign="left" height="12" left="10"
68 mouse_opaque="true" name="UI Size:" v_pad="0" width="128"> 72 mouse_opaque="true" name="UI Size:" v_pad="0" width="128">
69 UI Size: 73 UI Size:
70 </text> 74 </text>
71 <slider bottom="-217" can_edit_text="true" 75 <slider bottom="-237" can_edit_text="true"
72 decimal_digits="3" enabled="true" height="16" increment="0.001" 76 decimal_digits="3" enabled="true" height="16" increment="0.001"
73 initial_val="1" left="148" max_val="1.4" min_val="0.75" mouse_opaque="true" 77 initial_val="1" left="148" max_val="1.4" min_val="0.75" mouse_opaque="true"
74 name="ui_scale_slider" show_text="true" value="1" width="220" /> 78 name="ui_scale_slider" show_text="true" value="1" width="220" />
75 <button bottom="-221" enabled="true" follows="left|top" 79 <button bottom="-241" enabled="true" follows="left|top"
76 font="SansSerif" halign="center" height="22" label="Reset" 80 font="SansSerif" halign="center" height="22" label="Reset"
77 label_selected="Reset" left_delta="226" mouse_opaque="true" 81 label_selected="Reset" left_delta="226" mouse_opaque="true"
78 name="reset_ui_size" scale_image="true" width="80" /> 82 name="reset_ui_size" scale_image="true" width="80" />
79 <check_box bottom="-236" enabled="true" follows="left|top" 83 <check_box bottom="-256" enabled="true" follows="left|top"
80 font="SansSerifSmall" height="16" initial_value="false" 84 font="SansSerifSmall" height="16" initial_value="false"
81 label="Use resolution independent scale" left="151" mouse_opaque="true" 85 label="Use resolution independent scale" left="151" mouse_opaque="true"
82 name="ui_auto_scale" radio_style="false" width="256" /> 86 name="ui_auto_scale" radio_style="false" width="256" />
83 <check_box bottom="-260" enabled="true" follows="left|top" 87 <check_box bottom="-280" enabled="true" follows="left|top"
84 font="SansSerifSmall" height="16" initial_value="false" 88 font="SansSerifSmall" height="16" initial_value="false"
85 label="Go Away/AFK when idle" left="330" mouse_opaque="true" 89 label="Go Away/AFK when idle" left="330" mouse_opaque="true"
86 name="afk_timeout_checkbox" radio_style="false" width="256" /> 90 name="afk_timeout_checkbox" radio_style="false" width="256" />
87 <spinner bottom="-260" decimal_digits="0" enabled="true" 91 <spinner bottom="-280" decimal_digits="0" enabled="true"
88 follows="left|top" height="16" increment="1" initial_val="300" 92 follows="left|top" height="16" increment="1" initial_val="300"
89 label="Away Timeout:" label_width="141" left="10" max_val="600" 93 label="Away Timeout:" label_width="141" left="10" max_val="600"
90 min_val="30" mouse_opaque="true" name="afk_timeout_spinner" width="202" /> 94 min_val="30" mouse_opaque="true" name="afk_timeout_spinner" width="202" />
@@ -105,18 +109,18 @@
105 mouse_opaque="true" name="mini_map_notify_sim" radio_style="false" 109 mouse_opaque="true" name="mini_map_notify_sim" radio_style="false"
106 width="256" /> 110 width="256" />
107 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 111 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
108 bottom="-312" drop_shadow_visible="true" enabled="true" follows="left|top" 112 bottom="-332" drop_shadow_visible="true" enabled="true" follows="left|top"
109 font="SansSerifSmall" h_pad="0" halign="left" height="10" left="10" 113 font="SansSerifSmall" h_pad="0" halign="left" height="10" left="10"
110 mouse_opaque="true" name="maturity_desired_label" v_pad="0" width="394"> 114 mouse_opaque="true" name="maturity_desired_label" v_pad="0" width="394">
111 Rating: 115 Rating:
112 </text> 116 </text>
113 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 117 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
114 bottom="-312" drop_shadow_visible="true" enabled="true" follows="left|top" 118 bottom="-332" drop_shadow_visible="true" enabled="true" follows="left|top"
115 font="SansSerifSmall" h_pad="0" halign="left" height="10" left="151" 119 font="SansSerifSmall" h_pad="0" halign="left" height="10" left="151"
116 mouse_opaque="true" name="maturity_desired_prompt" v_pad="0" width="394"> 120 mouse_opaque="true" name="maturity_desired_prompt" v_pad="0" width="394">
117 I want to access content rated: 121 I want to access content rated:
118 </text> 122 </text>
119 <combo_box bottom="-318" follows="left|top" height="18" left="315" 123 <combo_box bottom="-338" follows="left|top" height="18" left="315"
120 mouse_opaque="true" name="maturity_desired_combobox" width="150"> 124 mouse_opaque="true" name="maturity_desired_combobox" width="150">
121 <combo_item name="Desired_Adult" value="42"> 125 <combo_item name="Desired_Adult" value="42">
122 PG, Mature and Adult 126 PG, Mature and Adult
@@ -129,7 +133,7 @@
129 </combo_item> 133 </combo_item>
130 </combo_box> 134 </combo_box>
131 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 135 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
132 bottom="-312" drop_shadow_visible="true" enabled="true" follows="left|top" 136 bottom="-332" drop_shadow_visible="true" enabled="true" follows="left|top"
133 font="SansSerifSmall" h_pad="0" halign="left" height="10" left="315" 137 font="SansSerifSmall" h_pad="0" halign="left" height="10" left="315"
134 mouse_opaque="true" name="maturity_desired_textbox" v_pad="0" width="150"> 138 mouse_opaque="true" name="maturity_desired_textbox" v_pad="0" width="150">
135 PG only 139 PG only
@@ -147,25 +151,25 @@
147 Nametags: 151 Nametags:
148 </text> 152 </text>
149 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 153 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
150 bottom="-155" drop_shadow_visible="true" enabled="true" follows="left|top" 154 bottom="-175" drop_shadow_visible="true" enabled="true" follows="left|top"
151 font="SansSerifSmall" h_pad="0" halign="left" height="10" left="10" 155 font="SansSerifSmall" h_pad="0" halign="left" height="10" left="10"
152 mouse_opaque="true" name="effects_color_textbox" v_pad="0" width="394"> 156 mouse_opaque="true" name="effects_color_textbox" v_pad="0" width="394">
153 Selection Beam Color: 157 Selection Beam Color:
154 </text> 158 </text>
155 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 159 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
156 bottom="-254" drop_shadow_visible="true" enabled="true" follows="left|top" 160 bottom="-274" drop_shadow_visible="true" enabled="true" follows="left|top"
157 font="SansSerifSmall" h_pad="0" halign="left" height="10" left="220" 161 font="SansSerifSmall" h_pad="0" halign="left" height="10" left="220"
158 mouse_opaque="true" name="seconds_textbox" v_pad="0" width="128"> 162 mouse_opaque="true" name="seconds_textbox" v_pad="0" width="128">
159 seconds 163 seconds
160 </text> 164 </text>
161 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 165 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
162 bottom="-352" drop_shadow_visible="true" enabled="true" follows="left|top" 166 bottom="-372" drop_shadow_visible="true" enabled="true" follows="left|top"
163 font="SansSerifSmall" h_pad="0" halign="left" height="18" left="10" 167 font="SansSerifSmall" h_pad="0" halign="left" height="18" left="10"
164 mouse_opaque="true" name="time_textbox" v_pad="0" width="394"> 168 mouse_opaque="true" name="time_textbox" v_pad="0" width="394">
165 Clock: 169 Clock:
166 </text> 170 </text>
167 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" 171 <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false"
168 bottom="-384" drop_shadow_visible="true" enabled="true" follows="left|top" 172 bottom="-404" drop_shadow_visible="true" enabled="true" follows="left|top"
169 font="SansSerifSmall" h_pad="0" halign="left" height="18" left="10" 173 font="SansSerifSmall" h_pad="0" halign="left" height="18" left="10"
170 mouse_opaque="true" name="language_textbox" v_pad="0" width="394"> 174 mouse_opaque="true" name="language_textbox" v_pad="0" width="394">
171 Language: 175 Language:
@@ -180,7 +184,7 @@
180 <string name="region_name_prompt"> 184 <string name="region_name_prompt">
181 &lt;Type region name&gt; 185 &lt;Type region name&gt;
182 </string> 186 </string>
183 <combo_box allow_text_entry="false" bottom="-352" enabled="true" follows="left|top" 187 <combo_box allow_text_entry="false" bottom="-372" enabled="true" follows="left|top"
184 height="18" left="153" max_chars="20" mouse_opaque="true" 188 height="18" left="153" max_chars="20" mouse_opaque="true"
185 name="time_combobox" width="146"> 189 name="time_combobox" width="146">
186 <combo_item type="string" name="12HourTime" value="PST 12"> 190 <combo_item type="string" name="12HourTime" value="PST 12">
@@ -193,7 +197,7 @@
193 UTC 197 UTC
194 </combo_item> 198 </combo_item>
195 </combo_box> 199 </combo_box>
196 <combo_box allow_text_entry="true" bottom="-382" enabled="true" 200 <combo_box allow_text_entry="true" bottom="-402" enabled="true"
197 follows="left|top" height="16" left="153" max_chars="135" 201 follows="left|top" height="16" left="153" max_chars="135"
198 mouse_opaque="true" name="language_combobox" width="146"> 202 mouse_opaque="true" name="language_combobox" width="146">
199 <combo_item type="string" length="1" enabled="true" name="System Default Language" value="default"> 203 <combo_item type="string" length="1" enabled="true" name="System Default Language" value="default">