[Bf-blender-cvs] [5643c29] master: File Reading: add revert operator
Campbell Barton
noreply at git.blender.org
Tue Jan 28 19:36:52 CET 2014
Commit: 5643c29fbeacf699b47e84b4d2abc9f20b23cb7c
Author: Campbell Barton
Date: Wed Jan 29 05:34:57 2014 +1100
https://developer.blender.org/rB5643c29fbeacf699b47e84b4d2abc9f20b23cb7c
File Reading: add revert operator
Patch D247 by Evans Jahja with edits
===================================================================
M release/scripts/startup/bl_ui/space_info.py
M source/blender/windowmanager/intern/wm_operators.c
===================================================================
diff --git a/release/scripts/startup/bl_ui/space_info.py b/release/scripts/startup/bl_ui/space_info.py
index 769cc53..bbf6167 100644
--- a/release/scripts/startup/bl_ui/space_info.py
+++ b/release/scripts/startup/bl_ui/space_info.py
@@ -104,6 +104,7 @@ class INFO_MT_file(Menu):
layout.operator("wm.read_homefile", text="New", icon='NEW')
layout.operator("wm.open_mainfile", text="Open...", icon='FILE_FOLDER')
layout.menu("INFO_MT_file_open_recent", icon='OPEN_RECENT')
+ layout.operator("wm.revert_mainfile", icon='FILE_REFRESH')
layout.operator("wm.recover_last_session", icon='RECOVER_LAST')
layout.operator("wm.recover_auto_save", text="Recover Auto Save...", icon='RECOVER_AUTO')
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index ac23983..6f82361 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -2309,6 +2309,38 @@ static void WM_OT_open_mainfile(wmOperatorType *ot)
"Allow .blend file to execute scripts automatically, default available from system preferences");
}
+
+/* *************** revert file **************** */
+
+static int wm_revert_mainfile_exec(bContext *C, wmOperator *op)
+{
+ bool success;
+
+ success = wm_file_read_opwrap(C, G.main->name, op->reports, true);
+
+ if (success) {
+ return OPERATOR_FINISHED;
+ }
+ else {
+ return OPERATOR_CANCELLED;
+ }
+}
+
+static int wm_revert_mainfile_poll(bContext *UNUSED(C))
+{
+ return G.relbase_valid;
+}
+
+static void WM_OT_revert_mainfile(wmOperatorType *ot)
+{
+ ot->name = "Revert";
+ ot->idname = "WM_OT_revert_mainfile";
+ ot->description = "Reload the saved file";
+
+ ot->exec = wm_revert_mainfile_exec;
+ ot->poll = wm_revert_mainfile_poll;
+}
+
/* **************** link/append *************** */
static int wm_link_append_poll(bContext *C)
@@ -4367,6 +4399,7 @@ void wm_operatortype_init(void)
WM_operatortype_append(WM_OT_window_fullscreen_toggle);
WM_operatortype_append(WM_OT_quit_blender);
WM_operatortype_append(WM_OT_open_mainfile);
+ WM_operatortype_append(WM_OT_revert_mainfile);
WM_operatortype_append(WM_OT_link_append);
WM_operatortype_append(WM_OT_recover_last_session);
WM_operatortype_append(WM_OT_recover_auto_save);
More information about the Bf-blender-cvs
mailing list