diff options
| author | Valentin Villenave <[email protected]> | 2021-10-07 15:27:52 +0200 | 
|---|---|---|
| committer | raveit65 <[email protected]> | 2021-10-26 16:00:45 +0200 | 
| commit | 130e2e12a7d5e54165b25effee5fadb1693a096a (patch) | |
| tree | 26b251681641c0a902f7f0f0fd72e7347f238f77 | |
| parent | 77ea4ad2917ac2054b08026f205d623b38229c1a (diff) | |
| download | mate-applets-130e2e12a7d5e54165b25effee5fadb1693a096a.tar.bz2 mate-applets-130e2e12a7d5e54165b25effee5fadb1693a096a.tar.xz | |
Mate Trash applet: add accessible Atk object with proper label.
The accessible object’s description mentions how many items are
in the Trash.
| -rw-r--r-- | trashapplet/src/trashapplet.c | 23 | 
1 files changed, 17 insertions, 6 deletions
| diff --git a/trashapplet/src/trashapplet.c b/trashapplet/src/trashapplet.c index 2ba46c7c..6f4b7f0f 100644 --- a/trashapplet/src/trashapplet.c +++ b/trashapplet/src/trashapplet.c @@ -85,6 +85,7 @@ trash_applet_monitor_changed (TrashApplet *applet)    GError *error = NULL;    GFileInfo *info;    GIcon *icon; +  AtkObject *atk_obj;    gint items;    info = g_file_query_info (applet->trash, @@ -92,6 +93,8 @@ trash_applet_monitor_changed (TrashApplet *applet)                              G_FILE_ATTRIBUTE_TRASH_ITEM_COUNT,                              0, NULL, &error); +  atk_obj = gtk_widget_get_accessible (GTK_WIDGET (applet)); +    if (!info)      {        g_critical ("could not query trash:/: '%s'", error->message); @@ -120,19 +123,20 @@ trash_applet_monitor_changed (TrashApplet *applet)    if (items != applet->items)      { +      char *text; +        if (items)          { -          char *text; -            text = g_strdup_printf (ngettext ("%d Item in Trash",                                              "%d Items in Trash",                                              items), items); -          gtk_widget_set_tooltip_text (GTK_WIDGET (applet), text); -          g_free (text);          }        else -        gtk_widget_set_tooltip_text (GTK_WIDGET (applet), -                                     _("No Items in Trash")); +        text = g_strdup (_("No Items in Trash")); + +      gtk_widget_set_tooltip_text (GTK_WIDGET (applet), text); +      atk_object_set_description (atk_obj, text); +      g_free (text);        applet->items = items;      } @@ -615,6 +619,7 @@ trash_applet_factory (MatePanelApplet *applet,    if (!strcmp (iid, "TrashApplet"))      { +      AtkObject *atk_obj;        GtkActionGroup *action_group;        g_set_application_name (_("Trash Applet")); @@ -633,6 +638,12 @@ trash_applet_factory (MatePanelApplet *applet,                                                    action_group);        g_object_unref (action_group); +      atk_obj = gtk_widget_get_accessible (GTK_WIDGET (applet)); + +      if (GTK_IS_ACCESSIBLE (atk_obj)) { +          atk_object_set_name (atk_obj, _("Trash Applet")); +      } +        gtk_widget_show (GTK_WIDGET (applet));        retval = TRUE; | 
