[gnome-builder] editor: update GbTab:dirty when document modification changes.
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] editor: update GbTab:dirty when document modification changes.
- Date: Tue, 9 Sep 2014 08:26:24 +0000 (UTC)
commit ea5d1d2aff2a07b4ecca5f3b65a5b324e1f99b79
Author: Christian Hergert <christian hergert me>
Date: Tue Sep 9 01:26:08 2014 -0700
editor: update GbTab:dirty when document modification changes.
src/editor/gb-editor-tab.c | 20 ++++++++++++++++++++
1 files changed, 20 insertions(+), 0 deletions(-)
---
diff --git a/src/editor/gb-editor-tab.c b/src/editor/gb-editor-tab.c
index 454e8c8..c1801b1 100644
--- a/src/editor/gb-editor-tab.c
+++ b/src/editor/gb-editor-tab.c
@@ -657,6 +657,19 @@ gb_editor_tab_cursor_moved (GbEditorTab *tab,
update_search_position_label (tab);
}
+static void
+gb_editor_tab_modified_changed (GbEditorTab *tab,
+ GtkTextBuffer *buffer)
+{
+ gboolean dirty;
+
+ g_return_if_fail (GTK_IS_TEXT_BUFFER (buffer));
+ g_return_if_fail (GB_IS_EDITOR_TAB (tab));
+
+ dirty = gtk_text_buffer_get_modified (buffer);
+ gb_tab_set_dirty (GB_TAB (tab), dirty);
+}
+
void
gb_editor_tab_set_font_desc (GbEditorTab *tab,
const PangoFontDescription *font_desc)
@@ -802,6 +815,9 @@ on_save_cb (GtkSourceFileSaver *saver,
g_warning ("%s", error->message);
g_clear_error (&error);
}
+ else
+ gtk_text_buffer_set_modified (GTK_TEXT_BUFFER (tab->priv->document),
+ FALSE);
g_object_unref (tab);
}
@@ -1366,6 +1382,10 @@ gb_editor_tab_constructed (GObject *object)
gb_editor_tab_set_settings (tab, NULL);
g_signal_connect_swapped (priv->document,
+ "modified-changed",
+ G_CALLBACK (gb_editor_tab_modified_changed),
+ tab);
+ g_signal_connect_swapped (priv->document,
"cursor-moved",
G_CALLBACK (gb_editor_tab_cursor_moved),
tab);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]