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

@ -960,7 +960,7 @@ void SendToPrinterDialog::on_ok(wxCommandEvent &event)
update_print_status_msg(_L("No available external storage was obtained. Please confirm and try again."), true, true);
}
}
} else {
} else {
auto m_send_job = std::make_unique<SendJob>(m_printer_last_select);
m_send_job->m_dev_ip = obj_->get_dev_ip();
@ -982,8 +982,15 @@ void SendToPrinterDialog::on_ok(wxCommandEvent &event)
#endif
m_send_job->connection_type = obj_->connection_type();
m_send_job->cloud_print_only = true;
m_send_job->has_sdcard = obj_->GetStorage()->get_sdcard_state() == DevStorage::SdcardState::HAS_SDCARD_NORMAL;
m_send_job->set_project_name(m_current_project_name.utf8_string());
m_send_job->sdcard_state = obj_->GetStorage()->get_sdcard_state();
m_send_job->has_sdcard = wxGetApp().app_config->get("allow_abnormal_storage") == "true"
? (m_send_job->sdcard_state == DevStorage::SdcardState::HAS_SDCARD_NORMAL
|| m_send_job->sdcard_state == DevStorage::SdcardState::HAS_SDCARD_ABNORMAL)
: m_send_job->sdcard_state == DevStorage::SdcardState::HAS_SDCARD_NORMAL;
m_send_job->set_project_name(m_current_project_name.utf8_string());
enable_prepare_mode = false;