From b78e901f5372d853dc10ef9e682c03427152c17d Mon Sep 17 00:00:00 2001 From: Bruce Cowan <bruce@bcowan.me.uk> Date: Fri, 11 Jun 2021 14:32:08 +0100 Subject: [PATCH] Tooltip improvements --- src/rugby-app-window.c | 51 ++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 24 deletions(-) diff --git a/src/rugby-app-window.c b/src/rugby-app-window.c index 5d58a94..7c972fc 100644 --- a/src/rugby-app-window.c +++ b/src/rugby-app-window.c @@ -23,44 +23,47 @@ static char * item_tooltip_cb (GtkListItem *item) { RugbyPossibility *possibility = gtk_list_item_get_item (item); + if (!possibility) + return NULL; int tries, utries, kicks; GString *tooltip = g_string_new (NULL); - if (!possibility) - return NULL; - g_object_get (possibility, "tries", &tries, "utries", &utries, "kicks", &kicks, NULL); - if ((tries + utries) > 0) + if (tries > 0 && utries == 0) { - if (tries == 1 && utries == 0) - g_string_printf (tooltip, "1 converted try"); - else if (tries == 0 && utries == 1) - g_string_printf (tooltip, "1 unconverted try"); - else - g_string_append_printf (tooltip, - ngettext ("%d try, %d converted", - "%d tries, %d converted", - tries + utries), - tries + utries, tries); - - if (kicks > 0) - g_string_append_printf (tooltip, - ngettext (", %d kick", - ", %d kicks", - kicks), - kicks); + g_string_printf (tooltip, ngettext ("%d converted try", + "%d converted tries", + tries), + tries); } - else if (kicks > 0) + else if (utries > 0 && tries == 0) { + g_string_printf (tooltip, ngettext ("%d unconverted try", + "%d unconverted tries", + utries), + utries); + } + else if (tries + utries > 0) + { + g_string_printf (tooltip, ngettext ("%d try, %d converted", + "%d tries, %d converted", + tries + utries), + tries + utries, tries); + } + + if (kicks > 0) + { + if (tries > 0 || utries > 0) + g_string_append_printf (tooltip, ", "); + g_string_append_printf (tooltip, - ngettext ("%d kick", - "%d kicks", kicks), + ngettext ("%d kick", "%d kicks", kicks), kicks); } -- GitLab