Add AV White list helper
Initial version, text may need cleaning up based on support experience wiki page can be adjusted to use the new floater to better guide actions.master
parent
29811637a4
commit
a0367b968e
|
|
@ -184,6 +184,9 @@ set(viewer_SOURCE_FILES
|
|||
vjfloaterlocalmesh.cpp
|
||||
vjlocalmeshimportdae.cpp
|
||||
|
||||
# Whitelist helper
|
||||
fsfloaterwhitelisthelper.cpp
|
||||
|
||||
llaccountingcostmanager.cpp
|
||||
llaisapi.cpp
|
||||
llagent.cpp
|
||||
|
|
@ -978,6 +981,9 @@ set(viewer_HEADER_FILES
|
|||
vjfloaterlocalmesh.h
|
||||
vjlocalmeshimportdae.h
|
||||
|
||||
# whitelist helper
|
||||
fsfloaterwhitelisthelper.h
|
||||
|
||||
llaccountingcostmanager.h
|
||||
llaisapi.h
|
||||
llagent.h
|
||||
|
|
|
|||
|
|
@ -0,0 +1,75 @@
|
|||
#include "fsfloaterwhitelisthelper.h"
|
||||
#include "lltextbox.h"
|
||||
#include "lltexteditor.h"
|
||||
#include "lluictrlfactory.h"
|
||||
#include "llviewercontrol.h"
|
||||
#include "lldir.h"
|
||||
|
||||
|
||||
FSFloaterWhiteListHelper::FSFloaterWhiteListHelper(const LLSD& key) : LLFloater(key)
|
||||
{
|
||||
}
|
||||
|
||||
FSFloaterWhiteListHelper::~FSFloaterWhiteListHelper()=default;
|
||||
|
||||
BOOL FSFloaterWhiteListHelper::postBuild()
|
||||
{
|
||||
LLTextEditor* text_editor = getChild<LLTextEditor>("whitelist_text");
|
||||
if (text_editor)
|
||||
{
|
||||
populateWhitelistInfo();
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void FSFloaterWhiteListHelper::populateWhitelistInfo()
|
||||
{
|
||||
// Hopefully we can trash this bit soon in favor of webRTC
|
||||
#if LL_WINDOWS
|
||||
// On windows use exe (not work or RO) directory
|
||||
std::string voiceexe_path = gDirUtilp->getExecutableDir();
|
||||
gDirUtilp->append(voiceexe_path, "SLVoice.exe");
|
||||
#elif LL_DARWIN
|
||||
// On MAC use resource directory
|
||||
std::string voiceexe_path = gDirUtilp->getAppRODataDir();
|
||||
gDirUtilp->append(voiceexe_path, "SLVoice");
|
||||
#else
|
||||
std::string voiceexe_path = gDirUtilp->getExecutableDir();
|
||||
bool usingWine = gSavedSettings.getBOOL("FSLinuxEnableWin64VoiceProxy");
|
||||
if (!usingWine)
|
||||
{
|
||||
gDirUtilp->append(voiceexe_path, "SLVoice"); // native version
|
||||
}
|
||||
else
|
||||
{
|
||||
gDirUtilp->append(voiceexe_path, "win64/SLVoice.exe"); // use bundled win64 version
|
||||
}
|
||||
#endif
|
||||
|
||||
const std::string& slpluginexe_path = gDirUtilp->getLLPluginLauncher();
|
||||
|
||||
std::string whitelist_folder_info =
|
||||
gDirUtilp->getExecutableDir() + "\n" // Executable Dir
|
||||
+ gDirUtilp->getOSUserAppDir() + "\n" // Top-level User Data Dir
|
||||
+ gDirUtilp->getCacheDir(); // "Cache Dir
|
||||
|
||||
std::string whitelist_exe_info =
|
||||
gDirUtilp->getExecutableFilename() + "\n" // Viewer Binary
|
||||
+ gDirUtilp->getExecutablePathAndName() + "\n" // Viewer Binary full path
|
||||
+ gDirUtilp->getBaseFileName(voiceexe_path, false) + "\n" // " Voice Binary"
|
||||
+ voiceexe_path + "\n" // slvoice full path
|
||||
+ gDirUtilp->getBaseFileName(slpluginexe_path, false) + "\n" // SLPlugin Launcher Binary
|
||||
+ slpluginexe_path + "\n"; // SLPlugin Launcher full path
|
||||
|
||||
LLTextEditor* text_editor = getChild<LLTextEditor>("whitelist_folders_editor");
|
||||
if (text_editor)
|
||||
{
|
||||
text_editor->setText(whitelist_folder_info);
|
||||
}
|
||||
|
||||
text_editor = getChild<LLTextEditor>("whitelist_exes_editor");
|
||||
if (text_editor)
|
||||
{
|
||||
text_editor->setText(whitelist_exe_info);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
#ifndef FSFLOATERWHITELISTHELPER_H
|
||||
#define FSFLOATERWHITELISTHELPER_H
|
||||
|
||||
#include "llfloater.h"
|
||||
|
||||
class FSFloaterWhiteListHelper : public LLFloater
|
||||
{
|
||||
public:
|
||||
explicit FSFloaterWhiteListHelper(const LLSD& key);
|
||||
~FSFloaterWhiteListHelper() final;
|
||||
public:
|
||||
BOOL postBuild() final;
|
||||
|
||||
private:
|
||||
void populateWhitelistInfo();
|
||||
};
|
||||
#endif // FSFLOATERWHITELISTHELPER_H
|
||||
|
|
@ -229,6 +229,7 @@
|
|||
#include "particleeditor.h"
|
||||
#include "quickprefs.h"
|
||||
#include "vjfloaterlocalmesh.h" // local mesh
|
||||
#include "fsfloaterwhitelisthelper.h" // fs whitelist helper
|
||||
|
||||
|
||||
// handle secondlife:///app/openfloater/{NAME} URLs
|
||||
|
|
@ -649,6 +650,8 @@ void LLViewerFloaterReg::registerFloaters()
|
|||
LLFloaterReg::add("sound_explorer", "floater_NACL_explore_sounds.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<NACLFloaterExploreSounds>);
|
||||
LLFloaterReg::add("vram_usage", "floater_fs_vram_usage.xml", static_cast<LLFloaterBuildFunc>(&LLFloaterReg::build<FSFloaterVRAMUsage>));
|
||||
LLFloaterReg::add("local_mesh_floater", "floater_vj_local_mesh.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLocalMesh>); // local mesh
|
||||
LLFloaterReg::add("fs_whitelist_floater", "floater_whitelist.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<FSFloaterWhiteListHelper>); // white list advisor
|
||||
|
||||
|
||||
LLFloaterReg::registerControlVariables(); // Make sure visibility and rect controls get preserved when saving
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,74 @@
|
|||
<floater name="whitelist_floater"
|
||||
title="Whitelist Folders and Binaries"
|
||||
width="700"
|
||||
height="470"
|
||||
can_minimize="true"
|
||||
can_resize="false">
|
||||
<text
|
||||
follows="top|left|right"
|
||||
font="SansSerif"
|
||||
height="120"
|
||||
layout="topleft"
|
||||
left="11"
|
||||
name="whitelist_intro"
|
||||
top="16"
|
||||
width="689"
|
||||
wrap="true">
|
||||
Anti-virus and Anti-malware are an essential part of safe internet use, but they can cause a variety of issues for the viewer.
|
||||
To reduce interference and improve stability and performance, we strongly advise that all users ensure that there are exclusions (known as Whitelisting) for important folders and programs that the viewer uses.
|
||||
|
||||
For more detailed information, visit
|
||||
https://wiki.firestormviewer.org/antivirus_whitelisting
|
||||
|
||||
</text>
|
||||
<text
|
||||
follows="top|left|right"
|
||||
font="SansSerif"
|
||||
height="35"
|
||||
layout="topleft"
|
||||
left="11"
|
||||
name="whitelist_folder_instruction"
|
||||
top_pad="10"
|
||||
width="689"
|
||||
wrap="true">
|
||||
To help simpify the task the box below shows the folders the viewer is using.
|
||||
Please add these to your AV folder exclusions as shown on the above wiki page.
|
||||
</text>
|
||||
<text_editor
|
||||
parse_urls="true"
|
||||
follows="top|left|right|bottom"
|
||||
font="SansSerif"
|
||||
height="100"
|
||||
bg_readonly_color="Transparent"
|
||||
left="5"
|
||||
max_length="65536"
|
||||
name="whitelist_folders_editor"
|
||||
top_pad="5"
|
||||
width="689"
|
||||
word_wrap="true" />
|
||||
<text
|
||||
follows="top|left|right"
|
||||
font="SansSerif"
|
||||
height="35"
|
||||
layout="topleft"
|
||||
left="11"
|
||||
name="whitelist_exe_instruction"
|
||||
top_pad="5"
|
||||
width="689"
|
||||
wrap="true">
|
||||
The following box is the name and full path of the viewer executables.
|
||||
Add these to you AV executable exclusions as shown in the above wiki.
|
||||
</text>
|
||||
<text_editor
|
||||
parse_urls="true"
|
||||
follows="top|left|right|bottom"
|
||||
font="SansSerif"
|
||||
height="130"
|
||||
bg_readonly_color="Transparent"
|
||||
left="5"
|
||||
max_length="65536"
|
||||
name="whitelist_exes_editor"
|
||||
top_pad="5"
|
||||
width="689"
|
||||
word_wrap="true" />
|
||||
</floater>
|
||||
|
|
@ -2642,6 +2642,13 @@
|
|||
parameter="http://community.secondlife.com/t5/Blogs/ct-p/Blogs"/>
|
||||
</menu_item_call>-->
|
||||
<menu_item_separator/>
|
||||
<menu_item_call
|
||||
name="whitelist_folders"
|
||||
label="Whitelist adviser">
|
||||
<menu_item_call.on_click
|
||||
function="Floater.Show"
|
||||
parameter="fs_whitelist_floater" />
|
||||
</menu_item_call>
|
||||
<menu_item_check
|
||||
label="Check Grid status"
|
||||
name="Grid Status">
|
||||
|
|
|
|||
Loading…
Reference in New Issue