settings: Change gtk-cursor-aspect-ratio from float to double

Float properties can not be read from keyfiles. This was causing changes
to this property in settings.ini to be ignored. Fix this by changing it
to a double.

Technically this change could be considered an API break, but there are
no users of this property as float yet and it is early enough to expect
there to never be any.

Also document this change in the 3 to 4 migration guide since in gtk 3
this setting will be kept a float.

Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3441
This commit is contained in:
Sebastian Keller 2020-12-16 20:57:31 +01:00
parent 0588db8a69
commit 02f0681344
3 changed files with 14 additions and 9 deletions

View File

@ -1157,6 +1157,11 @@ shows a #GtkFileChooserNative dialog when clicked; once the file selection
has completed, you can update the label of the #GtkButton with the selected
file.
### Adapt to changed GtkSettings properties
In GTK 3 the #GtkSettings:gtk-cursor-aspect-ratio property of #GtkSettings was
a float. In GTK 4 this has been changed to a double.
## Changes to consider after the switch
GTK 4 has a number of new features that you may want to take

View File

@ -386,11 +386,11 @@ gtk_settings_class_init (GtkSettingsClass *class)
g_assert (result == PROP_SPLIT_CURSOR);
result = settings_install_property_parser (class,
g_param_spec_float ("gtk-cursor-aspect-ratio",
P_("Cursor Aspect Ratio"),
P_("The aspect ratio of the text caret"),
0.0, 1.0, 0.04,
GTK_PARAM_READWRITE));
g_param_spec_double ("gtk-cursor-aspect-ratio",
P_("Cursor Aspect Ratio"),
P_("The aspect ratio of the text caret"),
0.0, 1.0, 0.04,
GTK_PARAM_READWRITE));
g_assert (result == PROP_CURSOR_ASPECT_RATIO);
result = settings_install_property_parser (class,

View File

@ -969,7 +969,7 @@ draw_insertion_cursor (GtkStyleContext *context,
double x,
double y,
double height,
float aspect_ratio,
double aspect_ratio,
gboolean is_primary,
PangoDirection direction,
gboolean draw_arrow)
@ -1032,7 +1032,7 @@ draw_insertion_cursor (GtkStyleContext *context,
static void
get_insertion_cursor_bounds (double height,
float aspect_ratio,
double aspect_ratio,
PangoDirection direction,
gboolean draw_arrow,
graphene_rect_t *bounds)
@ -1073,7 +1073,7 @@ static void
snapshot_insertion_cursor (GtkSnapshot *snapshot,
GtkStyleContext *context,
double height,
float aspect_ratio,
double aspect_ratio,
gboolean is_primary,
PangoDirection direction,
gboolean draw_arrow)
@ -1136,7 +1136,7 @@ gtk_snapshot_render_insertion_cursor (GtkSnapshot *snapshot,
{
GtkStyleContextPrivate *priv = gtk_style_context_get_instance_private (context);
gboolean split_cursor;
float aspect_ratio;
double aspect_ratio;
PangoRectangle strong_pos, weak_pos;
PangoRectangle *cursor1, *cursor2;
GdkSeat *seat;