Add setting to enable uploads to abnormal Storage; improve sd_card_state error reporting (#10981)

* Add option to allow upload to SD-Cards marked as abnormal, also add better error description

+ Adds the options under the Network Settings to allow upload to abnormal SD-Card.
+ If not enabled user will now see why the upload is stuck at 10% depending on the sd_card_state (Readonly/Abnormal)

* Merging with current branch, and updateing "sd-card" to "storage"

* Generate localization and also change remaining sd_card_abnormal states to _storage_abnormal

* Fix issues from merge, and other bugfixes.

* Regenerate localization files.

* Improve Missing Storage Message, Add skip for abnormal storage in printer select dialog
This commit is contained in:
Seref 2025-10-29 13:32:38 +01:00 committed by GitHub
parent dedfd9d4ed
commit 4b7b81a0a2
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
33 changed files with 7555 additions and 4844 deletions

View file

@ -2516,8 +2516,14 @@ void SelectMachineDialog::on_send_print()
if (build_nozzles_info(m_print_job->task_nozzles_info)) {
BOOST_LOG_TRIVIAL(error) << "build_nozzle_info errors";
}
m_print_job->has_sdcard = obj_->GetStorage()->get_sdcard_state() == DevStorage::SdcardState::HAS_SDCARD_NORMAL;
m_print_job->sdcard_state = obj_->GetStorage()->get_sdcard_state() ;
m_print_job->has_sdcard = wxGetApp().app_config->get("allow_abnormal_storage") == "true"
? (m_print_job->sdcard_state == DevStorage::SdcardState::HAS_SDCARD_NORMAL
|| m_print_job->sdcard_state == DevStorage::SdcardState::HAS_SDCARD_ABNORMAL)
: m_print_job->sdcard_state == DevStorage::SdcardState::HAS_SDCARD_NORMAL;
bool timelapse_option = m_checkbox_list["timelapse"]->IsShown()?true:false;
@ -3313,7 +3319,10 @@ void SelectMachineDialog::update_show_status(MachineObject* obj_)
if (obj_->GetStorage()->get_sdcard_state() == DevStorage::SdcardState::NO_SDCARD) {
show_status(PrintDialogStatus::PrintStatusLanModeNoSdcard);
return;
} else if (obj_->GetStorage()->get_sdcard_state() == DevStorage::SdcardState::HAS_SDCARD_ABNORMAL || obj_->GetStorage()->get_sdcard_state() == DevStorage::SdcardState::HAS_SDCARD_READONLY) {
} else if (obj_->GetStorage()->get_sdcard_state() == DevStorage::SdcardState::HAS_SDCARD_READONLY) {
show_status(PrintDialogStatus::PrintStatusLanModeSDcardNotAvailable);
return;
} else if(obj_->GetStorage()->get_sdcard_state() == DevStorage::SdcardState::HAS_SDCARD_ABNORMAL && (wxGetApp().app_config->get("allow_abnormal_storage") == "false")){
show_status(PrintDialogStatus::PrintStatusLanModeSDcardNotAvailable);
return;
}