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.meow-7.2.2
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