void seahorse_gpgme_add_revoker_new (SeahorseGpgmeKey *pkey, GtkWindow *parent) { SeahorseGpgmeKey *revoker; GtkWidget *dialog; gint response; gpgme_error_t err; const gchar *userid1, *userid2; g_return_if_fail (pkey != NULL && SEAHORSE_IS_GPGME_KEY (pkey)); revoker = SEAHORSE_GPGME_KEY (seahorse_signer_get (parent)); if (revoker == NULL) return; userid1 = seahorse_object_get_label (SEAHORSE_OBJECT (revoker)); userid2 = seahorse_object_get_label (SEAHORSE_OBJECT (pkey)); dialog = gtk_message_dialog_new (parent, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_YES_NO, _("You are about to add %s as a revoker for %s." " This operation cannot be undone! Are you sure you want to continue?"), userid1, userid2); response = gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); if (response != GTK_RESPONSE_YES) return; err = seahorse_gpgme_key_op_add_revoker (pkey, revoker); if (!GPG_IS_OK (err)) seahorse_gpgme_handle_error (err, _("Couldn't add revoker")); }
static void on_collection_added (GcrCollection *collection, GObject *obj, gpointer user_data) { SeahorseObject *object = SEAHORSE_OBJECT (obj); GtkComboBox *combo = GTK_COMBO_BOX (user_data); GtkListStore *model; GtkTreeIter iter; const gchar *label; gchar *markup; model = GTK_LIST_STORE (gtk_combo_box_get_model (combo)); label = seahorse_object_get_label (object); markup = calculate_markup_for_object (combo, label, object); gtk_list_store_append (model, &iter); gtk_list_store_set (model, &iter, COMBO_LABEL, label, COMBO_MARKUP, markup, COMBO_POINTER, object, -1); g_free (markup); g_signal_connect (object, "notify::label", G_CALLBACK (on_label_changed), combo); }
/** * seahorse_object_get_property: * @obj: The object to get the property for * @prop_id: The property requested * @value: out - the value as #GValue * @pspec: a #GParamSpec for the warning * * Returns: The property of the object @obj defined by the id @prop_id in @value. * */ static void seahorse_object_get_property (GObject *obj, guint prop_id, GValue *value, GParamSpec *pspec) { SeahorseObject *self = SEAHORSE_OBJECT (obj); switch (prop_id) { case PROP_CONTEXT: g_value_set_object (value, seahorse_object_get_context (self)); break; case PROP_SOURCE: g_value_set_object (value, seahorse_object_get_source (self)); break; case PROP_PREFERRED: g_value_set_object (value, seahorse_object_get_preferred (self)); break; case PROP_PARENT: g_value_set_object (value, seahorse_object_get_parent (self)); break; case PROP_ID: g_value_set_uint (value, seahorse_object_get_id (self)); break; case PROP_TAG: g_value_set_uint (value, seahorse_object_get_tag (self)); break; case PROP_LABEL: g_value_set_string (value, seahorse_object_get_label (self)); break; case PROP_NICKNAME: g_value_set_string (value, seahorse_object_get_nickname (self)); break; case PROP_MARKUP: g_value_set_string (value, seahorse_object_get_markup (self)); break; case PROP_DESCRIPTION: g_value_set_string (value, seahorse_object_get_description (self)); break; case PROP_ICON: g_value_set_string (value, seahorse_object_get_icon (self)); break; case PROP_IDENTIFIER: g_value_set_string (value, seahorse_object_get_identifier (self)); break; case PROP_LOCATION: g_value_set_enum (value, seahorse_object_get_location (self)); break; case PROP_USAGE: g_value_set_enum (value, seahorse_object_get_usage (self)); break; case PROP_FLAGS: g_value_set_uint (value, seahorse_object_get_flags (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (obj, prop_id, pspec); break; } }
static SeahorseOperation* seahorse_gkr_keyring_commands_delete_objects (SeahorseCommands* base, GList* objects) { SeahorseOperation *oper = NULL; gchar *prompt; if (!objects) return NULL; prompt = g_strdup_printf (_ ("Are you sure you want to delete the password keyring '%s'?"), seahorse_object_get_label (objects->data)); if (seahorse_util_prompt_delete (prompt, GTK_WIDGET (seahorse_commands_get_window (base)))) oper = seahorse_object_delete (objects->data); g_free (prompt); return oper; }
static void on_label_changed (GObject *obj, GParamSpec *param, gpointer user_data) { SeahorseObject *object = SEAHORSE_OBJECT (obj); GtkComboBox *combo = GTK_COMBO_BOX (user_data); ComboClosure *closure; GtkTreeModel *model; GtkTreeIter iter; gboolean valid; gchar *previous; gchar *markup; gpointer pntr; const gchar *label; closure = g_object_get_data (G_OBJECT (combo), "combo-keys-closure"); model = gtk_combo_box_get_model (combo); valid = gtk_tree_model_get_iter_first (model, &iter); while (valid) { gtk_tree_model_get (model, &iter, COMBO_POINTER, &pntr, COMBO_LABEL, &previous, -1); if (SEAHORSE_OBJECT (pntr) == object) { /* Remove this from label collision checks */ g_hash_table_remove (closure->labels, previous); /* Calculate markup taking into account label collisions */ label = seahorse_object_get_label (object); markup = calculate_markup_for_object (combo, label, object); gtk_list_store_set (GTK_LIST_STORE (model), &iter, COMBO_LABEL, label, COMBO_MARKUP, markup, -1); g_free (markup); break; } g_free (previous); valid = gtk_tree_model_iter_next (model, &iter); } }
static gboolean on_filter_objects (SeahorseObject *obj, SeahorseKeyserverResults *self) { const gchar *match; gboolean ret = FALSE; gchar* value; gsize n_value, n_match; g_return_val_if_fail (SEAHORSE_IS_KEYSERVER_RESULTS (self), FALSE); g_return_val_if_fail (SEAHORSE_IS_OBJECT (obj), FALSE); match = self->pv->search_string; if (g_utf8_strlen (match, -1) == 0) ret = TRUE; /* Match against the label */ if (ret != TRUE) { value = g_utf8_casefold (seahorse_object_get_label (obj), -1); ret = strstr (value, match) != NULL; g_free (value); } /* Match against the key identifier */ if (ret != TRUE) { if (strncmp (match, "0x", 2) == 0) match += 2; value = g_utf8_casefold (seahorse_object_get_identifier (obj), -1); /* Only compare as many bytes as exist in the key id */ n_value = strlen (value); n_match = strlen (match); if (n_value > n_match) match += (n_value - n_match); ret = strstr (value, match) != NULL; g_free (value); } return ret; }
static void do_main (SeahorseWidget *swidget) { SeahorseObject *object; SeahorseSSHKey *skey; GtkWidget *widget; gchar *text; const gchar *label; const gchar *template; object = SEAHORSE_OBJECT_WIDGET (swidget)->object; skey = SEAHORSE_SSH_KEY (object); /* Image */ widget = GTK_WIDGET (gtk_builder_get_object (swidget->gtkbuilder, "key-image")); if (widget) gtk_image_set_from_stock (GTK_IMAGE (widget), SEAHORSE_STOCK_KEY_SSH, GTK_ICON_SIZE_DIALOG); /* Name and title */ label = seahorse_object_get_label (object); widget = GTK_WIDGET (gtk_builder_get_object (swidget->gtkbuilder, "comment-entry")); if (widget) gtk_entry_set_text (GTK_ENTRY (widget), label); widget = seahorse_widget_get_toplevel (swidget); gtk_window_set_title (GTK_WINDOW (widget), label); /* Key id */ widget = GTK_WIDGET (gtk_builder_get_object (swidget->gtkbuilder, "id-label")); if (widget) { label = seahorse_object_get_identifier (object); gtk_label_set_text (GTK_LABEL (widget), label); } /* Put in message */ widget = seahorse_widget_get_widget (swidget, "trust-message"); g_return_if_fail (widget != NULL);
void seahorse_gpgme_add_subkey_new (SeahorseGpgmeKey *pkey, GtkWindow *parent) { SeahorseWidget *swidget; GtkComboBox* combo; GtkTreeModel *model; GtkTreeIter iter; GtkCellRenderer *renderer; GtkWidget *widget, *datetime; swidget = seahorse_object_widget_new ("add-subkey", parent, G_OBJECT (pkey)); g_return_if_fail (swidget != NULL); gtk_window_set_title (GTK_WINDOW (seahorse_widget_get_widget (swidget, swidget->name)), g_strdup_printf (_("Add subkey to %s"), seahorse_object_get_label (SEAHORSE_OBJECT (pkey)))); combo = GTK_COMBO_BOX (seahorse_widget_get_widget (swidget, "type")); model = GTK_TREE_MODEL (gtk_list_store_new (N_COLUMNS, G_TYPE_STRING, G_TYPE_INT)); gtk_combo_box_set_model (combo, model); gtk_cell_layout_clear (GTK_CELL_LAYOUT (combo)); renderer = gtk_cell_renderer_text_new (); gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (combo), renderer, TRUE); gtk_cell_layout_add_attribute (GTK_CELL_LAYOUT (combo), renderer, "text", COMBO_STRING); gtk_list_store_append (GTK_LIST_STORE (model), &iter); gtk_list_store_set (GTK_LIST_STORE (model), &iter, COMBO_STRING, _("DSA (sign only)"), COMBO_INT, 0, -1); gtk_combo_box_set_active_iter (combo, &iter); gtk_list_store_append (GTK_LIST_STORE (model), &iter); gtk_list_store_set (GTK_LIST_STORE (model), &iter, COMBO_STRING, _("ElGamal (encrypt only)"), COMBO_INT, 1, -1); gtk_list_store_append (GTK_LIST_STORE (model), &iter); gtk_list_store_set (GTK_LIST_STORE (model), &iter, COMBO_STRING, _("RSA (sign only)"), COMBO_INT, 2, -1); gtk_list_store_append (GTK_LIST_STORE (model), &iter); gtk_list_store_set (GTK_LIST_STORE (model), &iter, COMBO_STRING, _("RSA (encrypt only)"), COMBO_INT, 3, -1); widget = seahorse_widget_get_widget (swidget, "datetime-placeholder"); g_return_if_fail (widget != NULL); datetime = egg_datetime_new (); gtk_container_add (GTK_CONTAINER (widget), datetime); gtk_widget_show (datetime); gtk_widget_set_sensitive (datetime, FALSE); g_object_set_data (G_OBJECT (swidget), "expires-datetime", datetime); }