[gedit/wip/grid] Add setting to display a grid pattern
- From: Ignacio Casal Quinteiro <icq src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit/wip/grid] Add setting to display a grid pattern
- Date: Mon, 27 Apr 2015 15:19:49 +0000 (UTC)
commit 62f654dcee758bb7d956fff8a92040725a50ac4e
Author: Ignacio Casal Quinteiro <icq gnome org>
Date: Mon Apr 27 17:15:33 2015 +0200
Add setting to display a grid pattern
data/org.gnome.gedit.gschema.xml.in | 10 +++++++++
gedit/gedit-preferences-dialog.c | 26 ++++++++++++++++++++++++
gedit/gedit-settings.h | 1 +
gedit/gedit-view.c | 6 +++++
gedit/resources/ui/gedit-preferences-dialog.ui | 15 +++++++++++++
5 files changed, 58 insertions(+), 0 deletions(-)
---
diff --git a/data/org.gnome.gedit.gschema.xml.in b/data/org.gnome.gedit.gschema.xml.in
index 0c88b97..9f33c29 100644
--- a/data/org.gnome.gedit.gschema.xml.in
+++ b/data/org.gnome.gedit.gschema.xml.in
@@ -13,6 +13,11 @@
<value nick="always" value="3"/>
</enum>
+ <enum id="org.gnome.gedit.BackgroundPatternType">
+ <value nick="none" value="0"/>
+ <value nick="grid" value="1"/>
+ </enum>
+
<schema gettext-domain="@GETTEXT_PACKAGE@" id="org.gnome.gedit" path="/org/gnome/gedit/">
<child name="preferences" schema="org.gnome.gedit.preferences"/>
<child name="state" schema="org.gnome.gedit.state"/>
@@ -119,6 +124,11 @@
<summary>Right Margin Position</summary>
<description>Specifies the position of the right margin.</description>
</key>
+ <key name="background-pattern" enum="org.gnome.gedit.BackgroundPatternType">
+ <default>'none'</default>
+ <summary>Document background pattern type</summary>
+ <description>Whether the document will get a background pattern painted.</description>
+ </key>
<key name="smart-home-end" enum="org.gnome.gedit.SmartHomeEnd">
<aliases>
<alias value='DISABLED' target='disabled'/>
diff --git a/gedit/gedit-preferences-dialog.c b/gedit/gedit-preferences-dialog.c
index 81e5318..837971c 100644
--- a/gedit/gedit-preferences-dialog.c
+++ b/gedit/gedit-preferences-dialog.c
@@ -117,6 +117,7 @@ struct _GeditPreferencesDialog
GtkWidget *display_line_numbers_checkbutton;
GtkWidget *display_statusbar_checkbutton;
+ GtkWidget *display_grid_checkbutton;
/* Right margin */
GtkWidget *right_margin_checkbutton;
@@ -180,6 +181,7 @@ gedit_preferences_dialog_class_init (GeditPreferencesDialogClass *klass)
gtk_widget_class_bind_template_child (widget_class, GeditPreferencesDialog, notebook);
gtk_widget_class_bind_template_child (widget_class, GeditPreferencesDialog,
display_line_numbers_checkbutton);
gtk_widget_class_bind_template_child (widget_class, GeditPreferencesDialog,
display_statusbar_checkbutton);
+ gtk_widget_class_bind_template_child (widget_class, GeditPreferencesDialog, display_grid_checkbutton);
gtk_widget_class_bind_template_child (widget_class, GeditPreferencesDialog, right_margin_checkbutton);
gtk_widget_class_bind_template_child (widget_class, GeditPreferencesDialog,
right_margin_position_grid);
gtk_widget_class_bind_template_child (widget_class, GeditPreferencesDialog,
right_margin_position_spinbutton);
@@ -300,10 +302,25 @@ wrap_mode_checkbutton_toggled (GtkToggleButton *button,
}
static void
+grid_checkbutton_toggled (GtkToggleButton *button,
+ GeditPreferencesDialog *dlg)
+{
+ GtkSourceBackgroundPatternType background_type;
+
+ background_type = gtk_toggle_button_get_active (button) ?
+ GTK_SOURCE_BACKGROUND_PATTERN_TYPE_GRID :
+ GTK_SOURCE_BACKGROUND_PATTERN_TYPE_NONE;
+ g_settings_set_enum (dlg->editor,
+ GEDIT_SETTINGS_BACKGROUND_PATTERN,
+ background_type);
+}
+
+static void
setup_view_page (GeditPreferencesDialog *dlg)
{
GtkWrapMode wrap_mode;
GtkWrapMode last_split_mode;
+ GtkSourceBackgroundPatternType background_pattern;
gboolean display_right_margin;
guint right_margin_position;
@@ -314,6 +331,8 @@ setup_view_page (GeditPreferencesDialog *dlg)
GEDIT_SETTINGS_DISPLAY_RIGHT_MARGIN);
g_settings_get (dlg->editor, GEDIT_SETTINGS_RIGHT_MARGIN_POSITION,
"u", &right_margin_position);
+ background_pattern = g_settings_get_enum (dlg->editor,
+ GEDIT_SETTINGS_BACKGROUND_PATTERN);
/* Set initial state */
wrap_mode = g_settings_get_enum (dlg->editor,
@@ -357,6 +376,9 @@ setup_view_page (GeditPreferencesDialog *dlg)
gtk_toggle_button_set_active (
GTK_TOGGLE_BUTTON (dlg->right_margin_checkbutton),
display_right_margin);
+ gtk_toggle_button_set_active (
+ GTK_TOGGLE_BUTTON (dlg->display_grid_checkbutton),
+ background_pattern == GTK_SOURCE_BACKGROUND_PATTERN_TYPE_GRID);
/* Set widgets sensitivity */
gtk_widget_set_sensitive (dlg->split_checkbutton,
@@ -405,6 +427,10 @@ setup_view_page (GeditPreferencesDialog *dlg)
"toggled",
G_CALLBACK (wrap_mode_checkbutton_toggled),
dlg);
+ g_signal_connect (dlg->display_grid_checkbutton,
+ "toggled",
+ G_CALLBACK (grid_checkbutton_toggled),
+ dlg);
}
static void
diff --git a/gedit/gedit-settings.h b/gedit/gedit-settings.h
index cd4499b..4dc7550 100644
--- a/gedit/gedit-settings.h
+++ b/gedit/gedit-settings.h
@@ -97,6 +97,7 @@ void gedit_settings_set_list (GSettings
*settings,
#define GEDIT_SETTINGS_SEARCH_HIGHLIGHTING "search-highlighting"
#define GEDIT_SETTINGS_TOOLBAR_VISIBLE "toolbar-visible"
#define GEDIT_SETTINGS_TOOLBAR_BUTTONS_STYLE "toolbar-buttons-style"
+#define GEDIT_SETTINGS_BACKGROUND_PATTERN "background-pattern"
#define GEDIT_SETTINGS_STATUSBAR_VISIBLE "statusbar-visible"
#define GEDIT_SETTINGS_SIDE_PANEL_VISIBLE "side-panel-visible"
#define GEDIT_SETTINGS_BOTTOM_PANEL_VISIBLE "bottom-panel-visible"
diff --git a/gedit/gedit-view.c b/gedit/gedit-view.c
index 90eb0d6..82e7d9c 100644
--- a/gedit/gedit-view.c
+++ b/gedit/gedit-view.c
@@ -244,6 +244,12 @@ gedit_view_constructed (GObject *object)
G_SETTINGS_BIND_GET);
g_settings_bind (priv->editor_settings,
+ GEDIT_SETTINGS_BACKGROUND_PATTERN,
+ view,
+ "background-pattern",
+ G_SETTINGS_BIND_GET);
+
+ g_settings_bind (priv->editor_settings,
GEDIT_SETTINGS_RIGHT_MARGIN_POSITION,
view,
"right-margin-position",
diff --git a/gedit/resources/ui/gedit-preferences-dialog.ui b/gedit/resources/ui/gedit-preferences-dialog.ui
index 18fc2b3..cfdeacc 100644
--- a/gedit/resources/ui/gedit-preferences-dialog.ui
+++ b/gedit/resources/ui/gedit-preferences-dialog.ui
@@ -105,6 +105,21 @@
<property name="width">2</property>
</packing>
</child>
+ <child>
+ <object class="GtkCheckButton" id="display_grid_checkbutton">
+ <property name="label" translatable="yes">Display _grid pattern</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">2</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="left_attach">0</property>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]