(gpointer) mimeview);
noticeview_set_icon(mimeview->siginfoview, icon);
noticeview_set_tooltip(mimeview->siginfoview, button_text);
+
+ icon_list_clear(mimeview);
+ icon_list_create(mimeview, mimeview->mimeinfo);
}
#ifdef USE_PTHREAD
else
update_signature_noticeview(mimeview, mimeview->siginfo,
FALSE, 0);
- icon_list_clear(mimeview);
- icon_list_create(mimeview, mimeview->mimeinfo);
-
+
end:
mimeview_check_data_reset(mimeview);
return FALSE;
debug_print("checking without thread\n");
privacy_mimeinfo_check_signature(mimeinfo);
update_signature_noticeview(mimeview, mimeview->siginfo, FALSE, 0);
- icon_list_clear(mimeview);
- icon_list_create(mimeview, mimeview->mimeinfo);
}
}
break;
}
}
+
+ if (mimeview->siginfo && privacy_auto_check_signatures(mimeview->siginfo)) {
+ mimeview_check_signature(mimeview);
+ }
}
static gint mimeview_button_pressed(GtkWidget *widget, GdkEventButton *event,
}
prefs_gpg_save_config();
}
+
+gboolean prefs_gpg_auto_check_signatures(void)
+{
+ return prefs_gpg_get_config()->auto_check_signatures;
+}
void prefs_gpg_add_skip_encryption_warning(const gchar *systemid);
void prefs_gpg_remove_skip_encryption_warning(const gchar *systemid);
gboolean prefs_gpg_should_skip_encryption_warning(const gchar *systemid);
+gboolean prefs_gpg_auto_check_signatures(void);
static SignatureStatus pgpinline_get_sig_status(MimeInfo *mimeinfo)
{
PrivacyDataPGP *data = (PrivacyDataPGP *) mimeinfo->privacy;
-
- cm_return_val_if_fail(data != NULL, SIGNATURE_INVALID);
- if (data->sigstatus == NULL &&
- prefs_gpg_get_config()->auto_check_signatures)
- pgpinline_check_signature(mimeinfo);
+ cm_return_val_if_fail(data != NULL, SIGNATURE_INVALID);
return sgpgme_sigstat_gpgme_to_privacy(data->ctx, data->sigstatus);
}
static gchar *pgpinline_get_sig_info_short(MimeInfo *mimeinfo)
{
PrivacyDataPGP *data = (PrivacyDataPGP *) mimeinfo->privacy;
-
+
cm_return_val_if_fail(data != NULL, g_strdup("Error"));
- if (data->sigstatus == NULL &&
- prefs_gpg_get_config()->auto_check_signatures)
- pgpinline_check_signature(mimeinfo);
-
return sgpgme_sigstat_info_short(data->ctx, data->sigstatus);
}
pgpinline_encrypt,
pgpinline_get_encrypt_warning,
pgpinline_inhibit_encrypt_warning,
+ prefs_gpg_auto_check_signatures,
};
void pgpinline_init()
cm_return_val_if_fail(data != NULL, SIGNATURE_INVALID);
- if (data->sigstatus == NULL &&
- prefs_gpg_get_config()->auto_check_signatures)
- pgpmime_check_signature(mimeinfo);
-
return sgpgme_sigstat_gpgme_to_privacy(data->ctx, data->sigstatus);
}
cm_return_val_if_fail(data != NULL, g_strdup("Error"));
- if (data->sigstatus == NULL &&
- prefs_gpg_get_config()->auto_check_signatures)
- pgpmime_check_signature(mimeinfo);
-
return sgpgme_sigstat_info_short(data->ctx, data->sigstatus);
}
static gchar *pgpmime_get_sig_info_full(MimeInfo *mimeinfo)
{
PrivacyDataPGP *data = (PrivacyDataPGP *) mimeinfo->privacy;
-
+
cm_return_val_if_fail(data != NULL, g_strdup("Error"));
- if (data->sigstatus == NULL &&
- prefs_gpg_get_config()->auto_check_signatures)
- pgpmime_check_signature(mimeinfo);
-
return sgpgme_sigstat_info_full(data->ctx, data->sigstatus);
}
pgpmime_encrypt,
pgpmime_get_encrypt_warning,
pgpmime_inhibit_encrypt_warning,
+ prefs_gpg_auto_check_signatures,
};
void pgpmime_init()
cm_return_val_if_fail(data != NULL, SIGNATURE_INVALID);
- if (data->sigstatus == NULL &&
- prefs_gpg_get_config()->auto_check_signatures)
- smime_check_signature(mimeinfo);
-
return sgpgme_sigstat_gpgme_to_privacy(data->ctx, data->sigstatus);
}
cm_return_val_if_fail(data != NULL, g_strdup("Error"));
- if (data->sigstatus == NULL &&
- prefs_gpg_get_config()->auto_check_signatures)
- smime_check_signature(mimeinfo);
-
return sgpgme_sigstat_info_short(data->ctx, data->sigstatus);
}
cm_return_val_if_fail(data != NULL, g_strdup("Error"));
- if (data->sigstatus == NULL &&
- prefs_gpg_get_config()->auto_check_signatures)
- smime_check_signature(mimeinfo);
-
return sgpgme_sigstat_info_full(data->ctx, data->sigstatus);
}
smime_encrypt,
smime_get_encrypt_warning,
smime_inhibit_encrypt_warning,
+ prefs_gpg_auto_check_signatures,
};
void smime_init()
return system->encrypt(mimeinfo, encdata);
}
+
+gboolean privacy_auto_check_signatures(MimeInfo *mimeinfo)
+{
+ PrivacySystem *system;
+
+ cm_return_val_if_fail(mimeinfo != NULL, FALSE);
+
+ if (mimeinfo->privacy == NULL)
+ privacy_mimeinfo_is_signed(mimeinfo);
+
+ if (mimeinfo->privacy == NULL)
+ return FALSE;
+
+ system = privacy_data_get_system(mimeinfo->privacy);
+ if (system == NULL)
+ return FALSE;
+ if (system->auto_check_signatures == NULL)
+ return FALSE;
+
+ return system->auto_check_signatures();
+}
const gchar *encrypt_data);
const gchar *(*get_encrypt_warning) (void);
void (*inhibit_encrypt_warning) (gboolean inhibit);
+ gboolean (*auto_check_signatures)(void);
};
struct _PrivacyData {
void privacy_inhibit_encrypt_warning (const gchar *id,
gboolean inhibit);
+gboolean privacy_auto_check_signatures(MimeInfo *mimeinfo);
#endif /* PRIVACY_H */