From 92d764e9ee189de4659b01ff3c426fd859f2e106 Mon Sep 17 00:00:00 2001 From: "maosheng.wei" Date: Wed, 10 May 2023 12:00:55 +0800 Subject: [PATCH] NEW: [STUDIO-2769] Split developer mode Divide developer mode into display parameters and other development options Change-Id: I8666991f3e5580c1abb46f36567651893e8fba4a --- src/libslic3r/AppConfig.cpp | 4 ++-- src/slic3r/GUI/GUI_App.cpp | 5 ++++- src/slic3r/GUI/GUI_App.hpp | 1 + src/slic3r/GUI/MainFrame.cpp | 2 +- src/slic3r/GUI/MediaPlayCtrl.cpp | 4 ++-- src/slic3r/GUI/Preferences.cpp | 28 +++++++++++++++++++--------- src/slic3r/GUI/Preferences.hpp | 4 ++-- src/slic3r/GUI/WebViewDialog.cpp | 3 +-- 8 files changed, 32 insertions(+), 19 deletions(-) diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp index 3cddcec90..54efc4af6 100644 --- a/src/libslic3r/AppConfig.cpp +++ b/src/libslic3r/AppConfig.cpp @@ -207,8 +207,8 @@ void AppConfig::set_defaults() if (get("severity_level").empty()) set("severity_level", "info"); - if (get("dump_video").empty()) - set_bool("dump_video", false); + if (get("internal_developer_mode").empty()) + set_bool("internal_developer_mode", false); // BBS if (get("preset_folder").empty()) diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index cace693cb..e7c875dff 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -4996,7 +4996,6 @@ void GUI_App::update_mode() mainframe->m_param_panel->update_mode(); if (mainframe->m_param_dialog) mainframe->m_param_dialog->panel()->update_mode(); - mainframe->m_webview->update_mode(); #ifdef _MSW_DARK_MODE if (!wxGetApp().tabs_as_menu()) @@ -5013,6 +5012,10 @@ void GUI_App::update_mode() plater()->canvas3D()->update_gizmos_on_off_state(); } +void GUI_App::update_internal_development() { + mainframe->m_webview->update_mode(); +} + void GUI_App::show_ip_address_enter_dialog(wxString title) { auto evt = new wxCommandEvent(EVT_SHOW_IP_DIALOG); diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index 2fe8d323e..d07f23981 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -464,6 +464,7 @@ public: ConfigOptionMode get_mode(); void save_mode(const /*ConfigOptionMode*/int mode) ; void update_mode(); + void update_internal_development(); void show_ip_address_enter_dialog(wxString title = wxEmptyString); void show_ip_address_enter_dialog_handler(wxCommandEvent &evt); bool show_modal_ip_address_enter_dialog(wxString title = wxEmptyString); diff --git a/src/slic3r/GUI/MainFrame.cpp b/src/slic3r/GUI/MainFrame.cpp index 952de14f9..38781c84b 100644 --- a/src/slic3r/GUI/MainFrame.cpp +++ b/src/slic3r/GUI/MainFrame.cpp @@ -182,7 +182,7 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_ wxGetApp().app_config->set("user_mode", "advanced"); } - wxGetApp().app_config->set_bool("dump_video", false); + wxGetApp().app_config->set_bool("internal_developer_mode", false); wxString max_recent_count_str = wxGetApp().app_config->get("max_recent_count"); long max_recent_count = 18; diff --git a/src/slic3r/GUI/MediaPlayCtrl.cpp b/src/slic3r/GUI/MediaPlayCtrl.cpp index 2d267d9db..bcd7e9162 100644 --- a/src/slic3r/GUI/MediaPlayCtrl.cpp +++ b/src/slic3r/GUI/MediaPlayCtrl.cpp @@ -144,7 +144,7 @@ void MediaPlayCtrl::Play() m_url = "bambu:///local/" + m_lan_ip + ".?port=6000&user=" + m_lan_user + "&passwd=" + m_lan_passwd + "&device=" + m_machine + "&version=" + agent_version; m_last_state = MEDIASTATE_LOADING; SetStatus(_L("Loading...")); - if (wxGetApp().app_config->get("dump_video") == "true") { + if (wxGetApp().app_config->get("internal_developer_mode") == "true") { std::string file_h264 = data_dir() + "/video.h264"; std::string file_info = data_dir() + "/video.info"; BOOST_LOG_TRIVIAL(info) << "MediaPlayCtrl dump video to " << file_h264; @@ -198,7 +198,7 @@ void MediaPlayCtrl::Play() } else { m_last_state = MEDIASTATE_LOADING; SetStatus(_L("Loading...")); - if (wxGetApp().app_config->get("dump_video") == "true") { + if (wxGetApp().app_config->get("internal_developer_mode") == "true") { BOOST_LOG_TRIVIAL(info) << "MediaPlayCtrl dump video to " << boost::filesystem::current_path(); m_url = m_url + "&dump=video.h264"; } diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp index b14c00898..3aa239c80 100644 --- a/src/slic3r/GUI/Preferences.cpp +++ b/src/slic3r/GUI/Preferences.cpp @@ -663,18 +663,28 @@ wxBoxSizer *PreferencesDialog::create_item_checkbox(wxString title, wxWindow *pa m_developer_mode_def = app_config->get("developer_mode"); if (m_developer_mode_def == "true") { Slic3r::GUI::wxGetApp().save_mode(comDevelop); - Slic3r::GUI::wxGetApp().mainframe->show_log_window(); } else { Slic3r::GUI::wxGetApp().save_mode(comAdvanced); } } + // webview dump_vedio + if (param == "internal_developer_mode") { + m_internal_developer_mode_def = app_config->get("internal_developer_mode"); + if (m_internal_developer_mode_def == "true") { + Slic3r::GUI::wxGetApp().update_internal_development(); + Slic3r::GUI::wxGetApp().mainframe->show_log_window(); + } else { + Slic3r::GUI::wxGetApp().update_internal_development(); + } + } + e.Skip(); }); //// for debug mode if (param == "developer_mode") { m_developer_mode_ckeckbox = checkbox; } - if (param == "dump_video") { m_dump_video_ckeckbox = checkbox; } + if (param == "internal_developer_mode") { m_internal_developer_mode_ckeckbox = checkbox; } checkbox->SetToolTip(tooltip); @@ -1102,14 +1112,14 @@ wxWindow* PreferencesDialog::create_debug_page() auto page = new wxWindow(m_scrolledWindow, wxID_ANY); page->SetBackgroundColour(*wxWHITE); - m_dump_video_def = app_config->get("dump_video"); + m_internal_developer_mode_def = app_config->get("internal_developer_mode"); m_backup_interval_def = app_config->get("backup_interval"); m_iot_environment_def = app_config->get("iot_environment"); wxBoxSizer *bSizer = new wxBoxSizer(wxVERTICAL); - auto item_dump_video = create_item_checkbox(_L("Dump video"), page, _L("Dump video"), 50, "dump_video"); + auto item_internal_developer = create_item_checkbox(_L("Internal developer mode"), page, _L("Internal developer mode"), 50, "internal_developer_mode"); auto title_log_level = create_item_title(_L("Log Level"), page, _L("Log Level")); auto log_level_list = std::vector{_L("fatal"), _L("error"), _L("warning"), _L("info"), _L("debug"), _L("trace")}; @@ -1152,10 +1162,10 @@ wxWindow* PreferencesDialog::create_debug_page() // app_config->set_bool("developer_mode", m_developer_mode_def == "true" ? true : false); // m_developer_mode_ckeckbox->SetValue(m_developer_mode_def == "true" ? true : false); //} - if (m_dump_video_def != app_config->get("dump_video")) { - app_config->set_bool("dump_video", m_dump_video_def == "true" ? true : false); - m_dump_video_ckeckbox->SetValue(m_dump_video_def == "true" ? true : false); - } + //if (m_internal_developer_mode_def != app_config->get("internal_developer_mode")) { + // app_config->set_bool("internal_developer_mode", m_internal_developer_mode_def == "true" ? true : false); + // m_internal_developer_mode_ckeckbox->SetValue(m_internal_developer_mode_def == "true" ? true : false); + //} if (m_backup_interval_def != m_backup_interval_time) { m_backup_interval_textinput->GetTextCtrl()->SetValue(m_backup_interval_def); } @@ -1223,7 +1233,7 @@ wxWindow* PreferencesDialog::create_debug_page() }); - bSizer->Add(item_dump_video, 0, wxTOP, FromDIP(3)); + bSizer->Add(item_internal_developer, 0, wxTOP, FromDIP(3)); bSizer->Add(title_log_level, 0, wxTOP| wxEXPAND, FromDIP(20)); bSizer->Add(loglevel_combox, 0, wxTOP, FromDIP(3)); bSizer->Add(title_host, 0, wxTOP| wxEXPAND, FromDIP(20)); diff --git a/src/slic3r/GUI/Preferences.hpp b/src/slic3r/GUI/Preferences.hpp index 419242f7c..e3370d02d 100644 --- a/src/slic3r/GUI/Preferences.hpp +++ b/src/slic3r/GUI/Preferences.hpp @@ -89,12 +89,12 @@ public: // debug mode ::CheckBox * m_developer_mode_ckeckbox = {nullptr}; - ::CheckBox * m_dump_video_ckeckbox = {nullptr}; + ::CheckBox * m_internal_developer_mode_ckeckbox = {nullptr}; ::CheckBox * m_dark_mode_ckeckbox = {nullptr}; ::TextInput *m_backup_interval_textinput = {nullptr}; wxString m_developer_mode_def; - wxString m_dump_video_def; + wxString m_internal_developer_mode_def; wxString m_backup_interval_def; wxString m_iot_environment_def; diff --git a/src/slic3r/GUI/WebViewDialog.cpp b/src/slic3r/GUI/WebViewDialog.cpp index aacffbbbd..3ab93b532 100644 --- a/src/slic3r/GUI/WebViewDialog.cpp +++ b/src/slic3r/GUI/WebViewDialog.cpp @@ -476,8 +476,7 @@ void WebViewPanel::ShowNetpluginTip() void WebViewPanel::update_mode() { - int app_mode = Slic3r::GUI::wxGetApp().get_mode(); - GetSizer()->Show(size_t(0), app_mode == comDevelop); + GetSizer()->Show(size_t(0), wxGetApp().app_config->get("internal_developer_mode") == "true"); GetSizer()->Layout(); }