NEW: [STUDIO-2769] Split developer mode

Divide developer mode into display parameters and other development
options

Change-Id: I8666991f3e5580c1abb46f36567651893e8fba4a
This commit is contained in:
maosheng.wei 2023-05-10 12:00:55 +08:00 committed by Lane.Wei
parent def87a59c0
commit 92d764e9ee
8 changed files with 32 additions and 19 deletions

View file

@ -207,8 +207,8 @@ void AppConfig::set_defaults()
if (get("severity_level").empty()) if (get("severity_level").empty())
set("severity_level", "info"); set("severity_level", "info");
if (get("dump_video").empty()) if (get("internal_developer_mode").empty())
set_bool("dump_video", false); set_bool("internal_developer_mode", false);
// BBS // BBS
if (get("preset_folder").empty()) if (get("preset_folder").empty())

View file

@ -4996,7 +4996,6 @@ void GUI_App::update_mode()
mainframe->m_param_panel->update_mode(); mainframe->m_param_panel->update_mode();
if (mainframe->m_param_dialog) if (mainframe->m_param_dialog)
mainframe->m_param_dialog->panel()->update_mode(); mainframe->m_param_dialog->panel()->update_mode();
mainframe->m_webview->update_mode();
#ifdef _MSW_DARK_MODE #ifdef _MSW_DARK_MODE
if (!wxGetApp().tabs_as_menu()) if (!wxGetApp().tabs_as_menu())
@ -5013,6 +5012,10 @@ void GUI_App::update_mode()
plater()->canvas3D()->update_gizmos_on_off_state(); 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) void GUI_App::show_ip_address_enter_dialog(wxString title)
{ {
auto evt = new wxCommandEvent(EVT_SHOW_IP_DIALOG); auto evt = new wxCommandEvent(EVT_SHOW_IP_DIALOG);

View file

@ -464,6 +464,7 @@ public:
ConfigOptionMode get_mode(); ConfigOptionMode get_mode();
void save_mode(const /*ConfigOptionMode*/int mode) ; void save_mode(const /*ConfigOptionMode*/int mode) ;
void update_mode(); void update_mode();
void update_internal_development();
void show_ip_address_enter_dialog(wxString title = wxEmptyString); void show_ip_address_enter_dialog(wxString title = wxEmptyString);
void show_ip_address_enter_dialog_handler(wxCommandEvent &evt); void show_ip_address_enter_dialog_handler(wxCommandEvent &evt);
bool show_modal_ip_address_enter_dialog(wxString title = wxEmptyString); bool show_modal_ip_address_enter_dialog(wxString title = wxEmptyString);

View file

@ -182,7 +182,7 @@ DPIFrame(NULL, wxID_ANY, "", wxDefaultPosition, wxDefaultSize, BORDERLESS_FRAME_
wxGetApp().app_config->set("user_mode", "advanced"); 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"); wxString max_recent_count_str = wxGetApp().app_config->get("max_recent_count");
long max_recent_count = 18; long max_recent_count = 18;

View file

@ -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_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; m_last_state = MEDIASTATE_LOADING;
SetStatus(_L("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_h264 = data_dir() + "/video.h264";
std::string file_info = data_dir() + "/video.info"; std::string file_info = data_dir() + "/video.info";
BOOST_LOG_TRIVIAL(info) << "MediaPlayCtrl dump video to " << file_h264; BOOST_LOG_TRIVIAL(info) << "MediaPlayCtrl dump video to " << file_h264;
@ -198,7 +198,7 @@ void MediaPlayCtrl::Play()
} else { } else {
m_last_state = MEDIASTATE_LOADING; m_last_state = MEDIASTATE_LOADING;
SetStatus(_L("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(); BOOST_LOG_TRIVIAL(info) << "MediaPlayCtrl dump video to " << boost::filesystem::current_path();
m_url = m_url + "&dump=video.h264"; m_url = m_url + "&dump=video.h264";
} }

View file

@ -663,18 +663,28 @@ wxBoxSizer *PreferencesDialog::create_item_checkbox(wxString title, wxWindow *pa
m_developer_mode_def = app_config->get("developer_mode"); m_developer_mode_def = app_config->get("developer_mode");
if (m_developer_mode_def == "true") { if (m_developer_mode_def == "true") {
Slic3r::GUI::wxGetApp().save_mode(comDevelop); Slic3r::GUI::wxGetApp().save_mode(comDevelop);
Slic3r::GUI::wxGetApp().mainframe->show_log_window();
} else { } else {
Slic3r::GUI::wxGetApp().save_mode(comAdvanced); 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(); e.Skip();
}); });
//// for debug mode //// for debug mode
if (param == "developer_mode") { m_developer_mode_ckeckbox = checkbox; } 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); checkbox->SetToolTip(tooltip);
@ -1102,14 +1112,14 @@ wxWindow* PreferencesDialog::create_debug_page()
auto page = new wxWindow(m_scrolledWindow, wxID_ANY); auto page = new wxWindow(m_scrolledWindow, wxID_ANY);
page->SetBackgroundColour(*wxWHITE); 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_backup_interval_def = app_config->get("backup_interval");
m_iot_environment_def = app_config->get("iot_environment"); m_iot_environment_def = app_config->get("iot_environment");
wxBoxSizer *bSizer = new wxBoxSizer(wxVERTICAL); 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 title_log_level = create_item_title(_L("Log Level"), page, _L("Log Level"));
auto log_level_list = std::vector<wxString>{_L("fatal"), _L("error"), _L("warning"), _L("info"), _L("debug"), _L("trace")}; auto log_level_list = std::vector<wxString>{_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); // 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); // m_developer_mode_ckeckbox->SetValue(m_developer_mode_def == "true" ? true : false);
//} //}
if (m_dump_video_def != app_config->get("dump_video")) { //if (m_internal_developer_mode_def != app_config->get("internal_developer_mode")) {
app_config->set_bool("dump_video", m_dump_video_def == "true" ? true : false); // app_config->set_bool("internal_developer_mode", m_internal_developer_mode_def == "true" ? true : false);
m_dump_video_ckeckbox->SetValue(m_dump_video_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); } 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(title_log_level, 0, wxTOP| wxEXPAND, FromDIP(20));
bSizer->Add(loglevel_combox, 0, wxTOP, FromDIP(3)); bSizer->Add(loglevel_combox, 0, wxTOP, FromDIP(3));
bSizer->Add(title_host, 0, wxTOP| wxEXPAND, FromDIP(20)); bSizer->Add(title_host, 0, wxTOP| wxEXPAND, FromDIP(20));

View file

@ -89,12 +89,12 @@ public:
// debug mode // debug mode
::CheckBox * m_developer_mode_ckeckbox = {nullptr}; ::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}; ::CheckBox * m_dark_mode_ckeckbox = {nullptr};
::TextInput *m_backup_interval_textinput = {nullptr}; ::TextInput *m_backup_interval_textinput = {nullptr};
wxString m_developer_mode_def; wxString m_developer_mode_def;
wxString m_dump_video_def; wxString m_internal_developer_mode_def;
wxString m_backup_interval_def; wxString m_backup_interval_def;
wxString m_iot_environment_def; wxString m_iot_environment_def;

View file

@ -476,8 +476,7 @@ void WebViewPanel::ShowNetpluginTip()
void WebViewPanel::update_mode() void WebViewPanel::update_mode()
{ {
int app_mode = Slic3r::GUI::wxGetApp().get_mode(); GetSizer()->Show(size_t(0), wxGetApp().app_config->get("internal_developer_mode") == "true");
GetSizer()->Show(size_t(0), app_mode == comDevelop);
GetSizer()->Layout(); GetSizer()->Layout();
} }