From 16effc7a0275cb0f920b5041cbac05792a960f32 Mon Sep 17 00:00:00 2001 From: Liny Date: Mon, 17 Jun 2019 16:05:38 -0700 Subject: [PATCH 01/10] FIRE-23775 - Confusing message when 'max texture quality level' is set other than 'normal' --- indra/newview/app_settings/settings.xml | 2 +- .../default/xui/en/panel_preferences_graphics1.xml | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 6525b8a902..864c82ed65 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -15275,7 +15275,7 @@ Change of this parameter will affect the layout of buttons in notification toast 0 SanityComment - This might cause textures to look blurry and sculpties might fail to load properly. + This might cause textures to look blurry and sculpties might fail to load properly. Please see "Prefrences->Graphics->Rendering->Max Texture Quality Level:" to change. Backup 0 diff --git a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml index 33bfe4c531..0a8d4c22ee 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml @@ -1130,21 +1130,22 @@ left_pad="5" top_pad="-23" name="TextureDetail" - width="150"> + width="150" + tool_tip="Quality to load textures to, affects the setting TextureDiscardLevel"> From 29906afcae57a35724cc8c66ee2feb4809e5e9c7 Mon Sep 17 00:00:00 2001 From: Liny Date: Mon, 17 Jun 2019 16:32:34 -0700 Subject: [PATCH 02/10] FIRE-17839 - Settings Backup modal confirm overwrite yes/no Patch from Chaser Zaks --- indra/newview/llfloaterpreference.cpp | 17 +++++++++++++++++ indra/newview/llfloaterpreference.h | 1 + .../skins/default/xui/en/notifications.xml | 13 +++++++++++++ 3 files changed, 31 insertions(+) diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 82e2d0d870..19df8bfd07 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -5189,8 +5189,25 @@ void FSPanelPreferenceBackup::changeBackupSettingsPath(const std::vector diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index fdbb54a4da..81b1f5bd80 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -12593,6 +12593,19 @@ The backup path could not be found or created. The backup path could not be found. + +Are you sure you want to save a backup to this directory?: +[DIRECTORY] +Any existing backups in that location will be overwritten! + + + Date: Tue, 18 Jun 2019 02:55:36 +0200 Subject: [PATCH 03/10] FIRE-22353: use a marker file instead of a settings control for inventory cache purging. Hopefully helps with cases where the setting gets lost. --- indra/newview/app_settings/settings.xml | 2 +- indra/newview/llappviewer.cpp | 11 +--------- indra/newview/llfloaterpreference.cpp | 7 ++++++- indra/newview/llinventorymodel.cpp | 28 +++++++++++++++++++++++++ 4 files changed, 36 insertions(+), 12 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 864c82ed65..bdfbe32545 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -23790,7 +23790,7 @@ Change of this parameter will affect the layout of buttons in notification toast FSPurgeInventoryCacheOnStartup Comment - Clear the inventory cache of the specific agent (ID) at next startup + (Obsolete) Clear the inventory cache of the specific agent (ID) at next startup Persist 1 Type diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index fc45aa0fe0..17b88b93e0 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -4939,16 +4939,7 @@ bool LLAppViewer::initCache() if(!read_only) { - // Clear inventory cache button - std::string clear_inventory_agent_id = gSavedSettings.getString("FSPurgeInventoryCacheOnStartup"); - if (clear_inventory_agent_id != std::string()) - { - gSavedSettings.setString("FSPurgeInventoryCacheOnStartup", std::string()); - std::string inv_cache_file = gDirUtilp->getExpandedFilename(LL_PATH_CACHE, clear_inventory_agent_id + ".inv.gz"); - LL_INFOS("LLAppViewer") << "Purging inventory cache file: " << inv_cache_file << LL_ENDL; - LLFile::remove(inv_cache_file); - } - // + // Purge inventory cache is done in LLInventoryModel::loadSkeleton() // Purge cache if user requested it if (gSavedSettings.getBOOL("PurgeCacheOnStartup") || diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 19df8bfd07..ba0abf5641 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -311,7 +311,12 @@ bool callback_clear_inventory_cache(const LLSD& notification, const LLSD& respon if ( option == 0 ) // YES { // flag client texture cache for clearing next time the client runs - gSavedSettings.setString("FSPurgeInventoryCacheOnStartup", gAgentID.asString()); + + // use a marker file instead of a settings variable to prevent logout crashes and + // dual log ins from messing with the flag. -Zi + std::string delete_cache_marker = gDirUtilp->getExpandedFilename(LL_PATH_CACHE, gAgentID.asString() + "_DELETE_INV_GZ"); + FILE* fd = LLFile::fopen(delete_cache_marker, "w"); + LLFile::close(fd); LLNotificationsUtil::add("CacheWillClear"); } diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp index e79c0e8678..2008a0f23d 100644 --- a/indra/newview/llinventorymodel.cpp +++ b/indra/newview/llinventorymodel.cpp @@ -2149,6 +2149,34 @@ bool LLInventoryModel::loadSkeleton( const LLSD& options, const LLUUID& owner_id) { + // Purge inventory cache files marked by DELETE_INV_GZ marker files + std::string delete_cache_marker = gDirUtilp->getExpandedFilename(LL_PATH_CACHE, owner_id.asString() + "_DELETE_INV_GZ"); + LL_DEBUGS("LLInventoryModel") << "Checking for clear inventory cache marker: " << delete_cache_marker << LL_ENDL; + + // if this marker exists, go ahead and delete the respective .inv and/or .inv.gz files + if (LLFile::isfile(delete_cache_marker)) + { + LL_INFOS("LLInventoryModel") << "Clear inventory cache marker found: " << delete_cache_marker << LL_ENDL; + + std::string inventory_filename = getInvCacheAddres(owner_id); + if (LLFile::isfile(inventory_filename)) + { + LL_INFOS("LLInventoryModel") << "Purging inventory cache file: " << inventory_filename << LL_ENDL; + LLFile::remove(inventory_filename); + } + + inventory_filename.append(".gz"); + if (LLFile::isfile(inventory_filename)) + { + LL_INFOS("LLInventoryModel") << "Purging inventory cache file: " << inventory_filename << LL_ENDL; + LLFile::remove(inventory_filename); + } + + LL_INFOS("LLInventoryModel") << "Clear inventory cache marker removed: " << delete_cache_marker << LL_ENDL; + LLFile::remove(delete_cache_marker); + } + // + LL_DEBUGS(LOG_INV) << "importing inventory skeleton for " << owner_id << LL_ENDL; typedef std::set, InventoryIDPtrLess> cat_set_t; From ef3edbf16ea7848b2a2b8b87228b29d8b3cd5378 Mon Sep 17 00:00:00 2001 From: PanteraPolnocy Date: Tue, 18 Jun 2019 04:07:15 +0200 Subject: [PATCH 04/10] Updated Polish translation, some minor corrections in English one --- indra/newview/app_settings/settings.xml | 2 +- indra/newview/skins/default/xui/en/notifications.xml | 2 +- indra/newview/skins/default/xui/pl/notifications.xml | 11 ++++++++++- .../default/xui/pl/panel_preferences_graphics1.xml | 10 +++++----- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index bdfbe32545..53cc95ec0a 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -15275,7 +15275,7 @@ Change of this parameter will affect the layout of buttons in notification toast 0 SanityComment - This might cause textures to look blurry and sculpties might fail to load properly. Please see "Prefrences->Graphics->Rendering->Max Texture Quality Level:" to change. + This might cause textures to look blurry and sculpties might fail to load properly. Please see "Prefrences -> Graphics -> Rendering -> Max Texture Quality Level" to change. Backup 0 diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 81b1f5bd80..caaab3527a 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -12597,7 +12597,7 @@ The backup path could not be found. icon="alertmodal.tga" name="SettingsConfirmBackup" type="alertmodal"> -Are you sure you want to save a backup to this directory?: +Are you sure you want to save a backup to this directory? [DIRECTORY] Any existing backups in that location will be overwritten! Ścieżka miejsca zapisu jest pusta. Proszę najpierw podać lokalizację, w jakiej będą zapisywanie i której będą przywracane kopie zapasowe. + + Czy na pewno chcesz zapisać kopię zapasową w tym katalogu? +[DIRECTORY] +Wszelkie istniejące kopie zapasowe w tej lokalizacji zostaną nadpisane! + + Przywrócenie ustawień wymaga ponownego uruchomienia przeglądarki. Czy chcesz teraz przywrócić ustawienia i wyłączyć ją? @@ -4882,6 +4888,9 @@ Mnożnik LOD >8: Brak widocznych efektów. Może powodować błędy. Należy pamiętać, że zakupy w walucie dokonywane za pośrednictwem Firestorm Viewer są transakcjami między Tobą (użytkownikiem) a dostawcą (-ami) lub sprzedawcą (-ami) waluty. Ani Firestorm Viewer, ani Phoenix Firestorm Viewer Project Inc., ani jego zespół nie ponoszą odpowiedzialności za jakiekolwiek koszty lub szkody wynikające bezpośrednio lub pośrednio z takich transakcji. Jeśli nie zgadzasz się z niniejszymi warunkami użytkowania, nie należy przeprowadzać transakcji finansowych za pomocą tej przeglądarki. - + + + + Włączenie obsługi HiDPI może mieć niekorzystne skutki i pogorszyć wydajność. diff --git a/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml index a70dbf6558..557ca79412 100644 --- a/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/pl/panel_preferences_graphics1.xml @@ -132,11 +132,11 @@ Maksymalny poziom jakości tekstur: - - - - - + + + + + Maski przezroczystości (alpha): From 8c72b95e6df3043531c30c3db42f26c11921cb36 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Tue, 18 Jun 2019 17:51:32 +0200 Subject: [PATCH 05/10] Update German translation --- indra/newview/skins/default/xui/de/notifications.xml | 7 +++++++ .../default/xui/de/panel_preferences_graphics1.xml | 10 +++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml index 6688f5d14a..743eeab714 100644 --- a/indra/newview/skins/default/xui/de/notifications.xml +++ b/indra/newview/skins/default/xui/de/notifications.xml @@ -5074,6 +5074,13 @@ Der Sicherungspfad konnte nicht gefunden oder erstellt werden. Der Sicherungspfad konnte nicht gefunden werden. + + Möchten Sie wirklich eine Sicherung in diesem Verzeichnis erstellen? +[DIRECTORY] +Bestehende Sicherung in diesem Verzeichnis werden überschrieben! + + + Das Wiederherstellen von Einstellungen erfordert einen Neustart des Viewers. Sollen die Einstellungen jetzt wiederhergestellt und der Viewer beendet werden? diff --git a/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml index d8326a0824..642c4a3f46 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml @@ -146,14 +146,14 @@ - + Maximales Qualitätslevel für Texturen: - - - - + + + + Darstellung von Alpha-Masken: From d59003c611cfb9c9519d165bf62aba0bcd11ad6c Mon Sep 17 00:00:00 2001 From: Ansariel Date: Tue, 18 Jun 2019 17:53:50 +0200 Subject: [PATCH 06/10] Just remove the new obsolete setting --- indra/newview/app_settings/settings.xml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 53cc95ec0a..f899151476 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -23787,17 +23787,6 @@ Change of this parameter will affect the layout of buttons in notification toast Value 1 - FSPurgeInventoryCacheOnStartup - - Comment - (Obsolete) Clear the inventory cache of the specific agent (ID) at next startup - Persist - 1 - Type - String - Value - - FSSoundCacheLocation Comment From 11ddc21c812c7f1e68306607f9b4faa51375544b Mon Sep 17 00:00:00 2001 From: Ansariel Date: Tue, 18 Jun 2019 17:55:06 +0200 Subject: [PATCH 07/10] Fix typo --- indra/newview/skins/default/xui/de/notifications.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml index 743eeab714..fe6be23200 100644 --- a/indra/newview/skins/default/xui/de/notifications.xml +++ b/indra/newview/skins/default/xui/de/notifications.xml @@ -5077,7 +5077,7 @@ Der Sicherungspfad konnte nicht gefunden werden. Möchten Sie wirklich eine Sicherung in diesem Verzeichnis erstellen? [DIRECTORY] -Bestehende Sicherung in diesem Verzeichnis werden überschrieben! +Bestehende Sicherungen in diesem Verzeichnis werden überschrieben! From e95fc1027107085939bb53135870f69beb4d2e7b Mon Sep 17 00:00:00 2001 From: Liny Date: Tue, 18 Jun 2019 16:28:59 -0700 Subject: [PATCH 08/10] INT-142 - add build number to 'Specify version' in Firestorm groupchats Patch by Chaser Zaks --- indra/newview/app_settings/settings.xml | 11 ++++ indra/newview/fsdata.cpp | 22 ++++++- indra/newview/fsdata.h | 3 + indra/newview/fsfloaterim.cpp | 61 +++++++++++++++---- indra/newview/llversioninfo.cpp | 16 +++++ indra/newview/llversioninfo.h | 5 ++ .../default/xui/en/floater_fs_im_session.xml | 31 +++++++++- .../vintage/xui/en/floater_fs_im_session.xml | 23 ++++++- 8 files changed, 158 insertions(+), 14 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index f899151476..71a2d2f6c6 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -1027,6 +1027,17 @@ Value 0 + FSSupportGroupChatPrefixTesting + + Comment + Adds (W 56789f* os) to testing group chat + Persist + 1 + Type + Boolean + Value + 0 + AutoCloseOOC Comment diff --git a/indra/newview/fsdata.cpp b/indra/newview/fsdata.cpp index 0c25e81319..ec11b9d502 100644 --- a/indra/newview/fsdata.cpp +++ b/indra/newview/fsdata.cpp @@ -563,6 +563,16 @@ void FSData::processAgents(const LLSD& data) } } + if (data.has("TestingGroups")) + { + const LLSD& testing_groups = data["TestingGroups"]; + for(LLSD::map_const_iterator itr = testing_groups.beginMap(); itr != testing_groups.endMap(); ++itr) + { + mTestingGroup.insert(LLUUID(itr->first)); + LL_DEBUGS("fsdata") << "Added " << itr->first << " to mTestingGroup" << LL_ENDL; + } + } + // The presence of just the key is enough to determine that legacy search needs to be disabled on this grid. if (data.has("DisableLegacySearch")) { @@ -821,9 +831,19 @@ LLSD FSData::allowedLogin() } } +bool FSData::isFirestormGroup(const LLUUID& id) +{ + return mSupportGroup.count(id) || mTestingGroup.count(id); +} + bool FSData::isSupportGroup(const LLUUID& id) { - return (mSupportGroup.count(id)); + return mSupportGroup.count(id); +} + +bool FSData::isTestingGroup(const LLUUID& id) +{ + return mTestingGroup.count(id); } bool FSData::isAgentFlag(const LLUUID& agent_id, flags_t flag) diff --git a/indra/newview/fsdata.h b/indra/newview/fsdata.h index 769aa4203e..6bfe2b77b2 100644 --- a/indra/newview/fsdata.h +++ b/indra/newview/fsdata.h @@ -60,11 +60,14 @@ public: }; std::set mSupportGroup; + std::set mTestingGroup; bool isDeveloper(const LLUUID& avatar_id); bool isSupport(const LLUUID& avatar_id); bool isQA(const LLUUID& avatar_id); + bool isFirestormGroup(const LLUUID& id); bool isSupportGroup(const LLUUID& id); + bool isTestingGroup(const LLUUID& id); // returns -1 if agent is not found. S32 getAgentFlags(const LLUUID& avatar_id); diff --git a/indra/newview/fsfloaterim.cpp b/indra/newview/fsfloaterim.cpp index 1d3183a88e..bb34dbe98b 100644 --- a/indra/newview/fsfloaterim.cpp +++ b/indra/newview/fsfloaterim.cpp @@ -386,8 +386,9 @@ void FSFloaterIM::sendMsgFromInputEditor(EChatType type) utf8_text = FSCommon::applyMuPose(utf8_text); // Support group chat prefix - static LLCachedControl chat_prefix(gSavedSettings, "FSSupportGroupChatPrefix2"); - if (chat_prefix && FSData::getInstance()->isSupportGroup(mSessionID)) + static LLCachedControl chat_prefix_support(gSavedSettings, "FSSupportGroupChatPrefix2"); + static LLCachedControl chat_prefix_testing(gSavedSettings, "FSSupportGroupChatPrefixTesting"); + if ((chat_prefix_support || chat_prefix_testing) && FSData::getInstance()->isFirestormGroup(mSessionID)) { // FIRE-7075: Skin indicator static LLCachedControl FSInternalSkinCurrent(gSavedSettings, "FSInternalSkinCurrent"); @@ -402,18 +403,46 @@ void FSFloaterIM::sendMsgFromInputEditor(EChatType type) skin_indicator = skin_indicator.substr(0, 1); // "FS 4.4.1f os", "FS 4.4.1v", "FS 4.4.1a", "FS 4.4.1s os", "FS 4.4.1m os" etc. } // - + + //Address size check #if ADDRESS_SIZE == 32 - std::string str_fs_tag = "FS "; + std::string str_address_size_tag = "32"; #else - std::string str_fs_tag = "FS64 "; + std::string str_address_size_tag = ""; #endif - std::string str_os_tag; + + //OpenSim check + std::string str_opensim_tag; #ifdef OPENSIM - str_os_tag = " os"; + str_opensim_tag = " os"; #endif + + //Operating System check +#if LL_WINDOWS + std::string str_operating_system_tag = "W"; +#elif LL_LINUX + std::string str_operating_system_tag = "L"; +#elif LL_DARWIN + std::string str_operating_system_tag = "M"; +#endif + + //RLV check + static LLCachedControl chat_prefix_rlv(gSavedSettings, "RestrainedLove"); + std::string str_rlv_enabled = ""; + if(chat_prefix_rlv) + str_rlv_enabled = "*"; + + + //Build it up size_t insert_pos = is_irc_me_prefix(utf8_text) ? 4 : 0; - utf8_text.insert(insert_pos, ("(" + str_fs_tag + LLVersionInfo::getShortVersion() + skin_indicator + str_os_tag + ") ")); + + //For testing/beta groups, we display the build version since it doesn't speed by and this might change often + if(chat_prefix_testing && FSData::getInstance()->isTestingGroup(mSessionID)) + utf8_text.insert(insert_pos, ("(" + str_address_size_tag + str_operating_system_tag + " " + LLVersionInfo::getBuildVersion() + skin_indicator + str_rlv_enabled + str_opensim_tag + ") ")); + + //For release support groups, only display the short version(Major.Minor.Patch) since chat can speed by. This makes it easier on Support's eyes. + else if(chat_prefix_support && FSData::getInstance()->isSupportGroup(mSessionID)) + utf8_text.insert(insert_pos, ("(" + str_address_size_tag + str_operating_system_tag + " " + LLVersionInfo::getShortVersion() + skin_indicator + str_rlv_enabled + str_opensim_tag + ") ")); } // Allow user to send system info. @@ -887,9 +916,19 @@ BOOL FSFloaterIM::postBuild() getChild("send_chat")->setCommitCallback(boost::bind(&FSFloaterIM::sendMsgFromInputEditor, this, CHAT_TYPE_NORMAL)); - bool isFSSupportGroup = FSData::getInstance()->isSupportGroup(mSessionID); - childSetVisible("support_panel", isFSSupportGroup); - + bool isFSSupportGroup = FSData::getInstance()->isFirestormGroup(mSessionID); + + //Hide them first + childSetVisible("testing_panel", FALSE); + childSetVisible("support_panel", FALSE); + + //Then show them if they are relevant + if(FSData::getInstance()->isTestingGroup(mSessionID)) + childSetVisible("testing_panel", TRUE); + + else if(FSData::getInstance()->isSupportGroup(mSessionID)) + childSetVisible("support_panel", TRUE); + // Viewer version popup if (isFSSupportGroup) { diff --git a/indra/newview/llversioninfo.cpp b/indra/newview/llversioninfo.cpp index 3d000d4267..8d5168ba24 100644 --- a/indra/newview/llversioninfo.cpp +++ b/indra/newview/llversioninfo.cpp @@ -85,6 +85,22 @@ const std::string &LLVersionInfo::getVersion() return version; } +// +//static +const std::string &LLVersionInfo::getBuildVersion() +{ + static std::string build_version(""); + if (build_version.empty()) + { + std::ostringstream stream; + stream << LLVersionInfo::getBuild(); + // cache the version string + build_version = stream.str(); + } + return build_version; +} +// + //static const std::string &LLVersionInfo::getShortVersion() { diff --git a/indra/newview/llversioninfo.h b/indra/newview/llversioninfo.h index 5c3b7bf878..fed6b0efb5 100644 --- a/indra/newview/llversioninfo.h +++ b/indra/newview/llversioninfo.h @@ -56,6 +56,11 @@ public: /// return the full viewer version as a string like "2.0.0.200030" static const std::string &getVersion(); +// + /// return the full viewer version as a string like "200030" + static const std::string &getBuildVersion(); +// + /// return the viewer version as a string like "2.0.0" static const std::string &getShortVersion(); diff --git a/indra/newview/skins/default/xui/en/floater_fs_im_session.xml b/indra/newview/skins/default/xui/en/floater_fs_im_session.xml index 8931b32e2f..ac2d45a1b1 100644 --- a/indra/newview/skins/default/xui/en/floater_fs_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_fs_im_session.xml @@ -452,8 +452,37 @@ 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" width="110" /> - + + + + + - + + + + Date: Wed, 19 Jun 2019 16:49:19 +0200 Subject: [PATCH 09/10] Refactor this a bit --- indra/newview/fsdata.cpp | 24 ++++++++++++------------ indra/newview/fsdata.h | 10 +++++----- indra/newview/fsfloaterim.cpp | 16 ++++------------ 3 files changed, 21 insertions(+), 29 deletions(-) diff --git a/indra/newview/fsdata.cpp b/indra/newview/fsdata.cpp index ec11b9d502..185abe23d7 100644 --- a/indra/newview/fsdata.cpp +++ b/indra/newview/fsdata.cpp @@ -263,7 +263,7 @@ void downloadCompleteScript(LLSD const &aData, std::string const &aURL, std::str LL_WARNS("fsdata") << "Could not read the script library data from "<< aURL << LL_ENDL; return; } - + LLAPRFile outfile ; outfile.open(aFilename, LL_APR_WB); if (!outfile.getFileHandle()) @@ -366,7 +366,7 @@ void FSData::downloadAgents() // TODO: Let the opensim devs and opensim group figure out the best way // to add "agents.xml" URL to the gridinfo protocol. //getAgentsURL(); - + // there is no need for assets.xml URL for opensim grids as the grid owner can just delete // the bad asset itself. } @@ -376,7 +376,7 @@ void FSData::downloadAgents() mAgentsURL = mBaseURL + "/" + "agents.xml"; mAssetsURL = mBaseURL + "/" + "assets.xml"; } - + if (!mAgentsURL.empty()) { mAgentsFilename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, filename_prefix + "_agents.xml"); @@ -424,7 +424,7 @@ void FSData::processData(const LLSD& fs_data) LLSD::array_const_iterator iter = mRandomMOTDs.beginArray(); gAgent.mMOTD.assign((iter + (ll_rand((S32)mRandomMOTDs.size())))->asString()); } - + // If the event falls withen the current date, use that for MOTD instead. if (fs_data.has("EventsMOTD")) { @@ -521,7 +521,7 @@ void FSData::processAgents(const LLSD& data) if (data.has("Agents")) { const LLSD& agents = data["Agents"]; - for(LLSD::map_const_iterator iter = agents.beginMap(); iter != agents.endMap(); ++iter) + for (LLSD::map_const_iterator iter = agents.beginMap(); iter != agents.endMap(); ++iter) { LLUUID key = LLUUID(iter->first); mSupportAgents[key] = iter->second.asInteger(); @@ -556,23 +556,23 @@ void FSData::processAgents(const LLSD& data) if (data.has("SupportGroups")) { const LLSD& support_groups = data["SupportGroups"]; - for(LLSD::map_const_iterator itr = support_groups.beginMap(); itr != support_groups.endMap(); ++itr) + for (LLSD::map_const_iterator itr = support_groups.beginMap(); itr != support_groups.endMap(); ++itr) { mSupportGroup.insert(LLUUID(itr->first)); LL_DEBUGS("fsdata") << "Added " << itr->first << " to mSupportGroup" << LL_ENDL; } } - if (data.has("TestingGroups")) + if (data.has("TestingGroups")) { const LLSD& testing_groups = data["TestingGroups"]; - for(LLSD::map_const_iterator itr = testing_groups.beginMap(); itr != testing_groups.endMap(); ++itr) + for (LLSD::map_const_iterator itr = testing_groups.beginMap(); itr != testing_groups.endMap(); ++itr) { mTestingGroup.insert(LLUUID(itr->first)); LL_DEBUGS("fsdata") << "Added " << itr->first << " to mTestingGroup" << LL_ENDL; } } - + // The presence of just the key is enough to determine that legacy search needs to be disabled on this grid. if (data.has("DisableLegacySearch")) { @@ -673,8 +673,7 @@ LLSD FSData::resolveClientTag(const LLUUID& id, bool new_system, const LLColor4& if (curtag.has("name")) curtag["tpvd"] = true; } } - - + // Filtering starts here: //WS: If we have a tag using the new system, check if we want to display it's name and/or color if (new_system) @@ -686,6 +685,7 @@ LLSD FSData::resolveClientTag(const LLUUID& id, bool new_system, const LLColor4& LLStringFn::replace_ascii_controlchars(clienttagname, LL_UNKNOWN_CHAR); curtag["name"] = clienttagname; } + if (color_client_tags >= 3 || curtag["tpvd"].asBoolean()) { if (curtag["tpvd"].asBoolean() && color_client_tags < 3) @@ -833,7 +833,7 @@ LLSD FSData::allowedLogin() bool FSData::isFirestormGroup(const LLUUID& id) { - return mSupportGroup.count(id) || mTestingGroup.count(id); + return isSupportGroup(id) || isTestingGroup(id); } bool FSData::isSupportGroup(const LLUUID& id) diff --git a/indra/newview/fsdata.h b/indra/newview/fsdata.h index 6bfe2b77b2..fa17f34391 100644 --- a/indra/newview/fsdata.h +++ b/indra/newview/fsdata.h @@ -46,7 +46,7 @@ public: void addAgents(); LLSD resolveClientTag(const LLUUID& id, bool new_system, const LLColor4& new_system_color); - + enum flags_t { SUPPORT = (1 << 0), //0x01 1 @@ -65,21 +65,21 @@ public: bool isDeveloper(const LLUUID& avatar_id); bool isSupport(const LLUUID& avatar_id); bool isQA(const LLUUID& avatar_id); - bool isFirestormGroup(const LLUUID& id); + bool isFirestormGroup(const LLUUID& id); bool isSupportGroup(const LLUUID& id); - bool isTestingGroup(const LLUUID& id); + bool isTestingGroup(const LLUUID& id); // returns -1 if agent is not found. S32 getAgentFlags(const LLUUID& avatar_id); LLSD allowedLogin(); - + bool enableLegacySearch() {return mLegacySearch;} std::string processRequestForInfo(const LLUUID& requester, const std::string& message, const std::string& name, const LLUUID& sessionid); static LLSD getSystemInfo(); static void callbackReqInfo(const LLSD ¬ification, const LLSD &response); - + std::string getOpenSimMOTD() { return mOpenSimMOTD; } void selectNextMOTD(); diff --git a/indra/newview/fsfloaterim.cpp b/indra/newview/fsfloaterim.cpp index bb34dbe98b..577a11dbb4 100644 --- a/indra/newview/fsfloaterim.cpp +++ b/indra/newview/fsfloaterim.cpp @@ -917,18 +917,10 @@ BOOL FSFloaterIM::postBuild() getChild("send_chat")->setCommitCallback(boost::bind(&FSFloaterIM::sendMsgFromInputEditor, this, CHAT_TYPE_NORMAL)); bool isFSSupportGroup = FSData::getInstance()->isFirestormGroup(mSessionID); - - //Hide them first - childSetVisible("testing_panel", FALSE); - childSetVisible("support_panel", FALSE); - - //Then show them if they are relevant - if(FSData::getInstance()->isTestingGroup(mSessionID)) - childSetVisible("testing_panel", TRUE); - - else if(FSData::getInstance()->isSupportGroup(mSessionID)) - childSetVisible("support_panel", TRUE); - + + childSetVisible("testing_panel", FSData::getInstance()->isTestingGroup(mSessionID)); + childSetVisible("support_panel", FSData::getInstance()->isSupportGroup(mSessionID)); + // Viewer version popup if (isFSSupportGroup) { From 914d62a7eb0bf584d09d8da2b1fc2db43bfceefc Mon Sep 17 00:00:00 2001 From: Ansariel Date: Wed, 19 Jun 2019 16:57:17 +0200 Subject: [PATCH 10/10] Update German translation --- indra/newview/skins/default/xui/de/floater_fs_im_session.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/indra/newview/skins/default/xui/de/floater_fs_im_session.xml b/indra/newview/skins/default/xui/de/floater_fs_im_session.xml index a8418b44ea..20fd70b615 100644 --- a/indra/newview/skins/default/xui/de/floater_fs_im_session.xml +++ b/indra/newview/skins/default/xui/de/floater_fs_im_session.xml @@ -48,6 +48,9 @@ + + +