diff --git a/src/rugby-app-window.c b/src/rugby-app-window.c index bc62063d77e3f454e4b55c77e804ae8b92ac0bbe..f1ca16b93ef43244bfd2703067403fab0d122c0a 100644 --- a/src/rugby-app-window.c +++ b/src/rugby-app-window.c @@ -46,14 +46,11 @@ item_tooltip_cb (GtkListItem *item) if (!possibility) return NULL; - int tries, utries, kicks; GString *tooltip = g_string_new (NULL); - g_object_get (possibility, - "tries", &tries, - "utries", &utries, - "kicks", &kicks, - NULL); + int tries = rugby_possibility_get_tries (possibility); + int utries = rugby_possibility_get_utries (possibility); + int kicks = rugby_possibility_get_kicks (possibility); if (tries > 0) { @@ -93,12 +90,10 @@ header_label_cb (GtkListItem *item) if (!possibility) return NULL; - int tries, utries; - g_object_get (possibility, - "tries", &tries, - "utries", &utries, - NULL); + int tries = rugby_possibility_get_tries (possibility); + int utries = rugby_possibility_get_utries (possibility); int total_tries = tries + utries; + return g_strdup_printf (ngettext ("%d try", "%d tries", total_tries), total_tries); } diff --git a/src/rugby-list-store.c b/src/rugby-list-store.c index 57ccda29ad43f35bc07477ed04683e6bfddc6c34..343f627719c1810bef2e18944b6c0b6300caed7c 100644 --- a/src/rugby-list-store.c +++ b/src/rugby-list-store.c @@ -46,17 +46,10 @@ sort_func ( gconstpointer a, gconstpointer b, G_GNUC_UNUSED void *user_data) { - int atries, autries; - int btries, butries; - - g_object_get ((void *) a, - "tries", &atries, - "utries", &autries, - NULL); - g_object_get ((void *) b, - "tries", &btries, - "utries", &butries, - NULL); + int atries = rugby_possibility_get_tries ((void *) a); + int autries = rugby_possibility_get_utries ((void *) a); + int btries = rugby_possibility_get_tries ((void *) b); + int butries = rugby_possibility_get_utries ((void *) b); int trydiff = (btries + butries) - (atries + autries); @@ -116,13 +109,8 @@ process_data (RugbyListStore *self) static int get_total_tries (RugbyPossibility *possibility) { - int tries, utries; - - g_object_get (possibility, - "tries", &tries, - "utries", &utries, - NULL); - return tries + utries; + return rugby_possibility_get_tries (possibility) + + rugby_possibility_get_utries (possibility); } // GListModel implementation diff --git a/src/rugby-possibility-widget.c b/src/rugby-possibility-widget.c index 3935647bde85434643cff580c774c332f6b58310..8bb03b7fb18991ae4890be38293843a627b0ed86 100644 --- a/src/rugby-possibility-widget.c +++ b/src/rugby-possibility-widget.c @@ -126,12 +126,10 @@ rugby_possibility_widget_snapshot (GtkWidget *widget, int height = gtk_widget_get_height (widget); float x = 0.0; - int tries, utries, kicks; - g_object_get (self->possibility, - "tries", &tries, - "utries", &utries, - "kicks", &kicks, - NULL); + int tries = rugby_possibility_get_tries (self->possibility); + int utries = rugby_possibility_get_utries (self->possibility); + int kicks = rugby_possibility_get_kicks (self->possibility); + int score = tries * try_points + utries * utry_points + kicks * kick_points; GdkRGBA rgba; diff --git a/src/rugby-possibility.c b/src/rugby-possibility.c index c5a2ad3c864dfd582a586d43c9285a58bc998ee9..cdc10a4830bdc0e5daab790870041281f51af5b1 100644 --- a/src/rugby-possibility.c +++ b/src/rugby-possibility.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2018-2021 Bruce Cowan <bruce@bcowan.me.uk> + * SPDX-FileCopyrightText: 2018-2024 Bruce Cowan <bruce@bcowan.me.uk> * * SPDX-License-Identifier: GPL-3.0-or-later */ @@ -39,13 +39,13 @@ rugby_possibility_get_property (GObject *object, switch (prop_id) { case PROP_TRIES: - g_value_set_int (value, self->tries); + g_value_set_int (value, rugby_possibility_get_tries (self)); break; case PROP_UTRIES: - g_value_set_int (value, self->utries); + g_value_set_int (value, rugby_possibility_get_utries (self)); break; case PROP_KICKS: - g_value_set_int (value, self->kicks); + g_value_set_int (value, rugby_possibility_get_kicks (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -119,3 +119,27 @@ rugby_possibility_new (int tries, "kicks", kicks, NULL); } + +int +rugby_possibility_get_tries (RugbyPossibility *self) +{ + g_return_val_if_fail (RUGBY_IS_POSSIBILITY (self), 0); + + return self->tries; +} + +int +rugby_possibility_get_utries (RugbyPossibility *self) +{ + g_return_val_if_fail (RUGBY_IS_POSSIBILITY (self), 0); + + return self->utries; +} + +int +rugby_possibility_get_kicks (RugbyPossibility *self) +{ + g_return_val_if_fail (RUGBY_IS_POSSIBILITY (self), 0); + + return self->kicks; +} diff --git a/src/rugby-possibility.h b/src/rugby-possibility.h index dd7fe742734625a4446acfa2d9c009d9d44935af..7a036c2d68d99aa2e99fb52b35d4a072430f143c 100644 --- a/src/rugby-possibility.h +++ b/src/rugby-possibility.h @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2018-2022 Bruce Cowan <bruce@bcowan.me.uk> + * SPDX-FileCopyrightText: 2018-2024 Bruce Cowan <bruce@bcowan.me.uk> * * SPDX-License-Identifier: GPL-3.0-or-later */ @@ -18,4 +18,8 @@ RugbyPossibility *rugby_possibility_new (int tries, int utries, int kicks); +int rugby_possibility_get_tries (RugbyPossibility *self); +int rugby_possibility_get_utries (RugbyPossibility *self); +int rugby_possibility_get_kicks (RugbyPossibility *self); + G_END_DECLS