mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-08 17:57:44 +00:00
build: clear 54 dead private fields 54 of the 161 -Wunused-private-field warnings, across 31 files. These are the ones needing no judgment. Each member is declared once and appears nowhere else in src/, counting the .mm and .c sources as well as .cpp and .hpp, so nothing writes them and nothing reads them. Every removal is a whole line, and no declaration shares a line with another member. The remaining 107 are left alone. Those members are mentioned elsewhere, usually assigned and never read, where the fix might be deleting the member or might be restoring a read that went missing.
166 lines
4.5 KiB
C++
166 lines
4.5 KiB
C++
#ifndef slic3r_WebGuideDialog_hpp_
|
|
#define slic3r_WebGuideDialog_hpp_
|
|
|
|
#include "wx/artprov.h"
|
|
#include "wx/cmdline.h"
|
|
#include "wx/notifmsg.h"
|
|
#include "wx/settings.h"
|
|
#include "wx/webview.h"
|
|
|
|
#if wxUSE_WEBVIEW_IE
|
|
#include "wx/msw/webview_ie.h"
|
|
#endif
|
|
#if wxUSE_WEBVIEW_EDGE
|
|
#include "wx/msw/webview_edge.h"
|
|
#endif
|
|
|
|
#include "wx/webviewarchivehandler.h"
|
|
#include "wx/webviewfshandler.h"
|
|
#include "wx/numdlg.h"
|
|
#include "wx/infobar.h"
|
|
#include "wx/filesys.h"
|
|
#include "wx/fs_arc.h"
|
|
#include "wx/fs_mem.h"
|
|
#include "wx/stdpaths.h"
|
|
#include <wx/frame.h>
|
|
#include <wx/tbarbase.h>
|
|
#include "wx/textctrl.h"
|
|
|
|
#include "GUI_App.hpp"
|
|
#include "libslic3r/PresetBundle.hpp"
|
|
#include "slic3r/Utils/PresetUpdater.hpp"
|
|
|
|
#include <atomic>
|
|
#include <memory>
|
|
#include <unordered_map>
|
|
|
|
#include <nlohmann/json.hpp>
|
|
|
|
#include <boost/thread.hpp>
|
|
|
|
namespace Slic3r { namespace GUI {
|
|
|
|
class GuideFrame : public DPIDialog
|
|
{
|
|
public:
|
|
GuideFrame(GUI_App *pGUI, long style = wxCAPTION | wxCLOSE_BOX | wxSYSTEM_MENU);
|
|
virtual ~GuideFrame();
|
|
|
|
enum GuidePage {
|
|
BBL_WELCOME,
|
|
BBL_REGION,
|
|
BBL_MODELS,
|
|
BBL_FILAMENTS,
|
|
BBL_FILAMENT_ONLY,
|
|
BBL_MODELS_ONLY
|
|
}m_page;
|
|
|
|
//Web Function
|
|
void load_url(wxString &url);
|
|
wxString SetStartPage(GuidePage startpage=BBL_WELCOME, bool load = true);
|
|
|
|
void UpdateState();
|
|
void OnIdle(wxIdleEvent &evt);
|
|
// void OnClose(wxCloseEvent &evt);
|
|
|
|
void OnNavigationRequest(wxWebViewEvent &evt);
|
|
void OnNavigationComplete(wxWebViewEvent &evt);
|
|
void OnDocumentLoaded(wxWebViewEvent &evt);
|
|
void OnNewWindow(wxWebViewEvent &evt);
|
|
void OnError(wxWebViewEvent &evt);
|
|
void OnTitleChanged(wxWebViewEvent &evt);
|
|
void OnFullScreenChanged(wxWebViewEvent &evt);
|
|
void OnScriptMessage(wxWebViewEvent &evt);
|
|
|
|
void OnScriptResponseMessage(wxCommandEvent &evt);
|
|
void RunScript(const wxString &javascript);
|
|
|
|
//Logic
|
|
bool IsFirstUse();
|
|
|
|
//Model - Machine - Filaments
|
|
int LoadProfileData();
|
|
int SaveProfileData();
|
|
int LoadProfileFamily(std::string strVendor, std::string strFilePath);
|
|
void init_guide_paths();
|
|
void on_profile_loaded();
|
|
bool BuildProfileJson(const PresetBundle& bundle, bool require_all_resource_vendors);
|
|
bool BuildProfileDataFromPresetBundle();
|
|
bool BuildProfileDataFromVendors();
|
|
void reset_profile_json();
|
|
int SaveProfile();
|
|
int GetFilamentInfo( std::string VendorDirectory,json & pFilaList, std::string filepath, std::string &sVendor, std::string &sType);
|
|
|
|
|
|
bool apply_config(AppConfig *app_config, PresetBundle *preset_bundle, const PresetUpdater *updater, bool& apply_keeped_changes);
|
|
bool run();
|
|
|
|
void StrReplace(std::string &strBase, std::string strSrc, std::string strDes);
|
|
std::string w2s(wxString sSrc);
|
|
void GetStardardFilePath(std::string &FilePath);
|
|
bool LoadFile(std::string jPath, std::string & sContent);
|
|
|
|
// install plugin
|
|
int DownloadPlugin();
|
|
int InstallPlugin();
|
|
int ShowPluginStatus(int status, int percent, bool &cancel);
|
|
|
|
void on_dpi_changed(const wxRect &suggested_rect) {}
|
|
|
|
private:
|
|
GUI_App *m_MainPtr;
|
|
AppConfig m_appconfig_new;
|
|
|
|
wxWebView *m_browser;
|
|
|
|
wxString m_SectionName;
|
|
|
|
bool orca_bundle_rsrc;
|
|
boost::filesystem::path vendor_dir;
|
|
boost::filesystem::path rsrc_vendor_dir;
|
|
|
|
//First Load
|
|
bool bFirstComplete{false};
|
|
// Set once in the destructor. Read through `this` by the loading thread
|
|
// (joined before `this` dies) and captured as the shared_ptr by CallAfter
|
|
// lambdas so they don't touch `this` after the object is freed.
|
|
std::shared_ptr<std::atomic<bool>> m_cancel_token{std::make_shared<std::atomic<bool>>(false)};
|
|
std::unique_ptr<boost::thread> m_load_task;
|
|
|
|
// User Config
|
|
bool PrivacyUse;
|
|
bool StealthMode;
|
|
std::string m_Region;
|
|
|
|
bool InstallNetplugin;
|
|
bool network_plugin_ready {false};
|
|
|
|
json m_ProfileJson;
|
|
json m_OrcaFilaList;
|
|
std::string m_OrcaFilaLibPath;
|
|
|
|
#if wxUSE_WEBVIEW_IE
|
|
wxMenuItem *m_script_object_el;
|
|
wxMenuItem *m_script_date_el;
|
|
wxMenuItem *m_script_array_el;
|
|
#endif
|
|
// Last executed JavaScript snippet, for convenience.
|
|
wxString m_javascript;
|
|
wxString m_response_js;
|
|
|
|
wxString m_bbl_user_agent;
|
|
std::string m_editing_filament_id;
|
|
|
|
struct CachedFilamentInfo
|
|
{
|
|
int status{-1};
|
|
std::string vendor;
|
|
std::string type;
|
|
};
|
|
std::unordered_map<std::string, CachedFilamentInfo> filament_info_cache;
|
|
};
|
|
|
|
}} // namespace Slic3r::GUI
|
|
|
|
#endif /* slic3r_Tab_hpp_ */
|