Revision: 18955 http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18955 Author: ton Date: 2009-02-13 14:04:48 +0100 (Fri, 13 Feb 2009)
Log Message: ----------- 2.5 Feature restored: save file for the first time automatically names it untitled.blend, prevents to accidentally save over last saved file. Modified Paths: -------------- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c =================================================================== --- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c 2009-02-13 09:46:08 UTC (rev 18954) +++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c 2009-02-13 13:04:48 UTC (rev 18955) @@ -353,6 +353,19 @@ /* ********* main file *********** */ +static void untitled(char *name) +{ + if (G.save_over == 0 && strlen(name) < FILE_MAX-16) { + char *c= BLI_last_slash(name); + + if (c) + strcpy(&c[1], "untitled.blend"); + else + strcpy(name, "untitled.blend"); + } +} + + static int wm_mainfile_invoke(bContext *C, wmOperator *op, wmEvent *event) { SpaceFile *sfile; @@ -363,7 +376,7 @@ /* settings for filebrowser */ sfile= (SpaceFile*)CTX_wm_space_data(C); sfile->op = op; - // XXX replace G.sce + ED_fileselect_set_params(sfile, FILE_BLENDER, "Load", G.sce, 0, 0, 0); /* screen and area have been reset already in ED_screen_full_newspace */ @@ -403,14 +416,17 @@ static int wm_save_as_mainfile_invoke(bContext *C, wmOperator *op, wmEvent *event) { SpaceFile *sfile; + char name[FILE_MAX]; ED_screen_full_newspace(C, CTX_wm_area(C), SPACE_FILE); /* settings for filebrowser */ sfile= (SpaceFile*)CTX_wm_space_data(C); sfile->op = op; - // XXX replace G.sce - ED_fileselect_set_params(sfile, FILE_BLENDER, "Save As", G.sce, 0, 0, 0); + + BLI_strncpy(name, G.sce, FILE_MAX); + untitled(name); + ED_fileselect_set_params(sfile, FILE_BLENDER, "Save As", name, 0, 0, 0); /* screen and area have been reset already in ED_screen_full_newspace */ @@ -449,9 +465,12 @@ static int wm_save_mainfile_invoke(bContext *C, wmOperator *op, wmEvent *event) { + char name[FILE_MAX]; - RNA_string_set(op->ptr, "filename", G.sce); - uiPupMenuSaveOver(C, op, G.sce); + BLI_strncpy(name, G.sce, FILE_MAX); + untitled(name); + RNA_string_set(op->ptr, "filename", name); + uiPupMenuSaveOver(C, op, name); return OPERATOR_RUNNING_MODAL; } _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org http://lists.blender.org/mailman/listinfo/bf-blender-cvs