New preferences key "clear_undo_redo_stack_on_new_project", set to "1"
by default: Clear Undo / Redo stack on new project or load project. Fixes Clear undo chain #2812
This commit is contained in:
parent
1f3b272d77
commit
aeb18e729d
@ -147,6 +147,9 @@ void AppConfig::set_defaults()
|
|||||||
|
|
||||||
if (get("order_volumes").empty())
|
if (get("order_volumes").empty())
|
||||||
set("order_volumes", "1");
|
set("order_volumes", "1");
|
||||||
|
|
||||||
|
if (get("clear_undo_redo_stack_on_new_project").empty())
|
||||||
|
set("clear_undo_redo_stack_on_new_project", "1");
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
@ -4695,6 +4695,8 @@ void Plater::priv::take_snapshot(const std::string& snapshot_name, const UndoRed
|
|||||||
model.wipe_tower.position = Vec2d(config.opt_float("wipe_tower_x"), config.opt_float("wipe_tower_y"));
|
model.wipe_tower.position = Vec2d(config.opt_float("wipe_tower_x"), config.opt_float("wipe_tower_y"));
|
||||||
model.wipe_tower.rotation = config.opt_float("wipe_tower_rotation_angle");
|
model.wipe_tower.rotation = config.opt_float("wipe_tower_rotation_angle");
|
||||||
}
|
}
|
||||||
|
if (snapshot_type == UndoRedo::SnapshotType::ProjectSeparator && wxGetApp().app_config->get("clear_undo_redo_stack_on_new_project") == "1")
|
||||||
|
this->undo_redo_stack().clear();
|
||||||
this->undo_redo_stack().take_snapshot(snapshot_name, model, view3D->get_canvas3d()->get_selection(), view3D->get_canvas3d()->get_gizmos_manager(), snapshot_data);
|
this->undo_redo_stack().take_snapshot(snapshot_name, model, view3D->get_canvas3d()->get_selection(), view3D->get_canvas3d()->get_gizmos_manager(), snapshot_data);
|
||||||
if (snapshot_type == UndoRedo::SnapshotType::LeavingGizmoWithAction)
|
if (snapshot_type == UndoRedo::SnapshotType::LeavingGizmoWithAction)
|
||||||
// Filter all but the last UndoRedo::SnapshotType::GizmoAction in a row between the last UndoRedo::SnapshotType::EnteringGizmo and UndoRedo::SnapshotType::LeavingGizmoWithAction.
|
// Filter all but the last UndoRedo::SnapshotType::GizmoAction in a row between the last UndoRedo::SnapshotType::EnteringGizmo and UndoRedo::SnapshotType::LeavingGizmoWithAction.
|
||||||
|
@ -238,6 +238,14 @@ void PreferencesDialog::build(size_t selected_tab)
|
|||||||
option = Option(def, "show_splash_screen");
|
option = Option(def, "show_splash_screen");
|
||||||
m_optgroup_general->append_single_option_line(option);
|
m_optgroup_general->append_single_option_line(option);
|
||||||
|
|
||||||
|
// Clear Undo / Redo stack on new project
|
||||||
|
def.label = L("Clear Undo / Redo stack on new project");
|
||||||
|
def.type = coBool;
|
||||||
|
def.tooltip = L("Clear Undo / Redo stack on new project or when an existing project is loaded.");
|
||||||
|
def.set_default_value(new ConfigOptionBool{ app_config->get("clear_undo_redo_stack_on_new_project") == "1" });
|
||||||
|
option = Option(def, "clear_undo_redo_stack_on_new_project");
|
||||||
|
m_optgroup_general->append_single_option_line(option);
|
||||||
|
|
||||||
#if defined(_WIN32) || defined(__APPLE__)
|
#if defined(_WIN32) || defined(__APPLE__)
|
||||||
def.label = L("Enable support for legacy 3DConnexion devices");
|
def.label = L("Enable support for legacy 3DConnexion devices");
|
||||||
def.type = coBool;
|
def.type = coBool;
|
||||||
|
Loading…
Reference in New Issue
Block a user