Added takesnapshot() call for:
- split of the instances, - renaming of the Object/Volume item - changing of the additional settings.
This commit is contained in:
parent
fb39516c65
commit
7dd63b2c00
2 changed files with 17 additions and 5 deletions
|
@ -487,13 +487,15 @@ void ObjectList::update_name_in_model(const wxDataViewItem& item) const
|
||||||
{
|
{
|
||||||
const int obj_idx = m_objects_model->GetObjectIdByItem(item);
|
const int obj_idx = m_objects_model->GetObjectIdByItem(item);
|
||||||
if (obj_idx < 0) return;
|
if (obj_idx < 0) return;
|
||||||
|
const int volume_id = m_objects_model->GetVolumeIdByItem(item);
|
||||||
|
|
||||||
if (m_objects_model->GetParent(item) == wxDataViewItem(0)) {
|
take_snapshot(wxString::Format(_(L("Rename %s")), volume_id < 0 ? _(L("Object")) : _(L("Sub-object"))));
|
||||||
|
|
||||||
|
if (m_objects_model->GetItemType(item) & itObject) {
|
||||||
(*m_objects)[obj_idx]->name = m_objects_model->GetName(item).ToUTF8().data();
|
(*m_objects)[obj_idx]->name = m_objects_model->GetName(item).ToUTF8().data();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
const int volume_id = m_objects_model->GetVolumeIdByItem(item);
|
|
||||||
if (volume_id < 0) return;
|
if (volume_id < 0) return;
|
||||||
(*m_objects)[obj_idx]->volumes[volume_id]->name = m_objects_model->GetName(item).ToUTF8().data();
|
(*m_objects)[obj_idx]->volumes[volume_id]->name = m_objects_model->GetName(item).ToUTF8().data();
|
||||||
}
|
}
|
||||||
|
@ -925,7 +927,7 @@ void ObjectList::OnDrop(wxDataViewEvent &event)
|
||||||
|
|
||||||
if (m_dragged_data.type() == itInstance)
|
if (m_dragged_data.type() == itInstance)
|
||||||
{
|
{
|
||||||
take_snapshot(_(L("Instances to Separated Objects")));
|
Plater::TakeSnapshot snapshot(wxGetApp().plater(),_(L("Instances to Separated Objects")));
|
||||||
instances_to_separated_object(m_dragged_data.obj_idx(), m_dragged_data.inst_idxs());
|
instances_to_separated_object(m_dragged_data.obj_idx(), m_dragged_data.inst_idxs());
|
||||||
m_dragged_data.clear();
|
m_dragged_data.clear();
|
||||||
return;
|
return;
|
||||||
|
@ -943,7 +945,7 @@ void ObjectList::OnDrop(wxDataViewEvent &event)
|
||||||
// if (to_volume_id > from_volume_id) to_volume_id--;
|
// if (to_volume_id > from_volume_id) to_volume_id--;
|
||||||
// #endif // __WXGTK__
|
// #endif // __WXGTK__
|
||||||
|
|
||||||
take_snapshot(_(L("Remov Volume(s)")));
|
take_snapshot(_(L("Remove Volume(s)")));
|
||||||
|
|
||||||
auto& volumes = (*m_objects)[m_dragged_data.obj_idx()]->volumes;
|
auto& volumes = (*m_objects)[m_dragged_data.obj_idx()]->volumes;
|
||||||
auto delta = to_volume_id < from_volume_id ? -1 : 1;
|
auto delta = to_volume_id < from_volume_id ? -1 : 1;
|
||||||
|
@ -3055,7 +3057,7 @@ void ObjectList::change_part_type()
|
||||||
if (new_type == type || new_type == ModelVolumeType::INVALID)
|
if (new_type == type || new_type == ModelVolumeType::INVALID)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
take_snapshot(_(L("Paste from Clipboard")));
|
take_snapshot(_(L("Change Part Type")));
|
||||||
|
|
||||||
const auto item = GetSelection();
|
const auto item = GetSelection();
|
||||||
volume->set_type(new_type);
|
volume->set_type(new_type);
|
||||||
|
@ -3294,6 +3296,8 @@ void ObjectList::split_instances()
|
||||||
if (obj_idx == -1)
|
if (obj_idx == -1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
Plater::TakeSnapshot snapshot(wxGetApp().plater(), _(L("Instances to Separated Objects")));
|
||||||
|
|
||||||
if (selection.is_single_full_object())
|
if (selection.is_single_full_object())
|
||||||
{
|
{
|
||||||
instances_to_separated_objects(obj_idx);
|
instances_to_separated_objects(obj_idx);
|
||||||
|
|
|
@ -93,6 +93,7 @@ bool ObjectSettings::update_settings_list()
|
||||||
btn->SetToolTip(_(L("Remove parameter")));
|
btn->SetToolTip(_(L("Remove parameter")));
|
||||||
|
|
||||||
btn->Bind(wxEVT_BUTTON, [opt_key, config, this](wxEvent &event) {
|
btn->Bind(wxEVT_BUTTON, [opt_key, config, this](wxEvent &event) {
|
||||||
|
wxGetApp().plater()->take_snapshot(wxString::Format(_(L("Delete Option %s")), opt_key));
|
||||||
config->erase(opt_key);
|
config->erase(opt_key);
|
||||||
wxGetApp().obj_list()->changed_object();
|
wxGetApp().obj_list()->changed_object();
|
||||||
wxTheApp->CallAfter([this]() {
|
wxTheApp->CallAfter([this]() {
|
||||||
|
@ -137,6 +138,13 @@ bool ObjectSettings::update_settings_list()
|
||||||
if (is_extruders_cat)
|
if (is_extruders_cat)
|
||||||
option.opt.max = wxGetApp().extruders_edited_cnt();
|
option.opt.max = wxGetApp().extruders_edited_cnt();
|
||||||
optgroup->append_single_option_line(option);
|
optgroup->append_single_option_line(option);
|
||||||
|
|
||||||
|
optgroup->get_field(opt)->m_on_change = [optgroup](const std::string& opt_id, const boost::any& value) {
|
||||||
|
// first of all take a snapshot and then change value in configuration
|
||||||
|
wxGetApp().plater()->take_snapshot(wxString::Format(_(L("Change Option %s")), opt_id));
|
||||||
|
optgroup->on_change_OG(opt_id, value);
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
optgroup->reload_config();
|
optgroup->reload_config();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue