From cfcb4f7925a04932e1a673969ed7d753438992e3 Mon Sep 17 00:00:00 2001 From: enricoturri1966 Date: Wed, 11 Oct 2023 08:36:32 +0200 Subject: [PATCH] SPE-1960: Associate .bgcode files to GCodeViewer on Windows --- src/libslic3r/AppConfig.cpp | 2 ++ src/slic3r/GUI/GUI_App.cpp | 9 +++++++++ src/slic3r/GUI/GUI_App.hpp | 1 + src/slic3r/GUI/Preferences.cpp | 4 ++++ 4 files changed, 16 insertions(+) diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp index f79f48c279..426cc53309 100644 --- a/src/libslic3r/AppConfig.cpp +++ b/src/libslic3r/AppConfig.cpp @@ -175,6 +175,8 @@ void AppConfig::set_defaults() #ifdef _WIN32 if (get("associate_gcode").empty()) set("associate_gcode", "0"); + if (get("associate_bgcode").empty()) + set("associate_bgcode", "0"); #endif // _WIN32 } diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp index 1728bc3c6b..d69f5b33de 100644 --- a/src/slic3r/GUI/GUI_App.cpp +++ b/src/slic3r/GUI/GUI_App.cpp @@ -1290,6 +1290,8 @@ bool GUI_App::on_init_inner() #ifdef __WXMSW__ if (app_config->get_bool("associate_gcode")) associate_gcode_files(); + if (app_config->get_bool("associate_bgcode")) + associate_bgcode_files(); #endif // __WXMSW__ } @@ -2583,6 +2585,8 @@ void GUI_App::open_preferences(const std::string& highlight_option /*= std::stri else { if (app_config->get_bool("associate_gcode")) associate_gcode_files(); + if (app_config->get_bool("associate_bgcode")) + associate_bgcode_files(); } #endif // _WIN32 @@ -3370,6 +3374,11 @@ void GUI_App::associate_gcode_files() { associate_file_type(L".gcode", L"PrusaSlicer.GCodeViewer.1", L"PrusaSlicerGCodeViewer", true); } + +void GUI_App::associate_bgcode_files() +{ + associate_file_type(L".bgcode", L"PrusaSlicer.GCodeViewer.1", L"PrusaSlicerGCodeViewer", true); +} #endif // __WXMSW__ void GUI_App::on_version_read(wxCommandEvent& evt) diff --git a/src/slic3r/GUI/GUI_App.hpp b/src/slic3r/GUI/GUI_App.hpp index 467c2aaeb6..6951f654b6 100644 --- a/src/slic3r/GUI/GUI_App.hpp +++ b/src/slic3r/GUI/GUI_App.hpp @@ -368,6 +368,7 @@ public: void associate_3mf_files(); void associate_stl_files(); void associate_gcode_files(); + void associate_bgcode_files(); #endif // __WXMSW__ diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp index ecb1d152eb..6fb2f23258 100644 --- a/src/slic3r/GUI/Preferences.cpp +++ b/src/slic3r/GUI/Preferences.cpp @@ -367,6 +367,10 @@ void PreferencesDialog::build() L("Associate .gcode files to PrusaSlicer G-code Viewer"), L("If enabled, sets PrusaSlicer G-code Viewer as default application to open .gcode files."), app_config->get_bool("associate_gcode")); + append_bool_option(m_optgroup_general, "associate_bgcode", + L("Associate .bgcode files to PrusaSlicer G-code Viewer"), + L("If enabled, sets PrusaSlicer G-code Viewer as default application to open .bgcode files."), + app_config->get_bool("associate_bgcode")); } #endif // _WIN32