diff --git a/src/rugby-list-store.c b/src/rugby-list-store.c index bb4fae3ba3a8dcbb50c072413677ce8537b7f42e..b1f8b63fe6c1d01d5e691a5756c86549accfe198 100644 --- a/src/rugby-list-store.c +++ b/src/rugby-list-store.c @@ -102,14 +102,6 @@ process_data (RugbyListStore *self) g_list_model_get_n_items (G_LIST_MODEL (self->items))); } -static void -on_settings_changed (G_GNUC_UNUSED GSettings *settings, - G_GNUC_UNUSED char *key, - gpointer user_data) -{ - process_data (RUGBY_LIST_STORE (user_data)); -} - // GListModel implementation static GType @@ -214,8 +206,13 @@ static void rugby_list_store_init (RugbyListStore *self) { self->settings = g_settings_new ("uk.me.bcowan.Rugby"); - g_signal_connect (self->settings, "changed", - G_CALLBACK (on_settings_changed), self); + + g_signal_connect_swapped (self->settings, "changed::try-points", + G_CALLBACK (process_data), self); + g_signal_connect_swapped (self->settings, "changed::utry-points", + G_CALLBACK (process_data), self); + g_signal_connect_swapped (self->settings, "changed::kick-points", + G_CALLBACK (process_data), self); self->score = 0; self->items = g_list_store_new (RUGBY_TYPE_POSSIBILITY);