/** * seahorse_prefs_new: * @parent: The #GtkWindow to set as the preferences dialog's parent * * Create a new preferences window. * * Returns: The preferences window. **/ SeahorseWidget * seahorse_prefs_new (GtkWindow *parent) { SeahorseWidget *swidget; #ifndef WITH_KEYSERVER GtkWidget *widget = NULL; #endif swidget = seahorse_widget_new ("prefs", parent); if (swidget != NULL) { #ifdef WITH_KEYSERVER setup_keyservers (swidget); #else widget = GTK_WIDGET (seahorse_widget_get_widget (swidget, "keyserver-tab")); g_return_val_if_fail (GTK_IS_WIDGET (widget), swidget); seahorse_prefs_remove_tab (swidget, widget); #endif seahorse_widget_show (swidget); } else { swidget = seahorse_widget_find ("prefs"); gtk_window_present (GTK_WINDOW (seahorse_widget_get_widget (swidget, swidget->name))); } return swidget; }
void properties_cb (GtkAction *action, SeahorseApplet *sapplet) { SeahorseWidget *swidget; GtkWidget *widget; GdkPixbuf *pixbuf; swidget = seahorse_widget_new ("applet-preferences", NULL); widget = GTK_WIDGET (seahorse_widget_get_widget (swidget, swidget->name)); pixbuf = gtk_widget_render_icon (widget, ICON_CLIPBOARD_DEFAULT, (GtkIconSize)-1, NULL); gtk_window_set_icon (GTK_WINDOW (widget), pixbuf); g_object_unref(pixbuf); /* Preferences window is already open */ if (!swidget) return; widget = GTK_WIDGET (seahorse_widget_get_widget (swidget, "show-clipboard-state")); if (widget && GTK_IS_CHECK_BUTTON (widget)) seahorse_check_button_gconf_attach (GTK_CHECK_BUTTON (widget), SHOW_CLIPBOARD_STATE_KEY); widget = GTK_WIDGET (seahorse_widget_get_widget (swidget, "display-encrypted-clipboard")); if (widget && GTK_IS_CHECK_BUTTON (widget)) seahorse_check_button_gconf_attach (GTK_CHECK_BUTTON (widget), DISPLAY_CLIPBOARD_ENC_KEY); widget = GTK_WIDGET (seahorse_widget_get_widget (swidget, "display-decrypted-clipboard")); if (widget && GTK_IS_CHECK_BUTTON (widget)) seahorse_check_button_gconf_attach (GTK_CHECK_BUTTON (widget), DISPLAY_CLIPBOARD_DEC_KEY); widget = GTK_WIDGET (seahorse_widget_get_widget (swidget, "display-verified-clipboard")); if (widget && GTK_IS_CHECK_BUTTON (widget)) seahorse_check_button_gconf_attach (GTK_CHECK_BUTTON (widget), DISPLAY_CLIPBOARD_VER_KEY); widget = GTK_WIDGET (seahorse_widget_get_widget (swidget, "close")); g_signal_connect (widget, "clicked", G_CALLBACK (close_props), swidget); widget = seahorse_widget_get_toplevel (swidget); g_signal_connect (widget, "delete-event", G_CALLBACK (win_destroyed), swidget); seahorse_widget_show (swidget); }
static GObject* seahorse_keyserver_results_constructor (GType type, guint n_props, GObjectConstructParam *props) { SeahorseKeyserverResults *self = SEAHORSE_KEYSERVER_RESULTS (G_OBJECT_CLASS (seahorse_keyserver_results_parent_class)->constructor(type, n_props, props)); GtkActionGroup* actions; GtkTreeSelection *selection; GtkWindow *window; char* title; g_return_val_if_fail (self, NULL); if (g_utf8_strlen (self->pv->search_string, -1) == 0) { title = g_strdup (_("Remote Keys")); } else { title = g_strdup_printf (_ ("Remote Keys Containing '%s'"), self->pv->search_string); } window = seahorse_viewer_get_window (SEAHORSE_VIEWER (self)); gtk_window_set_title (window, title); g_free (title); g_signal_connect (window, "delete-event", G_CALLBACK (on_delete_event), self); actions = gtk_action_group_new ("general"); gtk_action_group_set_translation_domain (actions, GETTEXT_PACKAGE); gtk_action_group_add_actions (actions, GENERAL_ENTRIES, G_N_ELEMENTS (GENERAL_ENTRIES), self); seahorse_viewer_include_actions (SEAHORSE_VIEWER (self), actions); actions = gtk_action_group_new ("keyserver"); gtk_action_group_set_translation_domain (actions, GETTEXT_PACKAGE); gtk_action_group_add_actions (actions, SERVER_ENTRIES, G_N_ELEMENTS (SERVER_ENTRIES), self); seahorse_viewer_include_actions (SEAHORSE_VIEWER (self), actions); /* init key list & selection settings */ self->pv->view = GTK_TREE_VIEW (seahorse_widget_get_widget (SEAHORSE_WIDGET (self), "key_list")); selection = gtk_tree_view_get_selection (self->pv->view); gtk_tree_selection_set_mode (selection, GTK_SELECTION_MULTIPLE); g_signal_connect_object (selection, "changed", G_CALLBACK (on_view_selection_changed), self, 0); g_signal_connect_object (self->pv->view, "row-activated", G_CALLBACK (on_row_activated), self, 0); g_signal_connect_object (self->pv->view, "button-press-event", G_CALLBACK (on_key_list_button_pressed), self, 0); g_signal_connect_object (self->pv->view, "popup-menu", G_CALLBACK (on_key_list_popup_menu), self, 0); gtk_widget_realize (GTK_WIDGET (self->pv->view)); /* Set focus to the current key list */ gtk_widget_grab_focus (GTK_WIDGET (self->pv->view)); /* To avoid flicker */ seahorse_viewer_ensure_updated (SEAHORSE_VIEWER (self)); seahorse_widget_show (SEAHORSE_WIDGET (SEAHORSE_VIEWER (self))); /* Our predicate for filtering keys */ self->pv->pred.tag = g_quark_from_string ("openpgp"); self->pv->pred.location = SEAHORSE_LOCATION_REMOTE; self->pv->pred.custom = (SeahorseObjectPredicateFunc)on_filter_objects; self->pv->pred.custom_target = self; /* Our set all nicely filtered */ self->pv->objects = seahorse_set_new_full (&self->pv->pred); self->pv->store = seahorse_key_manager_store_new (self->pv->objects, self->pv->view); on_view_selection_changed (selection, self); return G_OBJECT (self); }