diff options
-rwxr-xr-x | doc/contributions.txt | 1 | ||||
-rw-r--r-- | indra/llui/llemojidictionary.h | 3 | ||||
-rw-r--r-- | indra/llui/llview.h | 24 | ||||
-rw-r--r-- | indra/newview/llfloateremojipicker.cpp | 27 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_emoji_picker.xml | 50 |
5 files changed, 51 insertions, 54 deletions
diff --git a/doc/contributions.txt b/doc/contributions.txt index 8e5d4e831d..4a7b8f14dd 100755 --- a/doc/contributions.txt +++ b/doc/contributions.txt @@ -237,6 +237,7 @@ Ansariel Hiller SL-15227 SL-15398 SL-18432 + SL-19575 SL-19623 Aralara Rajal Arare Chantilly diff --git a/indra/llui/llemojidictionary.h b/indra/llui/llemojidictionary.h index cbb0ac577d..88ff5b8300 100644 --- a/indra/llui/llemojidictionary.h +++ b/indra/llui/llemojidictionary.h @@ -57,8 +57,11 @@ class LLEmojiDictionary : public LLParamSingleton<LLEmojiDictionary>, public LLI public: typedef std::map<llwchar, const LLEmojiDescriptor*> emoji2descr_map_t; + typedef std::pair<llwchar, const LLEmojiDescriptor*> emoji2descr_item_t; typedef std::map<std::string, const LLEmojiDescriptor*> code2descr_map_t; + typedef std::pair<std::string, const LLEmojiDescriptor*> code2descr_item_t; typedef std::map<std::string, std::vector<const LLEmojiDescriptor*>> cat2descrs_map_t; + typedef std::pair<std::string, std::vector<const LLEmojiDescriptor*>> cat2descrs_item_t; static void initClass(); LLWString findMatchingEmojis(const std::string& needle) const; diff --git a/indra/llui/llview.h b/indra/llui/llview.h index bec45df78a..0add3839bb 100644 --- a/indra/llui/llview.h +++ b/indra/llui/llview.h @@ -111,7 +111,7 @@ public: Alternative<std::string> string; Alternative<U32> flags; - Follows(); + Follows(); }; struct Params : public LLInitParam::Block<Params> @@ -656,8 +656,8 @@ public: // Draw debug rectangles around widgets to help with alignment and spacing static bool sDebugRects; - static bool sIsRectDirty; - static LLRect sDirtyRect; + static bool sIsRectDirty; + static LLRect sDirtyRect; // Draw widget names and sizes when drawing debug rectangles, turning this // off is useful to make the rectangles themselves easier to see. @@ -700,20 +700,16 @@ template <class T> T* LLView::getChild(const std::string& name, BOOL recurse) co if (!result) { result = LLUICtrlFactory::getDefaultWidget<T>(name); - - if (result) - { - // *NOTE: You cannot call mFoo = getChild<LLFoo>("bar") - // in a floater or panel constructor. The widgets will not - // be ready. Instead, put it in postBuild(). - LL_WARNS() << "Making dummy " << typeid(T).name() << " named \"" << name << "\" in " << getName() << LL_ENDL; - } - else + if (!result) { - LL_WARNS() << "Failed to create dummy " << typeid(T).name() << LL_ENDL; - return NULL; + LL_ERRS() << "Failed to create dummy " << typeid(T).name() << LL_ENDL; } + // *NOTE: You cannot call mFoo = getChild<LLFoo>("bar") + // in a floater or panel constructor. The widgets will not + // be ready. Instead, put it in postBuild(). + LL_WARNS() << "Making dummy " << typeid(T).name() << " named \"" << name << "\" in " << getName() << LL_ENDL; + getDefaultWidgetContainer().addChild(result); } } diff --git a/indra/newview/llfloateremojipicker.cpp b/indra/newview/llfloateremojipicker.cpp index ab81b2936f..9d28f7d4dc 100644 --- a/indra/newview/llfloateremojipicker.cpp +++ b/indra/newview/llfloateremojipicker.cpp @@ -73,15 +73,14 @@ LLFloaterEmojiPicker* LLFloaterEmojiPicker::getInstance() { LLFloaterEmojiPicker* floater = LLFloaterReg::getTypedInstance<LLFloaterEmojiPicker>("emoji_picker"); if (!floater) - LL_WARNS() << "Cannot instantiate emoji picker" << LL_ENDL; + LL_ERRS() << "Cannot instantiate emoji picker" << LL_ENDL; return floater; } LLFloaterEmojiPicker* LLFloaterEmojiPicker::showInstance(pick_callback_t pick_callback, close_callback_t close_callback) { LLFloaterEmojiPicker* floater = getInstance(); - if (floater) - floater->show(pick_callback, close_callback); + floater->show(pick_callback, close_callback); return floater; } @@ -106,9 +105,9 @@ BOOL LLFloaterEmojiPicker::postBuild() mCategory = getChild<LLComboBox>("Category"); mCategory->setCommitCallback(boost::bind(&LLFloaterEmojiPicker::onCategoryCommit, this)); - const auto& cat2Descrs = LLEmojiDictionary::instance().getCategory2Descrs(); + const LLEmojiDictionary::cat2descrs_map_t& cat2Descrs = LLEmojiDictionary::instance().getCategory2Descrs(); mCategory->clearRows(); - for (const auto& item : cat2Descrs) + for (const LLEmojiDictionary::cat2descrs_item_t& item : cat2Descrs) { std::string value = item.first; std::string name = value; @@ -139,8 +138,8 @@ void LLFloaterEmojiPicker::fillEmojis() { mEmojis->clearRows(); - const auto& emoji2Descr = LLEmojiDictionary::instance().getEmoji2Descr(); - for (const std::pair<const llwchar, const LLEmojiDescriptor*>& it : emoji2Descr) + const LLEmojiDictionary::emoji2descr_map_t& emoji2Descr = LLEmojiDictionary::instance().getEmoji2Descr(); + for (const LLEmojiDictionary::emoji2descr_item_t& it : emoji2Descr) { const LLEmojiDescriptor* descr = it.second; @@ -179,10 +178,10 @@ bool LLFloaterEmojiPicker::matchesPattern(const LLEmojiDescriptor* descr) { if (descr->Name.find(mSearchPattern) != std::string::npos) return true; - for (auto shortCode : descr->ShortCodes) + for (const std::string& shortCode : descr->ShortCodes) if (shortCode.find(mSearchPattern) != std::string::npos) return true; - for (auto category : descr->Categories) + for (const std::string& category : descr->Categories) if (category.find(mSearchPattern) != std::string::npos) return true; return false; @@ -204,7 +203,7 @@ void LLFloaterEmojiPicker::onSearchKeystroke(LLLineEditor* caller, void* user_da void LLFloaterEmojiPicker::onPreviewEmojiClick() { - if (mEmojis && mEmojiPickCallback) + if (mEmojiPickCallback) { if (LLEmojiScrollListItem* item = dynamic_cast<LLEmojiScrollListItem*>(mEmojis->getFirstSelected())) { @@ -221,8 +220,7 @@ void LLFloaterEmojiPicker::onEmojiSelect() mSelectedEmojiIndex = mEmojis->getFirstSelectedIndex(); LLUIString text; text.insert(0, LLWString(1, item->getEmoji())); - if (mPreviewEmoji) - mPreviewEmoji->setLabel(text); + mPreviewEmoji->setLabel(text); return; } @@ -232,13 +230,12 @@ void LLFloaterEmojiPicker::onEmojiSelect() void LLFloaterEmojiPicker::onEmojiEmpty() { mSelectedEmojiIndex = 0; - if (mPreviewEmoji) - mPreviewEmoji->setLabel(LLUIString()); + mPreviewEmoji->setLabel(LLUIString()); } void LLFloaterEmojiPicker::onEmojiPick() { - if (mEmojis && mEmojiPickCallback) + if (mEmojiPickCallback) { if (LLEmojiScrollListItem* item = dynamic_cast<LLEmojiScrollListItem*>(mEmojis->getFirstSelected())) { diff --git a/indra/newview/skins/default/xui/en/floater_emoji_picker.xml b/indra/newview/skins/default/xui/en/floater_emoji_picker.xml index f339c7428f..000d779759 100644 --- a/indra/newview/skins/default/xui/en/floater_emoji_picker.xml +++ b/indra/newview/skins/default/xui/en/floater_emoji_picker.xml @@ -11,44 +11,44 @@ width="200"> <line_editor name="Search" - label="Type to search an emoji" + label="Type to search" layout="bottomleft" follows="bottom|left|right" text_tentative_color="TextFgTentativeColor" max_length_bytes="63" - bottom="5" - left="39" + bottom="14" + left="34" height="29" - width="158" /> + width="162" /> <button - name="PreviewEmoji" + name="PreviewEmoji" layout="bottomleft" follows="bottom|left" - font="EmojiHuge" - use_font_color="true" - bottom="5" - left="5" - height="29" - width="29" /> + font="EmojiHuge" + use_font_color="true" + bottom="14" + left="2" + height="29" + width="29" /> <scroll_list name="Emojis" layout="topleft" follows="all" sort_column="0" - max_chars="63" - commit_on_selection_change="true" + max_chars="63" + commit_on_selection_change="true" draw_heading="true" heading_height="25" - left="5" - row_padding="0" - top="25" - height="338" - width="192"> + row_padding="0" + top="25" + left="0" + height="330" + width="200"> <columns - label="Look" + label="@" name="look" - width="50" /> - <columns + width="16" /> + <columns label="Name" name="name" /> </scroll_list> @@ -57,9 +57,9 @@ label="Choose a category" layout="topleft" follows="top|left|right" - allow_text_entry="true" - top="0" - left="5" + allow_text_entry="true" + top="0" + left="2" height="25" - width="192" /> + width="196" /> </floater> |