[gnome-builder] scroll offset
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] scroll offset
- Date: Tue, 24 Mar 2015 00:23:53 +0000 (UTC)
commit 58b2827fce8c9e379951c976c215f55c0de7d8bb
Author: Christian Hergert <christian hergert me>
Date: Wed Mar 18 15:37:56 2015 -0700
scroll offset
configure.ac | 1 -
data/gsettings.mk | 1 -
.../org.gnome.builder.editor.gschema.xml.in | 4 +
.../org.gnome.builder.editor.vim.gschema.xml.in | 8 ---
src/editor/gb-editor-frame.c | 1 +
src/preferences/gb-preferences-page-editor.c | 15 +++++
src/preferences/gb-preferences-page-vim.c | 25 ++------
src/resources/ui/gb-preferences-page-editor.ui | 63 ++++++++++++++++++++
src/resources/ui/gb-preferences-page-vim.ui | 63 --------------------
9 files changed, 88 insertions(+), 93 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index d7d22cb..186f885 100644
--- a/configure.ac
+++ b/configure.ac
@@ -73,7 +73,6 @@ AC_CONFIG_FILES([
data/libide-1.0.pc
data/gsettings/org.gnome.builder.editor.gschema.xml
data/gsettings/org.gnome.builder.editor.language.gschema.xml
- data/gsettings/org.gnome.builder.editor.vim.gschema.xml
po/Makefile.in
])
diff --git a/data/gsettings.mk b/data/gsettings.mk
index f8c7dda..7df2292 100644
--- a/data/gsettings.mk
+++ b/data/gsettings.mk
@@ -1,6 +1,5 @@
gsettingsschema_in_files = \
data/gsettings/org.gnome.builder.editor.gschema.xml.in \
- data/gsettings/org.gnome.builder.editor.vim.gschema.xml.in \
data/gsettings/org.gnome.builder.editor.language.gschema.xml.in
gsettings_SCHEMAS = $(gsettingsschema_in_files:.xml.in=.xml)
diff --git a/data/gsettings/org.gnome.builder.editor.gschema.xml.in
b/data/gsettings/org.gnome.builder.editor.gschema.xml.in
index 2730295..631cafb 100644
--- a/data/gsettings/org.gnome.builder.editor.gschema.xml.in
+++ b/data/gsettings/org.gnome.builder.editor.gschema.xml.in
@@ -60,5 +60,9 @@
<key name="style-scheme-name" type="s">
<default>"builder"</default>
</key>
+ <key name="scroll-offset" type="i">
+ <range min="0" max="999"/>
+ <default>0</default>
+ </key>
</schema>
</schemalist>
diff --git a/src/editor/gb-editor-frame.c b/src/editor/gb-editor-frame.c
index e8d2219..a2976d3 100644
--- a/src/editor/gb-editor-frame.c
+++ b/src/editor/gb-editor-frame.c
@@ -202,6 +202,7 @@ gb_editor_frame_init (GbEditorFrame *self)
settings = g_settings_new ("org.gnome.builder.editor");
g_settings_bind (settings, "font-name", self->source_view, "font-name", G_SETTINGS_BIND_GET);
g_settings_bind (settings, "highlight-current-line", self->source_view, "highlight-current-line",
G_SETTINGS_BIND_GET);
+ g_settings_bind (settings, "scroll-offset", self->source_view, "scroll-offset", G_SETTINGS_BIND_GET);
g_settings_bind (settings, "show-grid-lines", self->source_view, "show-grid-lines", G_SETTINGS_BIND_GET);
g_settings_bind (settings, "show-line-changes", self->source_view, "show-line-changes",
G_SETTINGS_BIND_GET);
g_settings_bind (settings, "show-line-numbers", self->source_view, "show-line-numbers",
G_SETTINGS_BIND_GET);
diff --git a/src/preferences/gb-preferences-page-editor.c b/src/preferences/gb-preferences-page-editor.c
index 21203b1..eb5d676 100644
--- a/src/preferences/gb-preferences-page-editor.c
+++ b/src/preferences/gb-preferences-page-editor.c
@@ -38,8 +38,10 @@ struct _GbPreferencesPageEditorPrivate
GtkSwitch *smart_backspace_switch;
GtkSwitch *smart_home_end_switch;
GtkSwitch *show_grid_lines_switch;
+ GtkSpinButton *scroll_off_spin;
GtkFontButton *font_button;
GtkSourceStyleSchemeChooserButton *style_scheme_button;
+ GtkAdjustment *scroll_off_adjustment;
/* Template widgets used for filtering */
GtkWidget *restore_insert_mark_container;
@@ -51,6 +53,7 @@ struct _GbPreferencesPageEditorPrivate
GtkWidget *smart_backspace_container;
GtkWidget *smart_home_end_container;
GtkWidget *show_grid_lines_container;
+ GtkWidget *scroll_off_container;
};
G_DEFINE_TYPE_WITH_PRIVATE (GbPreferencesPageEditor, gb_preferences_page_editor,
@@ -118,6 +121,9 @@ gb_preferences_page_editor_constructed (GObject *object)
g_settings_bind (priv->settings, "show-grid-lines",
priv->show_grid_lines_switch, "active",
G_SETTINGS_BIND_DEFAULT);
+ g_settings_bind (priv->settings, "scroll-offset",
+ priv->scroll_off_adjustment, "value",
+ G_SETTINGS_BIND_DEFAULT);
g_settings_bind (priv->settings, "font-name",
priv->font_button, "font-name",
G_SETTINGS_BIND_DEFAULT);
@@ -170,6 +176,8 @@ gb_preferences_page_editor_class_init (GbPreferencesPageEditorClass *klass)
GB_WIDGET_CLASS_BIND_PRIVATE (widget_class, GbPreferencesPageEditor, smart_home_end_switch);
GB_WIDGET_CLASS_BIND_PRIVATE (widget_class, GbPreferencesPageEditor, smart_backspace_switch);
GB_WIDGET_CLASS_BIND_PRIVATE (widget_class, GbPreferencesPageEditor, show_grid_lines_switch);
+ GB_WIDGET_CLASS_BIND_PRIVATE (widget_class, GbPreferencesPageEditor, scroll_off_spin);
+ GB_WIDGET_CLASS_BIND_PRIVATE (widget_class, GbPreferencesPageEditor, scroll_off_adjustment);
GB_WIDGET_CLASS_BIND_PRIVATE (widget_class, GbPreferencesPageEditor, restore_insert_mark_container);
GB_WIDGET_CLASS_BIND_PRIVATE (widget_class, GbPreferencesPageEditor, word_completion_container);
@@ -180,6 +188,7 @@ gb_preferences_page_editor_class_init (GbPreferencesPageEditorClass *klass)
GB_WIDGET_CLASS_BIND_PRIVATE (widget_class, GbPreferencesPageEditor, smart_home_end_container);
GB_WIDGET_CLASS_BIND_PRIVATE (widget_class, GbPreferencesPageEditor, smart_backspace_container);
GB_WIDGET_CLASS_BIND_PRIVATE (widget_class, GbPreferencesPageEditor, show_grid_lines_container);
+ GB_WIDGET_CLASS_BIND_PRIVATE (widget_class, GbPreferencesPageEditor, scroll_off_container);
}
static void
@@ -242,8 +251,14 @@ gb_preferences_page_editor_init (GbPreferencesPageEditor *self)
self->priv->show_grid_lines_container,
self->priv->show_grid_lines_switch,
NULL);
+ /* To translators: This is a list of keywords for the preferences page */
gb_preferences_page_set_keywords_for_widget (GB_PREFERENCES_PAGE (self),
+ _("lines margin scrolloff scroll off"),
+ self->priv->scroll_off_container,
+ self->priv->scroll_off_spin,
+ NULL);
/* To translators: This is a list of keywords for the preferences page */
+ gb_preferences_page_set_keywords_for_widget (GB_PREFERENCES_PAGE (self),
_("font document editor monospace"),
GTK_WIDGET (self->priv->font_button),
NULL);
diff --git a/src/preferences/gb-preferences-page-vim.c b/src/preferences/gb-preferences-page-vim.c
index fddbead..022bbe8 100644
--- a/src/preferences/gb-preferences-page-vim.c
+++ b/src/preferences/gb-preferences-page-vim.c
@@ -21,6 +21,7 @@
#include <glib/gi18n.h>
#include "gb-preferences-page-vim.h"
+#include "gb-widget.h"
struct _GbPreferencesPageVimPrivate
{
@@ -28,11 +29,9 @@ struct _GbPreferencesPageVimPrivate
GSettings *vim_settings;
/* Widgets owned by Template */
- GtkSpinButton *scroll_off_spin;
GtkSwitch *vim_mode_switch;
/* Template widgets used for filtering */
- GtkWidget *scroll_off_container;
GtkWidget *vim_container;
};
@@ -60,10 +59,6 @@ gb_preferences_page_vim_constructed (GObject *object)
g_action_map_add_action (G_ACTION_MAP (group), action);
g_clear_object (&action);
- action = g_settings_create_action (priv->vim_settings, "scroll-off");
- g_action_map_add_action (G_ACTION_MAP (group), action);
- g_clear_object (&action);
-
gtk_widget_insert_action_group (GTK_WIDGET (vim), "settings", G_ACTION_GROUP (group));
g_clear_object (&group);
}
@@ -88,14 +83,9 @@ gb_preferences_page_vim_class_init (GbPreferencesPageVimClass *klass)
object_class->finalize = gb_preferences_page_vim_finalize;
object_class->constructed = gb_preferences_page_vim_constructed;
- gtk_widget_class_set_template_from_resource (widget_class,
- "/org/gnome/builder/ui/gb-preferences-page-vim.ui");
-
- gtk_widget_class_bind_template_child_private (widget_class, GbPreferencesPageVim, scroll_off_spin);
- gtk_widget_class_bind_template_child_private (widget_class, GbPreferencesPageVim, vim_mode_switch);
-
- gtk_widget_class_bind_template_child_private (widget_class, GbPreferencesPageVim, scroll_off_container);
- gtk_widget_class_bind_template_child_private (widget_class, GbPreferencesPageVim, vim_container);
+ GB_WIDGET_CLASS_TEMPLATE (widget_class, "gb-preferences-page-vim.ui");
+ GB_WIDGET_CLASS_BIND_PRIVATE (widget_class, GbPreferencesPageVim, vim_mode_switch);
+ GB_WIDGET_CLASS_BIND_PRIVATE (widget_class, GbPreferencesPageVim, vim_container);
}
static void
@@ -105,12 +95,7 @@ gb_preferences_page_vim_init (GbPreferencesPageVim *self)
gtk_widget_init_template (GTK_WIDGET (self));
- gb_preferences_page_set_keywords_for_widget (GB_PREFERENCES_PAGE (self),
- _("lines margin scrolloff scroll off"),
- self->priv->scroll_off_container,
- self->priv->scroll_off_spin,
- NULL);
-
+ /* To translators: This is a list of keywords for the preferences page */
gb_preferences_page_set_keywords_for_widget (GB_PREFERENCES_PAGE (self),
_("vim modal"),
self->priv->vim_container,
diff --git a/src/resources/ui/gb-preferences-page-editor.ui b/src/resources/ui/gb-preferences-page-editor.ui
index 0614f9a..74ff67f 100644
--- a/src/resources/ui/gb-preferences-page-editor.ui
+++ b/src/resources/ui/gb-preferences-page-editor.ui
@@ -114,6 +114,18 @@
</packing>
</child>
<child>
+ <object class="GtkSpinButton" id="scroll_off_spin">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="valign">center</property>
+ <property name="adjustment">scroll_off_adjustment</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">10</property>
+ </packing>
+ </child>
+ <child>
<object class="GtkBox" id="restore_insert_mark_container">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -509,6 +521,50 @@
<property name="top_attach">9</property>
</packing>
</child>
+ <child>
+ <object class="GtkBox" id="scroll_off_container">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="label" translatable="yes"><b>Scroll Offset</b></property>
+ <property name="use_markup">True</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="label" translatable="yes">Minimal number of lines to keep above and
below the cursor.</property>
+ <property name="xalign">0</property>
+ <style>
+ <class name="dim-label"/>
+ </style>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">10</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">False</property>
@@ -529,4 +585,11 @@
</object>
</child>
</template>
+ <object class="GtkAdjustment" id="scroll_off_adjustment">
+ <property name="lower">0</property>
+ <property name="upper">999</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">1</property>
+ <property name="value">0</property>
+ </object>
</interface>
diff --git a/src/resources/ui/gb-preferences-page-vim.ui b/src/resources/ui/gb-preferences-page-vim.ui
index 569107b..509986f 100644
--- a/src/resources/ui/gb-preferences-page-vim.ui
+++ b/src/resources/ui/gb-preferences-page-vim.ui
@@ -28,18 +28,6 @@
</packing>
</child>
<child>
- <object class="GtkSpinButton" id="scroll_off_spin">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="valign">center</property>
- <property name="adjustment">scroll_off_adjustment</property>
- </object>
- <packing>
- <property name="left_attach">0</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
- <child>
<object class="GtkBox" id="vim_container">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -83,50 +71,6 @@
<property name="top_attach">0</property>
</packing>
</child>
- <child>
- <object class="GtkBox" id="scroll_off_container">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="hexpand">True</property>
- <property name="orientation">vertical</property>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="hexpand">True</property>
- <property name="label" translatable="yes"><b>Scroll Offset</b></property>
- <property name="use_markup">True</property>
- <property name="xalign">0</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkLabel">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="hexpand">True</property>
- <property name="label" translatable="yes">Minimal number of lines to keep above and below
the cursor.</property>
- <property name="xalign">0</property>
- <style>
- <class name="dim-label"/>
- </style>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">1</property>
- </packing>
- </child>
</object>
<packing>
<property name="expand">False</property>
@@ -137,11 +81,4 @@
</object>
</child>
</template>
- <object class="GtkAdjustment" id="scroll_off_adjustment">
- <property name="lower">0</property>
- <property name="upper">999</property>
- <property name="step_increment">1</property>
- <property name="page_increment">1</property>
- <property name="value">0</property>
- </object>
</interface>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]