From 6d69e0c2ce0d0742d796e20e4cf6f4b24417a0b3 Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Sat, 22 Oct 2016 16:24:57 +0200 Subject: [PATCH] =?utf8?q?Aggiunta=20la=20propriet=C3=A0=20proxy=20a=20Sol?= =?utf8?q?ipaMailUI.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- data/libsolipa/gui/libsolipa.ui | 1367 ++++++++++++++++--------------- src/mailui.c | 52 +- 2 files changed, 734 insertions(+), 685 deletions(-) diff --git a/data/libsolipa/gui/libsolipa.ui b/data/libsolipa/gui/libsolipa.ui index 6d878c5..59c1025 100644 --- a/data/libsolipa/gui/libsolipa.ui +++ b/data/libsolipa/gui/libsolipa.ui @@ -1,25 +1,60 @@ - + - + + + + + + + + + + + + + + + + + + + + 0 + Nessuno + + + 1 + SSL/TLS + + + 2 + STARTTLS + + + + False 5 - Esporta CSV + True + 550 + 400 + True normal - + True False vertical 2 - + True False end - + gtk-cancel True True @@ -33,8 +68,8 @@ - - gtk-save + + gtk-ok True True True @@ -55,446 +90,353 @@ - + True True True True - vertical - + True False True True - 5 + 5 + 5 + 5 - + True False - 0 + Da: + 0 + + + 0 + 0 + + + + + True + False + A: + 0 + + + 0 + 1 + + + + + True + True + True + ● + False + False + + + 1 + 0 + + + + + True + True + True + ● + False + False + + + 1 + 1 + + + + + True + False + Oggetto: + 0 + + + 0 + 4 + + + + + True + True + True + ● + False + False + + + 1 + 4 + + + + + True + False + Cc: + 0 + + + 0 + 2 + + + + + True + False + Ccn: + 0 + + + 0 + 3 + + + + + True + True + True + ● + False + False + + + 1 + 2 + + + + + True + True + True + ● + False + False + + + 1 + 3 + + + + + True + True + True + True + etched-in - + + True + True + word + + + + + 0 + 8 + 2 + + + + + True + True + True + True + + True False - 5 - 5 - 5 - 5 + True + True + 5 - + + True + True + etched-in + + + True + True + 5 + multiple + lstore_mail_attachments + 5 + 5 + True + + + + + True + True + 0 + + + + True False vertical 5 + start - + + gtk-add True True - etched-in - - - True - True - lstore_treemodel_campi - False - 0 - - - - - - - - - 0 - - - - - - - Campo - - - - 2 - - - - - - + True + True - True - True + False + False 0 - + + gtk-remove True - False - 5 - end - - - Deseleziona tutti - True - True - True - - - False - False - 0 - - - - - Seleziona tutti - True - True - True - - - False - False - 1 - - + False + True + True + True False - True + False 1 + + False + True + 1 + - + True False - <b>Seleziona i campi</b> - True + Allegati - True - True - 0 + 0 + 9 + 2 - + True False - 0 + True + 5 - + True False - 12 - - - True - False - 5 - 5 - - - True - False - Quotatura - 0 - - - 0 - 0 - - - - - True - True - ● - " - False - False - - - 1 - 0 - - - - - True - False - Quotare tutto - 0 - - - 0 - 1 - - - - - True - True - False - 0 - True - - - 1 - 1 - - - - - True - False - Separatore - 0 - - - 0 - 2 - - - - - True - True - ● - , - False - False - - - 1 - 2 - - - - - True - False - Nomi dei campi come prima riga - 0 - - - 0 - 3 - - - - - True - True - False - 0 - True - - - 1 - 3 - - - - + Richiedere ricevuta di ritorno + 0 + + False + True + 0 + - - + + True - False - <b>Opzioni di esportazione</b> - True + True + False + 0 + True + + True + True + 1 + - True - True - 1 + 0 + 6 + 2 - - - False - True - - - - - True - False - True - True - 0 - + True False - 5 - 5 - 5 - 5 - - - True - False - save - False - False - False - - + + 0 + 5 + 2 + - - + + True False - <b>Seleziona il file</b> - True + + 0 + 7 + 2 + - - True - True - - - - - False - True - 0 - - - - - - button1 - button2 - - - - - - - - - - - - - - - - - - - - - - 0 - Nessuno - - - 1 - SSL/TLS - - - 2 - STARTTLS - - - - - False - 5 - True - 550 - 400 - True - normal - - - True - False - vertical - 2 - - - True - False - end - - - gtk-cancel - True - True - True - True - - - False - False - 0 - - - - gtk-ok + + True - True - True - True + False + Mail - False - False - 1 + False - - - False - True - end - 0 - - - - - True - True - True - True - + True False - True - True 5 5 5 - + True False - Da: + Server 0 @@ -503,39 +445,42 @@ - + True - False - A: - 0 + True + True - 0 - 1 + 1 + 0 - + True - True - True - ● - False - False + False + Metodo di sicurezza + 0 - 1 - 0 + 0 + 1 - + True - True + False True - ● - False - False + lstore_metodo_sicurezza + 0 + 0 + + + + 1 + + 1 @@ -543,48 +488,33 @@ - + True False - Oggetto: + Utente 0 0 - 4 + 2 - + True True True - ● - False - False 1 - 4 - - - - - True - False - Cc: - 0 - - - 0 2 - + True False - Ccn: + Password 0 @@ -593,377 +523,470 @@ - + True True True + False ● - False - False 1 - 2 + 3 - + True - True - True - ● - False - False + False + start + Proxy URI - 1 - 3 + 0 + 4 - + True True True - True - etched-in - - - True - True - word - - - 0 - 8 - 2 + 1 + 4 - - - True - True - True - True - - - True + + + 1 + + + + + True + False + Server + + + 1 + False + + + + + False + True + 1 + + + + + + button6 + button7 + + + + + + + + + + + + + + False + 5 + Esporta CSV + normal + + + True + False + vertical + 2 + + + True + False + end + + + gtk-cancel + True + True + True + True + + + False + False + 0 + + + + + gtk-save + True + True + True + True + + + False + False + 1 + + + + + False + True + end + 0 + + + + + True + True + True + True + vertical + + + True + False + True + True + 5 + + + True + False + 0 + + + True False - True - True - 5 + 5 + 5 + 5 + 5 - + True - True - etched-in + False + vertical + 5 - + True True - 5 - multiple - lstore_mail_attachments - 5 - 5 - True + etched-in + + + True + True + lstore_treemodel_campi + False + 0 + + + + + + + + + 0 + + + + + + + Campo + + + + 2 + + + + + + + + + True + True + 0 + + + + + True + False + 5 + end + + + Deseleziona tutti + True + True + True + + + False + False + 0 + + + + + Seleziona tutti + True + True + True + + + False + False + 1 + + + + False + True + 1 + - - True - True - 0 - + + + + + True + False + <b>Seleziona i campi</b> + True + + + + + True + True + 0 + + + + + True + False + 0 + + + True + False + 12 - + True False - vertical - 5 - start + 5 + 5 - - gtk-add + + True + False + Quotatura + 0 + + + 0 + 0 + + + + True True - True - True + ● + " + False + False + + + 1 + 0 + + + + + True + False + Quotare tutto + 0 + + + 0 + 1 + + + + + True + True + False + 0 + True + + + 1 + 1 + + + + + True + False + Separatore + 0 + + + 0 + 2 + + + + + True + True + ● + , + False + False + + + 1 + 2 + + + + + True + False + Nomi dei campi come prima riga + 0 - False - False - 0 + 0 + 3 - - gtk-remove + True - False True - True - True + False + 0 + True - False - False - 1 + 1 + 3 - - False - True - 1 - - - True - False - Allegati - - - - - 0 - 9 - 2 - - - - - True - False - True - 5 - - + True False - Richiedere ricevuta di ritorno - 0 - - - False - True - 0 - - - - - True - True - False - 0 - True + <b>Opzioni di esportazione</b> + True - - True - True - 1 - - 0 - 6 - 2 - - - - - True - False - - - 0 - 5 - 2 - - - - - True - False - - - 0 - 7 - 2 + True + True + 1 - - - - True - False - Mail - - False + False + True - + True False - 5 - 5 - 5 - - - True - False - Server - 0 - - - 0 - 0 - - - - - True - True - True - - - 1 - 0 - - - - - True - False - Metodo di sicurezza - 0 - - - 0 - 1 - - + True + True + 0 - + True False - True - lstore_metodo_sicurezza - 0 - 0 + 5 + 5 + 5 + 5 - - - 1 - + + True + False + save + False + False + False + - - 1 - 1 - - - - - True - False - Utente - 0 - - - 0 - 2 - - - - - True - True - True - - - 1 - 2 - - - + + True False - Password - 0 - - - 0 - 3 - - - - - True - True - True - False - ● + <b>Seleziona il file</b> + True - - 1 - 3 - - 1 - - - - - True - False - Server - - - 1 - False + True + True False True - 1 + 0 - button6 - button7 + button1 + button2 - - - - - - - - - - False - Allegato - Gestione mezzi + Allegato True center-on-parent 480 diff --git a/src/mailui.c b/src/mailui.c index 9e94028..81f707f 100644 --- a/src/mailui.c +++ b/src/mailui.c @@ -52,7 +52,8 @@ enum PROP_USERNAME, PROP_USERNAME_EDITABLE, PROP_PASSWORD, - PROP_PASSWORD_EDITABLE + PROP_PASSWORD_EDITABLE, + PROP_PROXY_URI }; enum @@ -125,6 +126,7 @@ struct _SolipaMailUIPrivate GtkWidget *security_method; GtkWidget *username; GtkWidget *password; + GtkWidget *proxy; }; G_DEFINE_TYPE (SolipaMailUI, solipa_mail_ui, G_TYPE_OBJECT) @@ -283,7 +285,7 @@ solipa_mail_ui_class_init (SolipaMailUIClass *klass) "Security method", CAMEL_NETWORK_SECURITY_METHOD_NONE, CAMEL_NETWORK_SECURITY_METHOD_STARTTLS_ON_STANDARD_PORT, - CAMEL_NETWORK_SECURITY_METHOD_NONE, + CAMEL_NETWORK_SECURITY_METHOD_NONE, G_PARAM_READWRITE)); g_object_class_install_property (object_class, PROP_SECURITY_METHOD_EDITABLE, @@ -321,6 +323,13 @@ solipa_mail_ui_class_init (SolipaMailUIClass *klass) TRUE, G_PARAM_READWRITE)); + g_object_class_install_property (object_class, PROP_PROXY_URI, + g_param_spec_string ("proxy", + "Proxy URI", + "Proxy URI", + "", + G_PARAM_READWRITE)); + /** * SolipaMailUI::btn_cancel_clicked: * @solipa_mail_ui: @@ -433,6 +442,7 @@ SolipaMailUI priv->security_method = GTK_WIDGET (gtk_builder_get_object (builder, "combobox1")); priv->username = GTK_WIDGET (gtk_builder_get_object (builder, "entry10")); priv->password = GTK_WIDGET (gtk_builder_get_object (builder, "entry11")); + priv->proxy = GTK_WIDGET (gtk_builder_get_object (builder, "entry14")); g_signal_connect (gtk_builder_get_object (builder, "expander1"), "notify::expanded", G_CALLBACK (solipa_mail_ui_on_exp_attachments_expanded), (gpointer)solipa_mail_ui); @@ -501,7 +511,7 @@ GtkWidget void solipa_mail_ui_show_server_options (SolipaMailUI *mailui, gboolean show) { - g_return_val_if_fail (IS_SOLIPA_MAIL_UI (mailui), NULL); + g_return_if_fail (IS_SOLIPA_MAIL_UI (mailui)); SolipaMailUIPrivate *priv = SOLIPA_MAIL_UI_GET_PRIVATE (mailui); @@ -512,6 +522,8 @@ solipa_mail_ui_send (SolipaMailUI *mailui) { gboolean ret; + SolipaMail *smail; + gchar *smtpuri; gchar *from; gchar *to; @@ -523,6 +535,7 @@ solipa_mail_ui_send (SolipaMailUI *mailui) CamelNetworkSecurityMethod security_method; gchar *username; gchar *password; + gchar *proxy; gchar *email; @@ -539,16 +552,6 @@ solipa_mail_ui_send (SolipaMailUI *mailui) SolipaMailUIPrivate *priv = SOLIPA_MAIL_UI_GET_PRIVATE (mailui); - SolipaMail *smail = solipa_mail_new (priv->solipa); - if (smail == NULL) - { - solipa_message_dialog (transient, - GTK_MESSAGE_WARNING, - GTK_BUTTONS_OK, - "Impossibile creare l'oggetto SolipaMail."); - return FALSE; - } - if (gtk_widget_get_parent (priv->widget) == NULL) { transient = priv->dialog; @@ -558,6 +561,16 @@ solipa_mail_ui_send (SolipaMailUI *mailui) transient = gtk_widget_get_toplevel (priv->widget); } + smail = solipa_mail_new (priv->solipa); + if (smail == NULL) + { + solipa_message_dialog (transient, + GTK_MESSAGE_WARNING, + GTK_BUTTONS_OK, + "Impossibile creare l'oggetto SolipaMail."); + return FALSE; + } + g_object_get (G_OBJECT (mailui), "smtp-uri", &smtpuri, "from", &from, @@ -570,6 +583,7 @@ solipa_mail_ui_send (SolipaMailUI *mailui) "security-method", &security_method, "username", &username, "password", &password, + "proxy", &proxy, NULL); solipa_mail_set_subject (smail, subject); @@ -774,6 +788,10 @@ solipa_mail_ui_send (SolipaMailUI *mailui) if (g_strcmp0 (g_strstrip (smtpuri), "") != 0) { + if (g_strcmp0 (proxy, "") != 0) + { + solipa_mail_set_proxy (smail, NULL, proxy); + } solipa_mail_send (smail, smtpuri); } else @@ -918,6 +936,10 @@ solipa_mail_ui_set_property (GObject *object, gtk_editable_set_editable (GTK_EDITABLE (priv->password), g_value_get_boolean (value)); break; + case PROP_PROXY_URI: + gtk_entry_set_text (GTK_ENTRY (priv->proxy), g_strstrip (g_value_dup_string (value))); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; @@ -1059,6 +1081,10 @@ solipa_mail_ui_get_property (GObject *object, g_value_set_boolean (value, gtk_editable_get_editable (GTK_EDITABLE (priv->password))); break; + case PROP_PROXY_URI: + g_value_set_string (value, gtk_entry_get_text (GTK_ENTRY (priv->proxy))); + break; + default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; -- 2.49.0