diff options
Diffstat (limited to 'libcaja-private/caja-icon-container.c')
-rw-r--r-- | libcaja-private/caja-icon-container.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/libcaja-private/caja-icon-container.c b/libcaja-private/caja-icon-container.c index 39aab446..fa9651b7 100644 --- a/libcaja-private/caja-icon-container.c +++ b/libcaja-private/caja-icon-container.c @@ -216,6 +216,7 @@ static void caja_icon_container_set_rtl_positions (CajaIconContainer *conta static double get_mirror_x_position (CajaIconContainer *container, CajaIcon *icon, double x); +static void text_ellipsis_limit_changed_container_callback (gpointer callback_data); static int compare_icons_horizontal (CajaIconContainer *container, CajaIcon *icon_a, @@ -4452,6 +4453,10 @@ finalize (GObject *object) details = CAJA_ICON_CONTAINER (object)->details; + g_signal_handlers_disconnect_by_func (caja_icon_view_preferences, + text_ellipsis_limit_changed_container_callback, + object); + g_hash_table_destroy (details->icon_set); details->icon_set = NULL; @@ -6203,9 +6208,10 @@ caja_icon_container_constructor (GType type, } else { - eel_preferences_add_callback_while_alive (CAJA_PREFERENCES_ICON_VIEW_TEXT_ELLIPSIS_LIMIT, - text_ellipsis_limit_changed_container_callback, - container, G_OBJECT (container)); + g_signal_connect_swapped (caja_icon_view_preferences, + "changed::" CAJA_PREFERENCES_ICON_VIEW_TEXT_ELLIPSIS_LIMIT, + G_CALLBACK (text_ellipsis_limit_changed_container_callback), + container); } return object; @@ -6815,7 +6821,7 @@ text_ellipsis_limit_changed_callback (gpointer callback_data) const EelEnumeration *eenum; const EelEnumerationEntry *entry; - pref = eel_preferences_get_string_array (CAJA_PREFERENCES_ICON_VIEW_TEXT_ELLIPSIS_LIMIT); + pref = g_settings_get_strv (caja_icon_view_preferences, CAJA_PREFERENCES_ICON_VIEW_TEXT_ELLIPSIS_LIMIT); /* set default */ get_text_ellipsis_limit_for_zoom (pref, NULL, &one_limit); @@ -6890,9 +6896,10 @@ caja_icon_container_init (CajaIconContainer *container) if (!setup_prefs) { - eel_preferences_add_callback (CAJA_PREFERENCES_ICON_VIEW_TEXT_ELLIPSIS_LIMIT, - text_ellipsis_limit_changed_callback, - NULL); + g_signal_connect_swapped (caja_icon_view_preferences, + "changed::" CAJA_PREFERENCES_ICON_VIEW_TEXT_ELLIPSIS_LIMIT, + G_CALLBACK (text_ellipsis_limit_changed_callback), + NULL); text_ellipsis_limit_changed_callback (NULL); eel_preferences_add_callback (CAJA_PREFERENCES_DESKTOP_TEXT_ELLIPSIS_LIMIT, |