static void gtk_search_entry_class_init (GtkSearchEntryClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); object_class->finalize = gtk_search_entry_finalize; g_signal_override_class_handler ("icon-release", GTK_TYPE_SEARCH_ENTRY, G_CALLBACK (gtk_search_entry_icon_release)); /** * GtkSearchEntry::search-changed: * @entry: the entry on which the signal was emitted * * The #GtkSearchEntry::search-changed signal is emitted with a short * delay of 150 milliseconds after the last change to the entry text. * * Since: 3.10 */ signals[SEARCH_CHANGED] = g_signal_new (I_("search-changed"), G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_LAST, G_STRUCT_OFFSET (GtkSearchEntryClass, search_changed), NULL, NULL, _gtk_marshal_VOID__VOID, G_TYPE_NONE, 0); }
static void cw_picture_window_class_init (CWPictureWindowClass *klass) { GObjectClass* object_class = G_OBJECT_CLASS (klass); //GtkWindowClass* parent_class = GTK_WINDOW_CLASS (klass); g_type_class_add_private (klass, sizeof (CWPictureWindowPrivate)); klass->picture_switch = cw_picture_window_picture_switch; picture_window_signals[PICTURE_SWITCH] = g_signal_new("picture-switch", G_OBJECT_CLASS_TYPE(klass), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, G_STRUCT_OFFSET (CWPictureWindowClass, picture_switch), NULL, NULL, g_cclosure_marshal_VOID__LONG, G_TYPE_NONE, 1, G_TYPE_LONG ); g_signal_override_class_handler("screen-changed", cw_picture_window_get_type(), G_CALLBACK(cw_window_screen_changed)); g_signal_override_class_handler("draw", cw_picture_window_get_type(), G_CALLBACK(cw_picture_window_draw)); g_signal_override_class_handler("button-press-event", cw_picture_window_get_type(), G_CALLBACK(cw_picture_window_button_press_event)); g_signal_override_class_handler("window-state-event", cw_picture_window_get_type(), G_CALLBACK(cw_picture_window_state_event)); object_class->finalize = cw_picture_window_finalize; }
static void cw_window_class_init (CWWindowClass *klass) { GObjectClass* object_class = G_OBJECT_CLASS (klass); //GtkWindowClass* parent_class = GTK_WINDOW_CLASS (klass); g_type_class_add_private (klass, sizeof (CWWindowPrivate)); g_signal_override_class_handler("key-release-event", cw_window_get_type(), G_CALLBACK(cw_window_key_release_event)); object_class->finalize = cw_window_finalize; }
void gtk_module_init(gint *argc, gchar ***argv[]) { GError *error = NULL; STORE_PATH = g_build_filename(g_get_home_dir(), ".password-store", NULL); gchar *gpgid_path = g_build_filename(STORE_PATH, ".gpg-id", NULL); g_file_get_contents(gpgid_path, &GPG_ID, NULL, &error); if (error) { g_warning("Failed to load GPG id."); return; } // remove newline if (g_str_has_suffix(GPG_ID, "\n")) { GPG_ID[strlen(GPG_ID) - 1] = '\0'; } GType entry_type = gtk_entry_get_type(); // The type class must be instantiated to attach a handler. gpointer entry_type_class = g_type_class_ref(entry_type); g_signal_override_class_handler("populate-popup", entry_type, G_CALLBACK(populate_popup_cb)); g_type_class_unref(entry_type_class); }