Add a set_unsaved method.
[pspp] / src / ui / gui / psppire-syntax-window.c
index 0da8851b1d2b0f7094ddfaa059f31e99a7d767b0..9be362cf9aa99a7b66dfb2ed8f8f4e3e71d0454d 100644 (file)
@@ -479,6 +479,13 @@ on_text_changed (GtkTextBuffer *buffer, PsppireSyntaxWindow *window)
   gtk_statusbar_pop (GTK_STATUSBAR (window->sb), window->text_context);
 }
 
+static void
+on_modified_changed (GtkTextBuffer *buffer, PsppireWindow *window)
+{
+  psppire_window_set_unsaved (window, gtk_text_buffer_get_modified (buffer));
+}
+
+
 extern struct source_stream *the_source_stream ;
 
 static void
@@ -500,6 +507,9 @@ psppire_syntax_window_init (PsppireSyntaxWindow *window)
 
   g_signal_connect (window->buffer, "changed", G_CALLBACK (on_text_changed), window);
 
+  g_signal_connect (window->buffer, "modified-changed",
+                   G_CALLBACK (on_modified_changed), window);
+
   connect_help (xml);
 
   gtk_container_add (GTK_CONTAINER (window), box);