Ansariel 2024-03-26 22:29:40 +01:00
commit c111665779
92 changed files with 867 additions and 227 deletions

View File

@ -112,9 +112,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>80d157facdba399b3a59c400e29cb625</string>
<string>1e74b8cc3694150a7751aeb12f3456d414412c0e</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://3p.firestormviewer.org/glib-2.64.6.230870115-linux64-230870115.tar.bz2</string>
<string>https://3p.firestormviewer.org/glib-2.64.6.240620740-linux64-240620740.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
@ -413,56 +415,6 @@
<key>description</key>
<string>Simple DirectMedia Layer is a cross-platform multimedia library designed to provide low level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL, and 2D video framebuffer.</string>
</map>
<key>tracy</key>
<map>
<key>canonical_repo</key>
<string>https://bitbucket.org/lindenlab/3p-tracy</string>
<key>copyright</key>
<string>Copyright (c) 2017-2021, Bartosz Taudul (wolf@nereid.pl)</string>
<key>description</key>
<string>Tracy Profiler Library</string>
<key>license</key>
<string>bsd</string>
<key>license_file</key>
<string>LICENSES/tracy_license.txt</string>
<key>name</key>
<string>tracy</string>
<key>platforms</key>
<map>
<key>darwin64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>da7317e4a81609f624f84780f28b07de</string>
<key>url</key>
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86972/801630/tracy-v0.7.8.563351-darwin64-563351.tar.bz2</string>
</map>
<key>name</key>
<string>darwin64</string>
</map>
<key>windows64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>b649ee6591e67d2341e886b3fc3484a7</string>
<key>hash_algorithm</key>
<string>md5</string>
<key>url</key>
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/86974/801642/tracy-v0.7.8.563351-windows64-563351.tar.bz2</string>
</map>
<key>name</key>
<string>windows64</string>
</map>
</map>
<key>source</key>
<string>https://bitbucket.org/lindenlab/3p-tracy</string>
<key>source_type</key>
<string>git</string>
<key>version</key>
<string>v0.7.8.563351</string>
</map>
<key>apr_suite</key>
<map>
<key>platforms</key>
@ -544,9 +496,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>8d96a9d1a9a208b1f48ac677edb7ca4d</string>
<string>5d1952e270a873d4587f7b943ed6e3f87d5023da</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://3p.firestormviewer.org/boost-1.72-linux64-222121224.tar.bz2</string>
<string>https://3p.firestormviewer.org/boost-1.81-linux64-240621158.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
@ -648,9 +602,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>8b79711b4fa914c16f1284939d55dcc1</string>
<string>83f9c9aff5a7b96711c04bd33cb453c108dee3a5</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://3p.firestormviewer.org/colladadom-2.3.230940029-linux64-230940029.tar.bz2</string>
<string>https://3p.firestormviewer.org/colladadom-2.3.240621210-linux64-240621210.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
@ -762,9 +718,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>8e92fc9ec2b3be6d2a5387fc283f954f</string>
<string>7bb9bbadb44dd7490c3e6804395df01ab800bc18</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://3p.firestormviewer.org/curl-8.3.0.232750741-linux64-232750741.tar.bz2</string>
<string>https://github.com/secondlife/3p-curl/releases/download/v7.54.1-513145c/curl-7.54.1-513145c-linux64-513145c.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
@ -850,9 +808,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>c539c58aee1d010928ae29ad344656a5</string>
<string>2845d791c0f00392ba1573bc645a0fc8a7fd37ae</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://3p.firestormviewer.org/dullahan-1.14.0.202311061750_118.6.8_ge44bee1_chromium-118.0.5993.117-linux64-233100650.tar.bz2</string>
<string>https://3p.firestormviewer.org/dullahan-1.14.0.202403161609_118.6.8_ge44bee1_chromium-118.0.5993.117-linux64-240760509.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
@ -913,6 +873,20 @@
<key>name</key>
<string>darwin64</string>
</map>
<key>linux64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>c036cc042523fb6a3dafb7134f83e52c566c0765</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://3p.firestormviewer.org/emoji_shortcodes-6.1.0.240620448-linux64-240620448.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
</map>
<key>windows64</key>
<map>
<key>archive</key>
@ -1110,11 +1084,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>4a999279562e8f3e4ba02d3e78a844ddf6fe18f1</string>
<string>a8326f592bf608095f0854383eec2baf36257ea9</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/3p-freetype/releases/download/v.2.12.1.557becd/freetype-2.12.1.557becd-linux64-557becd.tar.zst</string>
<string>https://3p.firestormviewer.org/freetype-2.12.1.240700637-linux64-240700637.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
@ -1379,6 +1353,20 @@
<key>name</key>
<string>darwin64</string>
</map>
<key>linux64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>f5e5be3af96f1eb0842219a94765c04aa9c561c5</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://3p.firestormviewer.org/icu4c-4.8.1-linux64-240621048.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
</map>
<key>windows64</key>
<map>
<key>archive</key>
@ -1750,9 +1738,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>134089ec8c1eead9436b69c326790fc0</string>
<string>e646a9da0ddfe1dfbffc6600d7d35f78ac48c75e</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://3p.firestormviewer.org/libpng-1.6.38.222890126-linux64-222890126.tar.bz2</string>
<string>https://3p.firestormviewer.org/libpng-1.6.38-240620624-linux64-240620624.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
@ -1838,9 +1828,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>d72c6d8db827ce3d83c5703f519a2ac9</string>
<string>fda5d399c21c3ad29a78f29599523ca4ecf76bd2</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://3p.firestormviewer.org/libxml2-2.10.3.230940019-linux64-230940019.tar.bz2</string>
<string>https://github.com/secondlife/3p-libxml2/releases/download/v2.9.4-2db4418/libxml2-2.9.4.2db4418-linux64-2db4418.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
@ -2261,9 +2253,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>ee4e3a02ad4669a4d84e9c32e509530e</string>
<string>d4f35ebcea53ab6e9f2e6cbc0d680b10d10b9c53</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://3p.firestormviewer.org/minizip_ng-3.0.2.222121607-linux64-222121607.tar.bz2</string>
<string>https://github.com/secondlife/3p-minizip-ng/releases/download/v3.0.2.3e9876e/minizip_ng-3.0.2.3e9876e-linux64-3e9876e.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
@ -2377,9 +2371,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>57670eaa6333d9127b8ba88f120e56dd</string>
<string>5798b5f6c8579ad44f211a873c072ee8d3fd8c93</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://3p.firestormviewer.org/nghttp2-1.56.0.232750738-linux64-232750738.tar.bz2</string>
<string>https://github.com/secondlife/3p-nghttp2/releases/download/v1.40.0.b1526c6/nghttp2-1.40.0.b1526c6-linux64-b1526c6.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
@ -2678,9 +2674,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>a3b2dbffa28a2b2a63c5d3ce2c12bc85</string>
<string>5f6953db991ef6badb0525ecc98daf28d368e9e7</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://3p.firestormviewer.org/openssl-1.1.1w.232750656-linux64-232750656.tar.bz2</string>
<string>https://github.com/secondlife/3p-openssl/releases/download/v1.1.1q.de53f55/openssl-1.1.1q.de53f55-linux64-de53f55.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
@ -2736,9 +2734,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>742a145c1518b9dc195ae0862828e6ae</string>
<string>3a722c508a9278a49317e3f749f3256768f1c50b</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://3p.firestormviewer.org/pcre-8.35.202021522-linux64-202021522.tar.bz2</string>
<string>https://github.com/secondlife/3p-pcre/releases/download/v8.35-3c0eb51/pcre-8.35.3c0eb51-linux64-3c0eb51.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
@ -3080,21 +3080,33 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>6041bbd4001e3951f96ac3456c7906da</string>
<string>deb47841d8e6c82fe9704aaa79d62846</string>
<key>url</key>
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/113314/980656/viewer_fonts-1.579464-darwin64-579464.tar.bz2</string>
<string>https://3p.firestormviewer.org/viewer_fonts-1.240681616-common-240681616.tar.bz2</string>
</map>
<key>name</key>
<string>darwin64</string>
</map>
<key>linux64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>deb47841d8e6c82fe9704aaa79d62846</string>
<key>url</key>
<string>https://3p.firestormviewer.org/viewer_fonts-1.240681616-common-240681616.tar.bz2</string>
</map>
<key>name</key>
<string>linux64</string>
</map>
<key>windows64</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>1745ba6eec0108250446fe01d4aa065c</string>
<string>deb47841d8e6c82fe9704aaa79d62846</string>
<key>url</key>
<string>https://automated-builds-secondlife-com.s3.amazonaws.com/ct2/113307/980631/viewer_fonts-1.579464-windows64-579464.tar.bz2</string>
<string>https://3p.firestormviewer.org/viewer_fonts-1.240681616-common-240681616.tar.bz2</string>
</map>
<key>name</key>
<string>windows64</string>
@ -3360,9 +3372,11 @@ Copyright (c) 2012, 2014, 2015, 2016 nghttp2 contributors</string>
<key>archive</key>
<map>
<key>hash</key>
<string>5ee7cda65cede06190c811e59b3880b0</string>
<string>fba88375e12454ae19f4528e11ffc7ddf7d879ec</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://3p.firestormviewer.org/zlib_ng-2.0.5.222121000-linux64-222121000.tar.bz2</string>
<string>https://github.com/secondlife/3p-zlib-ng/releases/download/v1.2.11.zlib-ng.32fd361/zlib_ng-1.2.11.zlib-ng.32fd361-linux64-32fd361.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>

View File

@ -1,5 +0,0 @@
For full release notes, see:
http://wiki.secondlife.com/wiki/Release_Notes
For a log of viewer changes, see:
doc/viewer-changes.txt

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

View File

@ -4,12 +4,7 @@ include(Prebuilt)
include_guard()
add_library( ll::freetype INTERFACE IMPORTED )
if (LINUX)
find_package(Freetype REQUIRED) # <FS:PC> linux fontconfig and freetype should come from the user's system Linux links this via llwindow/CMakeLists
target_link_libraries( ll::freetype INTERFACE Freetype::Freetype )
else ()
use_system_binary(freetype)
use_prebuilt_binary(freetype)
target_include_directories( ll::freetype SYSTEM INTERFACE ${LIBS_PREBUILT_DIR}/include/freetype2/)
target_link_libraries( ll::freetype INTERFACE freetype )
endif()

View File

@ -12,8 +12,13 @@ if (WINDOWS)
target_link_libraries( ll::icu4c INTERFACE icuuc)
elseif(DARWIN)
target_link_libraries( ll::icu4c INTERFACE icuuc)
#elseif(LINUX)
## target_link_libraries( ll::icu4c INTERFACE )
elseif(LINUX)
#<FS:PC>
#The icu4c 3p puts the libraries in "lib" rather than the normal "release/lib".
#Add this to the link search path (otherwise link to the library fails)
target_link_directories( ll::icu4c INTERFACE ${LIBS_PREBUILT_DIR}/lib)
target_link_libraries( ll::icu4c INTERFACE icuuc)
else()
message(FATAL_ERROR "Invalid platform")
endif()

View File

@ -68,6 +68,11 @@ int main(int argc, char **argv)
curl_global_init(CURL_GLOBAL_ALL);
auto curl = curl_easy_init();
//Not compatible with LL's crusty old curl - support for the curl_mime functions
//was introduced in curl 7.57.0, LL is still using 7.54 :(
/*
if( curl)
{
auto form = curl_mime_init(curl);
@ -95,6 +100,47 @@ int main(int argc, char **argv)
curl_easy_cleanup(curl);
curl_mime_free(form);
}
}*/
if (auto curl_handle = curl_easy_init()) {
struct curl_httppost* formpost = NULL;
struct curl_httppost* lastptr = NULL;
// Add the file part
curl_formadd(&formpost, &lastptr,
CURLFORM_COPYNAME, "upload_file_minidump",
CURLFORM_FILE, dmpFile.c_str(),
CURLFORM_END);
// Add the 'product' part
curl_formadd(&formpost, &lastptr,
CURLFORM_COPYNAME, "product",
CURLFORM_COPYCONTENTS, "Firestorm-Releasex64",
CURLFORM_END);
// Add the 'version' part
curl_formadd(&formpost, &lastptr,
CURLFORM_COPYNAME, "version",
CURLFORM_COPYCONTENTS, version.c_str(),
CURLFORM_END);
// Set the URL
curl_easy_setopt(curl_handle, CURLOPT_URL, url.c_str());
// Set the form post data
curl_easy_setopt(curl_handle, CURLOPT_HTTPPOST, formpost);
// Perform the request
auto res = curl_easy_perform(curl_handle);
// Cleanup
curl_easy_cleanup(curl_handle);
curl_formfree(formpost);
// Check for errors
if (res != CURLE_OK)
std::cerr << "curl_easy_perform() failed: " << curl_easy_strerror(res) << std::endl;
}
return 0;
}

View File

@ -276,15 +276,10 @@ void HttpOpRequest::visitNotifier(HttpRequest * request)
HttpResponse::TransferStats::ptr_t stats = HttpResponse::TransferStats::ptr_t(new HttpResponse::TransferStats);
#if LL_LINUX
curl_easy_getinfo(mCurlHandle, CURLINFO_SIZE_DOWNLOAD_T, &stats->mSizeDownload);
curl_easy_getinfo(mCurlHandle, CURLINFO_TOTAL_TIME, &stats->mTotalTime);
curl_easy_getinfo(mCurlHandle, CURLINFO_SPEED_DOWNLOAD_T, &stats->mSpeedDownload);
#else
curl_easy_getinfo(mCurlHandle, CURLINFO_SIZE_DOWNLOAD, &stats->mSizeDownload);
curl_easy_getinfo(mCurlHandle, CURLINFO_TOTAL_TIME, &stats->mTotalTime);
curl_easy_getinfo(mCurlHandle, CURLINFO_SPEED_DOWNLOAD, &stats->mSpeedDownload);
#endif
response->setTransferStats(stats);
mUserHandler->onCompleted(this->getHandle(), response);

View File

@ -75,16 +75,9 @@ public:
typedef boost::shared_ptr<TransferStats> ptr_t;
TransferStats() : mSizeDownload(0.0), mTotalTime(0.0), mSpeedDownload(0.0) {}
#if LL_LINUX
curl_off_t mSizeDownload;
curl_off_t mSpeedDownload;
F64 mTotalTime;
#else
F64 mSizeDownload;
F64 mTotalTime;
F64 mSpeedDownload;
#endif
};

View File

@ -1090,16 +1090,30 @@ LLFontGL::VAlign LLFontGL::vAlignFromName(const std::string& name)
}
//static
LLFontGL* LLFontGL::getFontEmoji()
LLFontGL* LLFontGL::getFontEmoji( bool useBW ) // <FS:Beq/> Add B&W emoji font support
{
static LLFontGL* fontp = getFont(LLFontDescriptor("Emoji", "Large", 0));
// <FS:Beq> Add B&W emoji font support
static LLFontGL* fontp_bw = getFont(LLFontDescriptor("EmojiBW", "Large", 0));
if( useBW )
{
return fontp_bw;
}
// </FS:Beq>
return fontp;;
}
//static
LLFontGL* LLFontGL::getFontEmojiHuge()
LLFontGL* LLFontGL::getFontEmojiHuge( bool useBW ) // <FS:Beq/> Add B&W emoji font support
{
static LLFontGL* fontp = getFont(LLFontDescriptor("Emoji", "Huge", 0));
// <FS:Beq> Add B&W emoji font support
static LLFontGL* fontp_bw = getFont(LLFontDescriptor("EmojiBW", "Huge", 0));
if( useBW )
{
return fontp_bw;
}
// </FS:Beq>
return fontp;;
}

View File

@ -194,8 +194,8 @@ public:
static void setFontDisplay(BOOL flag) { sDisplayFont = flag; }
static LLFontGL* getFontEmoji();
static LLFontGL* getFontEmojiHuge();
static LLFontGL* getFontEmoji( bool useBW = false ); // <FS:Beq/> Add B&W emoji font support
static LLFontGL* getFontEmojiHuge( bool useBW = false ); // <FS:Beq/> Add B&W emoji font support
static LLFontGL* getFontMonospace();
static LLFontGL* getFontSansSerifSmall();
static LLFontGL* getFontSansSerifSmallBold();

View File

@ -47,8 +47,35 @@ bool init_from_xml(LLFontRegistry* registry, LLXMLNodePtr node);
const std::string MACOSX_FONT_PATH_LIBRARY = "/Library/Fonts/";
const std::string MACOSX_FONT_SUPPLEMENTAL = "Supplemental/";
// <FS:Beq> font functors with UI control access
static bool isEmojiUseBW(llwchar wch)
{
static LLCachedControl<bool> emoji_use_bw(gSavedSettings, "FSUseEmojiBW", false);
if(emoji_use_bw)
{
return (LLStringOps::isEmoji(wch));
}
return false;
}
static bool isEmojiUseColor(llwchar wch)
{
static LLCachedControl<bool> emoji_use_bw(gSavedSettings, "FSUseEmojiBW", false);
if(!emoji_use_bw)
{
return (LLStringOps::isEmoji(wch));
}
return false;
}
// </FS:Beq>
LLFontDescriptor::char_functor_map_t LLFontDescriptor::mCharFunctors({
{ "is_emoji", LLStringOps::isEmoji }
, { "is_emoji_use_color", isEmojiUseColor }
, { "is_emoji_use_bw", isEmojiUseBW }
});
LLFontDescriptor::LLFontDescriptor():

View File

@ -57,6 +57,14 @@ bool LLEmojiHelper::isActive(const LLUICtrl* ctrl_p) const
// static
bool LLEmojiHelper::isCursorInEmojiCode(const LLWString& wtext, S32 cursorPos, S32* pShortCodePos)
{
// <FS:PP> FIRE-33735: Option to suppress emoji chooser window from automatically popping up while typing in chat bars
static LLUICachedControl<bool> FSEnableEmojiWindowPopupWhileTyping("FSEnableEmojiWindowPopupWhileTyping");
if (!FSEnableEmojiWindowPopupWhileTyping)
{
return false;
}
// </FS:PP>
if (cursorPos < 0 || wtext.size() < cursorPos) return false; // <FS:Beq/> FIRE-33773 - fix logic to avoid OOB access to wtext
// If the cursor is currently on a colon start the check one character further back
S32 shortCodePos = (cursorPos == 0 || L':' != wtext[cursorPos - 1]) ? cursorPos : cursorPos - 1;
@ -76,7 +84,7 @@ bool LLEmojiHelper::isCursorInEmojiCode(const LLWString& wtext, S32 cursorPos, S
shortCodePos--;
}
bool isShortCode = (L':' == wtext[shortCodePos - 1]) && (cursorPos - shortCodePos >= 2);
bool isShortCode = (cursorPos - shortCodePos >= 2) && (L':' == wtext[shortCodePos - 1]); // <FS:Beq/> FIRE-33773 - fix logic to avoid OOB access to wtext
if (pShortCodePos)
*pShortCodePos = (isShortCode) ? shortCodePos - 1 : -1;
return isShortCode;

View File

@ -1053,6 +1053,7 @@ S32 LLTextBase::insertStringNoUndo(S32 pos, const LLWString &wstr, LLTextBase::s
// Insert special segments where necessary (insertSegment takes care of splitting normal text segments around them for us)
{
static LLUICachedControl<bool> useBWEmojis("FSUseBWEmojis", false); // <FS:Beq/> Add B&W emoji font support
LLStyleSP emoji_style;
LLEmojiDictionary* ed = LLEmojiDictionary::instanceExists() ? LLEmojiDictionary::getInstance() : NULL;
for (S32 text_kitty = 0, text_len = wstr.size(); text_kitty < text_len; text_kitty++)
@ -1064,7 +1065,7 @@ S32 LLTextBase::insertStringNoUndo(S32 pos, const LLWString &wstr, LLTextBase::s
if (!emoji_style)
{
emoji_style = new LLStyle(getStyleParams());
emoji_style->setFont(LLFontGL::getFontEmoji());
emoji_style->setFont(LLFontGL::getFontEmoji( useBWEmojis )); // <FS:Beq/> Add B&W emoji font support
}
S32 new_seg_start = pos + text_kitty;

View File

@ -734,9 +734,10 @@ void LLTextEditor::selectByCursorPosition(S32 prev_cursor_pos, S32 next_cursor_p
void LLTextEditor::insertEmoji(llwchar emoji)
{
LL_INFOS() << "LLTextEditor::insertEmoji(" << wchar_utf8_preview(emoji) << ")" << LL_ENDL;
static LLUICachedControl<bool> useBWEmojis( "FSUseBWEmojis", false); // <FS:Beq/> Add B&W emoji font support
LL_DEBUGS("Emoji") << "LLTextEditor::insertEmoji(" << wchar_utf8_preview(emoji) << ")" << LL_ENDL; // <FS:Beq/> reduce Emoji log spam
auto styleParams = LLStyle::Params();
styleParams.font = LLFontGL::getFontEmoji();
styleParams.font = LLFontGL::getFontEmoji( useBWEmojis ); // <FS:Beq/> Add B&W emoji font support
auto segment = new LLEmojiTextSegment(new LLStyle(styleParams), mCursorPos, mCursorPos + 1, *this);
insert(mCursorPos, LLWString(1, emoji), false, segment);
setCursorPos(mCursorPos + 1);

View File

@ -26693,5 +26693,49 @@ Change of this parameter will affect the layout of buttons in notification toast
<key>Value</key>
<integer>1</integer>
</map>
<key>FSEnableEmojiWindowPopupWhileTyping</key>
<map>
<key>Comment</key>
<string>Enables automatic opening of emoji chooser window while typing in chat bars.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>FSUseBWEmojis</key>
<map>
<key>Comment</key>
<string>Use Black and White Emojis.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>FSUsePrettyEmojiButton</key>
<map>
<key>Comment</key>
<string>Use an emoji for the emoji button.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>FSPrettyEmojiButtonCode</key>
<map>
<key>Comment</key>
<string>Decimal code for the emoji button. Try 128569 or 128571 for example</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>U32</string>
<key>Value</key>
<integer>128578</integer>
</map>
</map>
</llsd>

View File

@ -3,7 +3,8 @@
<font name="default" comment="default font files (global fallbacks)">
<file>DejaVuSans.ttf</file>
<file functor="is_emoji">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_color">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_bw">NotoEmoji-Regular.ttf</file>
<os name="Windows">
<file>meiryo.TTC</file>
<file>YuGothR.ttc</file>
@ -82,6 +83,11 @@
<file>TwemojiSVG.ttf</file>
</font>
<font name="EmojiBW"
comment="Name of emoji font">
<file>NotoEmoji-Regular.ttf</file>
</font>
<font name="Monospace"
comment="Name of monospace font">
<file>DejaVuSansMono.ttf</file>

View File

@ -3,7 +3,8 @@
<font name="default" comment="default font files (global fallbacks)">
<file>CascadiaCode-Light.ttf</file>
<file functor="is_emoji">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_color">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_bw">NotoEmoji-Regular.ttf</file>
<os name="Windows">
<file>meiryo.TTC</file>
<file>YuGothR.ttc</file>
@ -82,6 +83,11 @@
<file>TwemojiSVG.ttf</file>
</font>
<font name="EmojiBW"
comment="Name of Black and White emoji font">
<file>NotoEmoji-Regular.ttf</file>
</font>
<font name="Monospace"
comment="Name of monospace font">
<file>CascadiaCode-Light.ttf</file>

View File

@ -3,7 +3,8 @@
<font name="default" comment="default font files (global fallbacks)">
<file>CelestiaMediumRedux1.55.ttf</file>
<file functor="is_emoji">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_color">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_bw">NotoEmoji-Regular.ttf</file>
<os name="Windows">
<file>meiryo.TTC</file>
<file>YuGothR.ttc</file>
@ -82,6 +83,11 @@
<file>TwemojiSVG.ttf</file>
</font>
<font name="EmojiBW"
comment="Name of emoji font">
<file>NotoEmoji-Regular.ttf</file>
</font>
<font name="Monospace"
comment="Name of monospace font">
<file>DejaVuSansMono.ttf</file>

View File

@ -3,7 +3,8 @@
<font name="default" comment="default font files (global fallbacks)">
<file>DejaVuSansAllCaps.ttf</file>
<file functor="is_emoji">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_color">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_bw">NotoEmoji-Regular.ttf</file>
<os name="Windows">
<file>meiryo.TTC</file>
<file>YuGothR.ttc</file>
@ -80,6 +81,11 @@
<file>TwemojiSVG.ttf</file>
</font>
<font name="EmojiBW"
comment="Name of emoji font">
<file>NotoEmoji-Regular.ttf</file>
</font>
<font name="Monospace"
comment="Name of monospace font">
<file>DejaVuSansAllCapsMono.ttf</file>

View File

@ -3,7 +3,8 @@
<font name="default" comment="default font files (global fallbacks)">
<file>DroidSans.ttf</file>
<file functor="is_emoji">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_color">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_bw">NotoEmoji-Regular.ttf</file>
<os name="Windows">
<file>meiryo.TTC</file>
<file>YuGothR.ttc</file>
@ -82,6 +83,11 @@
<file>TwemojiSVG.ttf</file>
</font>
<font name="EmojiBW"
comment="Name of black and white emoji font">
<file>NotoEmoji-Regular.ttf</file>
</font>
<font name="Monospace"
comment="Name of monospace font">
<file>DroidSansMono.ttf</file>

View File

@ -3,7 +3,8 @@
<font name="default" comment="default font files (global fallbacks)">
<file>MobiSans.ttf</file>
<file functor="is_emoji">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_color">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_bw">NotoEmoji-Regular.ttf</file>
<os name="Windows">
<file>meiryo.TTC</file>
<file>YuGothR.ttc</file>
@ -82,6 +83,11 @@
<file>TwemojiSVG.ttf</file>
</font>
<font name="EmojiBW"
comment="Name of emoji font">
<file>NotoEmoji-Regular.ttf</file>
</font>
<font name="Monospace"
comment="Name of monospace font">
<file>SourceCodePro-Regular.ttf</file>

View File

@ -3,7 +3,8 @@
<font name="default" comment="default font files (global fallbacks)">
<file>LiberationSans-Regular.ttf</file>
<file functor="is_emoji">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_color">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_bw">NotoEmoji-Regular.ttf</file>
<os name="Windows">
<file>meiryo.TTC</file>
<file>YuGothR.ttc</file>
@ -82,6 +83,11 @@
<file>TwemojiSVG.ttf</file>
</font>
<font name="EmojiBW"
comment="Name of emoji font">
<file>NotoEmoji-Regular.ttf</file>
</font>
<font name="Monospace"
comment="Name of monospace font">
<file>LiberationMono-Regular.ttf</file>

View File

@ -3,7 +3,8 @@
<font name="default" comment="default font files (global fallbacks)">
<file>MobiSans.ttf</file>
<file functor="is_emoji">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_color">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_bw">NotoEmoji-Regular.ttf</file>
<os name="Windows">
<file>meiryo.TTC</file>
<file>YuGothR.ttc</file>
@ -82,6 +83,11 @@
<file>TwemojiSVG.ttf</file>
</font>
<font name="EmojiBW"
comment="Name of emoji font">
<file>NotoEmoji-Regular.ttf</file>
</font>
<font name="Monospace"
comment="Name of monospace font">
<file>MobiSansMono.ttf</file>

View File

@ -3,7 +3,8 @@
<font name="default" comment="default font files (global fallbacks)">
<file>NotoSans.ttf</file>
<file functor="is_emoji">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_color">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_bw">NotoEmoji-Regular.ttf</file>
<os name="Windows">
<file>meiryo.TTC</file>
<file>YuGothR.ttc</file>
@ -82,6 +83,11 @@
<file>TwemojiSVG.ttf</file>
</font>
<font name="EmojiBW"
comment="Name of emoji font">
<file>NotoEmoji-Regular.ttf</file>
</font>
<font name="Monospace"
comment="Name of monospace font">
<file>NotoMono-Regular.ttf</file>

View File

@ -3,7 +3,8 @@
<font name="default" comment="default font files (global fallbacks)">
<file>DroidSans.ttf</file>
<file functor="is_emoji">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_color">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_bw">NotoEmoji-Regular.ttf</file>
<os name="Windows">
<file>meiryo.TTC</file>
<file>YuGothR.ttc</file>
@ -82,6 +83,11 @@
<file>TwemojiSVG.ttf</file>
</font>
<font name="EmojiBW"
comment="Name of emoji font">
<file>NotoEmoji-Regular.ttf</file>
</font>
<font name="Monospace"
comment="Name of monospace font">
<file>MobiSansMono.ttf</file>

View File

@ -3,7 +3,8 @@
<font name="default" comment="default font files (global fallbacks)">
<file>Ubuntu-R.ttf</file>
<file functor="is_emoji">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_color">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_bw">NotoEmoji-Regular.ttf</file>
<os name="Windows">
<file>meiryo.TTC</file>
<file>YuGothR.ttc</file>
@ -82,6 +83,11 @@
<file>TwemojiSVG.ttf</file>
</font>
<font name="EmojiBW"
comment="Name of emoji font">
<file>NotoEmoji-Regular.ttf</file>
</font>
<font name="Monospace"
comment="Name of monospace font">
<file>UbuntuMono-R.ttf</file>

View File

@ -66,7 +66,7 @@ LLAssetType::EType S32toAssetType(S32 assetindex)
return type;
}
void FSAssetBlacklist::initSingleton()
void FSAssetBlacklist::init()
{
mBlacklistFileName = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, "asset_blacklist.xml");
loadBlacklist();

View File

@ -44,7 +44,7 @@ class FSAssetBlacklist : public LLSingleton<FSAssetBlacklist>
LLSINGLETON_EMPTY_CTOR(FSAssetBlacklist);
public:
void initSingleton() override;
void init();
bool isBlacklisted(const LLUUID& id, LLAssetType::EType type);
void addNewItemToBlacklist(const LLUUID& id, const std::string& name, const std::string& region, LLAssetType::EType type, bool permanent = true, bool save = true);
void addNewItemToBlacklistData(const LLUUID& id, const LLSD& data, bool save = true);

View File

@ -972,8 +972,21 @@ BOOL FSFloaterIM::postBuild()
mEmojiRecentIconsCtrl->setCommitCallback([this](LLUICtrl*, const LLSD& value) { onRecentEmojiPicked(value); });
mEmojiRecentIconsCtrl->setVisible(false);
static bool usePrettyEmojiButton = gSavedSettings.getBOOL( "FSUsePrettyEmojiButton" );
static bool useBWEmojis = gSavedSettings.getBOOL( "FSUseBWEmojis" );
mEmojiPickerToggleBtn = getChild<LLButton>("emoji_picker_toggle_btn");
mEmojiPickerToggleBtn->setLabel(LLUIString(LLWString(1, 128512)));
if (usePrettyEmojiButton)
{
static auto emoji_btn_char = gSavedSettings.getU32("FSPrettyEmojiButtonCode");
mEmojiPickerToggleBtn->setImageOverlay(LLUUID::null);
mEmojiPickerToggleBtn->setFont(LLFontGL::getFontEmoji(useBWEmojis));
mEmojiPickerToggleBtn->setLabel(LLUIString(LLWString(1, emoji_btn_char)));
}
else
{
mEmojiPickerToggleBtn->setLabel(LLUIString(""));
mEmojiPickerToggleBtn->setImageOverlay("Emoji_Picker_Icon");
}
mEmojiPickerToggleBtn->setClickedCallback([this](LLUICtrl*, const LLSD&) { onEmojiPickerToggleBtnClicked(); });
mRecentEmojisUpdatedCallbackConnection = LLFloaterEmojiPicker::setRecentEmojisUpdatedCallback([this](const std::list<llwchar>& recent_emojis_list) { initEmojiRecentPanel(); });

View File

@ -161,8 +161,21 @@ BOOL FSFloaterNearbyChat::postBuild()
mEmojiRecentIconsCtrl->setCommitCallback([this](LLUICtrl*, const LLSD& value) { onRecentEmojiPicked(value); });
mEmojiRecentIconsCtrl->setVisible(false);
static bool usePrettyEmojiButton = gSavedSettings.getBOOL( "FSUsePrettyEmojiButton" );
static bool useBWEmojis = gSavedSettings.getBOOL( "FSUseBWEmojis" );
mEmojiPickerToggleBtn = getChild<LLButton>("emoji_picker_toggle_btn");
mEmojiPickerToggleBtn->setLabel(LLUIString(LLWString(1, 128512)));
if (usePrettyEmojiButton)
{
static auto emoji_btn_char = gSavedSettings.getU32("FSPrettyEmojiButtonCode");
mEmojiPickerToggleBtn->setImageOverlay(LLUUID::null);
mEmojiPickerToggleBtn->setFont(LLFontGL::getFontEmoji(useBWEmojis));
mEmojiPickerToggleBtn->setLabel(LLUIString(LLWString(1, emoji_btn_char)));
}
else
{
mEmojiPickerToggleBtn->setLabel(LLUIString(""));
mEmojiPickerToggleBtn->setImageOverlay("Emoji_Picker_Icon");
}
mEmojiPickerToggleBtn->setClickedCallback([this](LLUICtrl*, const LLSD&) { onEmojiPickerToggleBtnClicked(); });
mRecentEmojisUpdatedCallbackConnection = LLFloaterEmojiPicker::setRecentEmojisUpdatedCallback([this](const std::list<llwchar>& recent_emojis_list) { initEmojiRecentPanel(); });

View File

@ -128,7 +128,7 @@ public:
void initCmdLineGrids();
void resetGrids();
// grid list management
bool isReadyToLogin(){return mReadyToLogin;}
bool isReadyToLogin() const {return mReadyToLogin;}
// add a grid to the list of grids
void addGrid(const std::string& loginuri);

View File

@ -77,19 +77,19 @@ public:
void processAttach(LLViewerObject* object, const LLViewerJointAttachment* attachment);
void processDetach(LLViewerObject* object, const LLViewerJointAttachment* attachment);
bool getBridgeCreating() { return mBridgeCreating; };
bool getBridgeCreating() const { return mBridgeCreating; };
void setBridgeCreating(bool status) { mBridgeCreating = status; };
void setBridge(LLViewerInventoryItem* item) { mpBridge = item; };
LLViewerInventoryItem* getBridge() { return mpBridge; };
LLViewerInventoryItem* getBridge() const { return mpBridge; };
bool canUseBridge();
bool isBridgeValid() const { return nullptr != mpBridge; }
void checkBridgeScriptName();
std::string currentFullName() { return mCurrentFullName; }
std::string currentFullName() const { return mCurrentFullName; }
LLUUID getBridgeFolder() { return mBridgeFolderID; }
LLUUID getAttachedID() { return mBridgeUUID; }
LLUUID getBridgeFolder() const { return mBridgeFolderID; }
LLUUID getAttachedID() const { return mBridgeUUID; }
bool canDetach(const LLUUID& item_id);
@ -97,10 +97,10 @@ public:
void setTimerResult(TimerResult result);
// from LLVOInventoryListener
virtual void inventoryChanged(LLViewerObject* object,
LLInventoryObject::object_list_t* inventory,
S32 serial_num,
void* user_data);
void inventoryChanged(LLViewerObject* object,
LLInventoryObject::object_list_t* inventory,
S32 serial_num,
void* user_data) override;
private:
std::string mCurrentURL;

View File

@ -39,8 +39,6 @@ class FSNearbyChat : public LLSingleton<FSNearbyChat>
LLSINGLETON(FSNearbyChat);
~FSNearbyChat();
void sendMsg();
static S32 sLastSpecialChatChannel;
FSNearbyChatControl* mDefaultChatBar;

View File

@ -216,10 +216,6 @@ public:
void sendAvatarGroupsRequest(const LLUUID& avatar_id);
void sendAvatarTexturesRequest(const LLUUID& avatar_id);
void sendAvatarClassifiedsRequest(const LLUUID& avatar_id);
// <FS:Beq> enable legacy profile access for OpenSim to work with new profile
void sendGenericRequestLegacy(const LLUUID& avatar_id, EAvatarProcessorType type, const std::string method);
void sendAvatarPropertiesRequestLegacy(const LLUUID& avatar_id);
// </FS:Beq>
// Duplicate pick info requests are not suppressed.
void sendPickInfoRequest(const LLUUID& creator_id, const LLUUID& pick_id);

View File

@ -49,11 +49,11 @@ public:
~LLChicletBar();
// LLIMSessionObserver observe triggers
/*virtual*/ void sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id, BOOL has_offline_msg);
/*virtual*/ void sessionActivated(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id) {}
/*virtual*/ void sessionVoiceOrIMStarted(const LLUUID& session_id) {};
/*virtual*/ void sessionRemoved(const LLUUID& session_id);
/*virtual*/ void sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id);
/*virtual*/ void sessionAdded(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id, BOOL has_offline_msg) override;
/*virtual*/ void sessionActivated(const LLUUID& session_id, const std::string& name, const LLUUID& other_participant_id) override {}
/*virtual*/ void sessionVoiceOrIMStarted(const LLUUID& session_id) override {};
/*virtual*/ void sessionRemoved(const LLUUID& session_id) override;
/*virtual*/ void sessionIDUpdated(const LLUUID& old_session_id, const LLUUID& new_session_id) override;
S32 getTotalUnreadIMCount();

View File

@ -41,6 +41,7 @@
#include "llsdserialize.h"
#include "lltextbox.h"
#include "llviewerchat.h"
#include "llviewercontrol.h" // <FS:Beq/> Add B&W emoji font support
LLFloaterEmojiPicker::recent_emojis_updated_callback_t LLFloaterEmojiPicker::sRecentEmojisUpdatedCallback{}; // <FS:Ansariel> Live-update recently used emojis
@ -136,11 +137,15 @@ public:
virtual void draw() override
{
static LLCachedControl<bool> useBWEmojis(gSavedSettings, "FSUseBWEmojis", false); // <FS:Beq/> Add B&W emoji font support
LLScrollingPanel::draw();
F32 x = getRect().getWidth() / 2;
F32 y = getRect().getHeight() / 2;
LLFontGL::getFontEmoji()->render(
// <FS:Beq> Add B&W emoji font support
// LLFontGL::getFontEmoji()->render(
LLFontGL::getFontEmoji(useBWEmojis)->render(
// </FS:Beq>
mText, // wstr
0, // begin_offset
x, // x
@ -213,7 +218,11 @@ public:
protected:
void drawIcon(F32 x, F32 y, S32 max_pixels)
{
LLFontGL::getFontEmojiHuge()->render(
// <FS:Beq> Add B&W emoji font support
// LLFontGL::getFontEmojiHuge()->render(
static LLCachedControl<bool> useBWEmojis(gSavedSettings, "FSUseBWEmojis", false);
LLFontGL::getFontEmojiHuge( useBWEmojis )->render(
// </FS:Beq>
mWStr, // wstr
0, // begin_offset
x, // x
@ -229,9 +238,11 @@ protected:
void drawName(F32 x, F32 y, S32 max_pixels, LLColor4& color)
{
static LLCachedControl<bool> useBWEmojis(gSavedSettings, "FSUseBWEmojis", false); // <FS:Beq/> Add B&W emoji font support
F32 x0 = x;
F32 x1 = max_pixels;
LLFontGL* font = LLFontGL::getFontEmoji();
LLFontGL* font = LLFontGL::getFontEmoji( useBWEmojis ); // <FS:Beq/> Add B&W emoji font support
if (mBegin)
{
std::string text = mTitle.substr(0, mBegin);
@ -415,6 +426,7 @@ void LLFloaterEmojiPicker::initialize()
void LLFloaterEmojiPicker::fillGroups()
{
static LLCachedControl<bool> useBWEmojis(gSavedSettings, "FSUseBWEmojis", false); // <FS:Beq/> Add B&W emoji font support
// Do not use deleteAllChildren() because mBadge shouldn't be removed
for (LLButton* button : mGroupButtons)
{
@ -425,7 +437,7 @@ void LLFloaterEmojiPicker::fillGroups()
mGroupButtons.clear();
LLButton::Params params;
params.font = LLFontGL::getFontEmoji();
params.font = LLFontGL::getFontEmoji( useBWEmojis ); // <FS:Beq/> Add B&W emoji font support
LLRect rect;
rect.mTop = mGroups->getRect().getHeight();

View File

@ -31,6 +31,7 @@
#include "llpanelemojicomplete.h"
#include "llscrollbar.h"
#include "lluictrlfactory.h"
#include "llviewercontrol.h" // <FS:Beq/> Add B&W emoji font support
constexpr U32 MIN_MOUSE_MOVE_DELTA = 4;
constexpr U32 MIN_SHORT_CODE_WIDTH = 100;
@ -60,10 +61,14 @@ LLPanelEmojiComplete::LLPanelEmojiComplete(const LLPanelEmojiComplete::Params& p
, mMaxVisible(p.max_visible)
, mPadding(p.padding)
, mSelectedImage(p.selected_image)
, mIconFont(LLFontGL::getFontEmojiHuge())
// , mIconFont(LLFontGL::getFontEmojiHuge()) // <FS:Beq/> Add B&W emoji font support
, mTextFont(LLFontGL::getFontSansSerifBig())
, mScrollbar(nullptr)
{
// <FS:Beq> Add B&W emoji font support
static LLCachedControl<bool> useBWEmojis(gSavedSettings, "FSUseBWEmojis");
mIconFont = LLFontGL::getFontEmojiHuge( useBWEmojis );
// </FS:Beq>
if (mVertical)
{
LLScrollbar::Params sbparams;

View File

@ -1532,7 +1532,7 @@ bool idle_startup()
LLFile::mkdir(user_fonts_path_name.c_str());
// <FS:WS> Initalize Account based asset_blacklist
FSAssetBlacklist::instance();
FSAssetBlacklist::getInstance()->init();
// <FS:Techwolf Lupindo> load per grid data
FSData::instance().downloadAgents();

View File

@ -168,8 +168,8 @@ public:
static void pickCallback(const LLPickInfo& pick_info);
// <FS:Zi> Add middle mouse control for switching uniform scaling on the fly
virtual BOOL handleMiddleMouseDown(S32 x, S32 y, MASK mask);
virtual BOOL handleMiddleMouseUp(S32 x, S32 y, MASK mask);
virtual BOOL handleMiddleMouseDown(S32 x, S32 y, MASK mask) override;
virtual BOOL handleMiddleMouseUp(S32 x, S32 y, MASK mask) override;
// </FS:Zi>
};

View File

@ -48,8 +48,8 @@ public:
static void pickCallback(const LLPickInfo& pick_info);
// <FS:Zi> Add control to drag texture faces around
virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask);
virtual void stopGrabbing();
virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask) override;
void stopGrabbing();
static BOOL mTextureGrabbed;
static LLViewerObject* mTextureObject;

View File

@ -10935,7 +10935,6 @@ void handle_report_bug(const LLSD& param)
// <FS:Ansariel> Keep linking to out JIRA
//std::string url = gSavedSettings.getString("ReportBugURL");
//LLWeb::loadURLExternal(url);
LLUIString url(param.asString());
LLSD sysinfo = FSData::getSystemInfo();
LLStringUtil::format_map_t replace;
replace["[ENVIRONMENT]"] = LLURI::escape(sysinfo["Part1"].asString().substr(1) + sysinfo["Part2"].asString().substr(1));

View File

@ -209,7 +209,7 @@ public:
virtual void removeObserver(LLVoiceClientParticipantObserver* observer) override;
// <FS:Ansariel> Add callback for user volume change
boost::signals2::connection setUserVolumeUpdateCallback(const user_voice_volume_change_callback_t::slot_type& cb)
boost::signals2::connection setUserVolumeUpdateCallback(const user_voice_volume_change_callback_t::slot_type& cb) override
{
return mUserVolumeUpdateSignal.connect(cb);
}

View File

@ -19,12 +19,12 @@ class QToolAlign : public LLTool, public LLSingleton<QToolAlign>
virtual ~QToolAlign();
public:
virtual void handleSelect();
virtual void handleDeselect();
virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask);
virtual BOOL handleHover(S32 x, S32 y, MASK mask);
virtual void render();
virtual BOOL canAffectSelection();
virtual void handleSelect() override;
virtual void handleDeselect() override;
virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask) override;
virtual BOOL handleHover(S32 x, S32 y, MASK mask) override;
virtual void render() override;
BOOL canAffectSelection();
static void pickCallback(const LLPickInfo& pick_info);

View File

@ -41,7 +41,7 @@ class RlvInventory : public LLSingleton<RlvInventory>, public LLInventoryObserve
public:
// LLInventoryObserver override
/*virtual*/ void changed(U32 mask);
/*virtual*/ void changed(U32 mask) override;
/*
* #RLV Shared inventory

View File

@ -285,6 +285,11 @@ Standard 0. Größere Werte können nicht korrekt funktionieren.
<combo_item name="Medium" label="Mittel"/>
<combo_item name="Large" label="Groß"/>
</combo_box>
<text name="emoji_font_settings_label">
Emoji-Schrifteinstellungen: (erfordert Neustart)
</text>
<check_box label="Emojis in monochrom darstellen" name="FSUseBWEmojis"/>
<check_box label="Hübschen Emoji-Button verwenden" name="FSUsePrettyEmojiButton"/>
</panel>
</tab_container>
</panel>

View File

@ -147,6 +147,8 @@
<check_box label="Automatische Namensvorhersage in „Chat in der Nähe“-Eingabezeile aktivieren" name="FSChatbarNamePrediction"/>
<check_box name="AllowMUpose" label="„:“ als Synonym für &quot;/me&quot; verwenden"/>
<check_box name="AutoCloseOOC" label="((OOC))-Klammern automatisch schließen"/>
<check_box name="FSEnableEmojiWindowPopupWhileTyping" label="Automatisches Emoji-Auswahlfenster beim Chateingabe aktivieren"/>
<check_box name="FSShowEmojiButton" label="Emoji-Button in Eingabezeile für Lokaler Chat IM-Sitzungen anzeigen"/>
<check_box name="FSShowIMSendButton" label="Senden-Button in Eingabezeile für IM-Sitzungen anzeigen"/>
<check_box name="FSNearbyChatbar" label="Eingabezeile zum Fenster Lokaler Chat hinzufügen"/>
<check_box name="FSShowChatChannel" label="Kanalauswahl in Eingabezeile anzeigen"/>

View File

@ -655,27 +655,27 @@
auto_resize="false"
user_resize="false"
name="emoji_button_layout_panel"
width="35"
top="0"
bottom="-1">
width="37">
<button
follows="right|bottom"
bottom="23"
height="22"
bottom="-1"
height="24"
width="27"
font="EmojiBWLarge"
use_font_color="true"
font="EmojiLarge"
image_hover_unselected="Toolbar_Middle_Over"
image_selected="Toolbar_Middle_Selected"
image_unselected="Toolbar_Middle_Off"
image_overlay="Emoji_Picker_Icon"
right="-11"
label=""
left="0"
name="emoji_picker_toggle_btn"
tool_tip="Show emoji panel"
width="24"/>
/>
<button
follows="right|bottom"
bottom="23"
height="22"
bottom="-1"
height="24"
use_font_color="true"
font="EmojiLarge"
image_hover_unselected="Toolbar_Middle_Over"

View File

@ -276,24 +276,26 @@
auto_resize="false"
user_resize="false"
name="emoji_button_layout_panel"
width="35">
width="37">
<button
follows="right|bottom"
bottom="-1"
height="22"
font="EmojiLarge"
height="24"
width ="27"
font="EmojiBWLarge"
image_hover_unselected="Toolbar_Middle_Over"
image_selected="Toolbar_Middle_Selected"
image_unselected="Toolbar_Middle_Off"
image_overlay="Emoji_Picker_Icon"
right="-11"
label=""
left="0"
name="emoji_picker_toggle_btn"
tool_tip="Show emoji panel"
width="24"/>
/>
<button
follows="right|bottom"
bottom="-1"
height="22"
height="24"
use_font_color="true"
font="EmojiLarge"
image_hover_unselected="Toolbar_Middle_Over"

View File

@ -3,7 +3,8 @@
<font name="default" comment="default font files (global fallbacks)">
<file>DejaVuSans.ttf</file>
<file functor="is_emoji">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_color">TwemojiSVG.ttf</file>
<file functor="is_emoji_use_bw">NotoEmoji-Regular.ttf</file>
<os name="Windows">
<file>MSNeoGothic.ttf</file>
<file>meiryo.TTC</file>
@ -75,6 +76,11 @@
<file>TwemojiSVG.ttf</file>
</font>
<font name="EmojiBW"
comment="Name of Black and White emoji font">
<file>NotoEmoji-Regular.ttf</file>
</font>
<font name="Monospace"
comment="Name of monospace font">
<file>DejaVuSansMono.ttf</file>

View File

@ -1806,7 +1806,33 @@ Default 0. Larger values may not work well.
<combo_item name="Medium" value="Medium" label="Medium"/>
<combo_item name="Large" value="Large" label="Large"/>
</combo_box>
<text
top_pad="20"
left="10"
follows="left|top"
name="emoji_font_settings_label"
width="300">
Emoji Font Settings: (restart required for full effect)
</text>
<check_box
control_name="FSUseBWEmojis"
height="16"
label="Display emojis in monochrome"
layout="topleft"
left="15"
name="FSUseBWEmojis"
top_pad="13"
width="215" />
<check_box
disabled_control="FSUseBWEmojis"
control_name="FSUsePrettyEmojiButton"
height="16"
label="Use pretty Emoji button"
layout="topleft"
left="15"
name="FSUsePrettyEmojiButton"
top_pad="3"
width="215" />
<!-- not a live preview
<text
name="tooltip_textbox"
@ -1882,4 +1908,3 @@ Default 0. Larger values may not work well.
</panel>
</tab_container>
</panel>

View File

@ -905,6 +905,22 @@
top_pad="1"
height="16"
width="400" />
<check_box
layout="topleft"
top_pad="1"
height="16"
width="400"
control_name="FSEnableEmojiWindowPopupWhileTyping"
name="FSEnableEmojiWindowPopupWhileTyping"
label="Enable automatic emoji picker window while typing in chat bars"/>
<check_box
layout="topleft"
top_pad="1"
height="16"
width="400"
control_name="FSShowEmojiButton"
name="FSShowEmojiButton"
label="Show emoji button in chat bar for IM sessions and Nearby Chat"/>
<check_box
layout="topleft"
top_pad="1"

View File

@ -2,6 +2,7 @@
<chat_editor
name="chat_editor"
enable_tab_remove="false"
show_context_menu="true"
show_emoji_helper="true"
use_color="true"
/>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="emojipicker" title="Choisir un émoji">
<floater.string name="title_for_recently_used" value="Récemment utilisé"/>
<floater.string name="title_for_frequently_used" value="Souvent utilisé"/>
<text name="Dummy">
Aucun émoji sélectionné
</text>
</floater>

View File

@ -1,19 +1,45 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater show_title="true" name="panel_im">
<layout_stack name="ls_control_panel">
<layout_panel name="gprofile_panel"><button name="group_info_btn" tool_tip="Voir le profil de ce groupe"/></layout_panel>
<layout_panel name="profile_panel"><button name="view_profile_btn" tool_tip="Voir le profil de ce résident"/></layout_panel>
<layout_panel name="friend_panel"><button tool_tip="Devenir amis" name="add_friend_btn"/></layout_panel>
<layout_panel name="tp_panel"><menu_button name="teleport_btn" tool_tip="Offrir ou demander une téléportation"/></layout_panel>
<layout_panel name="share_panel"><button tool_tip="Envoyer un objet à ce résident" name="share_btn"/></layout_panel>
<layout_panel name="pay_panel"><button tool_tip="Envoyer de l'argent à ce résident" name="pay_btn"/></layout_panel>
<layout_panel name="call_btn_panel"><button tool_tip="Appel vocal" name="call_btn"/></layout_panel>
<layout_panel name="end_call_btn_panel"><button tool_tip="Raccrocher" name="end_call_btn"/></layout_panel>
<layout_panel name="voice_ctrls_btn_panel"><button tool_tip="Propriétés Audio" name="voice_ctrls_btn"/></layout_panel>
<layout_panel name="im_history_btn_panel"><button tool_tip="Afficher les dernières transcriptions de cette conversation." name="im_history_btn"/></layout_panel>
<layout_panel name="add_participant_panel"><button tool_tip="Invitez quelqu'un à cette conversation" name="add_participant_btn"/></layout_panel>
<layout_panel name="send_sysinfo_btn_panel"><button tool_tip="Envoyez system info" name="send_sysinfo_btn"/></layout_panel>
<layout_panel name="lp_options_btn"><menu_button tool_tip="Options du Chat" name="chat_options_btn"/></layout_panel>
<layout_panel name="gprofile_panel">
<button name="group_info_btn" tool_tip="Voir le profil de ce groupe"/>
</layout_panel>
<layout_panel name="profile_panel">
<button name="view_profile_btn" tool_tip="Voir le profil de ce résident"/>
</layout_panel>
<layout_panel name="friend_panel">
<button tool_tip="Devenir amis" name="add_friend_btn"/>
</layout_panel>
<layout_panel name="tp_panel">
<menu_button name="teleport_btn" tool_tip="Offrir ou demander une téléportation"/>
</layout_panel>
<layout_panel name="share_panel">
<button tool_tip="Envoyer un objet à ce résident" name="share_btn"/>
</layout_panel>
<layout_panel name="pay_panel">
<button tool_tip="Envoyer de l'argent à ce résident" name="pay_btn"/>
</layout_panel>
<layout_panel name="call_btn_panel">
<button tool_tip="Appel vocal" name="call_btn"/>
</layout_panel>
<layout_panel name="end_call_btn_panel">
<button tool_tip="Raccrocher" name="end_call_btn"/>
</layout_panel>
<layout_panel name="voice_ctrls_btn_panel">
<button tool_tip="Propriétés Audio" name="voice_ctrls_btn"/>
</layout_panel>
<layout_panel name="im_history_btn_panel">
<button tool_tip="Afficher les dernières transcriptions de cette conversation." name="im_history_btn"/>
</layout_panel>
<layout_panel name="add_participant_panel">
<button tool_tip="Invitez quelqu'un à cette conversation" name="add_participant_btn"/>
</layout_panel>
<layout_panel name="send_sysinfo_btn_panel">
<button tool_tip="Envoyez system info" name="send_sysinfo_btn"/>
</layout_panel>
<layout_panel name="lp_options_btn">
<menu_button tool_tip="Options du Chat" name="chat_options_btn"/>
</layout_panel>
<layout_panel name="support_panel" width="135">
<icon name="dummy_icon_support_group" width="133"/>
<check_box label="Spécifier la version" name="FSSupportGroupChatPrefix_toggle" tool_tip="Indique la version de votre Viewer et son thème au début de vos messages envoyés à ce groupe pour aider le diagnostic des équipes de support afin d'améliorer la précision des réponses à vos questions"/>
@ -27,7 +53,18 @@
</layout_panel>
<layout_panel name="chat_layout_panel">
<layout_stack name="input_panels">
<layout_panel name="input_button_layout_panel"><button name="send_chat" label="Envoyer" tool_tip="Envoyer l'IM"/></layout_panel>
<layout_panel name="emoji_button_layout_panel">
<button name="emoji_picker_toggle_btn" tool_tip="Affiche le panneau des émojis"/>
<button name="emoji_recent_panel_toggle_btn" tool_tip="Affiche/masque les émojis récents"/>
</layout_panel>
<layout_panel name="input_button_layout_panel">
<button name="send_chat" label="Envoyer" tool_tip="Envoyer l'IM"/>
</layout_panel>
<layout_panel name="emoji_recent_layout_panel">
<text name="emoji_recent_empty_text">
Les emojis récemment utilisés apparaîtront ici
</text>
</layout_panel>
</layout_stack>
</layout_panel>
</layout_stack>

View File

@ -14,7 +14,13 @@
</layout_panel>
<layout_panel name="chat_layout_panel">
<layout_stack name="input_panels">
<layout_panel name="input_button_layout_panel"><spinner name="ChatChannel" tool_tip="Canal dans lequel parler. Modifiable dans les Préférences -&gt; Conversations -&gt; Saisie -&gt; Afficher la sélection du canal de discussion."/></layout_panel>
<layout_panel name="emoji_button_layout_panel">
<button name="emoji_picker_toggle_btn" tool_tip="Affiche le panneau des émojis"/>
<button name="emoji_recent_panel_toggle_btn" tool_tip="Affiche/masque les émojis récents"/>
</layout_panel>
<layout_panel name="input_button_layout_panel">
<spinner name="ChatChannel" tool_tip="Canal dans lequel parler. Modifiable dans les Préférences -&gt; Conversations -&gt; Saisie -&gt; Afficher la sélection du canal de discussion."/>
</layout_panel>
<layout_panel name="chat_type_layout_panel" width="90">
<combo_box name="chat_type" tool_tip="Chuchoter = 10m, Parler = 20m, Crier = 100m">
<combo_box.item name="chat_type_whisper" label="Chuchoter"/>
@ -25,6 +31,11 @@
</layout_panel>
</layout_stack>
</layout_panel>
<layout_panel name="emoji_recent_layout_panel">
<text name="emoji_recent_empty_text">
Les émojis récemment utilisés apparaîtront ici
</text>
</layout_panel>
</layout_stack>
</layout_panel>
</layout_stack>

View File

@ -12,7 +12,18 @@
</layout_panel>
<layout_panel name="chat_layout_panel">
<layout_stack name="input_panels">
<layout_panel name="input_button_layout_panel"><button name="minz_btn" tool_tip="Affiche/Masque le panneau des messages"/></layout_panel>
<layout_panel name="input_editor_layout_panel">
<button name="emoji_recent_panel_toggle_btn" tool_tip="Affiche/masque les émojis récents"/>
</layout_panel>
<layout_panel name="input_button_layout_panel">
<button name="minz_btn" tool_tip="Affiche/Masque le panneau des messages"/>
</layout_panel>
<layout_panel name="emoji_recent_layout_panel">
<text name="emoji_recent_empty_text">
Les émojis récemment utilisés apparaîtront ici
</text>
<button name="emoji_picker_show_btn" label="Plus" tool_tip="Affiche/masque le sélecteur d'émojis"/>
</layout_panel>
</layout_stack>
</layout_panel>
</layout_stack>

View File

@ -14,6 +14,7 @@
<menu_item_check label="Afficher les notifications de nouveau message" name="new_message_notification"/>
<menu_item_check label="Afficher la barre de chat" name="show_chat_bar"/>
<menu_item_check label="Afficher la sélection du canal" name="show_channel_selection"/>
<menu_item_check label="Afficher le bouton émoji" name="show_emoji_button"/>
<menu_item_check label="Afficher le boutons Chuchoter / Parler / Crier" name="show_send_button"/>
<menu_item_check label="Afficher le bouton Envoyer dans les IM" name="show_im_send_button"/>
</toggleable_menu>

View File

@ -16,6 +16,11 @@
<menu label="Débogage" name="Debug">
<menu_item_call label="Afficher les paramètres de débogage" name="Debug Settings"/>
<menu_item_call label="Outil de prévisualisation XUI" name="UI Preview Tool"/>
<menu label="Polices" name="Fonts">
<menu_item_call label="Afficher le test de police" name="Show Font Test"/>
<menu_item_call label="Vider les polices" name="Dump Fonts"/>
<menu_item_call label="Vider les textures des polices" name="Dump Font Textures"/>
</menu>
<menu label="Tests d'interface" name="UI Tests">
<menu_item_call label="Zone de texte" name="Textbox"/>
<menu_item_call label="Éditeur de texte" name="Text Editor"/>

View File

@ -504,6 +504,8 @@
<menu_item_call label="Test du navigateur de médias" name="Web Browser Test"/>
<menu_item_check label="Test de redémarrage de la région..." name="Region Restart Test"/>
<menu_item_call label="Navigateur de contenus Web" name="Web Content Browser"/>
<menu_item_call label="Vider les polices" name="Dump Fonts"/>
<menu_item_call label="Vider les textures des polices" name="Dump Font Textures"/>
<menu_item_call label="Test de connexion FB" name="FB Connect Test"/>
<menu_item_call label="Dump SelectMgr" name="Dump SelectMgr"/>
<menu_item_call label="Dump inventaire" name="Dump Inventory"/>
@ -516,6 +518,7 @@
<menu_item_check label="Débogage SelectMgr" name="Debug SelectMgr"/>
<menu_item_check label="Débogage clics" name="Debug Clicks"/>
<menu_item_check label="Débogage des vues" name="Debug Views"/>
<menu_item_check label="Déboguer l'Unicode" name="Debug Unicode"/>
<menu_item_check label="Débogage des info-bulles de noms" name="Debug Name Tooltips"/>
<menu_item_check label="Débogage des événements de souris" name="Debug Mouse Events"/>
<menu_item_check label="Débogage touches" name="Debug Keys"/>

View File

@ -158,6 +158,7 @@
<check_box label="Afficher les toasts au premier plan" name="FSShowToastsInFront"/>
<check_box label="Utiliser la nouvelle notification de redémarrage de région" name="FSUseNewRegionRestartNotification"/>
<check_box label="Ne pas secouer l'écran lorsqu'une notification de redémarrage de région est affichée" name="FSNoScreenShakeOnRegionRestart"/>
<check_box label="Canal d'infos redémarrage région :" name="FSReportRegionRestartToChat"/>
</panel>
<panel label="Police" name="UI-font-tab">
<text name="tooltip_textbox1">Police d'écriture :</text>
@ -188,6 +189,11 @@
<combo_item name="Medium" label="Moyenne"/>
<combo_item name="Large" label="Grande"/>
</combo_box>
<text name="emoji_font_settings_label">
Paramétrage de la police Emoji : (redémarrage nécessaire pour un effet complet)
</text>
<check_box label="Afficher les emojis en monochrome :" name="FSUseBWEmojis"/>
<check_box label="Utiliser le joli bouton Emoji :" name="FSUsePrettyEmojiButton"/>
</panel>
</tab_container>
</panel>

View File

@ -113,7 +113,9 @@
<check_box name="FSChatbarNamePrediction" label="Activer l'autocomplétion des noms dans le Chat local"/>
<check_box name="AllowMUpose" label="':' est un synonyme pour '/me'"/>
<check_box name="AutoCloseOOC" label="Fermer automatiquement les doubles parenthèses ((OOC))"/>
<check_box name="FSShowIMSendButton" label="Afficher le bouton envoyer dans les conversations privées"/>
<check_box name="FSEnableEmojiWindowPopupWhileTyping" label="Activer la fenêtre de sélection auto des émojis lors de la saisie dans la barre de chat"/>
<check_box name="FSShowEmojiButton" label="Afficher le bouton emoji dans la barre de chat pour les IM et les discussions de proximité"/>
<check_box name="FSShowIMSendButton" label="Afficher le bouton d'envoi dans la barre de chat pour les sessions d'IM"/>
<check_box name="FSNearbyChatbar" label="Afficher une zone de saisie dans la fenêtre du Chat local"/>
<check_box name="FSShowChatChannel" label="Afficher la sélection du numéro canal dans la fenêtre du Chat local"/>
<check_box name="FSShowChatType" label="Afficher un bouton Parler / Chuchoter / Crier dans la fenêtre du Chat local"/>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="emojipicker" title="Scegli Emoji">
<floater.string name="title_for_recently_used" value="Usate di recente"/>
<floater.string name="title_for_frequently_used" value="Usate di frequente"/>
<text name="Dummy">
Nessuna emoji selezionata
</text>
</floater>

View File

@ -62,9 +62,18 @@
</layout_panel>
<layout_panel name="chat_layout_panel">
<layout_stack name="input_panels">
<layout_panel name="emoji_button_layout_panel">
<button name="emoji_picker_toggle_btn" tool_tip="Mostra pannello emoji" />
<button name="emoji_recent_panel_toggle_btn" tool_tip="Mostra/nascondi emoji recenti" />
</layout_panel>
<layout_panel name="input_button_layout_panel">
<button name="send_chat" label="Invia" tool_tip="Invia un messaggio IM" />
</layout_panel>
<layout_panel name="emoji_recent_layout_panel">
<text name="emoji_recent_empty_text">
Le emoji usate di recente verranno visualizzate qui
</text>
</layout_panel>
</layout_stack>
</layout_panel>
</layout_stack>

View File

@ -27,6 +27,10 @@
</layout_panel>
<layout_panel name="chat_layout_panel">
<layout_stack name="input_panels">
<layout_panel name="emoji_button_layout_panel">
<button name="emoji_picker_toggle_btn" tool_tip="Mostra pannello emoji" />
<button name="emoji_recent_panel_toggle_btn" tool_tip="Mostra/nascondi emoji recenti" />
</layout_panel>
<layout_panel name="input_button_layout_panel">
<spinner name="ChatChannel" tool_tip="Canale a cui inviare i messaggi. Abilitare in Preferenze -> Chat -> Scrittura -> Selezione canale nella barra chat"/>
</layout_panel>
@ -40,6 +44,11 @@
</layout_panel>
</layout_stack>
</layout_panel>
<layout_panel name="emoji_recent_layout_panel">
<text name="emoji_recent_empty_text">
Le emoji usate di recente verranno visualizzate qui
</text>
</layout_panel>
</layout_stack>
</layout_panel>
</layout_stack>

View File

@ -21,11 +21,19 @@
</layout_panel>
<layout_panel name="chat_layout_panel">
<layout_stack name="input_panels">
<layout_panel name="input_editor_layout_panel">
<button name="emoji_recent_panel_toggle_btn" tool_tip="Mostra/nascondi emoji recenti" />
</layout_panel>
<layout_panel name="input_button_layout_panel">
<button name="minz_btn" tool_tip="Mostra/nascondi pannello messaggi"/>
</layout_panel>
</layout_stack>
</layout_panel>
<layout_panel name="emoji_recent_layout_panel">
<text name="emoji_recent_empty_text">
Le emoji usate di recente verranno visualizzate qui
</text>
</layout_panel>
</layout_stack>
</view>
</floater>

View File

@ -15,6 +15,7 @@
<menu_item_check label="Mostra notifiche per i nuovi messaggi" name="new_message_notification" />
<menu_item_check label="Mostra la barra della chat" name="show_chat_bar" />
<menu_item_check label="Mostra Seleziona Canale" name="show_channel_selection" />
<menu_item_check label="Mostra il pulsante Emoji" name="show_emoji_button" />
<menu_item_check label="Mostra tipo di Chat / pulsante Invio" name="show_send_button" />
<menu_item_check label="Mostra il pulsante Invio nelle sessioni IM" name="show_im_send_button" />
</toggleable_menu>

View File

@ -25,6 +25,11 @@
<menu label="Debug" name="Debug">
<menu_item_call label="Impostazioni di debug" name="Debug Settings"/>
<menu_item_call label="Strumento anteprima XUI" name="UI Preview Tool"/>
<menu label="Caratteri" name="Fonts">
<menu_item_call label="Mostra test carattere" name="Show Font Test" />
<menu_item_call label="Scarica caratteri" name="Dump Fonts" />
<menu_item_call label="Scarica texture dei caratteri" name="Dump Font Textures" />
</menu>
<menu label="Test interfaccia utente" name="UI Tests"/>
<menu_item_call label="Imposta dimensioni della finestra..." name="Set Window Size..."/>
<menu_item_call label="Mostra i Termini del servizio (TOS)" name="TOS"/>

View File

@ -542,25 +542,28 @@
<menu_item_call label="Scarica Simulator Features to Nearby Chat" name="DumpSimFeaturesToChat"/>
</menu>
<menu label="UI" name="UI">
<menu_item_call label="Test Media browser" name="Web Browser Test"/>
<menu_item_check label="Test riavvio regione..." name="Region Restart Test"/>
<menu_item_call label="Web Content Browser" name="Web Content Browser"/>
<menu_item_call label="Test browser multimediale" name="Web Browser Test"/>
<menu_item_check label="Test riavvio regione" name="Region Restart Test"/>
<menu_item_call label="Browser contenuti web" name="Web Content Browser"/>
<menu_item_call label="Scarica caratteri" name="Dump Fonts" />
<menu_item_call label="Scarica texture dei caratteri" name="Dump Font Textures" />
<menu_item_call label="Test connessione FB" name="FB Connect Test"/>
<menu_item_call label="Scarica SelectMgr" name="Dump SelectMgr"/>
<menu_item_call label="Scarica Inventario" name="Dump Inventory"/>
<menu_item_call label="Scarica Timers" name="Dump Timers"/>
<menu_item_call label="Scarica Focus Holder" name="Dump Focus Holder"/>
<menu_item_call label="Scarica inventario" name="Dump Inventory"/>
<menu_item_call label="Scarica timers" name="Dump Timers"/>
<menu_item_call label="Scarica punto focale" name="Dump Focus Holder"/>
<menu_item_call label="Stampa info oggetto selezionato" name="Print Selected Object Info"/>
<menu_item_call label="Stampa info agente" name="Print Agent Info"/>
<menu_item_check label="Doppio clic Auto-Pilota" name="Double-ClickAuto-Pilot"/>
<menu_item_check label="Doppio clic Teleport" name="DoubleClick Teleport"/>
<menu_item_check label="Debug SelectMgr" name="Debug SelectMgr"/>
<menu_item_check label="Debug clic" name="Debug Clicks"/>
<menu_item_check label="Debug viste" name="Debug Views"/>
<menu_item_check label="Debug Name Tooltips" name="Debug Name Tooltips"/>
<menu_item_check label="Debug visualizzazione" name="Debug Views"/>
<menu_item_check label="Debug Unicode" name="Debug Unicode" />
<menu_item_check label="Debug suggerimenti sul nome" name="Debug Name Tooltips"/>
<menu_item_check label="Debug eventi mouse" name="Debug Mouse Events"/>
<menu_item_check label="Debug tasti" name="Debug Keys"/>
<menu_item_check label="Debug Window Process" name="Debug WindowProc"/>
<menu_item_check label="Debug processi finestra" name="Debug WindowProc"/>
</menu>
<menu label="XUI" name="XUI">
<menu_item_call label="Ricarica impostazioni colori" name="Reload Color Settings"/>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="emojipicker" title="Wybierz emoji">
<floater.string name="title_for_recently_used" value="Ostatnio używane"/>
<floater.string name="title_for_frequently_used" value="Często używane"/>
<text name="Dummy">
Nie wybrano emoji
</text>
</floater>

View File

@ -62,9 +62,18 @@
</layout_panel>
<layout_panel name="chat_layout_panel">
<layout_stack name="input_panels">
<layout_panel name="emoji_button_layout_panel">
<button name="emoji_picker_toggle_btn" tool_tip="Pokaż panel emoji" />
<button name="emoji_recent_panel_toggle_btn" tool_tip="Pokaż/ukryj ostatnie emoji" />
</layout_panel>
<layout_panel name="input_button_layout_panel">
<button name="send_chat" label="Wyślij" tool_tip="Wyślij wiadomość IM" />
</layout_panel>
<layout_panel name="emoji_recent_layout_panel">
<text name="emoji_recent_empty_text">
Tutaj pojawią się ostatnio używane emoji
</text>
</layout_panel>
</layout_stack>
</layout_panel>
</layout_stack>

View File

@ -27,6 +27,10 @@
</layout_panel>
<layout_panel name="chat_layout_panel">
<layout_stack name="input_panels">
<layout_panel name="emoji_button_layout_panel">
<button name="emoji_picker_toggle_btn" tool_tip="Pokaż panel emoji" />
<button name="emoji_recent_panel_toggle_btn" tool_tip="Pokaż/ukryj ostatnie emoji" />
</layout_panel>
<layout_panel name="input_button_layout_panel">
<spinner name="ChatChannel" tool_tip="Kanał, na jaki wiadomość na zostać wysłana. Włączone w Ustawienia -> Czat -> Firestorm -> Oferuj ręczny wybór kanału w pasku czatu."/>
</layout_panel>
@ -40,6 +44,11 @@
</layout_panel>
</layout_stack>
</layout_panel>
<layout_panel name="emoji_recent_layout_panel">
<text name="emoji_recent_empty_text">
Tutaj pojawią się ostatnio używane emoji
</text>
</layout_panel>
</layout_stack>
</layout_panel>
</layout_stack>

View File

@ -21,11 +21,19 @@
</layout_panel>
<layout_panel name="chat_layout_panel">
<layout_stack name="input_panels">
<layout_panel name="input_editor_layout_panel">
<button name="emoji_recent_panel_toggle_btn" tool_tip="Pokaż/ukryj ostatnie emoji" />
</layout_panel>
<layout_panel name="input_button_layout_panel">
<button name="minz_btn" tool_tip="Pokaż/ukryj panel wiadomości" />
</layout_panel>
</layout_stack>
</layout_panel>
<layout_panel name="emoji_recent_layout_panel">
<text name="emoji_recent_empty_text">
Tutaj pojawią się ostatnio używane emoji
</text>
</layout_panel>
</layout_stack>
</view>
</floater>

View File

@ -15,6 +15,7 @@
<menu_item_check label="Informuj o nowych wiadomościach" name="new_message_notification" />
<menu_item_check label="Pokaż pasek czatu" name="show_chat_bar" />
<menu_item_check label="Pokaż wybrany kanał" name="show_channel_selection" />
<menu_item_check label="Pokaż przycisk emoji" name="show_emoji_button" />
<menu_item_check label="Pokaż typ czatu / przycisk wysyłania" name="show_send_button" />
<menu_item_check label="Pokaż przycisk wysyłania w sesjach IM" name="show_im_send_button" />
</toggleable_menu>

View File

@ -25,6 +25,11 @@
<menu label="Debugowanie" name="Debug">
<menu_item_call label="Pokaż ustawienia debugowania" name="Debug Settings"/>
<menu_item_call label="Narzędzie podglądu XUI" name="UI Preview Tool"/>
<menu label="Czcionki" name="Fonts">
<menu_item_call label="Pokaż test czcionek" name="Show Font Test" />
<menu_item_call label="Zrzuć czcionki" name="Dump Fonts" />
<menu_item_call label="Zrzuć tekstury czcionek" name="Dump Font Textures" />
</menu>
<menu label="Testy interfejsu" name="UI Tests"/>
<menu_item_call label="Ustaw rozmiar okna..." name="Set Window Size..."/>
<menu_item_call label="Pokaż warunki użytkowania" name="TOS"/>

View File

@ -554,6 +554,8 @@
<menu_item_call label="Test przeglądarki mediów" name="Web Browser Test"/>
<menu_item_check label="Test restartu regionu" name="Region Restart Test"/>
<menu_item_call label="Przeglądarka treści internetowych" name="Web Content Browser"/>
<menu_item_call label="Zrzuć czcionki" name="Dump Fonts" />
<menu_item_call label="Zrzuć tekstury czcionek" name="Dump Font Textures" />
<menu_item_call label="Zrzut SelectMgr" name="Dump SelectMgr"/>
<menu_item_call label="Zrzut Szafy" name="Dump Inventory"/>
<menu_item_call label="Zrzut liczników" name="Dump Timers"/>
@ -565,6 +567,7 @@
<menu_item_check label="Debuguj SelectMgr" name="Debug SelectMgr"/>
<menu_item_check label="Debuguj kliknięcia" name="Debug Clicks"/>
<menu_item_check label="Debuguj widoki" name="Debug Views"/>
<menu_item_check label="Debuguj Unicode" name="Debug Unicode" />
<menu_item_check label="Debuguj chmurki dla podpowiedzi nazw" name="Debug Name Tooltips"/>
<menu_item_check label="Debuguj zdarzenia myszy" name="Debug Mouse Events"/>
<menu_item_check label="Debuguj klawisze" name="Debug Keys"/>

View File

@ -263,6 +263,11 @@ Domyślnie 0. Większa wartość może sprawiać kłopoty.
<combo_item name="Medium" label="Średnia" />
<combo_item name="Large" label="Duża" />
</combo_box>
<text name="emoji_font_settings_label">
Ustawienia czcionki emoji: (wymaga restartu)
</text>
<check_box label="Wyświetlaj emoji monochromatycznie" name="FSUseBWEmojis" />
<check_box label="Użyj ładnego przycisku emoji" name="FSUsePrettyEmojiButton" />
</panel>
</tab_container>
</panel>

View File

@ -141,7 +141,9 @@
<check_box label="Włącz automatyczne odgadywanie imion w pasku czatu w pobliżu" name="FSChatbarNamePrediction"/>
<check_box name="AllowMUpose" label="&quot;:&quot; synonimem dla &quot;/me&quot;"/>
<check_box name="AutoCloseOOC" label="Domykaj ((nawiasy)) dla czatu OOC"/>
<check_box name="FSShowIMSendButton" label="Pokaż przycisk wysyłania wiadomości w pasku czatu dla sesji IM"/>
<check_box name="FSEnableEmojiWindowPopupWhileTyping" label="Automatyczne wyświetlanie okna wyboru emoji podczas pisania w paskach czatu"/>
<check_box name="FSShowEmojiButton" label="Przycisk emoji w pasku czatu dla sesji IM i czatu w pobliżu"/>
<check_box name="FSShowIMSendButton" label="Przycisk wysyłania wiadomości w pasku czatu dla sesji IM"/>
<check_box name="FSNearbyChatbar" label="Dodaj pasek czatu do okna czatu w pobliżu"/>
<check_box name="FSShowChatChannel" label="Oferuj ręczny wybór kanału w pasku czatu"/>
<check_box name="FSShowChatType" label="Pokaż typ czatu i przycisk wysyłania"/>

View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater name="emojipicker" title="Выберите эмодзи">
<floater.string name="title_for_recently_used" value="Недавно использованный"/>
<floater.string name="title_for_frequently_used" value="Часто используемый"/>
<text name="Dummy">Эмодзи не выбраны</text>
</floater>

View File

@ -49,14 +49,15 @@
<!-- Checkbox for FS prefix on support groups -->
<layout_panel name="support_panel">
<check_box label="Добавить версию" name="FSSupportGroupChatPrefix_toggle" tool_tip="Добавляет текущую версию клиента и информацию о теме в сообщения, отправленные вами в этой группе. Данная информация поможет сотрудникам поддержки в правильной диагностике Ваших проблем и повышения точности ответов на ваши вопросы"/>
<check_box label="Добавить версию" name="FSSupportGroupChatPrefix_toggle" tool_tip="Добавляет текущую версию и внешний вид программы просмотра, операционную систему и статус RLVa в начало сообщений, отправляемых вами в эту группу, что поможет сотрудникам службы поддержки правильно диагностировать ваши проблемы и повысить точность ответов на ваши вопросы"/>
</layout_panel>
<layout_panel name="testing_panel">
<check_box label="Добавить сборку" name="FSSupportGroupChatPrefixTesting_toggle"
tool_tip="Добавляет текущую версию, тему, операционную систему и состояние RLVa в начало сообщений, отправленных вами этой группе, что поможет персоналу службы поддержки правильно диагностировать ваши проблемы и повысить точность ответов на ваши вопросы. (Это отдельно от групп поддержки)"/>
tool_tip="Добавляет текущую версию и внешний вид программы просмотра, операционную систему и статус RLVa в начало сообщений, отправляемых вами в эту группу, что поможет сотрудникам службы поддержки правильно диагностировать ваши проблемы и повысить точность ответов на ваши вопросы. (Это отдельно от групп поддержки)"/>
</layout_panel>
<!-- END: FS Prefix -->
</layout_stack>
<layout_stack name="chat_stack">
<layout_panel name="panel_im_control_lp">
<layout_stack name="im_panels">
@ -67,11 +68,18 @@
</layout_panel>
<layout_panel name="chat_layout_panel">
<layout_stack name="input_panels">
<layout_panel name="emoji_button_layout_panel">
<button name="emoji_picker_toggle_btn" tool_tip="Показать панель эмодзи"/>
<button name="emoji_recent_panel_toggle_btn" tool_tip="Показывает/скрывает последние эмодзи"/>
</layout_panel>
<layout_panel name="input_button_layout_panel">
<button name="send_chat" label="Отправить" tool_tip="Отправляет сообщение" />
</layout_panel>
</layout_stack>
</layout_panel>
<layout_panel name="emoji_recent_layout_panel">
<text name="emoji_recent_empty_text">Здесь появятся недавно использованные эмодзи</text>
</layout_panel>
</layout_stack>
</layout_panel>
</layout_stack>

View File

@ -33,6 +33,10 @@
<layout_panel name="input_editor_layout_panel">
<chat_editor name="chat_box" />
</layout_panel>
<layout_panel name="emoji_button_layout_panel">
<button name="emoji_picker_toggle_btn" tool_tip="Показать панель эмодзи"/>
<button name="emoji_recent_panel_toggle_btn" tool_tip="Показывает/скрывает последние эмодзи"/>
</layout_panel>
<layout_panel name="input_button_layout_panel">
<spinner name="ChatChannel" tool_tip="Канал отправки в чат. Включается в Настройки → Чат -> Печать -> Показать выбор канала в строке ввода общего чата." />
</layout_panel>
@ -47,6 +51,9 @@
</layout_panel>
</layout_stack>
</layout_panel>
<layout_panel name="emoji_recent_layout_panel">
<text name="emoji_recent_empty_text">Здесь появятся недавно использованные эмодзи</text>
</layout_panel>
</layout_stack>
</layout_panel>
</layout_stack>

View File

@ -34,13 +34,18 @@
<layout_panel name="chat_layout_panel">
<layout_stack name="input_panels">
<layout_panel name="input_editor_layout_panel">
<chat_editor label="Кому" name="chat_editor"/>
<button name="emoji_recent_panel_toggle_btn" tool_tip="Показывает/скрывает последние эмодзи"/>
</layout_panel>
<layout_panel name="input_button_layout_panel">
<button name="minz_btn" tool_tip="Показать/скрыть панель сообщений"/>
</layout_panel>
</layout_stack>
</layout_panel>
<layout_panel name="emoji_recent_layout_panel">
<text name="emoji_recent_empty_text">Здесь появятся недавно использованные эмодзи</text>
<emoji_complete name="emoji_recent_icons_ctrl"/>
<button name="emoji_picker_show_btn" label="Еще" tool_tip="Показывает/скрывает средство выбора эмодзи"/>
</layout_panel>
</layout_stack>
</view>
</floater>

View File

@ -15,6 +15,7 @@
<menu_item_check label="Показать оповещение новых сообщений" name="new_message_notification"/>
<menu_item_check label="Показать строку набора" name="show_chat_bar"/>
<menu_item_check label="Показать выбор канала" name="show_channel_selection"/>
<menu_item_check label="Показать кнопку эмодзи" name="show_emoji_button"/>
<menu_item_check label="Показать кнопку Тип/Отправка" name="show_send_button"/>
<menu_item_check label="Показать кнопку Отправить в ЛС" name="show_im_send_button"/>
</toggleable_menu>

View File

@ -26,6 +26,11 @@
<menu label="Отладка" name="Debug">
<menu_item_call label="Показать настройки отладки" name="Debug Settings"/>
<menu_item_call label="Инструменты просмотра XUI" name="UI Preview Tool"/>
<menu label="Шрифты" name="Fonts">
<menu_item_call label="Показать тест шрифта" name="Show Font Test"/>
<menu_item_call label="Дамп шрифтов" name="Dump Fonts"/>
<menu_item_call label="Дамп текстур шрифтов" name="Dump Font Textures"/>
</menu>
<menu label="Тесты интерфейса" name="UI Tests"/>
<menu_item_call label="Установить размер окна..." name="Set Window Size..."/>
<menu_item_call label="Показать условия использования (ТОS)" name="TOS"/>

View File

@ -593,6 +593,8 @@
<menu_item_call label="Тест браузера для просмотра медиа" name="Web Browser Test"/>
<menu_item_check label="Тест перезапуска региона..." name="Region Restart Test"/>
<menu_item_call label="Браузер Web содержимого" name="Web Content Browser"/>
<menu_item_call label="Дамп шрифтов" name="Dump Fonts"/>
<menu_item_call label="Дамп текстур шрифтов" name="Dump Font Textures"/>
<menu_item_call label="Тест соединения с Facebook" name="FB Connect Test"/>
<menu_item_call label="Дамп SelectMgr" name="Dump SelectMgr"/>
<menu_item_call label="Дамп инвентаря" name="Dump Inventory"/>

View File

@ -275,6 +275,11 @@
<combo_item name="Medium" label="Средний"/>
<combo_item name="Large" label="Крупный"/>
</combo_box>
<text name="emoji_font_settings_label">
Настройки шрифта Эмодзи: (требуется перезапуск)
</text>
<check_box name="FSUseBWEmojis" label="Отображать эмодзи монохромно"/>
<check_box name="FSUsePrettyEmojiButton" label="Использовать красивую кнопку Эмодзи"/>
</panel>
</tab_container>
</panel>

View File

@ -141,6 +141,8 @@
<check_box label="Включить автоматическую подстановку имени в общем чате" name="FSChatbarNamePrediction"/>
<check_box name="AllowMUpose" label="&quot;:&quot; как синоним для &quot;/me&quot;"/>
<check_box name="AutoCloseOOC" label="Закрывает ((скобки)) для чата OOC"/>
<check_box name="FSEnableEmojiWindowPopupWhileTyping" label="Включите окно автоматического выбора эмодзи при вводе текста в панелях чата"/>
<check_box name="FSShowEmojiButton" label="Показывать кнопку эмодзи в панелях чата и сеансов обмена сообщениями"/>
<check_box name="FSShowIMSendButton" label="Показать кнопку отправки в строке набора для ЛС"/>
<check_box name="FSNearbyChatbar" label="Добавить строку ввода в окно общего чата"/>
<check_box name="FSShowChatChannel" label="Показать выбор канала в окне общего чата"/>
@ -269,15 +271,15 @@
<text name="FSCmdLineClearChat_txt">
Очистить историю чата
</text>
<line_editor tool_tip="Czyści logi czatu, aby zapobiec lagom pochodzącym od spamerów." name="FSCmdLineClearChat" />
<line_editor tool_tip="Очищает расшифровку чата, чтобы предотвратить эффект задержки от спамеров в чате." name="FSCmdLineClearChat" />
<text name="FSCmdLineMedia_txt">
Установить url для медиа
</text>
<line_editor tool_tip="Ustawia i odtwarza strumień mediów dla podanego URL" name="FSCmdLineMedia" />
<line_editor tool_tip="Устанавливает и воспроизводит ваш медиапоток по введенному URL-адресу" name="FSCmdLineMedia" />
<text name="FSCmdLineMusic_txt">
Установить url для потоковой музыки
</text>
<line_editor tool_tip="Ustawia i odtwarza strumień muzyki dla podanego URL" name="FSCmdLineMusic" />
<line_editor tool_tip="устанавливает и воспроизводит ваш музыкальный поток по введенному URL-адресу" name="FSCmdLineMusic" />
<text name="FSCmdLineRezPlatform_txt">
Выложить платформу (0 - 64)
</text>

View File

@ -449,7 +449,7 @@
top="0"
left_delta="5"
name="FSSupportGroupChatPrefix_toggle"
tool_tip="Adds your current viewer version and skin information to the front of messages sent by you to this group which will assist support staff in correctly diagnosing your issues and improve accuracy in answering your questions"
tool_tip="Adds current viewer version, viewer skin, operating system and RLVa status to the front of messages sent by you to this group which will assist support staff in correctly diagnosing your issues and improve accuracy in answering your questions"
width="110" />
</layout_panel>
<layout_panel
@ -470,7 +470,7 @@
top="0"
left_delta="5"
name="FSSupportGroupChatPrefixTesting_toggle"
tool_tip="Adds your current viewer build and skin information to the front of messages sent by you to this group which will assist support staff in correctly diagnosing your issues and improve accuracy in answering your questions. (This is seperate from the support groups)"
tool_tip="Adds current viewer version, viewer skin, operating system and RLVa status to the front of messages sent by you to this group which will assist support staff in correctly diagnosing your issues and improve accuracy in answering your questions. (This is seperate from the support groups)"
width="110" />
</layout_panel>
<!-- END: FS Prefix -->
@ -603,6 +603,44 @@
right="-2"
wrap="true" />
</layout_panel>
<layout_panel
visibility_control="FSShowEmojiButton"
auto_resize="false"
user_resize="false"
name="emoji_button_layout_panel"
width="35"
top="0"
bottom="-1">
<button
follows="right|bottom"
bottom="23"
height="22"
use_font_color="true"
font="EmojiLarge"
image_hover_unselected="Toolbar_Middle_Over"
image_selected="Toolbar_Middle_Selected"
image_unselected="Toolbar_Middle_Off"
image_overlay="Emoji_Picker_Icon"
right="-11"
name="emoji_picker_toggle_btn"
tool_tip="Show emoji panel"
width="24"/>
<button
follows="right|bottom"
bottom="23"
height="22"
use_font_color="true"
font="EmojiLarge"
image_hover_unselected="Toolbar_Middle_Over"
image_selected="Toolbar_Middle_Selected"
image_unselected="Toolbar_Middle_Off"
image_overlay="Arrow_Down"
right="-1"
name="emoji_recent_panel_toggle_btn"
tool_tip="Shows/hides recent emojis"
left_pad="0"
width="10"/>
</layout_panel>
<layout_panel
visibility_control="FSShowIMSendButton"
auto_resize="false"
@ -624,6 +662,31 @@
</layout_panel>
</layout_stack>
</layout_panel>
<layout_panel
name="emoji_recent_layout_panel"
height="28"
auto_resize="false">
<text
name="emoji_recent_empty_text"
follows="top|left|right"
layout="topleft"
h_pad="20"
v_pad="5"
top="0"
left="5"
right="-1"
height="25"
>Recently used emojis will appear here</text>
<emoji_complete
name="emoji_recent_icons_ctrl"
follows="top|left|right"
layout="topleft"
max_visible="20"
top="0"
left="5"
right="-1"
height="25"/>
</layout_panel>
</layout_stack>
</layout_panel>
</layout_stack>

View File

@ -252,6 +252,41 @@
right="-4"
wrap="true" />
</layout_panel>
<layout_panel
visibility_control="FSShowEmojiButton"
auto_resize="false"
user_resize="false"
name="emoji_button_layout_panel"
width="35">
<button
follows="right|bottom"
bottom="-1"
height="22"
font="EmojiLarge"
image_hover_unselected="Toolbar_Middle_Over"
image_selected="Toolbar_Middle_Selected"
image_unselected="Toolbar_Middle_Off"
image_overlay="Emoji_Picker_Icon"
right="-11"
name="emoji_picker_toggle_btn"
tool_tip="Show emoji panel"
width="24"/>
<button
follows="right|bottom"
bottom="-1"
height="22"
use_font_color="true"
font="EmojiLarge"
image_hover_unselected="Toolbar_Middle_Over"
image_selected="Toolbar_Middle_Selected"
image_unselected="Toolbar_Middle_Off"
image_overlay="Arrow_Down"
right="-1"
name="emoji_recent_panel_toggle_btn"
tool_tip="Shows/hides recent emojis"
left_pad="0"
width="10"/>
</layout_panel>
<layout_panel
visibility_control="FSShowChatChannel"
auto_resize="false"
@ -346,6 +381,31 @@
</layout_panel>
</layout_stack>
</layout_panel>
<layout_panel
name="emoji_recent_layout_panel"
height="28"
auto_resize="false">
<text
name="emoji_recent_empty_text"
follows="top|left|right"
layout="topleft"
h_pad="20"
v_pad="5"
top="0"
left="5"
right="-1"
height="25"
>Recently used emojis will appear here</text>
<emoji_complete
name="emoji_recent_icons_ctrl"
follows="top|left|right"
layout="topleft"
max_visible="20"
top="0"
left="5"
right="-1"
height="25"/>
</layout_panel>
</layout_stack>
</layout_panel>
</layout_stack>

View File

@ -39,7 +39,7 @@ class UtilityBar
public:
void init();
virtual BOOL tick();
virtual BOOL tick() override;
void setAOInterfaceButtonExpanded(bool expanded);
void setVolumeControlsButtonExpanded(bool expanded);

View File

@ -2085,6 +2085,7 @@ class LinuxManifest(ViewerManifest):
self.path("ca-bundle.crt")
with self.prefix(src=os.path.join(pkgdir, 'lib', 'release'), dst="lib"):
self.path("libfreetype.so*")
self.path("libapr-1.so*")
self.path("libaprutil-1.so*")
#self.path("libboost_context-mt.so*")
@ -2263,7 +2264,7 @@ class Linux_i686_Manifest(LinuxManifest):
# self.path("libfontconfig.so.*.*") # <FS:PC> fontconfig and freetype should be taken from the user's system
# Include libfreetype.so. but have it work as libfontconfig does.
# self.path("libfreetype.so.*.*") # <FS:PC> fontconfig and freetype should be taken from the user's system
self.path("libfreetype.so.*.*")
try:
self.path("libtcmalloc.so*") #formerly called google perf tools

View File

@ -468,8 +468,9 @@ LLLocalMeshFile::LLLocalMeshFile(const std::string& filename, bool try_lods)
mFilenames[LOCAL_LOD_HIGH] = filename;
// check if we have a valid extension, can't switch with string can we?
if( std::string exten_str = boost::filesystem::extension(filename);
boost::iequals(exten_str, ".dae") )
auto path = boost::filesystem::path(filename);
if (std::string exten_str = path.extension().string();
boost::iequals(exten_str, ".dae") )
{
mExtension = LLLocalMeshFileExtension::EXTEN_DAE;
pushLog("LLLocalMeshFile", "Extension found: COLLADA");