<object class="GtkFileChooserWidget" id="filechooserwidget1">
<property name="visible">True</property>
<property name="orientation">vertical</property>
- <property name="use_preview_label">False</property>
<property name="action">save</property>
- <property name="preview_widget_active">False</property>
<property name="local_only">False</property>
+ <property name="preview_widget_active">False</property>
+ <property name="use_preview_label">False</property>
</object>
</child>
</object>
<action-widget response="-5">button2</action-widget>
</action-widgets>
</object>
+ <object class="GtkDialog" id="diag_mail">
+ <property name="border_width">5</property>
+ <property name="modal">True</property>
+ <property name="default_width">550</property>
+ <property name="default_height">400</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="type_hint">normal</property>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="dialog-vbox2">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkTable" id="table2">
+ <property name="visible">True</property>
+ <property name="n_rows">7</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">5</property>
+ <property name="row_spacing">5</property>
+ <child>
+ <object class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Da:</property>
+ </object>
+ <packing>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label9">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">A:</property>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="entry3">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="entry4">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label10">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Oggetto:</property>
+ </object>
+ <packing>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="entry5">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHSeparator" id="hseparator1">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="right_attach">2</property>
+ <property name="top_attach">5</property>
+ <property name="bottom_attach">6</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkScrolledWindow" id="scrolledwindow2">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hscrollbar_policy">automatic</property>
+ <property name="vscrollbar_policy">automatic</property>
+ <property name="shadow_type">etched-in</property>
+ <child>
+ <object class="GtkTextView" id="textview1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="wrap_mode">word</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="right_attach">2</property>
+ <property name="top_attach">6</property>
+ <property name="bottom_attach">7</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label11">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Cc:</property>
+ </object>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label12">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Ccn:</property>
+ </object>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="entry6">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="entry7">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="invisible_char">●</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="dialog-action_area2">
+ <property name="visible">True</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="button6">
+ <property name="label">gtk-cancel</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="button7">
+ <property name="label">gtk-ok</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="0">button6</action-widget>
+ <action-widget response="0">button7</action-widget>
+ </action-widgets>
+ </object>
</interface>
allegato.c \
camelsession.c \
mail.c \
+ mailui.c \
utils.c
libsolipa_la_LDFLAGS = -no-undefined
allegato.h \
camelsession.h \
mail.h \
+ mailui.h \
utils.h
libsolipa_includedir = $(includedir)/libsolipa
--- /dev/null
+/*
+ * Copyright (C) 2011 Andrea Zagli <azagli@libero.it>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifdef HAVE_CONFIG_H
+ #include <config.h>
+#endif
+
+#include "mailui.h"
+#include "mail.h"
+
+enum
+{
+ PROP_0,
+ PROP_SMTP_URI,
+ PROP_FROM,
+ PROP_TO,
+ PROP_CC,
+ PROP_BCC,
+ PROP_SUBJECT,
+ PROP_BODY
+};
+
+static void solipa_mail_ui_class_init (SolipaMailUIClass *class);
+static void solipa_mail_ui_init (SolipaMailUI *solipa_mail_ui);
+
+static void solipa_mail_ui_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec);
+static void solipa_mail_ui_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec);
+
+#define SOLIPA_MAIL_UI_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), TYPE_SOLIPA_MAIL_UI, SolipaMailUIPrivate))
+
+typedef struct _SolipaMailUIPrivate SolipaMailUIPrivate;
+struct _SolipaMailUIPrivate
+ {
+ Solipa *solipa;
+
+ gchar *smtp_uri;
+
+ GtkWidget *dialog;
+ GtkWidget *vbox;
+ GtkWidget *widget;
+
+ GtkWidget *from;
+ GtkWidget *to;
+ GtkWidget *cc;
+ GtkWidget *bcc;
+ GtkWidget *subject;
+ GtkWidget *body;
+ };
+
+G_DEFINE_TYPE (SolipaMailUI, solipa_mail_ui, G_TYPE_OBJECT)
+
+static void
+solipa_mail_ui_class_init (SolipaMailUIClass *class)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (class);
+
+ object_class->set_property = solipa_mail_ui_set_property;
+ object_class->get_property = solipa_mail_ui_get_property;
+
+ g_object_class_install_property (object_class, PROP_SMTP_URI,
+ g_param_spec_string ("smtp-uri",
+ "Smtp URI",
+ "Smtp URI",
+ "",
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property (object_class, PROP_FROM,
+ g_param_spec_string ("from",
+ "From",
+ "From",
+ "",
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property (object_class, PROP_TO,
+ g_param_spec_string ("to",
+ "To",
+ "To",
+ "",
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property (object_class, PROP_CC,
+ g_param_spec_string ("cc",
+ "Cc",
+ "Cc",
+ "",
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property (object_class, PROP_BCC,
+ g_param_spec_string ("bcc",
+ "Bcc",
+ "Bcc",
+ "",
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property (object_class, PROP_SUBJECT,
+ g_param_spec_string ("subject",
+ "Subject",
+ "Subject",
+ "",
+ G_PARAM_READWRITE));
+
+ g_object_class_install_property (object_class, PROP_BODY,
+ g_param_spec_string ("body",
+ "Body",
+ "Body",
+ "",
+ G_PARAM_READWRITE));
+
+ g_type_class_add_private (object_class, sizeof (SolipaMailUIPrivate));
+}
+
+static void
+solipa_mail_ui_init (SolipaMailUI *solipa_mail_ui)
+{
+ SolipaMailUIPrivate *priv = SOLIPA_MAIL_UI_GET_PRIVATE (solipa_mail_ui);
+}
+
+/**
+ * solipa_mail_ui_new:
+ * @solipa:
+ *
+ * Returns: the newly created #SolipaMailUI object.
+ */
+SolipaMailUI
+*solipa_mail_ui_new (Solipa *solipa)
+{
+ GtkBuilder *builder;
+ GError *error;
+
+ SolipaMailUI *solipa_mail_ui;
+ SolipaMailUIPrivate *priv;
+
+ g_return_val_if_fail (IS_SOLIPA (solipa), NULL);
+
+ solipa_mail_ui = SOLIPA_MAIL_UI (g_object_new (solipa_mail_ui_get_type (), NULL));
+
+ priv = SOLIPA_MAIL_UI_GET_PRIVATE (solipa_mail_ui);
+
+ priv->solipa = solipa;
+
+ builder = solipa_get_gtkbuilder (solipa);
+
+ if (!GTK_IS_BUILDER (builder))
+ {
+ g_warning ("GtkBuilder non inizializzato.");
+ return NULL;
+ }
+
+ error = NULL;
+ gtk_builder_add_objects_from_file (builder,
+ solipa_get_guifile (solipa),
+ g_strsplit ("diag_mail",
+ "|", -1),
+ &error);
+ if (error != NULL)
+ {
+ g_warning ("Errore nell'inzializzazione della gui: %s.",
+ error->message != NULL ? error->message : "no details");
+ return NULL;
+ }
+
+ priv->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "diag_mail"));
+ priv->vbox = GTK_WIDGET (gtk_builder_get_object (builder, "dialog-vbox2"));
+ priv->widget = GTK_WIDGET (gtk_builder_get_object (builder, "table2"));
+
+ priv->from = GTK_WIDGET (gtk_builder_get_object (builder, "entry3"));
+ priv->to = GTK_WIDGET (gtk_builder_get_object (builder, "entry4"));
+ priv->cc = GTK_WIDGET (gtk_builder_get_object (builder, "entry6"));
+ priv->bcc = GTK_WIDGET (gtk_builder_get_object (builder, "entry7"));
+ priv->subject = GTK_WIDGET (gtk_builder_get_object (builder, "entry5"));
+ priv->body = GTK_WIDGET (gtk_builder_get_object (builder, "textview1"));
+
+ return solipa_mail_ui;
+}
+
+GtkWidget
+*solipa_mail_ui_get_dialog (SolipaMailUI *mailui)
+{
+ SolipaMailUIPrivate *priv = SOLIPA_MAIL_UI_GET_PRIVATE (mailui);
+
+ if (gtk_widget_get_parent (priv->widget) == NULL)
+ {
+ gtk_container_add (GTK_CONTAINER (priv->vbox), priv->widget);
+ }
+
+ return priv->dialog;
+}
+
+GtkWidget
+*solipa_mail_ui_get_widget (SolipaMailUI *mailui)
+{
+ SolipaMailUIPrivate *priv = SOLIPA_MAIL_UI_GET_PRIVATE (mailui);
+
+ if (gtk_widget_get_parent (priv->widget) != NULL)
+ {
+ g_object_ref (priv->widget);
+ gtk_container_remove (GTK_CONTAINER (priv->vbox), priv->widget);
+ }
+
+ return priv->widget;
+}
+
+/* PRIVATE */
+static void
+solipa_mail_ui_set_property (GObject *object,
+ guint property_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ SolipaMailUI *solipa_mail_ui = (SolipaMailUI *)object;
+
+ SolipaMailUIPrivate *priv = SOLIPA_MAIL_UI_GET_PRIVATE (solipa_mail_ui);
+
+ switch (property_id)
+ {
+ case PROP_SMTP_URI:
+ priv->smtp_uri = g_strstrip (g_value_dup_string (value));
+ break;
+
+ case PROP_FROM:
+ gtk_entry_set_text (GTK_ENTRY (priv->from), g_strstrip (g_value_dup_string (value)));
+ break;
+
+ case PROP_TO:
+ gtk_entry_set_text (GTK_ENTRY (priv->to), g_strstrip (g_value_dup_string (value)));
+ break;
+
+ case PROP_CC:
+ gtk_entry_set_text (GTK_ENTRY (priv->cc), g_strstrip (g_value_dup_string (value)));
+ break;
+
+ case PROP_BCC:
+ gtk_entry_set_text (GTK_ENTRY (priv->bcc), g_strstrip (g_value_dup_string (value)));
+ break;
+
+ case PROP_SUBJECT:
+ gtk_entry_set_text (GTK_ENTRY (priv->subject), g_strstrip (g_value_dup_string (value)));
+ break;
+
+ case PROP_BODY:
+ gtk_entry_set_text (GTK_ENTRY (priv->body), g_strstrip (g_value_dup_string (value)));
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ break;
+ }
+}
+
+static void
+solipa_mail_ui_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ SolipaMailUI *solipa_mail_ui = (SolipaMailUI *)object;
+
+ SolipaMailUIPrivate *priv = SOLIPA_MAIL_UI_GET_PRIVATE (solipa_mail_ui);
+
+ switch (property_id)
+ {
+ case PROP_SMTP_URI:
+ g_value_set_string (value, priv->smtp_uri);
+ break;
+
+ case PROP_FROM:
+ g_value_set_string (value, gtk_entry_get_text (GTK_ENTRY (priv->from)));
+ break;
+
+ case PROP_TO:
+ g_value_set_string (value, gtk_entry_get_text (GTK_ENTRY (priv->to)));
+ break;
+
+ case PROP_CC:
+ g_value_set_string (value, gtk_entry_get_text (GTK_ENTRY (priv->cc)));
+ break;
+
+ case PROP_BCC:
+ g_value_set_string (value, gtk_entry_get_text (GTK_ENTRY (priv->bcc)));
+ break;
+
+ case PROP_SUBJECT:
+ g_value_set_string (value, gtk_entry_get_text (GTK_ENTRY (priv->subject)));
+ break;
+
+ case PROP_BODY:
+ g_value_set_string (value, gtk_entry_get_text (GTK_ENTRY (priv->body)));
+ break;
+
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+ break;
+ }
+}
--- /dev/null
+/*
+ * Copyright (C) 2011 Andrea Zagli <azagli@libero.it>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#ifndef __SOLIPA_MAIL_UI_H__
+#define __SOLIPA_MAIL_UI_H__
+
+#include <glib.h>
+#include <glib-object.h>
+
+#include "solipa.h"
+
+
+G_BEGIN_DECLS
+
+
+#define TYPE_SOLIPA_MAIL_UI (solipa_mail_ui_get_type ())
+#define SOLIPA_MAIL_UI(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOLIPA_MAIL_UI, SolipaMailUI))
+#define SOLIPA_MAIL_UI_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOLIPA_MAIL_UI, SolipaMailUIClass))
+#define IS_SOLIPA_MAIL_UI(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOLIPA_MAIL_UI))
+#define IS_SOLIPA_MAIL_UI_UI_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOLIPA_MAIL_UI))
+#define SOLIPA_MAIL_UI_UI_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOLIPA_MAIL_UI, SolipaMailUIClass))
+
+typedef struct _SolipaMailUI SolipaMailUI;
+typedef struct _SolipaMailUIClass SolipaMailUIClass;
+
+struct _SolipaMailUI
+ {
+ GObject parent;
+ };
+
+struct _SolipaMailUIClass
+ {
+ GObjectClass parent_class;
+ };
+
+GType solipa_mail_ui_get_type (void) G_GNUC_CONST;
+
+
+SolipaMailUI *solipa_mail_ui_new (Solipa *solipa);
+
+GtkWidget *solipa_mail_ui_get_dialog (SolipaMailUI *mailui);
+GtkWidget *solipa_mail_ui_get_widget (SolipaMailUI *mailui);
+
+
+G_END_DECLS
+
+
+#endif /* __SOLIPA_MAIL_UI_H__ */
noinst_PROGRAMS = allegato \
mail \
+ mailui \
utils \
utils_codfisc_piva \
utils_format_money \
--- /dev/null
+/*
+ * Copyright (C) 2011 Andrea Zagli <azagli@libero.it>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include <mailui.h>
+
+GtkWidget *w;
+
+gboolean
+on_w_delete_event (GtkWidget *widget,
+ GdkEvent *event,
+ gpointer user_data)
+{
+ return FALSE;
+}
+
+int
+main (int argc, char *argv[])
+{
+ GError *error;
+ GtkBuilder *builder;
+
+ Solipa *solipa;
+ SolipaMailUI *mailui;
+
+ gtk_init (&argc, &argv);
+
+ solipa = solipa_new ();
+ if (solipa == NULL)
+ {
+ g_error ("Errore nell'inizializzazione di Solipa.");
+ return 0;
+ }
+
+ mailui = solipa_mail_ui_new (solipa);
+ if (mailui == NULL)
+ {
+ g_error ("Errore nell'inizializzazione di SolipaMailUI.");
+ return 0;
+ }
+
+ builder = gtk_builder_new ();
+ error = NULL;
+ gtk_builder_add_objects_from_file (builder, GUIDIR "/tests.ui",
+ g_strsplit ("w_mail",
+ "|", -1),
+ &error);
+ if (error != NULL)
+ {
+ g_error ("Errore nel caricamento della gui: %s.",
+ error != NULL && error->message != NULL ? error->message : "nessun dettaglio");
+ return 0;
+ }
+
+ gtk_builder_connect_signals (builder, NULL);
+
+ w = GTK_WIDGET (gtk_builder_get_object (builder, "w_mail"));
+ g_signal_connect (w, "delete-event", G_CALLBACK (on_w_delete_event), (gpointer)solipa);
+
+ gtk_box_pack_start (GTK_BOX (gtk_builder_get_object (builder, "vbox3")),
+ solipa_mail_ui_get_widget (mailui),
+ TRUE, TRUE, 5);
+
+ gtk_widget_show (w);
+
+ gtk_main ();
+
+ g_object_unref (solipa);
+
+ return 0;
+}
</object>
</child>
</object>
+ <object class="GtkWindow" id="w_mail">
+ <property name="title" translatable="yes">Test SolipaMailUI</property>
+ <signal name="destroy" handler="gtk_main_quit"/>
+ <child>
+ <object class="GtkVBox" id="vbox2">
+ <property name="visible">True</property>
+ <property name="border_width">5</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkVBox" id="vbox3">
+ <property name="visible">True</property>
+ <property name="orientation">vertical</property>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ <packing>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHButtonBox" id="hbuttonbox1">
+ <property name="visible">True</property>
+ <property name="spacing">5</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="button1">
+ <property name="label">gtk-cancel</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="button2">
+ <property name="label">gtk-ok</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
</interface>