diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index 785a91654..68483e14c 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -1793,11 +1793,9 @@ void SelectMachineDialog::show_status(PrintDialogStatus status, std::vector AMS slot."); update_print_status_msg(msg_text, false, true, true); @@ -3302,9 +3289,6 @@ void SelectMachineDialog::update_show_status() if (get_status() == PrintDialogStatus::PrintStatusSending) return; - if (get_status() == PrintDialogStatus::PrintStatusSendingCanceled) - return; - NetworkAgent* agent = Slic3r::GUI::wxGetApp().getAgent(); DeviceManager* dev = Slic3r::GUI::wxGetApp().getDeviceManager(); if (!agent) { @@ -3548,35 +3532,28 @@ void SelectMachineDialog::update_show_status() } } - // no ams - if (!obj_->has_ams() || m_checkbox_list["use_ams"]->getValue() != "on") { - if (!has_tips(obj_)) { - if (has_timelapse_warning()) { - show_status(PrintDialogStatus::PrintStatusTimelapseWarning); - } else { - show_status(PrintDialogStatus::PrintStatusReadingFinished); - } - } + if (obj_->is_ams_on_settingup()) { + show_status(PrintDialogStatus::PrintStatusAmsOnSettingup); return; } if (m_checkbox_list["use_ams"]->getValue() != "on") { m_ams_mapping_result.clear(); sync_ams_mapping_result(m_ams_mapping_result); + } - if (has_timelapse_warning()) { - show_status(PrintDialogStatus::PrintStatusTimelapseWarning); - } else { - show_status(PrintDialogStatus::PrintStatusDisableAms); - } - + if (!m_ams_mapping_res && !obj_->is_valid_mapping_result(m_ams_mapping_result)) { + show_status(PrintDialogStatus::PrintStatusAmsMappingInvalid); return; } - if (obj_->is_ams_on_settingup()) - { - show_status(PrintDialogStatus::PrintStatusAmsOnSettingup); - return; + /*Warnings*/ + // no ams + if (!obj_->has_ams() || m_checkbox_list["use_ams"]->getValue() != "on") { + if (has_timelapse_warning()) { + show_status(PrintDialogStatus::PrintStatusTimelapseWarning); + return; + } } struct ExtruderStatus diff --git a/src/slic3r/GUI/SelectMachine.hpp b/src/slic3r/GUI/SelectMachine.hpp index 35ed6db6d..25f2c2d48 100644 --- a/src/slic3r/GUI/SelectMachine.hpp +++ b/src/slic3r/GUI/SelectMachine.hpp @@ -60,52 +60,84 @@ enum PrintPageMode { PrintPageModeFinish }; -enum PrintDialogStatus { - PrintStatusInit = 0, +enum PrintDialogStatus : unsigned int { + /*Errors*/ + PrintStatusErrorBegin, + + //Errors for printer, Block Print + PrintStatusPrinterErrorBegin, + PrintStatusInit, PrintStatusNoUserLogin, PrintStatusInvalidPrinter, PrintStatusConnectingServer, - PrintStatusReading, - PrintStatusReadingFinished, PrintStatusReadingTimeout, + PrintStatusReading, PrintStatusInUpgrading, PrintStatusModeNotFDM, - PrintStatusNeedUpgradingAms, PrintStatusInSystemPrinting, PrintStatusInPrinting, - PrintStatusDisableAms, - PrintStatusAmsOnSettingup, - PrintStatusAmsMappingSuccess, - PrintStatusAmsMappingInvalid, - PrintStatusAmsMappingU0Invalid, - PrintStatusAmsMappingMixInvalid, PrintStatusNozzleMatchInvalid, PrintStatusNozzleDataInvalid, PrintStatusNozzleDiameterMismatch, PrintStatusNozzleTypeMismatch, - PrintStatusAmsMappingValid, - PrintStatusAmsMappingByOrder, PrintStatusRefreshingMachineList, PrintStatusSending, - PrintStatusSendingCanceled, PrintStatusLanModeNoSdcard, - PrintStatusLanModeSDcardNotAvailable, PrintStatusNoSdcard, - PrintStatusTimelapseNoSdcard, - PrintStatusNotOnTheSameLAN, + PrintStatusLanModeSDcardNotAvailable, PrintStatusNeedForceUpgrading, PrintStatusNeedConsistencyUpgrading, - PrintStatusNotSupportedSendToSDCard, PrintStatusNotSupportedPrintAll, PrintStatusBlankPlate, PrintStatusUnsupportedPrinter, + PrintStatusInvalidMapping, + PrintStatusPrinterErrorEnd, + + //Errors for filament, Block Print + PrintStatusFilamentErrorBegin, + PrintStatusNeedUpgradingAms, + PrintStatusAmsOnSettingup, + PrintStatusAmsMappingInvalid, + PrintStatusAmsMappingU0Invalid, + PrintStatusAmsMappingMixInvalid, + PrintStatusTPUUnsupportAutoCali, + PrintStatusFilamentErrorEnd, + + PrintStatusErrorEnd, + + /*Warnings*/ + PrintStatusWarningBegin, + + //Warnings for printer + PrintStatusPrinterWarningBegin, + PrintStatusTimelapseNoSdcard, PrintStatusTimelapseWarning, PrintStatusMixAmsAndVtSlotWarning, + PrintStatusPrinterWarningEnd, + + //Warnings for filament + PrintStatusFilamentWarningBegin, + PrintStatusAmsMappingByOrder, + PrintStatusWarningKvalueNotUsed, + PrintStatusFilamentWarningEnd, + + PrintStatusWarningEnd, + + /*Success*/ + //printer + PrintStatusReadingFinished, + PrintStatusSendingCanceled, + + //filament + PrintStatusDisableAms, + PrintStatusAmsMappingSuccess, + PrintStatusAmsMappingValid, + + /*Other, SendToPrinterDialog*/ + PrintStatusNotOnTheSameLAN, + PrintStatusNotSupportedSendToSDCard, PrintStatusPublicInitFailed, PrintStatusPublicUploadFiled, - PrintStatusInvalidMapping, - PrintStatusTPUUnsupportAutoCali, - PrintStatusWarningKvalueNotUsed, }; class Material @@ -520,6 +552,14 @@ public: private: void EnableEditing(bool enable); + + /*go check*/ + bool is_error(PrintDialogStatus status) { return (PrintStatusErrorBegin < status) && (PrintStatusErrorEnd > status); }; + bool is_error_printer(PrintDialogStatus status) { return (PrintStatusPrinterErrorBegin < status) && (PrintStatusPrinterErrorEnd > status); }; + bool is_error_filament(PrintDialogStatus status) { return (PrintStatusFilamentErrorBegin < status) && (PrintStatusFilamentErrorEnd > status); }; + bool is_warning(PrintDialogStatus status) { return (PrintStatusWarningBegin < status) && (PrintStatusWarningEnd > status); }; + bool is_warning_printer(PrintDialogStatus status) { return (PrintStatusPrinterWarningBegin < status) && (PrintStatusPrinterWarningEnd > status); }; + bool is_warning_filament(PrintDialogStatus status) { return (PrintStatusFilamentWarningBegin < status) && (PrintStatusFilamentWarningEnd > status); }; };