[gnome-builder] libide: add IdeFileSettings:right-margin-position gproperty
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] libide: add IdeFileSettings:right-margin-position gproperty
- Date: Mon, 23 Mar 2015 23:32:26 +0000 (UTC)
commit 39a68821b66f9a1bb25cfd1117f4a5b790d4e5c3
Author: Christian Hergert <christian hergert me>
Date: Sat Feb 14 19:28:14 2015 -0800
libide: add IdeFileSettings:right-margin-position gproperty
libide/ide-file-settings.c | 50 ++++++++++++++++++++++++++++++++++++++++
libide/ide-file-settings.h | 3 ++
tools/ide-list-file-settings.c | 1 +
3 files changed, 54 insertions(+), 0 deletions(-)
---
diff --git a/libide/ide-file-settings.c b/libide/ide-file-settings.c
index ace1c30..e31b36c 100644
--- a/libide/ide-file-settings.c
+++ b/libide/ide-file-settings.c
@@ -31,6 +31,7 @@ typedef struct
guint insert_trailing_newline : 1;
guint tab_width : 6;
guint trim_trailing_whitespace : 1;
+ guint right_margin_position : 10;
GtkSourceNewlineType newline_type : 2;
} IdeFileSettingsPrivate;
@@ -44,6 +45,7 @@ enum {
PROP_INDENT_WIDTH,
PROP_INSERT_TRAILING_NEWLINE,
PROP_NEWLINE_TYPE,
+ PROP_RIGHT_MARGIN_POSITION,
PROP_TAB_WIDTH,
PROP_TRIM_TRAILING_WHITESPACE,
LAST_PROP
@@ -229,6 +231,34 @@ ide_file_settings_set_newline_type (IdeFileSettings *self,
}
guint
+ide_file_settings_get_right_margin_position (IdeFileSettings *self)
+{
+ IdeFileSettingsPrivate *priv = ide_file_settings_get_instance_private (self);
+
+ g_return_val_if_fail (IDE_IS_FILE_SETTINGS (self), 80);
+
+ return priv->right_margin_position;
+}
+
+void
+ide_file_settings_set_right_margin_position (IdeFileSettings *self,
+ guint right_margin_position)
+{
+ IdeFileSettingsPrivate *priv = ide_file_settings_get_instance_private (self);
+
+ g_return_if_fail (IDE_IS_FILE_SETTINGS (self));
+ g_return_if_fail (right_margin_position > 0);
+ g_return_if_fail (right_margin_position <= 1000);
+
+ if (priv->right_margin_position != right_margin_position)
+ {
+ priv->right_margin_position = right_margin_position;
+ g_object_notify_by_pspec (G_OBJECT (self),
+ gParamSpecs [PROP_RIGHT_MARGIN_POSITION]);
+ }
+}
+
+guint
ide_file_settings_get_tab_width (IdeFileSettings *self)
{
IdeFileSettingsPrivate *priv = ide_file_settings_get_instance_private (self);
@@ -329,6 +359,10 @@ ide_file_settings_get_property (GObject *object,
g_value_set_enum (value, ide_file_settings_get_newline_type (self));
break;
+ case PROP_RIGHT_MARGIN_POSITION:
+ g_value_set_uint (value, ide_file_settings_get_right_margin_position (self));
+ break;
+
case PROP_TAB_WIDTH:
g_value_set_uint (value, ide_file_settings_get_tab_width (self));
break;
@@ -376,6 +410,10 @@ ide_file_settings_set_property (GObject *object,
ide_file_settings_set_newline_type (self, g_value_get_enum (value));
break;
+ case PROP_RIGHT_MARGIN_POSITION:
+ ide_file_settings_set_right_margin_position (self, g_value_get_uint (value));
+ break;
+
case PROP_TAB_WIDTH:
ide_file_settings_set_tab_width (self, g_value_get_uint (value));
break;
@@ -457,6 +495,17 @@ ide_file_settings_class_init (IdeFileSettingsClass *klass)
g_object_class_install_property (object_class, PROP_NEWLINE_TYPE,
gParamSpecs [PROP_NEWLINE_TYPE]);
+ gParamSpecs [PROP_RIGHT_MARGIN_POSITION] =
+ g_param_spec_uint ("right-margin-position",
+ _("Right Margin Position"),
+ _("The position of the right margin guide."),
+ 1,
+ 1000,
+ 80,
+ (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property (object_class, PROP_RIGHT_MARGIN_POSITION,
+ gParamSpecs [PROP_RIGHT_MARGIN_POSITION]);
+
gParamSpecs [PROP_TAB_WIDTH] =
g_param_spec_uint ("tab-width",
_("Tab Width"),
@@ -485,6 +534,7 @@ ide_file_settings_init (IdeFileSettings *self)
priv->indent_width = 8;
priv->insert_trailing_newline = TRUE;
priv->newline_type = GTK_SOURCE_NEWLINE_TYPE_LF;
+ priv->right_margin_position = 80;
priv->tab_width = 8;
priv->trim_trailing_whitespace = TRUE;
}
diff --git a/libide/ide-file-settings.h b/libide/ide-file-settings.h
index 0e4348b..16a28a1 100644
--- a/libide/ide-file-settings.h
+++ b/libide/ide-file-settings.h
@@ -43,6 +43,7 @@ IdeIndentStyle ide_file_settings_get_indent_style (IdeFileSet
guint ide_file_settings_get_indent_width (IdeFileSettings *self);
gboolean ide_file_settings_get_insert_trailing_newline (IdeFileSettings *self);
GtkSourceNewlineType ide_file_settings_get_newline_type (IdeFileSettings *self);
+guint ide_file_settings_get_right_margin_position (IdeFileSettings *self);
guint ide_file_settings_get_tab_width (IdeFileSettings *self);
gboolean ide_file_settings_get_trim_trailing_whitespace (IdeFileSettings *self);
void ide_file_settings_set_encoding (IdeFileSettings *self,
@@ -55,6 +56,8 @@ void ide_file_settings_set_insert_trailing_newline (IdeFileSet
gboolean
insert_trailing_newline);
void ide_file_settings_set_newline_type (IdeFileSettings *self,
GtkSourceNewlineType newline_type);
+void ide_file_settings_set_right_margin_position (IdeFileSettings *self,
+ guint
right_margin_position);
void ide_file_settings_set_tab_width (IdeFileSettings *self,
guint tab_width);
void ide_file_settings_set_trim_trailing_whitespace (IdeFileSettings *self,
diff --git a/tools/ide-list-file-settings.c b/tools/ide-list-file-settings.c
index 5ab3ddd..9dc4294 100644
--- a/tools/ide-list-file-settings.c
+++ b/tools/ide-list-file-settings.c
@@ -95,6 +95,7 @@ load_settings_cb (GObject *object,
g_print ("trim_trailing_whitespace = %s\n", ide_file_settings_get_trim_trailing_whitespace (settings) ?
"true" : "false");
g_print ("newline_type = %s\n", newline_string (ide_file_settings_get_newline_type (settings)));
g_print ("indent_sytle = %s\n", indent_style_string (ide_file_settings_get_indent_style (settings)));
+ g_print ("right_margin_position = %u\n", ide_file_settings_get_right_margin_position (settings));
g_clear_object (&settings);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]