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())
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())

View file

@ -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);

View file

@ -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);

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_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;

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_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";
}

View file

@ -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<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);
// 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));

View file

@ -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;

View file

@ -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();
}