mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-09-09 10:16:50 +00:00
Resync the device status pages
This commit is contained in:
@@ -12,9 +12,10 @@ static const char* HMS_PATH = "hms";
|
|||||||
static const char* HMS_LOCAL_IMG_PATH = "hms/local_image";
|
static const char* HMS_LOCAL_IMG_PATH = "hms/local_image";
|
||||||
|
|
||||||
// the local HMS info
|
// the local HMS info
|
||||||
|
// Orca: dev-id-type set trimmed to the devices Orca ships local HMS images for
|
||||||
static unordered_set<string> package_dev_id_types {"094", "239", "093", "22E"};
|
static unordered_set<string> package_dev_id_types {"094", "239", "093", "22E"};
|
||||||
|
|
||||||
// HMS should be disabled when stealth mode is on or networking is not installed
|
// Orca: HMS should be disabled when stealth mode is on or networking is not installed
|
||||||
static bool should_disable_hms()
|
static bool should_disable_hms()
|
||||||
{
|
{
|
||||||
Slic3r::AppConfig* config = Slic3r::GUI::wxGetApp().app_config;
|
Slic3r::AppConfig* config = Slic3r::GUI::wxGetApp().app_config;
|
||||||
@@ -251,7 +252,7 @@ int HMSQuery::save_to_local(std::string lang, std::string hms_type, std::string
|
|||||||
std::string dir_str = (hms_folder / filename).make_preferred().string();
|
std::string dir_str = (hms_folder / filename).make_preferred().string();
|
||||||
std::ofstream json_file(encode_path(dir_str.c_str()));
|
std::ofstream json_file(encode_path(dir_str.c_str()));
|
||||||
if (json_file.is_open()) {
|
if (json_file.is_open()) {
|
||||||
json_file << save_json.dump(1, '\t') << std::endl;
|
json_file << save_json.dump(1, '\t') << std::endl; // Orca: tab-indented dump
|
||||||
json_file.close();
|
json_file.close();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -266,6 +267,7 @@ std::string HMSQuery::hms_language_code()
|
|||||||
// set language code to en by default
|
// set language code to en by default
|
||||||
return "en";
|
return "en";
|
||||||
std::string lang_code = wxGetApp().app_config->get_language_code();
|
std::string lang_code = wxGetApp().app_config->get_language_code();
|
||||||
|
// Orca: english fallback limited to locales without a translated HMS catalog
|
||||||
if (lang_code.compare("uk") == 0
|
if (lang_code.compare("uk") == 0
|
||||||
|| lang_code.compare("cs") == 0
|
|| lang_code.compare("cs") == 0
|
||||||
|| lang_code.compare("ru") == 0) {
|
|| lang_code.compare("ru") == 0) {
|
||||||
@@ -577,6 +579,7 @@ wxImage HMSQuery::query_image_from_local(const wxString& image_name)
|
|||||||
{
|
{
|
||||||
const fs::path& image_path = entry.path();
|
const fs::path& image_path = entry.path();
|
||||||
const fs::path& image_name = fs::relative(image_path, local_img_dir);
|
const fs::path& image_name = fs::relative(image_path, local_img_dir);
|
||||||
|
// Orca: from_path() for correct UTF-8 path encoding
|
||||||
m_hms_local_images[from_path(image_name)] = wxImage(from_path(image_path));
|
m_hms_local_images[from_path(image_name)] = wxImage(from_path(image_path));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -88,10 +88,7 @@ MediaPlayCtrl::MediaPlayCtrl(wxWindow *parent, wxMediaCtrl2 *media_ctrl, const w
|
|||||||
|
|
||||||
m_button_play->Bind(wxEVT_COMMAND_BUTTON_CLICKED, [this](auto &e) { TogglePlay(); });
|
m_button_play->Bind(wxEVT_COMMAND_BUTTON_CLICKED, [this](auto &e) { TogglePlay(); });
|
||||||
m_button_play->Bind(wxEVT_RIGHT_UP, [this](auto & e) { m_media_ctrl->Play(); });
|
m_button_play->Bind(wxEVT_RIGHT_UP, [this](auto & e) { m_media_ctrl->Play(); });
|
||||||
// m_label_status->Bind(wxEVT_LEFT_UP, [this](auto &e) {
|
// Orca: live-view FAQ link binding removed (vendor URL)
|
||||||
// auto url = wxString::Format(L"https://wiki.bambulab.com/%s/software/bambu-studio/faq/live-view", L"en");
|
|
||||||
// wxLaunchDefaultBrowser(url);
|
|
||||||
// });
|
|
||||||
|
|
||||||
Bind(wxEVT_RIGHT_UP, [this](auto & e) {
|
Bind(wxEVT_RIGHT_UP, [this](auto & e) {
|
||||||
wxClipboard & c = *wxTheClipboard;
|
wxClipboard & c = *wxTheClipboard;
|
||||||
|
|||||||
@@ -541,6 +541,20 @@ void MonitorPanel::jump_to_LiveView()
|
|||||||
m_status_info_panel->get_media_play_ctrl()->jump_to_play();
|
m_status_info_panel->get_media_play_ctrl()->jump_to_play();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MonitorPanel::jump_to_Rack()
|
||||||
|
{
|
||||||
|
if (!this->IsShown()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
auto page = m_tabpanel->GetCurrentPage();
|
||||||
|
if (page && page != m_status_info_panel) {
|
||||||
|
m_tabpanel->SetSelection(PT_STATUS);
|
||||||
|
}
|
||||||
|
|
||||||
|
m_status_info_panel->jump_to_Rack();
|
||||||
|
}
|
||||||
|
|
||||||
void MonitorPanel::update_network_version_footer()
|
void MonitorPanel::update_network_version_footer()
|
||||||
{
|
{
|
||||||
std::string binary_version = Slic3r::NetworkAgent::get_version();
|
std::string binary_version = Slic3r::NetworkAgent::get_version();
|
||||||
|
|||||||
@@ -158,6 +158,7 @@ public:
|
|||||||
void jump_to_HMS();
|
void jump_to_HMS();
|
||||||
void jump_to_Upgrade();
|
void jump_to_Upgrade();
|
||||||
void jump_to_LiveView();
|
void jump_to_LiveView();
|
||||||
|
void jump_to_Rack();
|
||||||
void update_network_version_footer();
|
void update_network_version_footer();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -4503,6 +4503,8 @@ void StatusPanel::on_filament_edit(wxCommandEvent &event)
|
|||||||
|
|
||||||
if (obj) {
|
if (obj) {
|
||||||
m_filament_setting_dlg->obj = obj;
|
m_filament_setting_dlg->obj = obj;
|
||||||
|
// Orca: 2D mode (laser/cut) only allows viewing filament info, not editing
|
||||||
|
m_filament_setting_dlg->m_view_only = !obj->is_fdm_type();
|
||||||
|
|
||||||
int ams_id = event.GetInt();
|
int ams_id = event.GetInt();
|
||||||
int slot_id = event.GetString().IsEmpty() ? 0 : std::stoi(event.GetString().ToStdString());
|
int slot_id = event.GetString().IsEmpty() ? 0 : std::stoi(event.GetString().ToStdString());
|
||||||
@@ -4571,6 +4573,8 @@ void StatusPanel::on_ext_spool_edit(wxCommandEvent &event)
|
|||||||
|
|
||||||
if (obj) {
|
if (obj) {
|
||||||
m_filament_setting_dlg->obj = obj;
|
m_filament_setting_dlg->obj = obj;
|
||||||
|
// Orca: 2D mode (laser/cut) only allows viewing filament info, not editing
|
||||||
|
m_filament_setting_dlg->m_view_only = !obj->is_fdm_type();
|
||||||
|
|
||||||
int ams_id = event.GetInt();
|
int ams_id = event.GetInt();
|
||||||
int slot_id = event.GetString().IsEmpty() ? 0 : std::stoi(event.GetString().ToStdString());
|
int slot_id = event.GetString().IsEmpty() ? 0 : std::stoi(event.GetString().ToStdString());
|
||||||
@@ -4716,16 +4720,8 @@ void StatusPanel::on_ams_selected(wxCommandEvent &event)
|
|||||||
|
|
||||||
void StatusPanel::on_ams_guide(wxCommandEvent& event)
|
void StatusPanel::on_ams_guide(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
wxString ams_wiki_url;
|
// Orca: neutral wiki link (vendor URLs removed)
|
||||||
if (m_ams_control && m_ams_control->m_is_none_ams_mode == AMSModel::GENERIC_AMS) {
|
wxString ams_wiki_url = "https://www.orcaslicer.com/wiki/";
|
||||||
ams_wiki_url = "https://wiki.bambulab.com/en/software/bambu-studio/use-ams-on-bambu-studio";
|
|
||||||
}
|
|
||||||
else if (m_ams_control && m_ams_control->m_is_none_ams_mode == AMSModel::AMS_LITE) {
|
|
||||||
ams_wiki_url = "https://wiki.bambulab.com/en/ams-lite";
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
ams_wiki_url = "https://wiki.bambulab.com/en/software/bambu-studio/use-ams-on-bambu-studio";
|
|
||||||
}
|
|
||||||
|
|
||||||
wxLaunchDefaultBrowser(ams_wiki_url);
|
wxLaunchDefaultBrowser(ams_wiki_url);
|
||||||
}
|
}
|
||||||
@@ -5424,7 +5420,8 @@ void StatusPanel::update_filament_loading_panel(MachineObject* obj)
|
|||||||
bool ams_loading_state = false;
|
bool ams_loading_state = false;
|
||||||
auto ams_status_sub = obj->ams_status_sub;
|
auto ams_status_sub = obj->ams_status_sub;
|
||||||
|
|
||||||
if (obj->is_enable_np) {
|
// Orca: skip busy-loading detection during a cold pull (backing enum/parse landed in cluster 2)
|
||||||
|
if (obj->is_enable_np && obj->ams_status_main != AMS_STATUS_MAIN_COLD_PULL) {
|
||||||
ams_loading_state = obj->GetExtderSystem()->IsBusyLoading();
|
ams_loading_state = obj->GetExtderSystem()->IsBusyLoading();
|
||||||
} else if (obj->ams_status_main == AMS_STATUS_MAIN_FILAMENT_CHANGE) {
|
} else if (obj->ams_status_main == AMS_STATUS_MAIN_FILAMENT_CHANGE) {
|
||||||
ams_loading_state = true;
|
ams_loading_state = true;
|
||||||
|
|||||||
@@ -219,6 +219,8 @@ MachineInfoPanel::MachineInfoPanel(wxWindow* parent, wxWindowID id, const wxPoin
|
|||||||
createAirPumpWidgets(m_main_left_sizer);
|
createAirPumpWidgets(m_main_left_sizer);
|
||||||
createExtinguishWidgets(m_main_left_sizer);
|
createExtinguishWidgets(m_main_left_sizer);
|
||||||
createFilaTrackSwitchWidgets(m_main_left_sizer);
|
createFilaTrackSwitchWidgets(m_main_left_sizer);
|
||||||
|
createRotaryWidgets(m_main_left_sizer); // Orca: accessory firmware version display
|
||||||
|
createExhaustFan(m_main_left_sizer); // Orca: accessory firmware version display
|
||||||
|
|
||||||
// nozzle rack widgets (H2C induction hotend rack; hidden unless GetNozzleRack()->IsSupported())
|
// nozzle rack widgets (H2C induction hotend rack; hidden unless GetNozzleRack()->IsSupported())
|
||||||
createNozzleRackWidgets(m_main_left_sizer);
|
createNozzleRackWidgets(m_main_left_sizer);
|
||||||
@@ -429,6 +431,48 @@ void MachineInfoPanel::createFilaTrackSwitchWidgets(wxBoxSizer* main_left_sizer)
|
|||||||
main_left_sizer->Add(m_filatrack_sizer, 0, wxEXPAND, 0);
|
main_left_sizer->Add(m_filatrack_sizer, 0, wxEXPAND, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Orca: accessory firmware version display (device photo asset not shipped, so no left icon)
|
||||||
|
void MachineInfoPanel::createRotaryWidgets(wxBoxSizer* main_left_sizer)
|
||||||
|
{
|
||||||
|
m_rotary_line_above = new wxStaticLine(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL);
|
||||||
|
m_rotary_line_above->SetBackgroundColour(wxColour(206, 206, 206));
|
||||||
|
main_left_sizer->Add(m_rotary_line_above, 0, wxEXPAND | wxLEFT, FromDIP(40));
|
||||||
|
|
||||||
|
m_rotary_img = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(FromDIP(200), FromDIP(200)));
|
||||||
|
|
||||||
|
wxBoxSizer* content_sizer = new wxBoxSizer(wxVERTICAL);
|
||||||
|
content_sizer->Add(0, 40, 0, wxEXPAND, FromDIP(5));
|
||||||
|
m_rotary_version = new uiDeviceUpdateVersion(this, wxID_ANY);
|
||||||
|
content_sizer->Add(m_rotary_version, 0, wxEXPAND, 0);
|
||||||
|
|
||||||
|
m_rotary_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
m_rotary_sizer->Add(m_rotary_img, 0, wxALIGN_TOP | wxALL, FromDIP(5));
|
||||||
|
m_rotary_sizer->Add(content_sizer, 1, wxEXPAND, 0);
|
||||||
|
|
||||||
|
main_left_sizer->Add(m_rotary_sizer, 0, wxEXPAND, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Orca: accessory firmware version display (device photo asset not shipped, so no left icon)
|
||||||
|
void MachineInfoPanel::createExhaustFan(wxBoxSizer* main_left_sizer)
|
||||||
|
{
|
||||||
|
m_exhaustfan_line_above = new wxStaticLine(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL);
|
||||||
|
m_exhaustfan_line_above->SetBackgroundColour(wxColour(206, 206, 206));
|
||||||
|
main_left_sizer->Add(m_exhaustfan_line_above, 0, wxEXPAND | wxLEFT, FromDIP(40));
|
||||||
|
|
||||||
|
m_exhaustfan_img = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(FromDIP(200), FromDIP(200)));
|
||||||
|
|
||||||
|
wxBoxSizer* content_sizer = new wxBoxSizer(wxVERTICAL);
|
||||||
|
content_sizer->Add(0, 40, 0, wxEXPAND, FromDIP(5));
|
||||||
|
m_exhaustfan_version = new uiDeviceUpdateVersion(this, wxID_ANY);
|
||||||
|
content_sizer->Add(m_exhaustfan_version, 0, wxEXPAND, 0);
|
||||||
|
|
||||||
|
m_exhaustfan_sizer = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
m_exhaustfan_sizer->Add(m_exhaustfan_img, 0, wxALIGN_TOP | wxALL, FromDIP(5));
|
||||||
|
m_exhaustfan_sizer->Add(content_sizer, 1, wxEXPAND, 0);
|
||||||
|
|
||||||
|
main_left_sizer->Add(m_exhaustfan_sizer, 0, wxEXPAND, 0);
|
||||||
|
}
|
||||||
|
|
||||||
void MachineInfoPanel::msw_rescale()
|
void MachineInfoPanel::msw_rescale()
|
||||||
{
|
{
|
||||||
rescale_bitmaps();
|
rescale_bitmaps();
|
||||||
@@ -569,6 +613,8 @@ void MachineInfoPanel::update(MachineObject* obj)
|
|||||||
update_laszer(obj);
|
update_laszer(obj);
|
||||||
update_extinguish(obj);
|
update_extinguish(obj);
|
||||||
update_filatrack(obj);
|
update_filatrack(obj);
|
||||||
|
update_rotary(obj); // Orca: accessory firmware version display
|
||||||
|
update_exhaustfan(obj); // Orca: accessory firmware version display
|
||||||
update_nozzle_rack(obj);
|
update_nozzle_rack(obj);
|
||||||
|
|
||||||
//update progress
|
//update progress
|
||||||
@@ -1167,6 +1213,34 @@ void MachineInfoPanel::update_filatrack(MachineObject* obj)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Orca: accessory firmware version display (backing parse landed in cluster 2)
|
||||||
|
void MachineInfoPanel::update_rotary(MachineObject* obj)
|
||||||
|
{
|
||||||
|
if (obj && obj->rotary_version_info.isValid())
|
||||||
|
{
|
||||||
|
m_rotary_version->UpdateInfo(obj->rotary_version_info);
|
||||||
|
show_rotary(true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
show_rotary(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Orca: accessory firmware version display (backing parse landed in cluster 2)
|
||||||
|
void MachineInfoPanel::update_exhaustfan(MachineObject* obj)
|
||||||
|
{
|
||||||
|
if (obj && obj->exhaustfan_version_info.isValid())
|
||||||
|
{
|
||||||
|
m_exhaustfan_version->UpdateInfo(obj->exhaustfan_version_info);
|
||||||
|
show_exhaustfan(true);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
show_exhaustfan(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void MachineInfoPanel::show_status(int status, std::string upgrade_status_str)
|
void MachineInfoPanel::show_status(int status, std::string upgrade_status_str)
|
||||||
{
|
{
|
||||||
if (last_status == status && last_status_str == upgrade_status_str) return;
|
if (last_status == status && last_status_str == upgrade_status_str) return;
|
||||||
@@ -1311,6 +1385,28 @@ void MachineInfoPanel::show_filatrack(bool show)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Orca: accessory firmware version display
|
||||||
|
void MachineInfoPanel::show_rotary(bool show)
|
||||||
|
{
|
||||||
|
if (m_rotary_version->IsShown() != show)
|
||||||
|
{
|
||||||
|
m_rotary_img->Show(show);
|
||||||
|
m_rotary_line_above->Show(show);
|
||||||
|
m_rotary_version->Show(show);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Orca: accessory firmware version display
|
||||||
|
void MachineInfoPanel::show_exhaustfan(bool show)
|
||||||
|
{
|
||||||
|
if (m_exhaustfan_version->IsShown() != show)
|
||||||
|
{
|
||||||
|
m_exhaustfan_img->Show(show);
|
||||||
|
m_exhaustfan_line_above->Show(show);
|
||||||
|
m_exhaustfan_version->Show(show);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void MachineInfoPanel::createNozzleRackWidgets(wxBoxSizer *main_left_sizer)
|
void MachineInfoPanel::createNozzleRackWidgets(wxBoxSizer *main_left_sizer)
|
||||||
{
|
{
|
||||||
// horizontal line above
|
// horizontal line above
|
||||||
|
|||||||
@@ -140,6 +140,18 @@ protected:
|
|||||||
wxStaticLine* m_filatrack_line_above = nullptr;
|
wxStaticLine* m_filatrack_line_above = nullptr;
|
||||||
uiDeviceUpdateVersion* m_filatrack_version = nullptr;
|
uiDeviceUpdateVersion* m_filatrack_version = nullptr;
|
||||||
|
|
||||||
|
/* rotary attachment info (Orca: accessory firmware version display) */
|
||||||
|
wxBoxSizer* m_rotary_sizer = nullptr;
|
||||||
|
wxStaticBitmap* m_rotary_img = nullptr;
|
||||||
|
wxStaticLine* m_rotary_line_above = nullptr;
|
||||||
|
uiDeviceUpdateVersion* m_rotary_version = nullptr;
|
||||||
|
|
||||||
|
/* exhaust fan info (Orca: accessory firmware version display) */
|
||||||
|
wxBoxSizer* m_exhaustfan_sizer = nullptr;
|
||||||
|
wxStaticBitmap* m_exhaustfan_img = nullptr;
|
||||||
|
wxStaticLine* m_exhaustfan_line_above = nullptr;
|
||||||
|
uiDeviceUpdateVersion* m_exhaustfan_version = nullptr;
|
||||||
|
|
||||||
/* nozzle rack (H2C induction hotend rack) — opens wgtDeviceNozzleRackUpgradeDlg */
|
/* nozzle rack (H2C induction hotend rack) — opens wgtDeviceNozzleRackUpgradeDlg */
|
||||||
wxBoxSizer* m_nozzle_rack_sizer = nullptr;
|
wxBoxSizer* m_nozzle_rack_sizer = nullptr;
|
||||||
wxStaticBitmap* m_nozzle_rack_img = nullptr;
|
wxStaticBitmap* m_nozzle_rack_img = nullptr;
|
||||||
@@ -228,6 +240,8 @@ private:
|
|||||||
void createLaserWidgets(wxBoxSizer* main_left_sizer);
|
void createLaserWidgets(wxBoxSizer* main_left_sizer);
|
||||||
void createExtinguishWidgets(wxBoxSizer* main_left_sizer);
|
void createExtinguishWidgets(wxBoxSizer* main_left_sizer);
|
||||||
void createFilaTrackSwitchWidgets(wxBoxSizer* main_left_sizer);
|
void createFilaTrackSwitchWidgets(wxBoxSizer* main_left_sizer);
|
||||||
|
void createRotaryWidgets(wxBoxSizer* main_left_sizer); // Orca: accessory firmware version display
|
||||||
|
void createExhaustFan(wxBoxSizer* main_left_sizer); // Orca: accessory firmware version display
|
||||||
void createNozzleRackWidgets(wxBoxSizer* main_left_sizer);
|
void createNozzleRackWidgets(wxBoxSizer* main_left_sizer);
|
||||||
|
|
||||||
void update_air_pump(MachineObject* obj);
|
void update_air_pump(MachineObject* obj);
|
||||||
@@ -235,6 +249,8 @@ private:
|
|||||||
void update_laszer(MachineObject* obj);
|
void update_laszer(MachineObject* obj);
|
||||||
void update_extinguish(MachineObject* obj);
|
void update_extinguish(MachineObject* obj);
|
||||||
void update_filatrack(MachineObject* obj);
|
void update_filatrack(MachineObject* obj);
|
||||||
|
void update_rotary(MachineObject* obj); // Orca: accessory firmware version display
|
||||||
|
void update_exhaustfan(MachineObject* obj); // Orca: accessory firmware version display
|
||||||
void update_nozzle_rack(MachineObject* obj);
|
void update_nozzle_rack(MachineObject* obj);
|
||||||
|
|
||||||
void show_air_pump(bool show = true);
|
void show_air_pump(bool show = true);
|
||||||
@@ -242,6 +258,8 @@ private:
|
|||||||
void show_laszer(bool show = true);
|
void show_laszer(bool show = true);
|
||||||
void show_extinguish(bool show = true);
|
void show_extinguish(bool show = true);
|
||||||
void show_filatrack(bool show = true);
|
void show_filatrack(bool show = true);
|
||||||
|
void show_rotary(bool show = true); // Orca: accessory firmware version display
|
||||||
|
void show_exhaustfan(bool show = true); // Orca: accessory firmware version display
|
||||||
void show_nozzle_rack(bool show = true);
|
void show_nozzle_rack(bool show = true);
|
||||||
|
|
||||||
void on_nozzle_rack_update(wxCommandEvent& event);
|
void on_nozzle_rack_update(wxCommandEvent& event);
|
||||||
|
|||||||
@@ -274,8 +274,8 @@ SideTools::SideTools(wxWindow *parent, wxWindowID id, const wxPoint &pos, const
|
|||||||
wxBoxSizer* connection_sizer_V = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer* connection_sizer_V = new wxBoxSizer(wxVERTICAL);
|
||||||
wxBoxSizer* connection_sizer_H = new wxBoxSizer(wxHORIZONTAL);
|
wxBoxSizer* connection_sizer_H = new wxBoxSizer(wxHORIZONTAL);
|
||||||
|
|
||||||
// ORCA standardized HyperLink
|
// ORCA standardized HyperLink; Orca: neutral wiki link (vendor URL removed)
|
||||||
m_hyperlink = new HyperLink(m_connection_info, _L("Failed to connect to the server"), wxT("https://wiki.bambulab.com/en/software/bambu-studio/failed-to-connect-printer"));
|
m_hyperlink = new HyperLink(m_connection_info, _L("Failed to connect to the server"), wxT("https://www.orcaslicer.com/wiki/"));
|
||||||
|
|
||||||
m_more_err_open = ScalableBitmap(this, "monitir_err_open", 16);
|
m_more_err_open = ScalableBitmap(this, "monitir_err_open", 16);
|
||||||
m_more_err_close = ScalableBitmap(this, "monitir_err_close", 16);
|
m_more_err_close = ScalableBitmap(this, "monitir_err_close", 16);
|
||||||
|
|||||||
Reference in New Issue
Block a user