Revision: 5784 http://geany.svn.sourceforge.net/geany/?rev=5784&view=rev Author: colombanw Date: 2011-05-09 17:38:02 +0000 (Mon, 09 May 2011)
Log Message: ----------- Update forced indent settings when setting the filetype
This makes documents created or set to a filetype with forced indent setting (Makefile, F77) to have the correct setting right away.
Modified Paths: -------------- branches/0.20.1/ChangeLog branches/0.20.1/src/document.c
Modified: branches/0.20.1/ChangeLog =================================================================== --- branches/0.20.1/ChangeLog 2011-05-09 17:37:39 UTC (rev 5783) +++ branches/0.20.1/ChangeLog 2011-05-09 17:38:02 UTC (rev 5784) @@ -14,6 +14,10 @@ * src/callbacks.c: Create a new undo action when inserting templates, making sure the user can undo the template insertion without also undoing a previous action. + * src/document.c: + Update forced indent settings when setting the filetype. This makes + documents created or set to a filetype with forced indent setting + (Makefile, F77) to have the correct setting right away.
2011-05-08 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: branches/0.20.1/src/document.c =================================================================== --- branches/0.20.1/src/document.c 2011-05-09 17:37:39 UTC (rev 5783) +++ branches/0.20.1/src/document.c 2011-05-09 17:38:02 UTC (rev 5784) @@ -1152,24 +1152,33 @@ }
-void document_apply_indent_settings(GeanyDocument *doc) +static gboolean apply_forced_indent_settings(GeanyDocument *doc) { const GeanyIndentPrefs *iprefs = editor_get_indent_prefs(NULL); - GeanyIndentType type = iprefs->type;
switch (doc->file_type->id) { case GEANY_FILETYPES_MAKE: /* force using tabs for indentation for Makefiles */ editor_set_indent(doc->editor, GEANY_INDENT_TYPE_TABS, iprefs->width); - return; + return TRUE; case GEANY_FILETYPES_F77: /* force using spaces for indentation for Fortran 77 */ editor_set_indent(doc->editor, GEANY_INDENT_TYPE_SPACES, iprefs->width); - return; - default: - break; + return TRUE; } + + return FALSE; +} + + +void document_apply_indent_settings(GeanyDocument *doc) +{ + const GeanyIndentPrefs *iprefs = editor_get_indent_prefs(NULL); + GeanyIndentType type = iprefs->type; + + if (apply_forced_indent_settings(doc)) + return; if (iprefs->detect_type) { type = detect_indent_type(doc->editor); @@ -2585,6 +2594,8 @@
if (ft_changed) { + if (apply_forced_indent_settings(doc)) /* update forced indents, like Makefiles and F77 */ + ui_document_show_hide(doc); sidebar_openfiles_update(doc); /* to update the icon */ g_signal_emit_by_name(geany_object, "document-filetype-set", doc, old_ft); }
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.