applications: Fix File & Link Associations UI

When removing a File & Link Association from the dialog, or resetting
them, the UI does not update. Fix this by rebuilding the handler dialog
on both unset and reset.

Fixes #389
Fixes #2172
This commit is contained in:
velsinki 2023-11-15 22:52:08 +01:00 committed by Robert Ancell
parent 1def49b62b
commit 34fe60fe03

View file

@ -145,6 +145,8 @@ static void select_app (CcApplicationsPanel *self,
const gchar *app_id, const gchar *app_id,
gboolean emit_activate); gboolean emit_activate);
static void update_handler_dialog (CcApplicationsPanel *self, GAppInfo *info);
G_DEFINE_TYPE (CcApplicationsPanel, cc_applications_panel, CC_TYPE_PANEL) G_DEFINE_TYPE (CcApplicationsPanel, cc_applications_panel, CC_TYPE_PANEL)
enum enum
@ -978,6 +980,7 @@ unset_cb (CcApplicationsPanel *self,
type = (const gchar *)g_object_get_data (G_OBJECT (button), "type"); type = (const gchar *)g_object_get_data (G_OBJECT (button), "type");
g_app_info_remove_supports_type (self->current_app_info, type, NULL); g_app_info_remove_supports_type (self->current_app_info, type, NULL);
update_handler_dialog (self, self->current_app_info);
} }
static void static void
@ -1097,6 +1100,7 @@ handler_reset_cb (CcApplicationsPanel *self)
} }
g_signal_handler_unblock (self->monitor, self->monitor_id); g_signal_handler_unblock (self->monitor, self->monitor_id);
g_signal_emit_by_name (self->monitor, "changed"); g_signal_emit_by_name (self->monitor, "changed");
update_handler_dialog(self, self->current_app_info);
} }
static void static void