diff --git a/data/gsettings/org.gnome.builder.editor.gschema.xml b/data/gsettings/org.gnome.builder.editor.gschema.xml index e6e58faee9795fafa2b1b0a958856e619b5edd56..38fbf800b90aca0e3dbe056d04ad5741cfa91423 100644 --- a/data/gsettings/org.gnome.builder.editor.gschema.xml +++ b/data/gsettings/org.gnome.builder.editor.gschema.xml @@ -95,10 +95,15 @@ Overscroll The number of lines to scroll beyond the end of the buffer. - - false + + + + + + + 'never' Wrap Text - If enabled, Builder will automatically wrap text so all of the line text is visible. + The way to wrap a long line of text for a better visibility. true diff --git a/src/libide/editor/ide-editor-page-settings.c b/src/libide/editor/ide-editor-page-settings.c index 00d85206838c8b61a1cdff92ed26bda29e929548..0b4e725248750b0f9acd2395d042b530c0090d0a 100644 --- a/src/libide/editor/ide-editor-page-settings.c +++ b/src/libide/editor/ide-editor-page-settings.c @@ -43,7 +43,11 @@ get_wrap_mode (GValue *value, GVariant *variant, gpointer user_data) { - if (g_variant_get_boolean (variant)) + const gchar *wrap_mode = g_variant_get_string (variant, NULL); + + if (!g_strcmp0 (wrap_mode, "always")) + g_value_set_enum (value, GTK_WRAP_WORD_CHAR); + else if (!g_strcmp0 (wrap_mode, "whitespace")) g_value_set_enum (value, GTK_WRAP_WORD); else g_value_set_enum (value, GTK_WRAP_NONE); diff --git a/src/libide/gui/ide-preferences-builtin.c b/src/libide/gui/ide-preferences-builtin.c index 2ad7f5f50d50a4e1accc31ceb1e9f38cc4875c8b..456d6d575ef021a754b9c9dbd81c69a30e9306c5 100644 --- a/src/libide/gui/ide-preferences-builtin.c +++ b/src/libide/gui/ide-preferences-builtin.c @@ -159,10 +159,14 @@ ide_preferences_builtin_register_editor (DzlPreferences *preferences) dzl_preferences_add_list_group (preferences, "editor", "position", _("Cursor"), GTK_SELECTION_NONE, 0); dzl_preferences_add_switch (preferences, "editor", "position", "org.gnome.builder.editor", "restore-insert-mark", NULL, NULL, _("Restore cursor position"), _("Restore cursor position when a file is reopened"), NULL, 0); - dzl_preferences_add_switch (preferences, "editor", "position", "org.gnome.builder.editor", "wrap-text", NULL, NULL, _("Enable text wrapping"), _("Wrap text that is too wide to display"), NULL, 5); dzl_preferences_add_spin_button (preferences, "editor", "position", "org.gnome.builder.editor", "scroll-offset", NULL, _("Scroll Offset"), _("Minimum number of lines to keep above and below the cursor"), NULL, 10); dzl_preferences_add_spin_button (preferences, "editor", "position", "org.gnome.builder.editor", "overscroll", NULL, _("Overscroll"), _("Allow the editor to scroll past the end of the buffer"), NULL, 20); + dzl_preferences_add_list_group (preferences, "editor", "text-wrapping", _("Text Wrapping"), GTK_SELECTION_NONE, 0); + dzl_preferences_add_radio (preferences, "editor", "text-wrapping", "org.gnome.builder.editor", "wrap-text", NULL, "\"never\"", _("Never"), NULL, NULL, 0); + dzl_preferences_add_radio (preferences, "editor", "text-wrapping", "org.gnome.builder.editor", "wrap-text", NULL, "\"whitespace\"", _("In Between Words"), NULL, NULL, 0); + dzl_preferences_add_radio (preferences, "editor", "text-wrapping", "org.gnome.builder.editor", "wrap-text", NULL, "\"always\"", _("Always"), NULL, NULL, 0); + dzl_preferences_add_list_group (preferences, "editor", "line", _("Line Information"), GTK_SELECTION_NONE, 50); dzl_preferences_add_switch (preferences, "editor", "line", "org.gnome.builder.editor", "show-line-numbers", NULL, NULL, _("Line numbers"), _("Show line number at beginning of each line"), NULL, 0); dzl_preferences_add_switch (preferences, "editor", "line", "org.gnome.builder.editor", "show-relative-line-numbers", NULL, NULL, _("Relative line numbers"), _("Show line numbers relative to the cursor line"), NULL, 0);