[balsa: 2/4] Crypto eye candies



commit 5d0a9a4f5bac204a88a50d87227ea77d9b79597a
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date:   Thu Jan 23 14:38:03 2020 -0500

    Crypto eye candies
    
    * libbalsa/libbalsa-gpgme-widgets.c: improve xalign and yalign properties
      of labels in signature and key details widgets
    * src/balsa-mime-widget-crypto.c: balsa_mime_widget_signature_widget:
      wrap/align signature status in expander label;
      balsa_mime_widget_crypto_frame: add tooltips to padlock icons
    * src/balsa-mime-widget-message.c: add_header_sigstate:
      wrap/align signature status in headers box

 ChangeLog                         | 12 +++++++++++
 libbalsa/libbalsa-gpgme-widgets.c |  4 ++++
 src/balsa-mime-widget-crypto.c    | 44 ++++++++++++++++++++++++++-------------
 src/balsa-mime-widget-message.c   |  2 ++
 4 files changed, 48 insertions(+), 14 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index d46f56c11..b9da1ede6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2020-01-23  Albrecht Dreß  <albrecht dress arcor de>
+
+       Crypto eye candies
+
+       * libbalsa/libbalsa-gpgme-widgets.c: improve xalign and yalign properties
+         of labels in signature and key details widgets
+       * src/balsa-mime-widget-crypto.c: balsa_mime_widget_signature_widget:
+         wrap/align signature status in expander label;
+         balsa_mime_widget_crypto_frame: add tooltips to padlock icons
+       * src/balsa-mime-widget-message.c: add_header_sigstate:
+         wrap/align signature status in headers box
+
 2020-01-23  Albrecht Dreß  <albrecht dress arcor de>
 
        Bug fix: S/MIME cert chain broken in identity key selection
diff --git a/libbalsa/libbalsa-gpgme-widgets.c b/libbalsa/libbalsa-gpgme-widgets.c
index 964aa4a85..0bdff701a 100644
--- a/libbalsa/libbalsa-gpgme-widgets.c
+++ b/libbalsa/libbalsa-gpgme-widgets.c
@@ -108,6 +108,7 @@ libbalsa_gpgme_key(const gpgme_key_t     key,
                        label = gtk_label_new(_("User ID:"));
                }
                gtk_widget_set_halign(label, GTK_ALIGN_START);
+               gtk_label_set_yalign(GTK_LABEL(label), 0.0F);
                gtk_grid_attach(GTK_GRID(key_data), label, 0, row, 1, 1);
 
                gtk_grid_attach(GTK_GRID(key_data), create_key_uid_widget(key->uids), 1, row++, 1, 1);
@@ -541,6 +542,7 @@ create_key_grid_row(GtkGrid     *grid,
 
        label = gtk_label_new(key);
        gtk_widget_set_halign(label, GTK_ALIGN_START);
+       gtk_label_set_yalign(GTK_LABEL(label), 0.0F);
        gtk_grid_attach(GTK_GRID(grid), label, 0, row, 1, 1);
 
        label = create_key_label_with_warn(value, warn);
@@ -610,6 +612,7 @@ create_key_label_with_warn(const gchar *text,
                gtk_widget_set_hexpand(label, TRUE);
                gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
                gtk_label_set_selectable(GTK_LABEL(label), TRUE);
+               gtk_label_set_xalign(GTK_LABEL(label), 0.0F);
                gtk_box_pack_start(GTK_BOX(result), label, FALSE, TRUE, 0U);
        } else {
                result = gtk_label_new(text);
@@ -617,6 +620,7 @@ create_key_label_with_warn(const gchar *text,
                gtk_widget_set_hexpand(result, TRUE);
                gtk_label_set_selectable(GTK_LABEL(result), TRUE);
                gtk_label_set_line_wrap(GTK_LABEL(result), TRUE);
+               gtk_label_set_xalign(GTK_LABEL(result), 0.0F);
        }
 
        return result;
diff --git a/src/balsa-mime-widget-crypto.c b/src/balsa-mime-widget-crypto.c
index 8e32d05f1..31fc160c2 100644
--- a/src/balsa-mime-widget-crypto.c
+++ b/src/balsa-mime-widget-crypto.c
@@ -161,6 +161,9 @@ balsa_mime_widget_signature_widget(LibBalsaMessageBody * mime_body,
      * the label... */
     signature_widget = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
     expander = gtk_expander_new(lines[0]);
+    label = gtk_expander_get_label_widget(GTK_EXPANDER(expander));
+    gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
+    gtk_label_set_xalign(GTK_LABEL(label), 0.0F);
     gtk_container_add(GTK_CONTAINER(signature_widget), expander);
     gtk_container_add(GTK_CONTAINER(expander), vbox);
 
@@ -180,26 +183,39 @@ balsa_mime_widget_crypto_frame(LibBalsaMessageBody * mime_body, GtkWidget * chil
     GtkWidget * frame;
     GtkWidget * vbox;
     GtkWidget * icon_box;
+    GtkWidget *icon;
 
     frame = gtk_frame_new(NULL);
     vbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, BMW_VBOX_SPACE);
     gtk_container_add(GTK_CONTAINER(frame), vbox);
     icon_box = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, BMW_VBOX_SPACE);
-    if (was_encrypted)
-        gtk_box_pack_start(GTK_BOX(icon_box),
-                           gtk_image_new_from_icon_name
-                           (balsa_icon_id(BALSA_PIXMAP_ENCR),
-                            GTK_ICON_SIZE_MENU),
-                           FALSE, FALSE, 0);
+    if (was_encrypted) {
+       icon = gtk_image_new_from_icon_name(balsa_icon_id(BALSA_PIXMAP_ENCR), GTK_ICON_SIZE_MENU);
+       gtk_widget_set_tooltip_text(icon, _("decrypted"));
+        gtk_box_pack_start(GTK_BOX(icon_box), icon, FALSE, FALSE, 0);
+    }
     if (!no_signature) {
-       const gchar * icon_name =
-           balsa_mime_widget_signature_icon_name(libbalsa_message_body_protect_state(mime_body));
-       if (!icon_name)
-           icon_name = BALSA_PIXMAP_SIGN;
-        gtk_box_pack_start(GTK_BOX(icon_box),
-                           gtk_image_new_from_icon_name
-                           (balsa_icon_id(icon_name), GTK_ICON_SIZE_MENU),
-                           FALSE, FALSE, 0);
+       LibBalsaMsgProtectState sig_state = libbalsa_message_body_protect_state(mime_body);
+       const gchar *icon_name = balsa_mime_widget_signature_icon_name(sig_state);
+
+       if (icon_name == NULL) {
+               icon_name = BALSA_PIXMAP_SIGN;
+       }
+               icon = gtk_image_new_from_icon_name(balsa_icon_id(icon_name), GTK_ICON_SIZE_MENU);
+       switch (sig_state) {
+       case LIBBALSA_MSG_PROTECT_SIGN_GOOD:
+               gtk_widget_set_tooltip_text(icon, _("trusted signature"));
+               break;
+       case LIBBALSA_MSG_PROTECT_SIGN_NOTRUST:
+               gtk_widget_set_tooltip_text(icon, _("low trust signature"));
+               break;
+       case LIBBALSA_MSG_PROTECT_SIGN_BAD:
+               gtk_widget_set_tooltip_text(icon, _("bad signature"));
+               break;
+       default:
+               gtk_widget_set_tooltip_text(icon, _("unknown signature status"));
+       }
+        gtk_box_pack_start(GTK_BOX(icon_box), icon, FALSE, FALSE, 0);
     }
     gtk_frame_set_label_widget(GTK_FRAME(frame), icon_box);
     gtk_container_set_border_width(GTK_CONTAINER(vbox), BMW_MESSAGE_PADDING);
diff --git a/src/balsa-mime-widget-message.c b/src/balsa-mime-widget-message.c
index 6d1e7e0e7..199ef49a9 100644
--- a/src/balsa-mime-widget-message.c
+++ b/src/balsa-mime-widget-message.c
@@ -868,6 +868,8 @@ add_header_sigstate(GtkGrid * grid, GMimeGpgmeSigstat * siginfo)
     gtk_label_set_markup(GTK_LABEL(label), msg);
     g_free(msg);
     gtk_widget_set_halign(label, GTK_ALIGN_START);
+    gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
+    gtk_label_set_xalign(GTK_LABEL(label), 0.0F);
     gtk_widget_show(label);
 
     gtk_grid_attach_next_to(grid, label, NULL, GTK_POS_BOTTOM, 2, 1);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]