From: John Darrington Date: Sun, 28 Feb 2016 17:53:15 +0000 (+0100) Subject: Change signal name and signature from "backend-changed" to "items-changed" X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f90236e97e7f47c5b87a8d23e6a4cd3b3660c6f4;p=pspp Change signal name and signature from "backend-changed" to "items-changed" --- diff --git a/src/ui/gui/psppire-data-store.c b/src/ui/gui/psppire-data-store.c index 1441afa56a..3ad95ccace 100644 --- a/src/ui/gui/psppire-data-store.c +++ b/src/ui/gui/psppire-data-store.c @@ -67,7 +67,7 @@ static GObjectClass *parent_class = NULL; enum { - BACKEND_CHANGED, + ITEMS_CHANGED, CASES_DELETED, CASE_INSERTED, CASE_CHANGED, @@ -210,15 +210,18 @@ psppire_data_store_class_init (PsppireDataStoreClass *class) object_class->finalize = psppire_data_store_finalize; object_class->dispose = psppire_data_store_dispose; - signals [BACKEND_CHANGED] = - g_signal_new ("backend-changed", + signals [ITEMS_CHANGED] = + g_signal_new ("changed", G_TYPE_FROM_CLASS (class), G_SIGNAL_RUN_FIRST, 0, NULL, NULL, - g_cclosure_marshal_VOID__VOID, + psppire_marshal_VOID__UINT_UINT_UINT, G_TYPE_NONE, - 0); + 3, + G_TYPE_UINT, + G_TYPE_UINT, + G_TYPE_UINT); signals [CASE_INSERTED] = g_signal_new ("case-inserted", @@ -385,15 +388,17 @@ psppire_data_store_set_reader (PsppireDataStore *ds, struct casereader *reader) { gint i; - + gint old_n = 0; if ( ds->datasheet) - datasheet_destroy (ds->datasheet); + { + old_n = datasheet_get_n_rows (ds->datasheet); + datasheet_destroy (ds->datasheet); + } ds->datasheet = datasheet_create (reader); - g_signal_emit_by_name (ds, "notify", 0, 0); - g_print ("Datasheet row count %d\n", datasheet_get_n_rows (ds->datasheet)); - + gint new_n = datasheet_get_n_rows (ds->datasheet); + if ( ds->dict ) for (i = 0 ; i < n_dict_signals; ++i ) { @@ -404,7 +409,7 @@ psppire_data_store_set_reader (PsppireDataStore *ds, } } - g_signal_emit (ds, signals[BACKEND_CHANGED], 0); + g_signal_emit (ds, signals[ITEMS_CHANGED], 0, 0, old_n, new_n); } diff --git a/src/ui/gui/psppire-data-window.c b/src/ui/gui/psppire-data-window.c index 7917274da5..c2a27c04f4 100644 --- a/src/ui/gui/psppire-data-window.c +++ b/src/ui/gui/psppire-data-window.c @@ -1009,7 +1009,7 @@ psppire_data_window_finish_init (PsppireDataWindow *de, G_CALLBACK (on_split_change), de); - g_signal_connect_swapped (de->dict, "backend-changed", + g_signal_connect_swapped (de->dict, "changed", G_CALLBACK (enable_save), de); g_signal_connect_swapped (de->dict, "variable-inserted", G_CALLBACK (enable_save), de); diff --git a/src/ui/gui/psppire-dict.c b/src/ui/gui/psppire-dict.c index a461f4fa37..8558373c85 100644 --- a/src/ui/gui/psppire-dict.c +++ b/src/ui/gui/psppire-dict.c @@ -42,7 +42,6 @@ enum { ITEMS_CHANGED, - BACKEND_CHANGED, VARIABLE_CHANGED, VARIABLE_INSERTED, @@ -175,16 +174,6 @@ psppire_dict_class_init (PsppireDictClass *class) object_class->dispose = psppire_dict_dispose; - signals [BACKEND_CHANGED] = - g_signal_new ("backend-changed", - G_TYPE_FROM_CLASS (class), - G_SIGNAL_RUN_FIRST, - 0, - NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, - 0); - signals [ITEMS_CHANGED] = g_signal_new ("changed", G_TYPE_FROM_CLASS (class), @@ -388,7 +377,6 @@ psppire_dict_replace_dictionary (PsppireDict *dict, struct dictionary *d) dict_set_callbacks (dict->dict, &gui_callbacks, dict); - g_signal_emit (dict, signals [BACKEND_CHANGED], 0); g_signal_emit (dict, signals [ITEMS_CHANGED], 0, 0, old_n, new_n); }