mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-20 03:43:52 +00:00
FIX: add ui_op_lock for cali history operation
Jira: [STUDIO-14419] Change-Id: I5242a0a56c9fd2459bd681fc32e3d1edd3b19d66 (cherry picked from commit ea7a39ecf0955efe7781f44ec7d3ea3900a43711)
This commit is contained in:
@@ -383,9 +383,14 @@ void HistoryWindow::sync_history_data() {
|
|||||||
delete_button->SetMinSize(wxSize(-1, FromDIP(24)));
|
delete_button->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||||
delete_button->SetCornerRadius(FromDIP(12));
|
delete_button->SetCornerRadius(FromDIP(12));
|
||||||
delete_button->Bind(wxEVT_BUTTON, [this, gbSizer, i, &result](auto& e) {
|
delete_button->Bind(wxEVT_BUTTON, [this, gbSizer, i, &result](auto& e) {
|
||||||
|
if (m_ui_op_lock) {
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
m_ui_op_lock = true;
|
||||||
|
}
|
||||||
for (int j = 0; j < HISTORY_WINDOW_ITEMS_COUNT; j++) {
|
for (int j = 0; j < HISTORY_WINDOW_ITEMS_COUNT; j++) {
|
||||||
auto item = gbSizer->FindItemAtPosition({ i, j });
|
auto item = gbSizer->FindItemAtPosition({ i, j });
|
||||||
if (item)
|
if (item && item->GetWindow())
|
||||||
item->GetWindow()->Hide();
|
item->GetWindow()->Hide();
|
||||||
}
|
}
|
||||||
gbSizer->SetEmptyCellSize({ 0,0 });
|
gbSizer->SetEmptyCellSize({ 0,0 });
|
||||||
@@ -410,6 +415,8 @@ void HistoryWindow::sync_history_data() {
|
|||||||
edit_button->SetMinSize(wxSize(-1, FromDIP(24)));
|
edit_button->SetMinSize(wxSize(-1, FromDIP(24)));
|
||||||
edit_button->SetCornerRadius(FromDIP(12));
|
edit_button->SetCornerRadius(FromDIP(12));
|
||||||
edit_button->Bind(wxEVT_BUTTON, [this, result, k_value, name_value, edit_button](auto& e) {
|
edit_button->Bind(wxEVT_BUTTON, [this, result, k_value, name_value, edit_button](auto& e) {
|
||||||
|
if (m_ui_op_lock) return;
|
||||||
|
|
||||||
PACalibResult result_buffer = result;
|
PACalibResult result_buffer = result;
|
||||||
result_buffer.k_value = stof(k_value->GetLabel().ToStdString());
|
result_buffer.k_value = stof(k_value->GetLabel().ToStdString());
|
||||||
result_buffer.name = name_value->GetLabel().ToUTF8().data();
|
result_buffer.name = name_value->GetLabel().ToUTF8().data();
|
||||||
@@ -440,6 +447,7 @@ void HistoryWindow::sync_history_data() {
|
|||||||
gbSizer->Add(delete_button, {i, get_colume_idx(CaliColumnType::Cali_Delete, curr_obj)}, {1, 1}, wxBOTTOM, FromDIP(15));
|
gbSizer->Add(delete_button, {i, get_colume_idx(CaliColumnType::Cali_Delete, curr_obj)}, {1, 1}, wxBOTTOM, FromDIP(15));
|
||||||
gbSizer->Add(edit_button, {i, get_colume_idx(CaliColumnType::Cali_Edit, curr_obj)}, {1, 1}, wxBOTTOM, FromDIP(15));
|
gbSizer->Add(edit_button, {i, get_colume_idx(CaliColumnType::Cali_Edit, curr_obj)}, {1, 1}, wxBOTTOM, FromDIP(15));
|
||||||
i++;
|
i++;
|
||||||
|
m_ui_op_lock = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
wxGetApp().UpdateDlgDarkUI(this);
|
wxGetApp().UpdateDlgDarkUI(this);
|
||||||
|
|||||||
@@ -40,6 +40,8 @@ protected:
|
|||||||
bool& m_show_history_dialog;
|
bool& m_show_history_dialog;
|
||||||
std::vector<PACalibResult> m_calib_results_history;
|
std::vector<PACalibResult> m_calib_results_history;
|
||||||
MachineObject* curr_obj { nullptr };
|
MachineObject* curr_obj { nullptr };
|
||||||
|
|
||||||
|
bool m_ui_op_lock{ false };
|
||||||
};
|
};
|
||||||
|
|
||||||
class EditCalibrationHistoryDialog : public DPIDialog
|
class EditCalibrationHistoryDialog : public DPIDialog
|
||||||
|
|||||||
Reference in New Issue
Block a user