projects
/
claws.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
2005-09-10 [colin] 1.9.14cvs17
[claws.git]
/
src
/
plugins
/
pgpcore
/
select-keys.c
diff --git
a/src/plugins/pgpcore/select-keys.c
b/src/plugins/pgpcore/select-keys.c
index d1d46153df1edfb220ae90a99b712b9fd0363927..be80dca83241c821f4c6f6e4b904a0596df38609 100644
(file)
--- a/
src/plugins/pgpcore/select-keys.c
+++ b/
src/plugins/pgpcore/select-keys.c
@@
-73,7
+73,7
@@
struct select_keys_s {
GtkSortType sort_type;
enum col_titles sort_column;
GtkSortType sort_type;
enum col_titles sort_column;
-
+ SelectionResult result;
};
};
@@
-88,6
+88,7
@@
static gboolean key_pressed_cb (GtkWidget *widget,
GdkEventKey *event, gpointer data);
static void select_btn_cb (GtkWidget *widget, gpointer data);
static void cancel_btn_cb (GtkWidget *widget, gpointer data);
GdkEventKey *event, gpointer data);
static void select_btn_cb (GtkWidget *widget, gpointer data);
static void cancel_btn_cb (GtkWidget *widget, gpointer data);
+static void dont_encrypt_btn_cb (GtkWidget *widget, gpointer data);
static void other_btn_cb (GtkWidget *widget, gpointer data);
static void sort_keys (struct select_keys_s *sk, enum col_titles column);
static void sort_keys_name (GtkWidget *widget, gpointer data);
static void other_btn_cb (GtkWidget *widget, gpointer data);
static void sort_keys (struct select_keys_s *sk, enum col_titles column);
static void sort_keys_name (GtkWidget *widget, gpointer data);
@@
-124,7
+125,7
@@
update_progress (struct select_keys_s *sk, int running, const char *pattern)
* Return value: NULL on error or a list of list of recipients.
**/
gpgme_key_t *
* Return value: NULL on error or a list of list of recipients.
**/
gpgme_key_t *
-gpgmegtk_recipient_selection (GSList *recp_names)
+gpgmegtk_recipient_selection (GSList *recp_names
, SelectionResult *result
)
{
struct select_keys_s sk;
{
struct select_keys_s sk;
@@
-151,6
+152,8
@@
gpgmegtk_recipient_selection (GSList *recp_names)
sk.kset = g_realloc(sk.kset, sizeof(gpgme_key_t) * (sk.num_keys + 1));
sk.kset[sk.num_keys] = NULL;
}
sk.kset = g_realloc(sk.kset, sizeof(gpgme_key_t) * (sk.num_keys + 1));
sk.kset[sk.num_keys] = NULL;
}
+ if (result)
+ *result = sk.result;
return sk.kset;
}
return sk.kset;
}
@@
-291,7
+294,7
@@
create_dialog (struct select_keys_s *sk)
GtkWidget *scrolledwin;
GtkWidget *clist;
GtkWidget *label;
GtkWidget *scrolledwin;
GtkWidget *clist;
GtkWidget *label;
- GtkWidget *select_btn, *cancel_btn, *other_btn;
+ GtkWidget *select_btn, *cancel_btn, *
dont_encrypt_btn, *
other_btn;
const char *titles[N_COL_TITLES];
g_assert (!sk->window);
const char *titles[N_COL_TITLES];
g_assert (!sk->window);
@@
-351,7
+354,12
@@
create_dialog (struct select_keys_s *sk)
gtkut_stock_button_set_create (&bbox,
&select_btn, _("Select"),
&cancel_btn, GTK_STOCK_CANCEL,
gtkut_stock_button_set_create (&bbox,
&select_btn, _("Select"),
&cancel_btn, GTK_STOCK_CANCEL,
- &other_btn, _("Other"));
+ &dont_encrypt_btn, _("Don't encrypt"));
+
+ other_btn = gtk_button_new_from_stock(_("Other"));
+ GTK_WIDGET_SET_FLAGS(other_btn, GTK_CAN_DEFAULT);
+ gtk_box_pack_start(GTK_BOX(bbox), other_btn, TRUE, TRUE, 0);
+ gtk_widget_show(other_btn);
gtk_box_pack_end (GTK_BOX (hbox), bbox, FALSE, FALSE, 0);
gtk_widget_grab_default (select_btn);
gtk_box_pack_end (GTK_BOX (hbox), bbox, FALSE, FALSE, 0);
gtk_widget_grab_default (select_btn);
@@
-359,6
+367,8
@@
create_dialog (struct select_keys_s *sk)
G_CALLBACK (select_btn_cb), sk);
g_signal_connect (G_OBJECT(cancel_btn), "clicked",
G_CALLBACK (cancel_btn_cb), sk);
G_CALLBACK (select_btn_cb), sk);
g_signal_connect (G_OBJECT(cancel_btn), "clicked",
G_CALLBACK (cancel_btn_cb), sk);
+ g_signal_connect (G_OBJECT(dont_encrypt_btn), "clicked",
+ G_CALLBACK (dont_encrypt_btn_cb), sk);
g_signal_connect (G_OBJECT (other_btn), "clicked",
G_CALLBACK (other_btn_cb), sk);
g_signal_connect (G_OBJECT (other_btn), "clicked",
G_CALLBACK (other_btn_cb), sk);
@@
-449,8
+459,9
@@
select_btn_cb (GtkWidget *widget, gpointer data)
gpgme_key_ref(key);
sk->kset[sk->num_keys] = key;
sk->num_keys++;
gpgme_key_ref(key);
sk->kset[sk->num_keys] = key;
sk->num_keys++;
- sk->okay = 1;
- gtk_main_quit ();
+ sk->okay = 1;
+ sk->result = KEY_SELECTION_OK;
+ gtk_main_quit ();
}
}
}
}
@@
-462,11
+473,24
@@
cancel_btn_cb (GtkWidget *widget, gpointer data)
g_return_if_fail (sk);
sk->okay = 0;
g_return_if_fail (sk);
sk->okay = 0;
+ sk->result = KEY_SELECTION_CANCEL;
if (sk->select_ctx)
gpgme_cancel (sk->select_ctx);
gtk_main_quit ();
}
if (sk->select_ctx)
gpgme_cancel (sk->select_ctx);
gtk_main_quit ();
}
+static void
+dont_encrypt_btn_cb (GtkWidget *widget, gpointer data)
+{
+ struct select_keys_s *sk = data;
+
+ g_return_if_fail (sk);
+ sk->okay = 0;
+ sk->result = KEY_SELECTION_DONT;
+ if (sk->select_ctx)
+ gpgme_cancel (sk->select_ctx);
+ gtk_main_quit ();
+}
static void
other_btn_cb (GtkWidget *widget, gpointer data)
static void
other_btn_cb (GtkWidget *widget, gpointer data)