/** * seahorse_keyserver_results_show: * @search_text: The text to search for * @parent: A GTK window as parent (or NULL) * * Creates a search results window and adds the operation to it's progress status. */ void seahorse_keyserver_results_show (const gchar* search_text, GtkWindow *parent) { SeahorseKeyserverResults* self; g_autoptr(GCancellable) cancellable = NULL; g_return_if_fail (search_text != NULL); self = g_object_new (SEAHORSE_TYPE_KEYSERVER_RESULTS, "search", search_text, "transient-for", parent, NULL); /* Destorys itself with destroy */ g_object_ref_sink (self); cancellable = g_cancellable_new (); seahorse_pgp_backend_search_remote_async (seahorse_pgp_backend_get (), search_text, self->collection, cancellable, on_search_completed, g_object_ref (self)); seahorse_progress_attach (cancellable, self->builder); }
/** * seahorse_keyserver_results_show: * @search_text: The test to search for * @parent: A GTK window as parent (or NULL) * * Creates a search results window and adds the operation to it's progress status. * */ void seahorse_keyserver_results_show (const char* search_text, GtkWindow *parent) { SeahorseKeyserverResults* self; GCancellable *cancellable; GtkBuilder *builder; g_return_if_fail (search_text != NULL); self = g_object_new (SEAHORSE_TYPE_KEYSERVER_RESULTS, "ui-name", "keyserver-results", "search", search_text, "transient-for", parent, NULL); /* Destorys itself with destroy */ g_object_ref_sink (self); cancellable = g_cancellable_new (); seahorse_pgp_backend_search_remote_async (NULL, search_text, self->pv->collection, cancellable, on_search_completed, g_object_ref (self)); builder = seahorse_catalog_get_builder (SEAHORSE_CATALOG (self)); seahorse_progress_attach (cancellable, builder); g_object_unref (cancellable); }
static gboolean on_timeout_show_progress (gpointer user_data) { TrackedTask *task = NULL; SeahorseWidget *swidget; GtkWidget *widget; GtkWindow *window; gchar *text; /* Guard against going away before we display */ if (tracked_tasks) task = g_hash_table_lookup (tracked_tasks, user_data); if (task == NULL) return FALSE; /* don't call again */ swidget = seahorse_widget_new_allow_multiple ("progress", NULL); g_return_val_if_fail (swidget != NULL, FALSE); window = GTK_WINDOW (seahorse_widget_get_toplevel (swidget)); g_signal_connect (window, "delete_event", G_CALLBACK (on_window_delete_event), task->cancellable); gtk_window_move (window, 10, 10); /* Setup the title */ if (task->title) { gtk_window_set_title (window, task->title); /* The main message title */ widget = seahorse_widget_get_widget (swidget, "progress-title"); text = g_strdup_printf ("<b>%s</b>", task->title); gtk_label_set_markup (GTK_LABEL (widget), text); g_free (text); } /* Setup the notice */ if (task->notice) { widget = seahorse_widget_get_widget (swidget, "progress-notice"); gtk_label_set_label (GTK_LABEL (widget), task->notice); gtk_widget_show (widget); } /* Setup the cancel button */ widget = seahorse_widget_get_widget (swidget, "progress-cancel"); g_signal_connect (widget, "clicked", G_CALLBACK (on_cancel_button_clicked), task->cancellable); /* Allow attach to work */ task->showing = FALSE; seahorse_progress_attach (task->cancellable, swidget->gtkbuilder); gtk_widget_show (GTK_WIDGET (window)); g_object_unref (swidget); return FALSE; /* don't call again */ }