[gnome-builder] Auto-save: Make auto-save interval configurable



commit 2e1598cdbd043830f46304fd425824d31b9578f5
Author: Lucie Dvorakova <luci_dvorak me com>
Date:   Mon Apr 24 19:26:46 2017 -0700

    Auto-save: Make auto-save interval configurable

 .../gsettings/org.gnome.builder.editor.gschema.xml |   11 +++++++++++
 libide/buffers/ide-buffer-manager.c                |    2 ++
 libide/preferences/ide-preferences-builtin.c       |    4 ++++
 3 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/data/gsettings/org.gnome.builder.editor.gschema.xml 
b/data/gsettings/org.gnome.builder.editor.gschema.xml
index 8224939..1bc5023 100644
--- a/data/gsettings/org.gnome.builder.editor.gschema.xml
+++ b/data/gsettings/org.gnome.builder.editor.gschema.xml
@@ -99,5 +99,16 @@
       <summary>Wrap Text</summary>
       <description>If enabled, Builder will automatically wrap text so all of the line text is 
visible.</description>
     </key>
+    <key name="auto-save" type="b">
+      <default>true</default>
+      <summary>Autosave Enabled</summary>
+      <description>Enable or disable autosave feature.</description>
+    </key>
+    <key name="auto-save-timeout" type="i">
+      <default>60</default>
+      <range min="1" max="999"/>
+      <summary>Autosave Frequency</summary>
+      <description>The number of seconds after modification before auto saving.</description>
+    </key>
   </schema>
 </schemalist>
diff --git a/libide/buffers/ide-buffer-manager.c b/libide/buffers/ide-buffer-manager.c
index c1aa9c9..fdd3bba 100644
--- a/libide/buffers/ide-buffer-manager.c
+++ b/libide/buffers/ide-buffer-manager.c
@@ -1578,6 +1578,8 @@ ide_buffer_manager_init (IdeBufferManager *self)
   self->settings = g_settings_new ("org.gnome.builder.editor");
 
   g_settings_bind (self->settings, "minimum-word-size", self->word_completion, "minimum-word-size", 
G_SETTINGS_BIND_GET);
+  g_settings_bind (self->settings, "auto-save", self, "auto-save", G_SETTINGS_BIND_GET);
+  g_settings_bind (self->settings, "auto-save-timeout", self, "auto-save-timeout", G_SETTINGS_BIND_GET);
 }
 
 static void
diff --git a/libide/preferences/ide-preferences-builtin.c b/libide/preferences/ide-preferences-builtin.c
index 651884d..783adf9 100644
--- a/libide/preferences/ide-preferences-builtin.c
+++ b/libide/preferences/ide-preferences-builtin.c
@@ -181,6 +181,10 @@ ide_preferences_builtin_register_editor (IdePreferences *preferences)
   ide_preferences_add_radio (preferences, "editor", "draw-spaces", "org.gnome.builder.editor", 
"draw-spaces", NULL, "\"text\"", _("Spaces inside of text"), NULL, NULL, 4);
   ide_preferences_add_radio (preferences, "editor", "draw-spaces", "org.gnome.builder.editor", 
"draw-spaces", NULL, "\"trailing\"", _("Trailing Only"), NULL, NULL, 5);
   ide_preferences_add_radio (preferences, "editor", "draw-spaces", "org.gnome.builder.editor", 
"draw-spaces", NULL, "\"leading\"", _("Leading Only"), NULL, NULL, 6);
+
+  ide_preferences_add_list_group (preferences, "editor", "autosave", _("Autosave"), GTK_SELECTION_NONE, 450);
+  ide_preferences_add_switch (preferences, "editor", "autosave", "org.gnome.builder.editor", "auto-save", 
NULL, NULL,_("Autosave Enabled"), _("Enable or disable autosave feature"), NULL, 1);
+  ide_preferences_add_spin_button (preferences, "editor", "autosave", "org.gnome.builder.editor", 
"auto-save-timeout", NULL, _("Autosave Frequency"), _("The number of seconds after modification before auto 
saving"), NULL, 60);
 }
 
 static void


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]