diff options
| author | Pepper <3782201+rohvani@users.noreply.github.com> | 2026-10-09 14:58:46 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-10-09 14:58:46 -0400 |
| commit | 083db782e29434ab17963fcac76b0ec3cd93b9d0 (patch) | |
| tree | d082659eb2cc049d0a62527f2793a600ee9ded9f | |
| parent | 7935d5cd40b8fe200ea0dd3014604a18b925a72d (diff) | |
| parent | 69e9dfd9ca57279fab2c84b1a0c7e650f0c785a5 (diff) | |
Merge pull request #6427 from secondlife/pepper/code-review-comments
Fix chat history menu and loading indicator updates
14 files changed, 66 insertions, 4 deletions
diff --git a/indra/newview/llfloaterconversationlog.cpp b/indra/newview/llfloaterconversationlog.cpp index 144741a768..344ce3f4dd 100644 --- a/indra/newview/llfloaterconversationlog.cpp +++ b/indra/newview/llfloaterconversationlog.cpp @@ -37,6 +37,7 @@ LLFloaterConversationLog::LLFloaterConversationLog(const LLSD& key) mConversationLogList(NULL) { mCommitCallbackRegistrar.add("CallLog.Action", boost::bind(&LLFloaterConversationLog::onCustomAction, this, _2)); + mEnableCallbackRegistrar.add("CallLog.Enable", boost::bind(&LLFloaterConversationLog::isActionEnabled, this, _2)); mEnableCallbackRegistrar.add("CallLog.Check", boost::bind(&LLFloaterConversationLog::isActionChecked, this, _2)); } @@ -116,6 +117,7 @@ void LLFloaterConversationLog::onCustomAction (const LLSD& userdata) bool LLFloaterConversationLog::isActionEnabled(const LLSD& userdata) { + // Disable nearby history while account state or transcript deletion suppresses it. if (userdata.asString() == "view_nearby_chat_history") { return !LLChatServiceHistory::historySuppressed(); diff --git a/indra/newview/llfloaterimsession.cpp b/indra/newview/llfloaterimsession.cpp index 6fd6dbee9d..850b228750 100644 --- a/indra/newview/llfloaterimsession.cpp +++ b/indra/newview/llfloaterimsession.cpp @@ -354,6 +354,8 @@ bool LLFloaterIMSession::postBuild() { bool result = LLFloaterIMSessionTab::postBuild(); + mChatServiceLoadingPanel = getChildView("chat_service_loading"); + mInputEditor->setMaxTextLength(1023); mInputEditor->setAutoreplaceCallback(boost::bind(&LLAutoReplace::autoreplaceCallback, LLAutoReplace::getInstance(), _1, _2, _3, _4, _5)); mInputEditor->setFocusReceivedCallback( boost::bind(onInputEditorFocusReceived, _1, this) ); @@ -375,8 +377,6 @@ bool LLFloaterIMSession::postBuild() //see LLFloaterIMPanel for how it is done (IB) initIMFloater(); - getChild<LLTextBox>("chat_service_loading_text")->setValue( - LLTrans::getString("loading_chat_logs")); return result; } @@ -1120,17 +1120,23 @@ void LLFloaterIMSession::processSessionUpdate(const LLSD& session_update) // virtual void LLFloaterIMSession::draw() { + // The cache follows preference changes without looking up the setting each frame. + static LLCachedControl<bool> show_history(gSavedPerAccountSettings, "LogShowHistory"); + // The floater presents both model-owned local reads and account-scoped service // work without scheduling either source from draw(). const bool loading = mSession && mIsP2PChat && - gSavedPerAccountSettings.getBOOL("LogShowHistory") && + show_history && (mSession->isChatHistoryLoading() || LLChatServiceHistory::getSnapshot(mSession->mOtherParticipantID).service_work_active); // The widget animates in draw(); hiding its panel suspends that work. - getChildView("chat_service_loading")->setVisible(loading); + if (mChatServiceLoadingPanel->getVisible() != loading) + { + mChatServiceLoadingPanel->setVisible(loading); + } // add people who were added via dropPerson() if (!mPendingParticipants.empty()) diff --git a/indra/newview/llfloaterimsession.h b/indra/newview/llfloaterimsession.h index a35fc27791..f51f8fd8d6 100644 --- a/indra/newview/llfloaterimsession.h +++ b/indra/newview/llfloaterimsession.h @@ -172,6 +172,7 @@ private: static void confirmLeaveCallCallback(const LLSD& notification, const LLSD& response); + LLView* mChatServiceLoadingPanel = nullptr; S32 mLastMessageIndex; EInstantMessage mDialog; diff --git a/indra/newview/skins/default/xui/de/floater_im_session.xml b/indra/newview/skins/default/xui/de/floater_im_session.xml index b07b74bf4a..25b184ea32 100644 --- a/indra/newview/skins/default/xui/de/floater_im_session.xml +++ b/indra/newview/skins/default/xui/de/floater_im_session.xml @@ -38,6 +38,11 @@ <layout_panel name="translate_chat_checkbox_lp"> <check_box label="Chat übersetzen" name="translate_chat_checkbox"/> </layout_panel> + <layout_panel name="chat_holder"> + <panel name="chat_service_loading"> + <text name="chat_service_loading_text" value="Laden..."/> + </panel> + </layout_panel> </layout_stack> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/en/menu_conversation_log_view.xml b/indra/newview/skins/default/xui/en/menu_conversation_log_view.xml index 38d7f09445..7cafe7aec1 100644 --- a/indra/newview/skins/default/xui/en/menu_conversation_log_view.xml +++ b/indra/newview/skins/default/xui/en/menu_conversation_log_view.xml @@ -51,5 +51,8 @@ <on_click function="CallLog.Action" parameter="view_nearby_chat_history" /> + <on_enable + function="CallLog.Enable" + parameter="view_nearby_chat_history" /> </menu_item_call> </toggleable_menu> diff --git a/indra/newview/skins/default/xui/es/floater_im_session.xml b/indra/newview/skins/default/xui/es/floater_im_session.xml index e5f48e3fd5..0f389a91b2 100644 --- a/indra/newview/skins/default/xui/es/floater_im_session.xml +++ b/indra/newview/skins/default/xui/es/floater_im_session.xml @@ -38,6 +38,11 @@ <layout_panel name="translate_chat_checkbox_lp"> <check_box label="Traducir el chat" name="translate_chat_checkbox"/> </layout_panel> + <layout_panel name="chat_holder"> + <panel name="chat_service_loading"> + <text name="chat_service_loading_text" value="Cargando..."/> + </panel> + </layout_panel> </layout_stack> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/fr/floater_im_session.xml b/indra/newview/skins/default/xui/fr/floater_im_session.xml index 6d98f0a846..ff868f7fd8 100644 --- a/indra/newview/skins/default/xui/fr/floater_im_session.xml +++ b/indra/newview/skins/default/xui/fr/floater_im_session.xml @@ -38,6 +38,11 @@ <layout_panel name="translate_chat_checkbox_lp"> <check_box label="Traduire le chat" name="translate_chat_checkbox"/> </layout_panel> + <layout_panel name="chat_holder"> + <panel name="chat_service_loading"> + <text name="chat_service_loading_text" value="Chargement..."/> + </panel> + </layout_panel> </layout_stack> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/it/floater_im_session.xml b/indra/newview/skins/default/xui/it/floater_im_session.xml index 71f90accde..2baceea929 100644 --- a/indra/newview/skins/default/xui/it/floater_im_session.xml +++ b/indra/newview/skins/default/xui/it/floater_im_session.xml @@ -38,6 +38,11 @@ <layout_panel name="translate_chat_checkbox_lp"> <check_box label="Traduci chat" name="translate_chat_checkbox"/> </layout_panel> + <layout_panel name="chat_holder"> + <panel name="chat_service_loading"> + <text name="chat_service_loading_text" value="Caricamento in corso..."/> + </panel> + </layout_panel> </layout_stack> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/ja/floater_im_session.xml b/indra/newview/skins/default/xui/ja/floater_im_session.xml index a2c116dbdc..667458d4b7 100644 --- a/indra/newview/skins/default/xui/ja/floater_im_session.xml +++ b/indra/newview/skins/default/xui/ja/floater_im_session.xml @@ -38,6 +38,11 @@ <layout_panel name="translate_chat_checkbox_lp"> <check_box label="チャットを翻訳" name="translate_chat_checkbox"/> </layout_panel> + <layout_panel name="chat_holder"> + <panel name="chat_service_loading"> + <text name="chat_service_loading_text" value="読み込み中…"/> + </panel> + </layout_panel> </layout_stack> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/pl/floater_im_session.xml b/indra/newview/skins/default/xui/pl/floater_im_session.xml index ee6e465ea3..38278a62ca 100644 --- a/indra/newview/skins/default/xui/pl/floater_im_session.xml +++ b/indra/newview/skins/default/xui/pl/floater_im_session.xml @@ -26,6 +26,11 @@ <layout_panel name="translate_chat_checkbox_lp"> <check_box label="Tłumacz czat" name="translate_chat_checkbox" /> </layout_panel> + <layout_panel name="chat_holder"> + <panel name="chat_service_loading"> + <text name="chat_service_loading_text" value="Wczytywanie..."/> + </panel> + </layout_panel> </layout_stack> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/pt/floater_im_session.xml b/indra/newview/skins/default/xui/pt/floater_im_session.xml index e592b14fa7..71299df191 100644 --- a/indra/newview/skins/default/xui/pt/floater_im_session.xml +++ b/indra/newview/skins/default/xui/pt/floater_im_session.xml @@ -38,6 +38,11 @@ <layout_panel name="translate_chat_checkbox_lp"> <check_box label="Traduzir conversa" name="translate_chat_checkbox"/> </layout_panel> + <layout_panel name="chat_holder"> + <panel name="chat_service_loading"> + <text name="chat_service_loading_text" value="Carregando..."/> + </panel> + </layout_panel> </layout_stack> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/ru/floater_im_session.xml b/indra/newview/skins/default/xui/ru/floater_im_session.xml index d4ca04b88b..c38b43f31b 100644 --- a/indra/newview/skins/default/xui/ru/floater_im_session.xml +++ b/indra/newview/skins/default/xui/ru/floater_im_session.xml @@ -38,6 +38,11 @@ <layout_panel name="translate_chat_checkbox_lp"> <check_box label="Переводить чат" name="translate_chat_checkbox"/> </layout_panel> + <layout_panel name="chat_holder"> + <panel name="chat_service_loading"> + <text name="chat_service_loading_text" value="Загрузка..."/> + </panel> + </layout_panel> </layout_stack> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/tr/floater_im_session.xml b/indra/newview/skins/default/xui/tr/floater_im_session.xml index 52a10feeef..1392fff846 100644 --- a/indra/newview/skins/default/xui/tr/floater_im_session.xml +++ b/indra/newview/skins/default/xui/tr/floater_im_session.xml @@ -38,6 +38,11 @@ <layout_panel name="translate_chat_checkbox_lp"> <check_box label="Sohbeti çevir" name="translate_chat_checkbox"/> </layout_panel> + <layout_panel name="chat_holder"> + <panel name="chat_service_loading"> + <text name="chat_service_loading_text" value="Yükleniyor..."/> + </panel> + </layout_panel> </layout_stack> </layout_panel> </layout_stack> diff --git a/indra/newview/skins/default/xui/zh/floater_im_session.xml b/indra/newview/skins/default/xui/zh/floater_im_session.xml index 864af2e592..bc6e241288 100644 --- a/indra/newview/skins/default/xui/zh/floater_im_session.xml +++ b/indra/newview/skins/default/xui/zh/floater_im_session.xml @@ -38,6 +38,11 @@ <layout_panel name="translate_chat_checkbox_lp"> <check_box label="翻譯聊天內容" name="translate_chat_checkbox"/> </layout_panel> + <layout_panel name="chat_holder"> + <panel name="chat_service_loading"> + <text name="chat_service_loading_text" value="載入中…"/> + </panel> + </layout_panel> </layout_stack> </layout_panel> </layout_stack> |
