Example #1
0
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;
}
Example #3
0
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);
}