diff options
author | elektrahesse | 2010-09-11 16:57:06 +0200 |
---|---|---|
committer | elektrahesse | 2010-09-11 16:57:06 +0200 |
commit | c59f576ffaa210709a28a240b71ba59c95e926fe (patch) | |
tree | 78b706b35ba2c1e6308d1323e0116c2a9d8556ee /linden/indra | |
parent | Fixed Boost.cmake and removed the boost::system and boost::filesystem depende... (diff) | |
parent | Updated the artwork package to fix a few items that were out of date (diff) | |
download | meta-impy-c59f576ffaa210709a28a240b71ba59c95e926fe.zip meta-impy-c59f576ffaa210709a28a240b71ba59c95e926fe.tar.gz meta-impy-c59f576ffaa210709a28a240b71ba59c95e926fe.tar.bz2 meta-impy-c59f576ffaa210709a28a240b71ba59c95e926fe.tar.xz |
Fixed merge conflicts, propagated the _stat usage for windows in floaterlocalassetbrowse.cpp
Diffstat (limited to 'linden/indra')
36 files changed, 610 insertions, 90 deletions
diff --git a/linden/indra/cmake/00-Common.cmake b/linden/indra/cmake/00-Common.cmake index c6b6858..d1f379c 100644 --- a/linden/indra/cmake/00-Common.cmake +++ b/linden/indra/cmake/00-Common.cmake | |||
@@ -169,7 +169,23 @@ if (LINUX) | |||
169 | add_definitions(-fno-stack-protector) | 169 | add_definitions(-fno-stack-protector) |
170 | endif (NOT STANDALONE) | 170 | endif (NOT STANDALONE) |
171 | if (${ARCH} STREQUAL "x86_64") | 171 | if (${ARCH} STREQUAL "x86_64") |
172 | add_definitions( -DLINUX64=1 ) | 172 | add_definitions( -DLINUX64=1 |
173 | #this rather needs to be done elsewhere | ||
174 | #anyway these are the flags for the 64bit releases: | ||
175 | -DLL_VECTORIZE=1 | ||
176 | -O2 | ||
177 | -fomit-frame-pointer | ||
178 | -pipe | ||
179 | -mmmx | ||
180 | -msse | ||
181 | -mfpmath=sse | ||
182 | -msse2 | ||
183 | -ffast-math | ||
184 | -ftree-vectorize | ||
185 | -fweb -fexpensive-optimizations | ||
186 | -frename-registers | ||
187 | ) | ||
188 | |||
173 | endif (${ARCH} STREQUAL "x86_64") | 189 | endif (${ARCH} STREQUAL "x86_64") |
174 | endif (VIEWER) | 190 | endif (VIEWER) |
175 | 191 | ||
diff --git a/linden/indra/cmake/ViewerMiscLibs.cmake b/linden/indra/cmake/ViewerMiscLibs.cmake index 4a62ebd..7fe1040 100644 --- a/linden/indra/cmake/ViewerMiscLibs.cmake +++ b/linden/indra/cmake/ViewerMiscLibs.cmake | |||
@@ -4,9 +4,9 @@ include(Prebuilt) | |||
4 | if (NOT STANDALONE) | 4 | if (NOT STANDALONE) |
5 | use_prebuilt_binary(libuuid) | 5 | use_prebuilt_binary(libuuid) |
6 | use_prebuilt_binary(vivox) | 6 | use_prebuilt_binary(vivox) |
7 | if(LINUX64) | 7 | if(LINUX AND ${ARCH} STREQUAL "x86_64") |
8 | use_prebuilt_binary(32bitcompatibilitylibs) | 8 | use_prebuilt_binary(32bitcompatibilitylibs) |
9 | endif(LINUX64) | 9 | endif(LINUX AND ${ARCH} STREQUAL "x86_64") |
10 | use_prebuilt_binary(fontconfig) | 10 | use_prebuilt_binary(fontconfig) |
11 | endif(NOT STANDALONE) | 11 | endif(NOT STANDALONE) |
12 | 12 | ||
diff --git a/linden/indra/llmedia/llmediaimplgstreamer.cpp b/linden/indra/llmedia/llmediaimplgstreamer.cpp index 2bfe4ea..7af9c9a 100644 --- a/linden/indra/llmedia/llmediaimplgstreamer.cpp +++ b/linden/indra/llmedia/llmediaimplgstreamer.cpp | |||
@@ -188,9 +188,6 @@ bool LLMediaImplGStreamer::startup (LLMediaManagerData* init_data) | |||
188 | // Protect against GStreamer resetting the locale, yuck. | 188 | // Protect against GStreamer resetting the locale, yuck. |
189 | static std::string saved_locale; | 189 | static std::string saved_locale; |
190 | saved_locale = setlocale(LC_ALL, NULL); | 190 | saved_locale = setlocale(LC_ALL, NULL); |
191 | #if LL_DARWIN | ||
192 | setenv("GST_PLUGIN_SYSTEM_PATH", "lib/gstreamer-plugins", TRUE); | ||
193 | #endif | ||
194 | if (0 == gst_init_check(NULL, NULL, NULL)) | 191 | if (0 == gst_init_check(NULL, NULL, NULL)) |
195 | { | 192 | { |
196 | LL_WARNS("MediaImpl") << "GStreamer library failed to initialize and load standard plugins." << LL_ENDL; | 193 | LL_WARNS("MediaImpl") << "GStreamer library failed to initialize and load standard plugins." << LL_ENDL; |
@@ -294,7 +291,6 @@ void LLMediaImplGStreamer::set_gst_plugin_path() | |||
294 | // Search both Imprudence and Imprudence\lib\gstreamer-plugins. | 291 | // Search both Imprudence and Imprudence\lib\gstreamer-plugins. |
295 | // But we also want to search the path the user has set, if any. | 292 | // But we also want to search the path the user has set, if any. |
296 | std::string plugin_path = | 293 | std::string plugin_path = |
297 | "GST_PLUGIN_PATH=" + | ||
298 | #if LL_WINDOWS | 294 | #if LL_WINDOWS |
299 | imp_dir + "\\lib\\gstreamer-plugins" + | 295 | imp_dir + "\\lib\\gstreamer-plugins" + |
300 | #elif LL_DARWIN | 296 | #elif LL_DARWIN |
@@ -307,9 +303,9 @@ void LLMediaImplGStreamer::set_gst_plugin_path() | |||
307 | 303 | ||
308 | // Place GST_PLUGIN_PATH in the environment settings | 304 | // Place GST_PLUGIN_PATH in the environment settings |
309 | #if LL_WINDOWS | 305 | #if LL_WINDOWS |
310 | put_result = _putenv( (char*)plugin_path.c_str() ); | 306 | put_result = _putenv_s( "GST_PLUGIN_PATH", (char*)plugin_path.c_str() ); |
311 | #elif LL_DARWIN | 307 | #elif LL_DARWIN |
312 | put_result = putenv( (char*)plugin_path.c_str() ); | 308 | put_result = setenv( "GST_PLUGIN_PATH", (char*)plugin_path.c_str(), 1 ); |
313 | #endif | 309 | #endif |
314 | 310 | ||
315 | if( put_result == -1 ) | 311 | if( put_result == -1 ) |
@@ -324,9 +320,9 @@ void LLMediaImplGStreamer::set_gst_plugin_path() | |||
324 | 320 | ||
325 | // Don't load system plugins. We only want to use ours, to avoid conflicts. | 321 | // Don't load system plugins. We only want to use ours, to avoid conflicts. |
326 | #if LL_WINDOWS | 322 | #if LL_WINDOWS |
327 | put_result = _putenv( "GST_PLUGIN_SYSTEM_PATH=\"\"" ); | 323 | put_result = _putenv_s( "GST_PLUGIN_SYSTEM_PATH", "" ); |
328 | #elif LL_DARWIN | 324 | #elif LL_DARWIN |
329 | put_result = putenv( "GST_PLUGIN_SYSTEM_PATH=\"\"" ); | 325 | put_result = setenv( "GST_PLUGIN_SYSTEM_PATH", "", 1 ); |
330 | #endif | 326 | #endif |
331 | 327 | ||
332 | if( put_result == -1 ) | 328 | if( put_result == -1 ) |
diff --git a/linden/indra/llrender/llfontregistry.cpp b/linden/indra/llrender/llfontregistry.cpp index 619228e..b1d8c5c 100644 --- a/linden/indra/llrender/llfontregistry.cpp +++ b/linden/indra/llrender/llfontregistry.cpp | |||
@@ -48,7 +48,8 @@ using std::map; | |||
48 | bool fontDescInitFromXML(LLXMLNodePtr node, LLFontDescriptor& desc); | 48 | bool fontDescInitFromXML(LLXMLNodePtr node, LLFontDescriptor& desc); |
49 | 49 | ||
50 | LLFontDescriptor::LLFontDescriptor(): | 50 | LLFontDescriptor::LLFontDescriptor(): |
51 | mStyle(0) | 51 | mStyle(0), |
52 | mSizeMult(1.0) | ||
52 | { | 53 | { |
53 | } | 54 | } |
54 | 55 | ||
@@ -59,7 +60,8 @@ LLFontDescriptor::LLFontDescriptor(const std::string& name, | |||
59 | mName(name), | 60 | mName(name), |
60 | mSize(size), | 61 | mSize(size), |
61 | mStyle(style), | 62 | mStyle(style), |
62 | mFileNames(file_names) | 63 | mFileNames(file_names), |
64 | mSizeMult(1.0) | ||
63 | { | 65 | { |
64 | } | 66 | } |
65 | 67 | ||
@@ -68,7 +70,8 @@ LLFontDescriptor::LLFontDescriptor(const std::string& name, | |||
68 | const U8 style): | 70 | const U8 style): |
69 | mName(name), | 71 | mName(name), |
70 | mSize(size), | 72 | mSize(size), |
71 | mStyle(style) | 73 | mStyle(style), |
74 | mSizeMult(1.0) | ||
72 | { | 75 | { |
73 | } | 76 | } |
74 | 77 | ||
@@ -165,7 +168,9 @@ LLFontDescriptor LLFontDescriptor::normalize() const | |||
165 | if (removeSubString(new_name,"Italic")) | 168 | if (removeSubString(new_name,"Italic")) |
166 | new_style |= LLFontGL::ITALIC; | 169 | new_style |= LLFontGL::ITALIC; |
167 | 170 | ||
168 | return LLFontDescriptor(new_name,new_size,new_style,getFileNames()); | 171 | LLFontDescriptor norm(new_name,new_size,new_style,getFileNames()); |
172 | norm.setSizeMult(mSizeMult); | ||
173 | return norm; | ||
169 | } | 174 | } |
170 | 175 | ||
171 | LLFontRegistry::LLFontRegistry(const string_vec_t& xui_paths) | 176 | LLFontRegistry::LLFontRegistry(const string_vec_t& xui_paths) |
@@ -177,6 +182,9 @@ LLFontRegistry::LLFontRegistry(const string_vec_t& xui_paths) | |||
177 | // This is potentially a slow directory traversal, so we want to | 182 | // This is potentially a slow directory traversal, so we want to |
178 | // cache the result. | 183 | // cache the result. |
179 | mUltimateFallbackList = LLWindow::getDynamicFallbackFontList(); | 184 | mUltimateFallbackList = LLWindow::getDynamicFallbackFontList(); |
185 | |||
186 | std::string font_choice = gSavedSettings.getString("FontChoice"); | ||
187 | setAlias("SansSerif", font_choice); | ||
180 | } | 188 | } |
181 | 189 | ||
182 | LLFontRegistry::~LLFontRegistry() | 190 | LLFontRegistry::~LLFontRegistry() |
@@ -252,6 +260,12 @@ bool fontDescInitFromXML(LLXMLNodePtr node, LLFontDescriptor& desc) | |||
252 | } | 260 | } |
253 | 261 | ||
254 | desc.setSize(s_template_string); | 262 | desc.setSize(s_template_string); |
263 | |||
264 | F32 attr_size_mult; | ||
265 | if (node->getAttributeF32("size_mult",attr_size_mult)) | ||
266 | { | ||
267 | desc.setSizeMult(attr_size_mult); | ||
268 | } | ||
255 | } | 269 | } |
256 | 270 | ||
257 | LLXMLNodePtr child; | 271 | LLXMLNodePtr child; |
@@ -360,7 +374,6 @@ LLFontGL *LLFontRegistry::createFont(const LLFontDescriptor& desc) | |||
360 | return NULL; | 374 | return NULL; |
361 | } | 375 | } |
362 | llinfos << "createFont " << norm_desc.getName() << " size " << norm_desc.getSize() << " style " << ((S32) norm_desc.getStyle()) << llendl; | 376 | llinfos << "createFont " << norm_desc.getName() << " size " << norm_desc.getSize() << " style " << ((S32) norm_desc.getStyle()) << llendl; |
363 | F32 fallback_scale = 1.0; | ||
364 | 377 | ||
365 | // Find corresponding font template (based on same descriptor with no size specified) | 378 | // Find corresponding font template (based on same descriptor with no size specified) |
366 | LLFontDescriptor template_desc(norm_desc); | 379 | LLFontDescriptor template_desc(norm_desc); |
@@ -428,13 +441,13 @@ LLFontGL *LLFontRegistry::createFont(const LLFontDescriptor& desc) | |||
428 | LLFontGL *fontp = new LLFontGL; | 441 | LLFontGL *fontp = new LLFontGL; |
429 | std::string font_path = local_path + *file_name_it; | 442 | std::string font_path = local_path + *file_name_it; |
430 | BOOL is_fallback = !is_first_found; | 443 | BOOL is_fallback = !is_first_found; |
431 | F32 extra_scale = (is_fallback)?fallback_scale:1.0; | 444 | F32 size_mult = (is_fallback ? 1 : match_desc->getSizeMult()); |
432 | if (!fontp->loadFace(font_path, extra_scale * point_size, | 445 | if (!fontp->loadFace(font_path, point_size * size_mult, |
433 | LLFontGL::sVertDPI, LLFontGL::sHorizDPI, 2, is_fallback)) | 446 | LLFontGL::sVertDPI, LLFontGL::sHorizDPI, 2, is_fallback)) |
434 | { | 447 | { |
435 | font_path = sys_path + *file_name_it; | 448 | font_path = sys_path + *file_name_it; |
436 | 449 | ||
437 | if (!fontp->loadFace(font_path, extra_scale * point_size, | 450 | if (!fontp->loadFace(font_path, point_size * size_mult, |
438 | LLFontGL::sVertDPI, LLFontGL::sHorizDPI, 2, is_fallback)) | 451 | LLFontGL::sVertDPI, LLFontGL::sHorizDPI, 2, is_fallback)) |
439 | { | 452 | { |
440 | LL_INFOS_ONCE("LLFontRegistry") << "Couldn't load font " << *file_name_it << LL_ENDL; | 453 | LL_INFOS_ONCE("LLFontRegistry") << "Couldn't load font " << *file_name_it << LL_ENDL; |
@@ -511,17 +524,24 @@ LLFontGL *LLFontRegistry::getFont(const LLFontDescriptor& orig_desc) | |||
511 | { | 524 | { |
512 | LLFontDescriptor norm_desc = orig_desc.normalize(); | 525 | LLFontDescriptor norm_desc = orig_desc.normalize(); |
513 | 526 | ||
527 | if (hasAlias(norm_desc.getName())) | ||
528 | { | ||
529 | // llinfos << "Font " << norm_desc.getName() << " is alias for " | ||
530 | // << expandAlias(norm_desc.getName()) << llendl; | ||
531 | norm_desc.setName(expandAlias(norm_desc.getName())); | ||
532 | } | ||
533 | |||
514 | font_reg_map_t::iterator it = mFontMap.find(norm_desc); | 534 | font_reg_map_t::iterator it = mFontMap.find(norm_desc); |
515 | if (it != mFontMap.end()) | 535 | if (it != mFontMap.end()) |
516 | return it->second; | 536 | return it->second; |
517 | else | 537 | else |
518 | { | 538 | { |
519 | LLFontGL *fontp = createFont(orig_desc); | 539 | LLFontGL *fontp = createFont(norm_desc); |
520 | if (!fontp) | 540 | if (!fontp) |
521 | { | 541 | { |
522 | llwarns << "getFont failed, name " << orig_desc.getName() | 542 | llwarns << "getFont failed, name " << norm_desc.getName() |
523 | <<" style=[" << ((S32) orig_desc.getStyle()) << "]" | 543 | <<" style=[" << ((S32) norm_desc.getStyle()) << "]" |
524 | << " size=[" << orig_desc.getSize() << "]" << llendl; | 544 | << " size=[" << norm_desc.getSize() << "]" << llendl; |
525 | } | 545 | } |
526 | return fontp; | 546 | return fontp; |
527 | } | 547 | } |
@@ -639,6 +659,7 @@ void LLFontRegistry::dump() | |||
639 | llinfos << "Font: name=" << desc.getName() | 659 | llinfos << "Font: name=" << desc.getName() |
640 | << " style=[" << ((S32)desc.getStyle()) << "]" | 660 | << " style=[" << ((S32)desc.getStyle()) << "]" |
641 | << " size=[" << desc.getSize() << "]" | 661 | << " size=[" << desc.getSize() << "]" |
662 | << " size_mult=[" << desc.getSizeMult() << "]" | ||
642 | << " fileNames=" | 663 | << " fileNames=" |
643 | << llendl; | 664 | << llendl; |
644 | for (string_vec_t::const_iterator file_it=desc.getFileNames().begin(); | 665 | for (string_vec_t::const_iterator file_it=desc.getFileNames().begin(); |
@@ -649,3 +670,31 @@ void LLFontRegistry::dump() | |||
649 | } | 670 | } |
650 | } | 671 | } |
651 | } | 672 | } |
673 | |||
674 | |||
675 | |||
676 | std::string LLFontRegistry::expandAlias(std::string alias_name) | ||
677 | { | ||
678 | font_alias_map_t::iterator it = mFontAliases.find(alias_name); | ||
679 | if (it != mFontAliases.end()) | ||
680 | { | ||
681 | return it->second; | ||
682 | } | ||
683 | return alias_name; | ||
684 | } | ||
685 | |||
686 | void LLFontRegistry::setAlias(std::string alias_name, std::string orig_name) | ||
687 | { | ||
688 | mFontAliases[alias_name] = orig_name; | ||
689 | } | ||
690 | |||
691 | void LLFontRegistry::clearAlias(std::string alias_name) | ||
692 | { | ||
693 | mFontAliases.erase(alias_name); | ||
694 | } | ||
695 | |||
696 | bool LLFontRegistry::hasAlias(std::string alias_name) | ||
697 | { | ||
698 | font_alias_map_t::iterator it = mFontAliases.find(alias_name); | ||
699 | return (it != mFontAliases.end()); | ||
700 | } | ||
diff --git a/linden/indra/llrender/llfontregistry.h b/linden/indra/llrender/llfontregistry.h index 523e184..67a529f 100644 --- a/linden/indra/llrender/llfontregistry.h +++ b/linden/indra/llrender/llfontregistry.h | |||
@@ -56,6 +56,9 @@ public: | |||
56 | void setName(const std::string& name) { mName = name; } | 56 | void setName(const std::string& name) { mName = name; } |
57 | const std::string& getSize() const { return mSize; } | 57 | const std::string& getSize() const { return mSize; } |
58 | void setSize(const std::string& size) { mSize = size; } | 58 | void setSize(const std::string& size) { mSize = size; } |
59 | F32 getSizeMult() const { return mSizeMult; } | ||
60 | void setSizeMult(F32 size_mult) { mSizeMult = size_mult; } | ||
61 | |||
59 | const std::vector<std::string>& getFileNames() const { return mFileNames; } | 62 | const std::vector<std::string>& getFileNames() const { return mFileNames; } |
60 | std::vector<std::string>& getFileNames() { return mFileNames; } | 63 | std::vector<std::string>& getFileNames() { return mFileNames; } |
61 | const U8 getStyle() const { return mStyle; } | 64 | const U8 getStyle() const { return mStyle; } |
@@ -64,6 +67,7 @@ public: | |||
64 | private: | 67 | private: |
65 | std::string mName; | 68 | std::string mName; |
66 | std::string mSize; | 69 | std::string mSize; |
70 | F32 mSizeMult; | ||
67 | string_vec_t mFileNames; | 71 | string_vec_t mFileNames; |
68 | U8 mStyle; | 72 | U8 mStyle; |
69 | }; | 73 | }; |
@@ -97,15 +101,29 @@ public: | |||
97 | 101 | ||
98 | const string_vec_t& getUltimateFallbackList() const { return mUltimateFallbackList; } | 102 | const string_vec_t& getUltimateFallbackList() const { return mUltimateFallbackList; } |
99 | 103 | ||
104 | // If alias_name is a defined alias, returns the original name. | ||
105 | // Otherwise returns alias_name itself. | ||
106 | std::string expandAlias(std::string alias_name); | ||
107 | // Define alias_name as an alias of orig_name. | ||
108 | void setAlias(std::string alias_name, std::string orig_name); | ||
109 | // Undefines the alias alias_name. Does nothing if it's not an alias. | ||
110 | void clearAlias(std::string alias_name); | ||
111 | // True if the alias is defined. | ||
112 | bool hasAlias(std::string alias_name); | ||
113 | |||
114 | |||
100 | private: | 115 | private: |
101 | LLFontGL *createFont(const LLFontDescriptor& desc); | 116 | LLFontGL *createFont(const LLFontDescriptor& desc); |
102 | typedef std::map<LLFontDescriptor,LLFontGL*> font_reg_map_t; | 117 | typedef std::map<LLFontDescriptor,LLFontGL*> font_reg_map_t; |
103 | typedef std::map<std::string,F32> font_size_map_t; | 118 | typedef std::map<std::string,F32> font_size_map_t; |
119 | typedef std::map<std::string,std::string> font_alias_map_t; | ||
104 | 120 | ||
105 | // Given a descriptor, look up specific font instantiation. | 121 | // Given a descriptor, look up specific font instantiation. |
106 | font_reg_map_t mFontMap; | 122 | font_reg_map_t mFontMap; |
107 | // Given a size name, look up the point size. | 123 | // Given a size name, look up the point size. |
108 | font_size_map_t mFontSizes; | 124 | font_size_map_t mFontSizes; |
125 | // Given an alias name, look up the original name. | ||
126 | font_alias_map_t mFontAliases; | ||
109 | 127 | ||
110 | string_vec_t mUltimateFallbackList; | 128 | string_vec_t mUltimateFallbackList; |
111 | string_vec_t mXUIPaths; | 129 | string_vec_t mXUIPaths; |
diff --git a/linden/indra/llui/llmenugl.cpp b/linden/indra/llui/llmenugl.cpp index e00700a..91bb581 100644 --- a/linden/indra/llui/llmenugl.cpp +++ b/linden/indra/llui/llmenugl.cpp | |||
@@ -101,8 +101,8 @@ const U32 SEPARATOR_HEIGHT_PIXELS = 8; | |||
101 | const S32 TEAROFF_SEPARATOR_HEIGHT_PIXELS = 10; | 101 | const S32 TEAROFF_SEPARATOR_HEIGHT_PIXELS = 10; |
102 | const S32 MENU_ITEM_PADDING = 4; | 102 | const S32 MENU_ITEM_PADDING = 4; |
103 | 103 | ||
104 | const std::string BOOLEAN_TRUE_PREFIX( "X" ); | 104 | const std::string BOOLEAN_TRUE_PREFIX( "\xe2\x9c\x93" ); // U+2714 -- MC |
105 | const std::string BRANCH_SUFFIX( ">" ); | 105 | const std::string BRANCH_SUFFIX( "\xE2\x96\xB6" ); // U+25B6 BLACK RIGHT-POINTING TRIANGLE |
106 | const std::string ARROW_UP ("^^^^^^^"); | 106 | const std::string ARROW_UP ("^^^^^^^"); |
107 | const std::string ARROW_DOWN("vvvvvvv"); | 107 | const std::string ARROW_DOWN("vvvvvvv"); |
108 | 108 | ||
diff --git a/linden/indra/mac_crash_logger/Info.plist b/linden/indra/mac_crash_logger/Info.plist index f48293e..a528b64 100644 --- a/linden/indra/mac_crash_logger/Info.plist +++ b/linden/indra/mac_crash_logger/Info.plist | |||
@@ -11,7 +11,7 @@ | |||
11 | <key>CFBundleIconFile</key> | 11 | <key>CFBundleIconFile</key> |
12 | <string></string> | 12 | <string></string> |
13 | <key>CFBundleIdentifier</key> | 13 | <key>CFBundleIdentifier</key> |
14 | <string>com.secondlife.indra.crashreporter</string> | 14 | <string>org.imprudenceviewer.crashreporter</string> |
15 | <key>CFBundleInfoDictionaryVersion</key> | 15 | <key>CFBundleInfoDictionaryVersion</key> |
16 | <string>6.0</string> | 16 | <string>6.0</string> |
17 | <key>CFBundlePackageType</key> | 17 | <key>CFBundlePackageType</key> |
diff --git a/linden/indra/mac_updater/Info.plist b/linden/indra/mac_updater/Info.plist index bb27fdd..1e0f8cb 100644 --- a/linden/indra/mac_updater/Info.plist +++ b/linden/indra/mac_updater/Info.plist | |||
@@ -11,7 +11,7 @@ | |||
11 | <key>CFBundleIconFile</key> | 11 | <key>CFBundleIconFile</key> |
12 | <string></string> | 12 | <string></string> |
13 | <key>CFBundleIdentifier</key> | 13 | <key>CFBundleIdentifier</key> |
14 | <string>com.secondlife.indra.autoupdater</string> | 14 | <string>org.imprudenceviewer.autoupdater</string> |
15 | <key>CFBundleInfoDictionaryVersion</key> | 15 | <key>CFBundleInfoDictionaryVersion</key> |
16 | <string>6.0</string> | 16 | <string>6.0</string> |
17 | <key>CFBundlePackageType</key> | 17 | <key>CFBundlePackageType</key> |
diff --git a/linden/indra/mac_updater/mac_updater.cpp b/linden/indra/mac_updater/mac_updater.cpp index 18cc0be..cf9de4b 100644 --- a/linden/indra/mac_updater/mac_updater.cpp +++ b/linden/indra/mac_updater/mac_updater.cpp | |||
@@ -649,7 +649,7 @@ static bool isFSRefViewerBundle(FSRef *targetRef) | |||
649 | } | 649 | } |
650 | else | 650 | else |
651 | { | 651 | { |
652 | if(CFStringCompare(targetBundleID, CFSTR("com.secondlife.indra.viewer"), 0) == kCFCompareEqualTo) | 652 | if(CFStringCompare(targetBundleID, CFSTR("org.imprudenceviewer.viewer"), 0) == kCFCompareEqualTo) |
653 | { | 653 | { |
654 | // This is the bundle we're looking for. | 654 | // This is the bundle we're looking for. |
655 | result = true; | 655 | result = true; |
diff --git a/linden/indra/newview/CMakeLists.txt b/linden/indra/newview/CMakeLists.txt index 995ef7e..1691095 100644 --- a/linden/indra/newview/CMakeLists.txt +++ b/linden/indra/newview/CMakeLists.txt | |||
@@ -87,6 +87,7 @@ set(viewer_SOURCE_FILES | |||
87 | hippoGridManager.cpp | 87 | hippoGridManager.cpp |
88 | hippoLimits.cpp | 88 | hippoLimits.cpp |
89 | hippoRestRequest.cpp | 89 | hippoRestRequest.cpp |
90 | impprefsfonts.cpp | ||
90 | jcfloater_animation_list.cpp | 91 | jcfloater_animation_list.cpp |
91 | jcfloaterareasearch.cpp | 92 | jcfloaterareasearch.cpp |
92 | lightshare.cpp | 93 | lightshare.cpp |
@@ -525,6 +526,7 @@ set(viewer_HEADER_FILES | |||
525 | hippoGridManager.h | 526 | hippoGridManager.h |
526 | hippoLimits.h | 527 | hippoLimits.h |
527 | hippoRestRequest.h | 528 | hippoRestRequest.h |
529 | impprefsfonts.h | ||
528 | jcfloater_animation_list.h | 530 | jcfloater_animation_list.h |
529 | jcfloaterareasearch.h | 531 | jcfloaterareasearch.h |
530 | lightshare.h | 532 | lightshare.h |
@@ -955,11 +957,13 @@ if (DARWIN) | |||
955 | find_library(APPKIT_LIBRARY AppKit) | 957 | find_library(APPKIT_LIBRARY AppKit) |
956 | find_library(COCOA_LIBRARY Cocoa) | 958 | find_library(COCOA_LIBRARY Cocoa) |
957 | find_library(IOKIT_LIBRARY IOKit) | 959 | find_library(IOKIT_LIBRARY IOKit) |
960 | find_library(SECURITY_LIBRARY SECURITY) | ||
958 | 961 | ||
959 | set(viewer_LIBRARIES | 962 | set(viewer_LIBRARIES |
960 | ${COCOA_LIBRARY} | 963 | ${COCOA_LIBRARY} |
961 | ${AGL_LIBRARY} | 964 | ${AGL_LIBRARY} |
962 | ${IOKIT_LIBRARY} | 965 | ${IOKIT_LIBRARY} |
966 | ${SECURITY_LIBRARY} | ||
963 | ) | 967 | ) |
964 | 968 | ||
965 | # Add resource files to the project. | 969 | # Add resource files to the project. |
diff --git a/linden/indra/newview/Info-Imprudence.plist b/linden/indra/newview/Info-Imprudence.plist index e9728f8..419cacd 100644 --- a/linden/indra/newview/Info-Imprudence.plist +++ b/linden/indra/newview/Info-Imprudence.plist | |||
@@ -9,7 +9,7 @@ | |||
9 | <key>CFBundleIconFile</key> | 9 | <key>CFBundleIconFile</key> |
10 | <string>viewer.icns</string> | 10 | <string>viewer.icns</string> |
11 | <key>CFBundleIdentifier</key> | 11 | <key>CFBundleIdentifier</key> |
12 | <string>com.secondlife.indra.viewer</string> | 12 | <string>org.imprudenceviewer.viewer</string> |
13 | <key>CFBundleInfoDictionaryVersion</key> | 13 | <key>CFBundleInfoDictionaryVersion</key> |
14 | <string>6.0</string> | 14 | <string>6.0</string> |
15 | <key>CFBundleName</key> | 15 | <key>CFBundleName</key> |
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml index 6b1c707..11220ed 100644 --- a/linden/indra/newview/app_settings/settings.xml +++ b/linden/indra/newview/app_settings/settings.xml | |||
@@ -13,7 +13,7 @@ | |||
13 | <key>Type</key> | 13 | <key>Type</key> |
14 | <string>Boolean</string> | 14 | <string>Boolean</string> |
15 | <key>Value</key> | 15 | <key>Value</key> |
16 | <integer>1</integer> | 16 | <integer>0</integer> |
17 | </map> | 17 | </map> |
18 | <key>HighlightFriendsChat</key> | 18 | <key>HighlightFriendsChat</key> |
19 | <map> | 19 | <map> |
@@ -36,9 +36,9 @@ | |||
36 | <string>Color4</string> | 36 | <string>Color4</string> |
37 | <key>Value</key> | 37 | <key>Value</key> |
38 | <array> | 38 | <array> |
39 | <real>0.699999988079</real> | 39 | <real>1.0</real> |
40 | <real>0.899999976158</real> | 40 | <real>1.0</real> |
41 | <real>0.699999988079</real> | 41 | <real>0.0</real> |
42 | <real>1</real> | 42 | <real>1</real> |
43 | </array> | 43 | </array> |
44 | </map> | 44 | </map> |
@@ -51,7 +51,7 @@ | |||
51 | <key>Type</key> | 51 | <key>Type</key> |
52 | <string>Boolean</string> | 52 | <string>Boolean</string> |
53 | <key>Value</key> | 53 | <key>Value</key> |
54 | <integer>1</integer> | 54 | <integer>0</integer> |
55 | </map> | 55 | </map> |
56 | <key>OwnNameChatColor</key> | 56 | <key>OwnNameChatColor</key> |
57 | <map> | 57 | <map> |
@@ -336,6 +336,17 @@ | |||
336 | <integer>0</integer> | 336 | <integer>0</integer> |
337 | </array> | 337 | </array> |
338 | </map> | 338 | </map> |
339 | <key>FontChoice</key> | ||
340 | <map> | ||
341 | <key>Comment</key> | ||
342 | <string>User's font choice (DejaVu, Delicious, DroidSans, or Liberation)</string> | ||
343 | <key>Persist</key> | ||
344 | <integer>1</integer> | ||
345 | <key>Type</key> | ||
346 | <string>String</string> | ||
347 | <key>Value</key> | ||
348 | <string>DroidSans</string> | ||
349 | </map> | ||
339 | <key>GoAction</key> | 350 | <key>GoAction</key> |
340 | <map> | 351 | <map> |
341 | <key>Comment</key> | 352 | <key>Comment</key> |
@@ -682,6 +693,17 @@ | |||
682 | <key>Value</key> | 693 | <key>Value</key> |
683 | <integer>0</integer> | 694 | <integer>0</integer> |
684 | </map> | 695 | </map> |
696 | <key>ResetFocusOnSelfClick</key> | ||
697 | <map> | ||
698 | <key>Comment</key> | ||
699 | <string>Setting this to TRUE resets your camera when you left-click your avatar</string> | ||
700 | <key>Persist</key> | ||
701 | <integer>1</integer> | ||
702 | <key>Type</key> | ||
703 | <string>Boolean</string> | ||
704 | <key>Value</key> | ||
705 | <integer>0</integer> | ||
706 | </map> | ||
685 | <key>RezWithLandGroup</key> | 707 | <key>RezWithLandGroup</key> |
686 | <map> | 708 | <map> |
687 | <key>Comment</key> | 709 | <key>Comment</key> |
@@ -826,6 +848,17 @@ | |||
826 | <key>Value</key> | 848 | <key>Value</key> |
827 | <integer>0</integer> | 849 | <integer>0</integer> |
828 | </map> | 850 | </map> |
851 | <key>ShowGroupNameInChatIM</key> | ||
852 | <map> | ||
853 | <key>Comment</key> | ||
854 | <string>Show the group name when receiving group IMs</string> | ||
855 | <key>Persist</key> | ||
856 | <integer>1</integer> | ||
857 | <key>Type</key> | ||
858 | <string>Boolean</string> | ||
859 | <key>Value</key> | ||
860 | <integer>1</integer> | ||
861 | </map> | ||
829 | <key>ShowMiniMapRadar</key> | 862 | <key>ShowMiniMapRadar</key> |
830 | <map> | 863 | <map> |
831 | <key>Comment</key> | 864 | <key>Comment</key> |
@@ -6212,7 +6245,7 @@ | |||
6212 | <key>Type</key> | 6245 | <key>Type</key> |
6213 | <string>String</string> | 6246 | <string>String</string> |
6214 | <key>Value</key> | 6247 | <key>Value</key> |
6215 | <string>DejaVuSansCondensed.ttf</string> | 6248 | <string>DroidSans.ttf</string> |
6216 | </map> | 6249 | </map> |
6217 | <key>FontSansSerifBundledFallback</key> | 6250 | <key>FontSansSerifBundledFallback</key> |
6218 | <map> | 6251 | <map> |
@@ -6223,7 +6256,7 @@ | |||
6223 | <key>Type</key> | 6256 | <key>Type</key> |
6224 | <string>String</string> | 6257 | <string>String</string> |
6225 | <key>Value</key> | 6258 | <key>Value</key> |
6226 | <string>DejaVuSansCondensed.ttf</string> | 6259 | <string>DroidSans.ttf</string> |
6227 | </map> | 6260 | </map> |
6228 | <key>FontSansSerifBold</key> | 6261 | <key>FontSansSerifBold</key> |
6229 | <map> | 6262 | <map> |
@@ -6234,7 +6267,7 @@ | |||
6234 | <key>Type</key> | 6267 | <key>Type</key> |
6235 | <string>String</string> | 6268 | <string>String</string> |
6236 | <key>Value</key> | 6269 | <key>Value</key> |
6237 | <string>DejaVuSansCondensed-Bold.ttf</string> | 6270 | <string>DroidSans-Bold.ttf</string> |
6238 | </map> | 6271 | </map> |
6239 | <key>FontSansSerifFallback</key> | 6272 | <key>FontSansSerifFallback</key> |
6240 | <map> | 6273 | <map> |
diff --git a/linden/indra/newview/app_settings/viewerversion.xml b/linden/indra/newview/app_settings/viewerversion.xml index 3b1a7df..f5fb533 100644 --- a/linden/indra/newview/app_settings/viewerversion.xml +++ b/linden/indra/newview/app_settings/viewerversion.xml | |||
@@ -20,6 +20,6 @@ need to be changed manually - MC | |||
20 | <viewer version_patch="0" /> | 20 | <viewer version_patch="0" /> |
21 | 21 | ||
22 | <!--string--> | 22 | <!--string--> |
23 | <viewer version_test="Experimental 2010.09.04" /> | 23 | <viewer version_test="Experimental 2010.09.11" /> |
24 | 24 | ||
25 | </viewer_version> | 25 | </viewer_version> |
diff --git a/linden/indra/newview/floaterlocalassetbrowse.cpp b/linden/indra/newview/floaterlocalassetbrowse.cpp index c63fd2d..6564528 100644 --- a/linden/indra/newview/floaterlocalassetbrowse.cpp +++ b/linden/indra/newview/floaterlocalassetbrowse.cpp | |||
@@ -120,8 +120,14 @@ LocalBitmap::LocalBitmap(std::string fullpath) | |||
120 | 120 | ||
121 | /* getting file's last modified */ | 121 | /* getting file's last modified */ |
122 | 122 | ||
123 | llstat temp_stat; | 123 | #ifdef LL_WINDOWS |
124 | LLFile::stat(this->filename, &temp_stat); | 124 | struct _stat temp_stat; |
125 | _stat(this->filename.c_str(), &temp_stat); | ||
126 | #else | ||
127 | struct stat temp_stat; | ||
128 | stat(this->filename.c_str(), &temp_stat); | ||
129 | #endif | ||
130 | |||
125 | std::time_t time = temp_stat.st_mtime; | 131 | std::time_t time = temp_stat.st_mtime; |
126 | 132 | ||
127 | this->last_modified = asctime( localtime(&time) ); | 133 | this->last_modified = asctime( localtime(&time) ); |
@@ -160,8 +166,14 @@ void LocalBitmap::updateSelf() | |||
160 | if ( !gDirUtilp->fileExists(this->filename) ) { this->linkstatus = LINK_BROKEN; return; } | 166 | if ( !gDirUtilp->fileExists(this->filename) ) { this->linkstatus = LINK_BROKEN; return; } |
161 | 167 | ||
162 | /* exists, let's check if it's lastmod has changed */ | 168 | /* exists, let's check if it's lastmod has changed */ |
163 | llstat temp_stat; | 169 | |
164 | LLFile::stat(this->filename, &temp_stat); | 170 | #ifdef LL_WINDOWS |
171 | struct _stat temp_stat; | ||
172 | _stat(this->filename.c_str(), &temp_stat); | ||
173 | #else | ||
174 | struct stat temp_stat; | ||
175 | stat(this->filename.c_str(), &temp_stat); | ||
176 | #endif | ||
165 | std::time_t temp_time = temp_stat.st_mtime; | 177 | std::time_t temp_time = temp_stat.st_mtime; |
166 | 178 | ||
167 | LLSD new_last_modified = asctime( localtime(&temp_time) ); | 179 | LLSD new_last_modified = asctime( localtime(&temp_time) ); |
diff --git a/linden/indra/newview/impprefsfonts.cpp b/linden/indra/newview/impprefsfonts.cpp new file mode 100644 index 0000000..3ce71eb --- /dev/null +++ b/linden/indra/newview/impprefsfonts.cpp | |||
@@ -0,0 +1,86 @@ | |||
1 | /** | ||
2 | * @file impprefsfonts.cpp | ||
3 | * @brief Font preferences panel | ||
4 | * | ||
5 | * Copyright (c) 2010, Jacek Antonelli | ||
6 | * | ||
7 | * The source code in this file ("Source Code") is provided to you | ||
8 | * under the terms of the GNU General Public License, version 2.0 | ||
9 | * ("GPL"). Terms of the GPL can be found in doc/GPL-license.txt in | ||
10 | * this distribution, or online at | ||
11 | * http://secondlifegrid.net/programs/open_source/licensing/gplv2 | ||
12 | * | ||
13 | * There are special exceptions to the terms and conditions of the GPL as | ||
14 | * it is applied to this Source Code. View the full text of the exception | ||
15 | * in the file doc/FLOSS-exception.txt in this software distribution, or | ||
16 | * online at | ||
17 | * http://secondlifegrid.net/programs/open_source/licensing/flossexception | ||
18 | * | ||
19 | * By copying, modifying or distributing this software, you acknowledge | ||
20 | * that you have read and understood your obligations described above, | ||
21 | * and agree to abide by those obligations. | ||
22 | * | ||
23 | * ALL SOURCE CODE IS PROVIDED "AS IS." THE AUTHOR MAKES NO | ||
24 | * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, | ||
25 | * COMPLETENESS OR PERFORMANCE. | ||
26 | */ | ||
27 | |||
28 | |||
29 | #include "llviewerprecompiledheaders.h" | ||
30 | #include "impprefsfonts.h" | ||
31 | |||
32 | #include "llradiogroup.h" | ||
33 | #include "lluictrlfactory.h" | ||
34 | |||
35 | #include "llviewercontrol.h" | ||
36 | #include "llviewerwindow.h" | ||
37 | |||
38 | |||
39 | ImpPrefsFonts::ImpPrefsFonts() | ||
40 | { | ||
41 | LLUICtrlFactory::getInstance()-> | ||
42 | buildPanel(this, "panel_preferences_fonts.xml"); | ||
43 | } | ||
44 | |||
45 | ImpPrefsFonts::~ImpPrefsFonts() | ||
46 | { | ||
47 | } | ||
48 | |||
49 | |||
50 | BOOL ImpPrefsFonts::postBuild() | ||
51 | { | ||
52 | refresh(); | ||
53 | return true; | ||
54 | } | ||
55 | |||
56 | |||
57 | void ImpPrefsFonts::refresh() | ||
58 | { | ||
59 | LLRadioGroup* fonts = getChild<LLRadioGroup>("fonts"); | ||
60 | if (fonts) | ||
61 | { | ||
62 | fonts->setValue( gSavedSettings.getString("FontChoice") ); | ||
63 | } | ||
64 | } | ||
65 | |||
66 | void ImpPrefsFonts::apply() | ||
67 | { | ||
68 | LLRadioGroup* fonts = getChild<LLRadioGroup>("fonts"); | ||
69 | |||
70 | if (fonts) | ||
71 | { | ||
72 | std::string font_choice = fonts->getValue().asString(); | ||
73 | |||
74 | if (font_choice != gSavedSettings.getString("FontChoice") && | ||
75 | !font_choice.empty()) | ||
76 | { | ||
77 | gSavedSettings.setString("FontChoice", font_choice); | ||
78 | LLNotifications::instance().add("ChangeFont"); | ||
79 | refresh(); | ||
80 | } | ||
81 | } | ||
82 | } | ||
83 | |||
84 | void ImpPrefsFonts::cancel() | ||
85 | { | ||
86 | } | ||
diff --git a/linden/indra/newview/impprefsfonts.h b/linden/indra/newview/impprefsfonts.h new file mode 100644 index 0000000..12aa0bb --- /dev/null +++ b/linden/indra/newview/impprefsfonts.h | |||
@@ -0,0 +1,45 @@ | |||
1 | /** | ||
2 | * @file impprefsfonts.h | ||
3 | * @brief Font preferences panel | ||
4 | * | ||
5 | * Copyright (c) 2010, Jacek Antonelli | ||
6 | * | ||
7 | * The source code in this file ("Source Code") is provided to you | ||
8 | * under the terms of the GNU General Public License, version 2.0 | ||
9 | * ("GPL"). Terms of the GPL can be found in doc/GPL-license.txt in | ||
10 | * this distribution, or online at | ||
11 | * http://secondlifegrid.net/programs/open_source/licensing/gplv2 | ||
12 | * | ||
13 | * There are special exceptions to the terms and conditions of the GPL as | ||
14 | * it is applied to this Source Code. View the full text of the exception | ||
15 | * in the file doc/FLOSS-exception.txt in this software distribution, or | ||
16 | * online at | ||
17 | * http://secondlifegrid.net/programs/open_source/licensing/flossexception | ||
18 | * | ||
19 | * By copying, modifying or distributing this software, you acknowledge | ||
20 | * that you have read and understood your obligations described above, | ||
21 | * and agree to abide by those obligations. | ||
22 | * | ||
23 | * ALL SOURCE CODE IS PROVIDED "AS IS." THE AUTHOR MAKES NO | ||
24 | * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, | ||
25 | * COMPLETENESS OR PERFORMANCE. | ||
26 | */ | ||
27 | |||
28 | #ifndef IMP_PREFSFONTS_H | ||
29 | #define IMP_PREFSFONTS_H | ||
30 | |||
31 | #include "llpanel.h" | ||
32 | |||
33 | class ImpPrefsFonts : public LLPanel | ||
34 | { | ||
35 | public: | ||
36 | ImpPrefsFonts(); | ||
37 | virtual ~ImpPrefsFonts(); | ||
38 | |||
39 | virtual BOOL postBuild(); | ||
40 | void refresh(); | ||
41 | void apply(); | ||
42 | void cancel(); | ||
43 | }; | ||
44 | |||
45 | #endif // IMP_PREFSFONTS_H | ||
diff --git a/linden/indra/newview/llagent.cpp b/linden/indra/newview/llagent.cpp index 03d5c65..51b6c53 100644 --- a/linden/indra/newview/llagent.cpp +++ b/linden/indra/newview/llagent.cpp | |||
@@ -7209,6 +7209,8 @@ void LLAgent::makeNewOutfit( | |||
7209 | } | 7209 | } |
7210 | 7210 | ||
7211 | LLViewerInventoryItem* item = gInventory.getItem(mWearableEntry[index].mItemID); | 7211 | LLViewerInventoryItem* item = gInventory.getItem(mWearableEntry[index].mItemID); |
7212 | if (!item) continue; //e.g. Ruth hair on OpenSim TODO: disable checkbox | ||
7213 | |||
7212 | S32 todo = addWearableToAgentInventoryCallback::CALL_NONE; | 7214 | S32 todo = addWearableToAgentInventoryCallback::CALL_NONE; |
7213 | if (!found_first_item) | 7215 | if (!found_first_item) |
7214 | { | 7216 | { |
diff --git a/linden/indra/newview/llappviewerlinux.cpp b/linden/indra/newview/llappviewerlinux.cpp index bb6cf9f..bfad899 100644 --- a/linden/indra/newview/llappviewerlinux.cpp +++ b/linden/indra/newview/llappviewerlinux.cpp | |||
@@ -270,7 +270,7 @@ static inline BOOL do_elfio_glibc_backtrace() | |||
270 | uintptr_t(stackarray[btpos]) < value+ssize) | 270 | uintptr_t(stackarray[btpos]) < value+ssize) |
271 | { | 271 | { |
272 | // symbol is inside viewer | 272 | // symbol is inside viewer |
273 | fprintf(StraceFile, "%-32s\t", "com.secondlife.indra.viewer"); | 273 | fprintf(StraceFile, "%-32s\t", "org.imprudenceviewer.viewer"); |
274 | fprintf(StraceFile, "%p ", stackarray[btpos]); | 274 | fprintf(StraceFile, "%p ", stackarray[btpos]); |
275 | 275 | ||
276 | char *demangled_str = NULL; | 276 | char *demangled_str = NULL; |
diff --git a/linden/indra/newview/llfloaterpreference.cpp b/linden/indra/newview/llfloaterpreference.cpp index 744c179..09336cb 100644 --- a/linden/indra/newview/llfloaterpreference.cpp +++ b/linden/indra/newview/llfloaterpreference.cpp | |||
@@ -48,6 +48,7 @@ | |||
48 | #include "llspinctrl.h" | 48 | #include "llspinctrl.h" |
49 | #include "message.h" | 49 | #include "message.h" |
50 | 50 | ||
51 | #include "impprefsfonts.h" | ||
51 | #include "llcommandhandler.h" | 52 | #include "llcommandhandler.h" |
52 | #include "llfloaterpreference.h" | 53 | #include "llfloaterpreference.h" |
53 | #include "llpanelnetwork.h" | 54 | #include "llpanelnetwork.h" |
@@ -133,7 +134,8 @@ LLPreferenceCore::LLPreferenceCore(LLTabContainer* tab_container, LLButton * def | |||
133 | mMsgPanel(NULL), | 134 | mMsgPanel(NULL), |
134 | mSkinsPanel(NULL), | 135 | mSkinsPanel(NULL), |
135 | mLCDPanel(NULL), | 136 | mLCDPanel(NULL), |
136 | mPrefsAdvanced(NULL) | 137 | mPrefsAdvanced(NULL), |
138 | mPrefsFonts(NULL) | ||
137 | { | 139 | { |
138 | mGeneralPanel = new LLPanelGeneral(); | 140 | mGeneralPanel = new LLPanelGeneral(); |
139 | mTabContainer->addTabPanel(mGeneralPanel, mGeneralPanel->getLabel(), FALSE, onTabChanged, mTabContainer); | 141 | mTabContainer->addTabPanel(mGeneralPanel, mGeneralPanel->getLabel(), FALSE, onTabChanged, mTabContainer); |
@@ -197,6 +199,10 @@ LLPreferenceCore::LLPreferenceCore(LLTabContainer* tab_container, LLButton * def | |||
197 | mTabContainer->addTabPanel(mPrefsAdvanced, mPrefsAdvanced->getLabel(), FALSE, onTabChanged, mTabContainer); | 199 | mTabContainer->addTabPanel(mPrefsAdvanced, mPrefsAdvanced->getLabel(), FALSE, onTabChanged, mTabContainer); |
198 | mPrefsAdvanced->setDefaultBtn(default_btn); | 200 | mPrefsAdvanced->setDefaultBtn(default_btn); |
199 | 201 | ||
202 | mPrefsFonts = new ImpPrefsFonts(); | ||
203 | mTabContainer->addTabPanel(mPrefsFonts, mPrefsFonts->getLabel(), FALSE, onTabChanged, mTabContainer); | ||
204 | mPrefsFonts->setDefaultBtn(default_btn); | ||
205 | |||
200 | if (!mTabContainer->selectTab(gSavedSettings.getS32("LastPrefTab"))) | 206 | if (!mTabContainer->selectTab(gSavedSettings.getS32("LastPrefTab"))) |
201 | { | 207 | { |
202 | mTabContainer->selectFirstTab(); | 208 | mTabContainer->selectFirstTab(); |
@@ -261,6 +267,11 @@ LLPreferenceCore::~LLPreferenceCore() | |||
261 | delete mPrefsAdvanced; | 267 | delete mPrefsAdvanced; |
262 | mPrefsAdvanced = NULL; | 268 | mPrefsAdvanced = NULL; |
263 | } | 269 | } |
270 | if (mPrefsFonts) | ||
271 | { | ||
272 | delete mPrefsFonts; | ||
273 | mPrefsFonts = NULL; | ||
274 | } | ||
264 | 275 | ||
265 | } | 276 | } |
266 | 277 | ||
@@ -278,6 +289,7 @@ void LLPreferenceCore::apply() | |||
278 | mMsgPanel->apply(); | 289 | mMsgPanel->apply(); |
279 | mSkinsPanel->apply(); | 290 | mSkinsPanel->apply(); |
280 | mPrefsAdvanced->apply(); | 291 | mPrefsAdvanced->apply(); |
292 | mPrefsFonts->apply(); | ||
281 | 293 | ||
282 | // hardware menu apply | 294 | // hardware menu apply |
283 | LLFloaterHardwareSettings::instance()->apply(); | 295 | LLFloaterHardwareSettings::instance()->apply(); |
@@ -307,6 +319,7 @@ void LLPreferenceCore::cancel() | |||
307 | mMsgPanel->cancel(); | 319 | mMsgPanel->cancel(); |
308 | mSkinsPanel->cancel(); | 320 | mSkinsPanel->cancel(); |
309 | mPrefsAdvanced->cancel(); | 321 | mPrefsAdvanced->cancel(); |
322 | mPrefsFonts->cancel(); | ||
310 | 323 | ||
311 | // cancel hardware menu | 324 | // cancel hardware menu |
312 | LLFloaterHardwareSettings::instance()->cancel(); | 325 | LLFloaterHardwareSettings::instance()->cancel(); |
diff --git a/linden/indra/newview/llfloaterpreference.h b/linden/indra/newview/llfloaterpreference.h index 1878280..e98c45c 100644 --- a/linden/indra/newview/llfloaterpreference.h +++ b/linden/indra/newview/llfloaterpreference.h | |||
@@ -56,6 +56,7 @@ class LLPrefsIM; | |||
56 | class LLPanelMsgs; | 56 | class LLPanelMsgs; |
57 | class LLPanelSkins; | 57 | class LLPanelSkins; |
58 | class LLPrefsAdvanced; | 58 | class LLPrefsAdvanced; |
59 | class ImpPrefsFonts; | ||
59 | class LLScrollListCtrl; | 60 | class LLScrollListCtrl; |
60 | 61 | ||
61 | class LLPreferenceCore | 62 | class LLPreferenceCore |
@@ -93,6 +94,7 @@ private: | |||
93 | LLPanelMsgs *mMsgPanel; | 94 | LLPanelMsgs *mMsgPanel; |
94 | LLPanelLCD *mLCDPanel; | 95 | LLPanelLCD *mLCDPanel; |
95 | LLPrefsAdvanced *mPrefsAdvanced; | 96 | LLPrefsAdvanced *mPrefsAdvanced; |
97 | ImpPrefsFonts* mPrefsFonts; | ||
96 | }; | 98 | }; |
97 | 99 | ||
98 | // Floater to control preferences (display, audio, bandwidth, general. | 100 | // Floater to control preferences (display, audio, bandwidth, general. |
diff --git a/linden/indra/newview/llpanelplace.cpp b/linden/indra/newview/llpanelplace.cpp index d7939b9..eb3d17d 100644 --- a/linden/indra/newview/llpanelplace.cpp +++ b/linden/indra/newview/llpanelplace.cpp | |||
@@ -383,14 +383,14 @@ void LLPanelPlace::displayParcelInfo(const LLVector3& pos_region, | |||
383 | std::string url = gAgent.getRegion()->getCapability("RemoteParcelRequest"); | 383 | std::string url = gAgent.getRegion()->getCapability("RemoteParcelRequest"); |
384 | if (!url.empty()) | 384 | if (!url.empty()) |
385 | { | 385 | { |
386 | body["location"] = ll_sd_from_vector3(pos_region); | 386 | body["location"] = ll_sd_from_vector3(mPosRegion); |
387 | if (!region_id.isNull()) | 387 | if (!region_id.isNull()) |
388 | { | 388 | { |
389 | body["region_id"] = region_id; | 389 | body["region_id"] = region_id; |
390 | } | 390 | } |
391 | if (!pos_global.isExactlyZero()) | 391 | if (!mPosGlobal.isExactlyZero()) |
392 | { | 392 | { |
393 | U64 region_handle = to_region_handle(pos_global); | 393 | U64 region_handle = to_region_handle(mPosGlobal); |
394 | body["region_handle"] = ll_sd_from_U64(region_handle); | 394 | body["region_handle"] = ll_sd_from_U64(region_handle); |
395 | } | 395 | } |
396 | LLHTTPClient::post(url, body, new LLRemoteParcelRequestResponder(this->getHandle())); | 396 | LLHTTPClient::post(url, body, new LLRemoteParcelRequestResponder(this->getHandle())); |
diff --git a/linden/indra/newview/llpanelskins.cpp b/linden/indra/newview/llpanelskins.cpp index 26de356..831adc8 100644 --- a/linden/indra/newview/llpanelskins.cpp +++ b/linden/indra/newview/llpanelskins.cpp | |||
@@ -60,6 +60,8 @@ BOOL LLPanelSkins::postBuild() | |||
60 | 60 | ||
61 | getChild<LLButton>("classic_preview")->setClickedCallback(onClickClassic, this); | 61 | getChild<LLButton>("classic_preview")->setClickedCallback(onClickClassic, this); |
62 | getChild<LLButton>("silver_preview")->setClickedCallback(onClickSilver, this); | 62 | getChild<LLButton>("silver_preview")->setClickedCallback(onClickSilver, this); |
63 | getChild<LLButton>("dark_preview")->setClickedCallback(onClickDark, this); | ||
64 | getChild<LLButton>("gemini_preview")->setClickedCallback(onClickGemini, this); | ||
63 | 65 | ||
64 | refresh(); | 66 | refresh(); |
65 | return TRUE; | 67 | return TRUE; |
@@ -108,3 +110,19 @@ void LLPanelSkins::onClickSilver(void* data) | |||
108 | gSavedSettings.setString("SkinCurrent", "silver"); | 110 | gSavedSettings.setString("SkinCurrent", "silver"); |
109 | self->getChild<LLRadioGroup>("skin_selection")->setValue("silver"); | 111 | self->getChild<LLRadioGroup>("skin_selection")->setValue("silver"); |
110 | } | 112 | } |
113 | |||
114 | //static | ||
115 | void LLPanelSkins::onClickDark(void* data) | ||
116 | { | ||
117 | LLPanelSkins* self = (LLPanelSkins*)data; | ||
118 | gSavedSettings.setString("SkinCurrent", "dark"); | ||
119 | self->getChild<LLRadioGroup>("skin_selection")->setValue("dark"); | ||
120 | } | ||
121 | |||
122 | //static | ||
123 | void LLPanelSkins::onClickGemini(void* data) | ||
124 | { | ||
125 | LLPanelSkins* self = (LLPanelSkins*)data; | ||
126 | gSavedSettings.setString("SkinCurrent", "gemini"); | ||
127 | self->getChild<LLRadioGroup>("skin_selection")->setValue("gemini"); | ||
128 | } | ||
diff --git a/linden/indra/newview/llpanelskins.h b/linden/indra/newview/llpanelskins.h index 8fd282f..8dbd556 100644 --- a/linden/indra/newview/llpanelskins.h +++ b/linden/indra/newview/llpanelskins.h | |||
@@ -51,6 +51,8 @@ private: | |||
51 | static void onSelectSkin(LLUICtrl* ctrl, void* data); | 51 | static void onSelectSkin(LLUICtrl* ctrl, void* data); |
52 | static void onClickClassic(void* data); | 52 | static void onClickClassic(void* data); |
53 | static void onClickSilver(void* data); | 53 | static void onClickSilver(void* data); |
54 | static void onClickDark(void* data); | ||
55 | static void onClickGemini(void* data); | ||
54 | 56 | ||
55 | private: | 57 | private: |
56 | std::string mSkin; | 58 | std::string mSkin; |
diff --git a/linden/indra/newview/llpreviewgesture.cpp b/linden/indra/newview/llpreviewgesture.cpp index ff3b943..ee1b634 100644 --- a/linden/indra/newview/llpreviewgesture.cpp +++ b/linden/indra/newview/llpreviewgesture.cpp | |||
@@ -564,14 +564,34 @@ void LLPreviewGesture::addModifiers() | |||
564 | combo->setCurrentByIndex(0); | 564 | combo->setCurrentByIndex(0); |
565 | } | 565 | } |
566 | 566 | ||
567 | std::string magic_key(KEY key) | ||
568 | { | ||
569 | char buffer[2]; /* Flawfinder: ignore */ | ||
570 | buffer[0] = key; | ||
571 | buffer[1] = '\0'; | ||
572 | std::string res = std::string(buffer); | ||
573 | std::string lolk = LLKeyboard::stringFromKey(key); | ||
574 | if(res == lolk) | ||
575 | { | ||
576 | if( key >= ' ' && key <= '~' ) | ||
577 | { | ||
578 | return lolk; | ||
579 | }else | ||
580 | { | ||
581 | return ""; | ||
582 | } | ||
583 | } | ||
584 | return lolk; | ||
585 | } | ||
567 | void LLPreviewGesture::addKeys() | 586 | void LLPreviewGesture::addKeys() |
568 | { | 587 | { |
569 | LLComboBox* combo = mKeyCombo; | 588 | LLComboBox* combo = mKeyCombo; |
570 | 589 | ||
571 | combo->add( NONE_LABEL ); | 590 | combo->add( NONE_LABEL ); |
572 | for (KEY key = KEY_F2; key <= KEY_F12; key++) | 591 | for (KEY key = ' '; key < KEY_NONE; key++) |
573 | { | 592 | { |
574 | combo->add( LLKeyboard::stringFromKey(key), ADD_BOTTOM ); | 593 | std::string keystr = magic_key(key); |
594 | if(keystr != "")combo->add( keystr, ADD_BOTTOM ); | ||
575 | } | 595 | } |
576 | combo->setCurrentByIndex(0); | 596 | combo->setCurrentByIndex(0); |
577 | } | 597 | } |
@@ -1238,7 +1258,7 @@ void LLPreviewGesture::onSaveComplete(const LLUUID& asset_uuid, void* user_data, | |||
1238 | else | 1258 | else |
1239 | { | 1259 | { |
1240 | llwarns << "Inventory item for gesture " << info->mItemUUID | 1260 | llwarns << "Inventory item for gesture " << info->mItemUUID |
1241 | << " is no longer in agent inventory." << llendl | 1261 | << " is no longer in agent inventory." << llendl; |
1242 | } | 1262 | } |
1243 | } | 1263 | } |
1244 | else | 1264 | else |
diff --git a/linden/indra/newview/llstartup.cpp b/linden/indra/newview/llstartup.cpp index 6622740..606262f 100644 --- a/linden/indra/newview/llstartup.cpp +++ b/linden/indra/newview/llstartup.cpp | |||
@@ -2935,17 +2935,29 @@ std::string LLStartUp::loadPasswordFromDisk() | |||
2935 | return hashed_password; | 2935 | return hashed_password; |
2936 | } | 2936 | } |
2937 | 2937 | ||
2938 | // UUID is 16 bytes, written into ASCII is 32 characters | ||
2939 | // without trailing \0 | ||
2940 | const S32 HASHED_LENGTH = 32; | ||
2941 | |||
2938 | std::string filepath = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, | 2942 | std::string filepath = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, |
2939 | "password.dat"); | 2943 | "password.dat"); |
2940 | LLFILE* fp = LLFile::fopen(filepath, "rb"); /* Flawfinder: ignore */ | 2944 | LLFILE* fp = LLFile::fopen(filepath, "rb"); /* Flawfinder: ignore */ |
2941 | if (!fp) | 2945 | if (!fp) |
2942 | { | 2946 | { |
2947 | #if LL_DARWIN | ||
2948 | UInt32 passwordLength; | ||
2949 | char *passwordData; | ||
2950 | OSStatus stat = SecKeychainFindGenericPassword(NULL, 10, "Imprudence", 0, NULL, &passwordLength, (void**)&passwordData, NULL); | ||
2951 | if (stat == noErr) | ||
2952 | { | ||
2953 | if (passwordLength == HASHED_LENGTH) | ||
2954 | hashed_password.assign(passwordData, HASHED_LENGTH); | ||
2955 | SecKeychainItemFreeContent(NULL, passwordData); | ||
2956 | } | ||
2957 | #endif | ||
2943 | return hashed_password; | 2958 | return hashed_password; |
2944 | } | 2959 | } |
2945 | 2960 | ||
2946 | // UUID is 16 bytes, written into ASCII is 32 characters | ||
2947 | // without trailing \0 | ||
2948 | const S32 HASHED_LENGTH = 32; | ||
2949 | U8 buffer[HASHED_LENGTH+1]; | 2961 | U8 buffer[HASHED_LENGTH+1]; |
2950 | 2962 | ||
2951 | if (1 != fread(buffer, HASHED_LENGTH, 1, fp)) | 2963 | if (1 != fread(buffer, HASHED_LENGTH, 1, fp)) |
@@ -2969,6 +2981,10 @@ std::string LLStartUp::loadPasswordFromDisk() | |||
2969 | { | 2981 | { |
2970 | hashed_password.assign((char*)buffer); | 2982 | hashed_password.assign((char*)buffer); |
2971 | } | 2983 | } |
2984 | #if LL_DARWIN | ||
2985 | // we're migrating to the keychain | ||
2986 | LLFile::remove(filepath); | ||
2987 | #endif | ||
2972 | 2988 | ||
2973 | return hashed_password; | 2989 | return hashed_password; |
2974 | } | 2990 | } |
@@ -2977,6 +2993,19 @@ std::string LLStartUp::loadPasswordFromDisk() | |||
2977 | // static | 2993 | // static |
2978 | void LLStartUp::savePasswordToDisk(const std::string& hashed_password) | 2994 | void LLStartUp::savePasswordToDisk(const std::string& hashed_password) |
2979 | { | 2995 | { |
2996 | #if LL_DARWIN | ||
2997 | SecKeychainItemRef keychainItem; | ||
2998 | OSStatus status = SecKeychainFindGenericPassword(NULL, 10, "Imprudence", 0, NULL, NULL, NULL, &keychainItem); | ||
2999 | if (status == noErr) | ||
3000 | { | ||
3001 | SecKeychainItemModifyAttributesAndData(keychainItem, NULL, hashed_password.length(), hashed_password.c_str()); | ||
3002 | CFRelease(keychainItem); | ||
3003 | } | ||
3004 | else | ||
3005 | { | ||
3006 | SecKeychainAddGenericPassword(NULL, 10, "Imprudence", 0, NULL, hashed_password.length(), hashed_password.c_str(), NULL); | ||
3007 | } | ||
3008 | #else | ||
2980 | std::string filepath = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, | 3009 | std::string filepath = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, |
2981 | "password.dat"); | 3010 | "password.dat"); |
2982 | LLFILE* fp = LLFile::fopen(filepath, "wb"); /* Flawfinder: ignore */ | 3011 | LLFILE* fp = LLFile::fopen(filepath, "wb"); /* Flawfinder: ignore */ |
@@ -3000,12 +3029,22 @@ void LLStartUp::savePasswordToDisk(const std::string& hashed_password) | |||
3000 | } | 3029 | } |
3001 | 3030 | ||
3002 | fclose(fp); | 3031 | fclose(fp); |
3032 | #endif | ||
3003 | } | 3033 | } |
3004 | 3034 | ||
3005 | 3035 | ||
3006 | // static | 3036 | // static |
3007 | void LLStartUp::deletePasswordFromDisk() | 3037 | void LLStartUp::deletePasswordFromDisk() |
3008 | { | 3038 | { |
3039 | #if LL_DARWIN | ||
3040 | SecKeychainItemRef keychainItem; | ||
3041 | OSStatus status = SecKeychainFindGenericPassword(NULL, 10, "Imprudence", 0, NULL, NULL, NULL, &keychainItem); | ||
3042 | if (status == noErr) | ||
3043 | { | ||
3044 | SecKeychainItemDelete(keychainItem); | ||
3045 | CFRelease(keychainItem); | ||
3046 | } | ||
3047 | #endif | ||
3009 | std::string filepath = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, | 3048 | std::string filepath = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, |
3010 | "password.dat"); | 3049 | "password.dat"); |
3011 | LLFile::remove(filepath); | 3050 | LLFile::remove(filepath); |
diff --git a/linden/indra/newview/lltoolpie.cpp b/linden/indra/newview/lltoolpie.cpp index 262c349..2887515 100644 --- a/linden/indra/newview/lltoolpie.cpp +++ b/linden/indra/newview/lltoolpie.cpp | |||
@@ -292,7 +292,10 @@ BOOL LLToolPie::pickAndShowMenu(BOOL always_show) | |||
292 | gViewerWindow->hideCursor(); | 292 | gViewerWindow->hideCursor(); |
293 | LLToolCamera::getInstance()->setMouseCapture(TRUE); | 293 | LLToolCamera::getInstance()->setMouseCapture(TRUE); |
294 | LLToolCamera::getInstance()->pickCallback(mPick); | 294 | LLToolCamera::getInstance()->pickCallback(mPick); |
295 | gAgent.setFocusOnAvatar(TRUE, TRUE); | 295 | if (gSavedSettings.getBOOL("ResetFocusOnSelfClick")) |
296 | { | ||
297 | gAgent.setFocusOnAvatar(TRUE, TRUE); | ||
298 | } | ||
296 | 299 | ||
297 | return TRUE; | 300 | return TRUE; |
298 | } | 301 | } |
diff --git a/linden/indra/newview/llviewermessage.cpp b/linden/indra/newview/llviewermessage.cpp index 56aed12..bfd1045 100755 --- a/linden/indra/newview/llviewermessage.cpp +++ b/linden/indra/newview/llviewermessage.cpp | |||
@@ -2313,7 +2313,20 @@ void process_improved_im(LLMessageSystem *msg, void **user_data) | |||
2313 | position, | 2313 | position, |
2314 | true); | 2314 | true); |
2315 | 2315 | ||
2316 | chat.mText = std::string("IM: ") + name + separator_string + saved + message.substr(message_offset); | 2316 | std::string group_name; |
2317 | if (gAgent.isInGroup(session_id) && gSavedSettings.getBOOL("ShowGroupNameInChatIM")) | ||
2318 | { | ||
2319 | if (!(gCacheName->getGroupName(from_id, group_name))) | ||
2320 | { | ||
2321 | group_name = std::string((char*)binary_bucket); | ||
2322 | } | ||
2323 | chat.mText = std::string("IM [") + group_name + std::string("] ") + name | ||
2324 | + separator_string + saved + message.substr(message_offset); | ||
2325 | } | ||
2326 | else | ||
2327 | { | ||
2328 | chat.mText = std::string("IM: ") + name + separator_string + saved + message.substr(message_offset); | ||
2329 | } | ||
2317 | LLFloaterChat::addChat(chat, TRUE, is_this_agent); | 2330 | LLFloaterChat::addChat(chat, TRUE, is_this_agent); |
2318 | } | 2331 | } |
2319 | break; | 2332 | break; |
diff --git a/linden/indra/newview/llvoavatar.cpp b/linden/indra/newview/llvoavatar.cpp index 513d43c..c8b26be 100644 --- a/linden/indra/newview/llvoavatar.cpp +++ b/linden/indra/newview/llvoavatar.cpp | |||
@@ -8401,7 +8401,7 @@ LLBBox LLVOAvatar::getHUDBBox() const | |||
8401 | { | 8401 | { |
8402 | attachment_map_t::const_iterator curiter = iter++; | 8402 | attachment_map_t::const_iterator curiter = iter++; |
8403 | LLViewerJointAttachment* attachment = curiter->second; | 8403 | LLViewerJointAttachment* attachment = curiter->second; |
8404 | if (attachment->getIsHUDAttachment() && attachment->getObject()) | 8404 | if (attachment && attachment->getIsHUDAttachment() && attachment->getObject()) |
8405 | { | 8405 | { |
8406 | LLViewerObject* hud_object = attachment->getObject(); | 8406 | LLViewerObject* hud_object = attachment->getObject(); |
8407 | 8407 | ||
diff --git a/linden/indra/newview/skins/default/xui/en-us/fonts.xml b/linden/indra/newview/skins/default/xui/en-us/fonts.xml index 95070ed..15a8254 100644 --- a/linden/indra/newview/skins/default/xui/en-us/fonts.xml +++ b/linden/indra/newview/skins/default/xui/en-us/fonts.xml | |||
@@ -18,44 +18,95 @@ | |||
18 | </os> | 18 | </os> |
19 | </font> | 19 | </font> |
20 | 20 | ||
21 | <font name="SansSerif" comment="Name of san-serif font (Truetype file name)"> | ||
22 | <file>DejaVuSansCondensed.ttf</file> | ||
23 | </font> | ||
24 | |||
25 | <font name="SansSerifBold" | ||
26 | comment="Name of bold sans-serif font" | ||
27 | font_style="Bold"> | ||
28 | <file>DejaVuSansCondensed-Bold.ttf</file> | ||
29 | </font> | ||
30 | 21 | ||
31 | <font name="Monospace" | 22 | <font name="Monospace" |
32 | comment="Name of monospace font"> | 23 | comment="Name of monospace font"> |
33 | <file>VeraMono.ttf</file> | 24 | <file>VeraMono.ttf</file> |
34 | </font> | 25 | </font> |
35 | 26 | ||
27 | |||
36 | <font name="DejaVu" | 28 | <font name="DejaVu" |
37 | comment="Name of DejaVu font"> | 29 | comment="Name of DejaVu font" |
30 | size_mult="1.00"> | ||
38 | <file>DejaVuSansCondensed.ttf</file> | 31 | <file>DejaVuSansCondensed.ttf</file> |
39 | </font> | 32 | </font> |
40 | 33 | ||
41 | <font name="DejaVu" | 34 | <font name="DejaVu" |
42 | comment="Name of DejaVu font (bold)" | 35 | comment="Name of DejaVu font (bold)" |
43 | font_style="BOLD"> | 36 | size_mult="1.00" |
37 | font_style="BOLD"> | ||
44 | <file>DejaVuSansCondensed-Bold.ttf</file> | 38 | <file>DejaVuSansCondensed-Bold.ttf</file> |
45 | </font> | 39 | </font> |
46 | 40 | ||
47 | <font name="DejaVu" | 41 | <font name="DejaVu" |
48 | comment="Name of DejaVu font (italic)" | 42 | comment="Name of DejaVu font (italic)" |
49 | font_style="ITALIC"> | 43 | size_mult="1.00" |
44 | font_style="ITALIC"> | ||
50 | <file>DejaVuSansCondensed-Oblique.ttf</file> | 45 | <file>DejaVuSansCondensed-Oblique.ttf</file> |
51 | </font> | 46 | </font> |
52 | 47 | ||
53 | <font name="DejaVu" | 48 | <font name="DejaVu" |
54 | comment="Name of DejaVu font (bold italic)" | 49 | comment="Name of DejaVu font (bold italic)" |
55 | font_style="BOLD|ITALIC"> | 50 | size_mult="1.00" |
51 | font_style="BOLD|ITALIC"> | ||
56 | <file>DejaVuSansCondensed-BoldOblique.ttf</file> | 52 | <file>DejaVuSansCondensed-BoldOblique.ttf</file> |
57 | </font> | 53 | </font> |
58 | 54 | ||
55 | |||
56 | <font name="Delicious" | ||
57 | comment="Name of Delicious font" | ||
58 | size_mult="1.1"> | ||
59 | <file>Delicious-Roman.otf</file> | ||
60 | </font> | ||
61 | |||
62 | <font name="Delicious" | ||
63 | comment="Name of Delicious font (bold)" | ||
64 | size_mult="1.1" | ||
65 | font_style="BOLD"> | ||
66 | <file>Delicious-Bold.otf</file> | ||
67 | </font> | ||
68 | |||
69 | <font name="Delicious" | ||
70 | comment="Name of Delicious font (italic)" | ||
71 | size_mult="1.1" | ||
72 | font_style="ITALIC"> | ||
73 | <file>Delicious-Italic.otf</file> | ||
74 | </font> | ||
75 | |||
76 | <font name="Delicious" | ||
77 | comment="Name of Delicious font (bold italic)" | ||
78 | size_mult="1.1" | ||
79 | font_style="BOLD|ITALIC"> | ||
80 | <file>Delicious-BoldItalic.otf</file> | ||
81 | </font> | ||
82 | |||
83 | |||
84 | <font name="Liberation" | ||
85 | comment="Name of Liberation font"> | ||
86 | <file>LiberationSans-Regular.ttf</file> | ||
87 | </font> | ||
88 | |||
89 | <font name="Liberation" | ||
90 | comment="Name of Liberation font (bold)" | ||
91 | font_style="BOLD"> | ||
92 | <file>LiberationSans-Bold.ttf</file> | ||
93 | </font> | ||
94 | |||
95 | |||
96 | <font name="DroidSans" | ||
97 | comment="Name of DroidSans font" | ||
98 | size_mult="1.0"> | ||
99 | <file>DroidSans.ttf</file> | ||
100 | </font> | ||
101 | |||
102 | <font name="DroidSans" | ||
103 | comment="Name of DroidSans font (bold)" | ||
104 | size_mult="1.0" | ||
105 | font_style="BOLD"> | ||
106 | <file>DroidSans-Bold.ttf</file> | ||
107 | </font> | ||
108 | |||
109 | |||
59 | <font name="Helvetica" | 110 | <font name="Helvetica" |
60 | comment="Name of Helvetica font"> | 111 | comment="Name of Helvetica font"> |
61 | <file>arial.ttf</file> | 112 | <file>arial.ttf</file> |
diff --git a/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml b/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml index 0522981..1de4c94 100644 --- a/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml +++ b/linden/indra/newview/skins/default/xui/en-us/menu_viewer.xml | |||
@@ -1344,8 +1344,7 @@ | |||
1344 | <on_check function="Advanced.CheckWireframe" userdata="" /> | 1344 | <on_check function="Advanced.CheckWireframe" userdata="" /> |
1345 | </menu_item_check> | 1345 | </menu_item_check> |
1346 | <menu_item_check name="Object-Object Occlusion" | 1346 | <menu_item_check name="Object-Object Occlusion" |
1347 | label="Object-Object Occlusion" | 1347 | label="Object-Object Occlusion"> |
1348 | shortcut="control|shift|O"> | ||
1349 | <on_click function="ToggleControl" | 1348 | <on_click function="ToggleControl" |
1350 | userdata="UseOcclusion" /> | 1349 | userdata="UseOcclusion" /> |
1351 | <on_check control="UseOcclusion" /> | 1350 | <on_check control="UseOcclusion" /> |
diff --git a/linden/indra/newview/skins/default/xui/en-us/notifications.xml b/linden/indra/newview/skins/default/xui/en-us/notifications.xml index 0de1df5..eced647 100644 --- a/linden/indra/newview/skins/default/xui/en-us/notifications.xml +++ b/linden/indra/newview/skins/default/xui/en-us/notifications.xml | |||
@@ -7084,6 +7084,13 @@ Apply this region's settings? ("Ignore" will ignore all region setting | |||
7084 | </form> | 7084 | </form> |
7085 | </notification> | 7085 | </notification> |
7086 | 7086 | ||
7087 | <notification | ||
7088 | name="ChangeFont" | ||
7089 | icon="alertmodal.tga" | ||
7090 | type="alertmodal"> | ||
7091 | The new font will appear after you restart [VIEWER_NAME]. | ||
7092 | </notification> | ||
7093 | |||
7087 | 7094 | ||
7088 | <!--End Imprudence notifications--> | 7095 | <!--End Imprudence notifications--> |
7089 | <!-- [KITTY VIEWER] --> | 7096 | <!-- [KITTY VIEWER] --> |
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 b344d14..38033a3 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 | |||
@@ -180,10 +180,10 @@ | |||
180 | initial_value="true" label="Show chat messages from friends in a different color" left="12" | 180 | initial_value="true" label="Show chat messages from friends in a different color" left="12" |
181 | mouse_opaque="true" name="HighlightFriendsChat" radio_style="false" width="270"/> | 181 | mouse_opaque="true" name="HighlightFriendsChat" radio_style="false" width="270"/> |
182 | 182 | ||
183 | <color_swatch border_color="0.45098 0.517647 0.607843 1" bottom="-90" | 183 | <color_swatch border_color="0.45098 0.517647 0.607843 1" bottom="-100" |
184 | can_apply_immediately="true" color="1 1 1 1" control_name="FriendsChatColor" | 184 | can_apply_immediately="true" color="1 1 1 1" control_name="FriendsChatColor" |
185 | enabled="true" follows="left|top" height="56" label="Friends" left_delta="68" | 185 | enabled="true" follows="left|top" height="67" label="Friends" left_delta="68" |
186 | mouse_opaque="true" name="FriendsChatColor" width="54" /> | 186 | mouse_opaque="true" name="FriendsChatColor" width="65" /> |
187 | 187 | ||
188 | <check_box bottom_delta="-30" enabled="true" follows="left|top" | 188 | <check_box bottom_delta="-30" enabled="true" follows="left|top" |
189 | font="SansSerifSmall" height="16" initial_value="true" | 189 | font="SansSerifSmall" height="16" initial_value="true" |
@@ -194,10 +194,10 @@ | |||
194 | initial_value="true" label="Show GroupIM messages containing your name in a different color" left="12" | 194 | initial_value="true" label="Show GroupIM messages containing your name in a different color" left="12" |
195 | mouse_opaque="true" name="HighlightOwnNameInIM" radio_style="false" width="270"/> | 195 | mouse_opaque="true" name="HighlightOwnNameInIM" radio_style="false" width="270"/> |
196 | 196 | ||
197 | <color_swatch border_color="0.45098 0.517647 0.607843 1" bottom="-210" | 197 | <color_swatch border_color="0.45098 0.517647 0.607843 1" bottom="-230" |
198 | can_apply_immediately="true" color="1 1 1 1" control_name="OwnNameChatColor" | 198 | can_apply_immediately="true" color="1 1 1 1" control_name="OwnNameChatColor" |
199 | enabled="true" follows="left|top" height="56" label="Own Name" left_delta="68" | 199 | enabled="true" follows="left|top" height="67" label="Own Name" left_delta="68" |
200 | mouse_opaque="true" name="OwnNameChatColor" width="54" /> | 200 | mouse_opaque="true" name="OwnNameChatColor" width="65" /> |
201 | 201 | ||
202 | </panel> | 202 | </panel> |
203 | </tab_container> | 203 | </tab_container> |
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_fonts.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_fonts.xml new file mode 100644 index 0000000..3a27bd1 --- /dev/null +++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_fonts.xml | |||
@@ -0,0 +1,49 @@ | |||
1 | <?xml version="1.0" encoding="utf-8" standalone="yes" ?> | ||
2 | |||
3 | <panel name="font_panel" label="Fonts" | ||
4 | bottom="-409" left="102" height="408" width="517" | ||
5 | border="true" follows="left|top|right|bottom"> | ||
6 | |||
7 | <text bottom="-25" left="10" height="15" width="300"> | ||
8 | User interface font (requires restart): | ||
9 | </text> | ||
10 | |||
11 | <radio_group name="fonts" draw_border="false" | ||
12 | top="-30" left="20" bottom="0" right="-20" | ||
13 | follows="top|left|bottom|right"> | ||
14 | |||
15 | <radio_item name="DroidSans" bottom="-20" left="0" height="20"> | ||
16 | Droid Sans | ||
17 | </radio_item> | ||
18 | |||
19 | <radio_item name="DejaVu" bottom="-70" left="0" height="20"> | ||
20 | DejaVu Sans Condensed | ||
21 | </radio_item> | ||
22 | |||
23 | <radio_item name="Delicious" bottom="-120" left="0" height="20"> | ||
24 | Delicious | ||
25 | </radio_item> | ||
26 | |||
27 | <radio_item name="Liberation" bottom="-170" left="0" height="20"> | ||
28 | Liberation Sans (classic Imprudence font) | ||
29 | </radio_item> | ||
30 | |||
31 | </radio_group> | ||
32 | |||
33 | <text name="droid_preview" font="DroidSansMedium" top="-55" left="60"> | ||
34 | Preview: The quick brown fox jumped over the lazy dog. :) | ||
35 | </text> | ||
36 | |||
37 | <text name="dejavu_preview" font="DejaVuMedium" top="-105" left="60"> | ||
38 | Preview: The quick brown fox jumped over the lazy dog. :) | ||
39 | </text> | ||
40 | |||
41 | <text name="del_preview" font="DeliciousMedium" top="-155" left="60"> | ||
42 | Preview: The quick brown fox jumped over the lazy dog. :) | ||
43 | </text> | ||
44 | |||
45 | <text name="lib_preview" font="LiberationMedium" top="-205" left="60"> | ||
46 | Preview: The quick brown fox jumped over the lazy dog. :) | ||
47 | </text> | ||
48 | |||
49 | </panel> | ||
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml index 153a111..72a6438 100644 --- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml +++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_graphics1.xml | |||
@@ -286,7 +286,7 @@ | |||
286 | <slider bottom_delta="-22" can_edit_text="false" control_name="RenderVolumeLODFactor" | 286 | <slider bottom_delta="-22" can_edit_text="false" control_name="RenderVolumeLODFactor" |
287 | decimal_digits="3" enabled="true" follows="left|top" height="16" | 287 | decimal_digits="3" enabled="true" follows="left|top" height="16" |
288 | increment="0.125" initial_val="160" label=" Objects:" | 288 | increment="0.125" initial_val="160" label=" Objects:" |
289 | label_width="140" left_delta="0" max_val="2" min_val="0" | 289 | label_width="140" left_delta="0" max_val="4" min_val="0" |
290 | mouse_opaque="true" name="ObjectMeshDetail" show_text="false" width="223" /> | 290 | mouse_opaque="true" name="ObjectMeshDetail" show_text="false" width="223" /> |
291 | <slider bottom_delta="-20" can_edit_text="false" control_name="RenderFlexTimeFactor" | 291 | <slider bottom_delta="-20" can_edit_text="false" control_name="RenderFlexTimeFactor" |
292 | decimal_digits="3" enabled="true" follows="left|top" height="16" | 292 | decimal_digits="3" enabled="true" follows="left|top" height="16" |
diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_skins.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_skins.xml index f0b789e..0611ce3 100644 --- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_skins.xml +++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_skins.xml | |||
@@ -2,21 +2,50 @@ | |||
2 | <panel border="true" bottom="-409" enabled="true" follows="left|top|right|bottom" | 2 | <panel border="true" bottom="-409" enabled="true" follows="left|top|right|bottom" |
3 | height="408" label="Skins" left="102" mouse_opaque="true" | 3 | height="408" label="Skins" left="102" mouse_opaque="true" |
4 | name="Skins panel" width="517"> | 4 | name="Skins panel" width="517"> |
5 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | 5 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" |
6 | bottom="-22" drop_shadow_visible="true" enabled="true" follows="left|top" | 6 | bottom="-22" drop_shadow_visible="true" enabled="true" follows="left|top" |
7 | font="SansSerifSmall" h_pad="0" halign="left" height="12" left="10" | 7 | font="SansSerifSmall" h_pad="0" halign="left" height="12" left="10" |
8 | mouse_opaque="true" name="muting_text" v_pad="0" width="400"> | 8 | mouse_opaque="true" name="muting_text" v_pad="0" width="400"> |
9 | Select a Skin (Requires Restart): | 9 | Select a skin (requires restart). |
10 | </text> | 10 | </text> |
11 | <radio_group bottom="0" draw_border="false" follows="top|left" height="380" left="12" | 11 | <radio_group bottom="0" draw_border="false" follows="top|left" height="380" left="12" |
12 | name="skin_selection" width="480"> | 12 | name="skin_selection" width="480"> |
13 | <radio_item bottom="-20" height="20" left="0" name="default" width="480"> | 13 | <radio_item bottom="-20" height="20" left="0" name="default" width="480"> |
14 | Default | 14 | Default |
15 | </radio_item> | 15 | </radio_item> |
16 | <radio_item bottom="-180" height="20" left="0" name="silver" width="480"> | 16 | <radio_item bottom_delta="-50" height="20" left="0" name="silver" width="480"> |
17 | Silver | 17 | Silver |
18 | </radio_item> | 18 | </radio_item> |
19 | <radio_item bottom_delta="-50" height="20" left="0" name="dark" width="480"> | ||
20 | Dark | ||
21 | </radio_item> | ||
22 | <radio_item bottom_delta="-50" height="20" left="0" name="gemini" width="480"> | ||
23 | Gemini | ||
24 | </radio_item> | ||
19 | </radio_group> | 25 | </radio_group> |
20 | <button left="130" bottom="-160" width="298" height="130" name="classic_preview" label="" scale_image="true" image_selected="skin_thumbnail_default.png" image_unselected="skin_thumbnail_default.png" image_hover_selected="skin_thumbnail_default.png" image_hover_unselected="skin_thumbnail_default.png"/> | 26 | |
21 | <button left="130" bottom="-320" width="298" height="130" name="silver_preview" label="" scale_image="true" image_selected="skin_thumbnail_silver.png" image_hover_selected="skin_thumbnail_silver.png" image_unselected="skin_thumbnail_silver.png" image_hover_unselected="skin_thumbnail_silver.png"/> | 27 | <button left="130" bottom="-125" width="216" height="95" name="classic_preview" |
28 | scale_image="true" label="" image_selected="skin_thumbnail_default.png" | ||
29 | image_unselected="skin_thumbnail_default.png" image_hover_selected="skin_thumbnail_default.png" | ||
30 | image_hover_unselected="skin_thumbnail_default.png" follows="left|top" /> | ||
31 | <button left="130" bottom_delta="-100" width="216" height="95" name="silver_preview" | ||
32 | scale_image="true" label="" image_selected="skin_thumbnail_silver.png" | ||
33 | image_hover_selected="skin_thumbnail_silver.png" image_unselected="skin_thumbnail_silver.png" | ||
34 | image_hover_unselected="skin_thumbnail_silver.png" follows="left|top" /> | ||
35 | <button left="130" bottom_delta="-100" width="216" height="95" name="dark_preview" | ||
36 | scale_image="true" label="" image_selected="skin_thumbnail_dark.png" | ||
37 | image_hover_selected="skin_thumbnail_dark.png" image_unselected="skin_thumbnail_dark.png" | ||
38 | image_hover_unselected="skin_thumbnail_dark.png" follows="left|top" /> | ||
39 | <button left="130" bottom_delta="-100" width="216" height="95" name="gemini_preview" | ||
40 | scale_image="true" label="" image_selected="skin_thumbnail_gemini.png" | ||
41 | image_hover_selected="skin_thumbnail_gemini.png" image_unselected="skin_thumbnail_gemini.png" | ||
42 | image_hover_unselected="skin_thumbnail_gemini.png" follows="left|top" /> | ||
43 | |||
44 | <text type="string" length="1" bg_visible="false" border_drop_shadow_visible="false" border_visible="false" | ||
45 | bottom="10" drop_shadow_visible="true" enabled="true" follows="left|bottom" | ||
46 | font="SansSerifSmall" h_pad="0" halign="left" height="12" left="90" | ||
47 | mouse_opaque="true" name="muting_text" v_pad="0" width="400"> | ||
48 | (Please see the skin folders for information and credits) | ||
49 | </text> | ||
22 | </panel> | 50 | </panel> |
51 | |||
diff --git a/linden/indra/newview/viewer_manifest.py b/linden/indra/newview/viewer_manifest.py index 15172f2..f66fa5b 100755 --- a/linden/indra/newview/viewer_manifest.py +++ b/linden/indra/newview/viewer_manifest.py | |||
@@ -75,16 +75,29 @@ class ViewerManifest(LLManifest): | |||
75 | 75 | ||
76 | # Include our fonts | 76 | # Include our fonts |
77 | if self.prefix(src="fonts"): | 77 | if self.prefix(src="fonts"): |
78 | self.path("GPL.txt") | ||
79 | self.path("Liberation-License.txt") | ||
78 | self.path("LiberationSans-Bold.ttf") | 80 | self.path("LiberationSans-Bold.ttf") |
79 | self.path("LiberationSans-Regular.ttf") | 81 | self.path("LiberationSans-Regular.ttf") |
80 | self.path("VeraMono.ttf") | 82 | |
83 | self.path("Delicious-License.txt") | ||
84 | self.path("Delicious-BoldItalic.otf") | ||
85 | self.path("Delicious-Bold.otf") | ||
86 | self.path("Delicious-Italic.otf") | ||
87 | self.path("Delicious-Roman.otf") | ||
88 | |||
89 | self.path("Droid-License.txt") | ||
90 | self.path("DroidSans-Bold.ttf") | ||
91 | self.path("DroidSans.ttf") | ||
92 | |||
93 | self.path("DejaVu-License.txt") | ||
81 | self.path("DejaVuSansCondensed-BoldOblique.ttf") | 94 | self.path("DejaVuSansCondensed-BoldOblique.ttf") |
82 | self.path("DejaVuSansCondensed-Bold.ttf") | 95 | self.path("DejaVuSansCondensed-Bold.ttf") |
83 | self.path("DejaVuSansCondensed-Oblique.ttf") | 96 | self.path("DejaVuSansCondensed-Oblique.ttf") |
84 | self.path("DejaVuSansCondensed.ttf") | 97 | self.path("DejaVuSansCondensed.ttf") |
85 | self.path("GPL.txt") | 98 | |
86 | self.path("Liberation-License.txt") | ||
87 | self.path("Vera-License.txt") | 99 | self.path("Vera-License.txt") |
100 | self.path("VeraMono.ttf") | ||
88 | self.end_prefix("fonts") | 101 | self.end_prefix("fonts") |
89 | 102 | ||
90 | # skins | 103 | # skins |
@@ -531,6 +544,7 @@ class DarwinManifest(ViewerManifest): | |||
531 | if self.prefix(src="../../libraries/universal-darwin/lib_release", dst="MacOS/"): | 544 | if self.prefix(src="../../libraries/universal-darwin/lib_release", dst="MacOS/"): |
532 | 545 | ||
533 | self.path("libndofdev.dylib") | 546 | self.path("libndofdev.dylib") |
547 | self.path("libhunspell-1.2.dylib") | ||
534 | 548 | ||
535 | self.path("libopenal.1.dylib") | 549 | self.path("libopenal.1.dylib") |
536 | self.path("libalut.0.dylib") | 550 | self.path("libalut.0.dylib") |