aboutsummaryrefslogtreecommitdiffstats
path: root/shell/importer/importer.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/importer/importer.c')
-rw-r--r--shell/importer/importer.c87
1 files changed, 44 insertions, 43 deletions
diff --git a/shell/importer/importer.c b/shell/importer/importer.c
index 20e11524af..e7163cf329 100644
--- a/shell/importer/importer.c
+++ b/shell/importer/importer.c
@@ -44,6 +44,7 @@
#include <gal/widgets/e-gui-utils.h>
#include <e-util/e-html-utils.h>
#include <gal/widgets/e-gui-utils.h>
+#include <gal/widgets/e-unicode.h>
#include "importer.h"
#include "GNOME_Evolution_Importer.h"
@@ -77,7 +78,20 @@ typedef struct _ImportData {
#define OUT
#endif
-/* Some HTML helper functions from mail/mail-config-gui.c */
+/* Some HTML helper functions copied from mail/mail-config-druid.c */
+static struct {
+ char *name;
+ char *text;
+} info[] = {
+ { "file_html",
+ N_("Choose the file that you want to import into Evolution, "
+ "and select what type of file it is from the list.\n\n"
+ "You can select \"Automatic\" if you do not know, and "
+ "Evolution will attempt to work it out.")
+ }
+};
+static int num_info = (sizeof (info) / sizeof (info[0]));
+
static void
html_size_req (GtkWidget *widget,
GtkRequisition *requisition)
@@ -85,14 +99,14 @@ html_size_req (GtkWidget *widget,
requisition->height = GTK_LAYOUT (widget)->height;
}
-/* Returns a GtkHTML which is already inside a GtkScrolledWindow. If
- * @white is TRUE, the GtkScrolledWindow will be inside a GtkFrame.
- */
static GtkWidget *
-html_new (gboolean white)
+create_html (const char *name)
{
- GtkWidget *html, *scrolled, *frame;
+ GtkWidget *scrolled, *html;
+ GtkHTMLStream *stream;
GtkStyle *style;
+ char *utf8;
+ int i;
html = gtk_html_new ();
GTK_LAYOUT (html)->height = 0;
@@ -100,43 +114,36 @@ html_new (gboolean white)
GTK_SIGNAL_FUNC (html_size_req), NULL);
gtk_html_set_editable (GTK_HTML (html), FALSE);
style = gtk_rc_get_style (html);
+ if (!style)
+ style = gtk_widget_get_style (html);
if (style) {
gtk_html_set_default_background_color (GTK_HTML (html),
- white ? &style->white:
&style->bg[0]);
}
- gtk_widget_set_sensitive (html, FALSE);
+ gtk_widget_show (html);
+
scrolled = gtk_scrolled_window_new (NULL, NULL);
+ gtk_widget_show (scrolled);
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled),
GTK_POLICY_NEVER, GTK_POLICY_NEVER);
gtk_container_add (GTK_CONTAINER (scrolled), html);
- if (white) {
- frame = gtk_frame_new (NULL);
- gtk_frame_set_shadow_type (GTK_FRAME (frame),
- GTK_SHADOW_ETCHED_IN);
- gtk_container_add (GTK_CONTAINER (frame), scrolled);
- gtk_widget_show_all (frame);
- } else {
- gtk_widget_show_all (scrolled);
- }
- return html;
-}
-
-static void
-put_html (GtkHTML *html,
- const char *text)
-{
- GtkHTMLStream *handle;
- char *htmltext;
-
- htmltext = e_text_to_html (text, E_TEXT_TO_HTML_CONVERT_NL);
- handle = gtk_html_begin (html);
- gtk_html_write (html, handle, "<HTML><BODY>", 12);
- gtk_html_write (html, handle, text, strlen (text));
- gtk_html_write (html, handle, "</BODY></HTML>", 14);
- g_free (htmltext);
- gtk_html_end (html, handle, GTK_HTML_STREAM_OK);
+ for (i = 0; i < num_info; i++) {
+ if (!strcmp (name, info[i].name))
+ break;
+ }
+ g_return_val_if_fail (i != num_info, scrolled);
+
+ stream = gtk_html_begin_content (GTK_HTML (html),
+ "text/html; charset=utf-8");
+ gtk_html_write (GTK_HTML (html), stream, "<html><p>", 9);
+ utf8 = e_utf8_from_locale_string (_(info[i].text));
+ gtk_html_write (GTK_HTML (html), stream, utf8, strlen (utf8));
+ g_free (utf8);
+ gtk_html_write (GTK_HTML (html), stream, "</p></html>", 11);
+ gtk_html_end (GTK_HTML (html), stream, GTK_HTML_STREAM_OK);
+
+ return scrolled;
}
/* Importing functions */
@@ -642,15 +649,9 @@ show_import_wizard (BonoboUIComponent *component,
data->filepage = importer_file_page_new (data);
data->vbox = data->filepage->vbox;
- html = html_new (TRUE);
- put_html (GTK_HTML (html),
- _("Choose the file that you want to import into Evolution, "
- "and select what type of file it is from the list.\n\n"
- "You can select \"Automatic\" if you do not know, and "
- "Evolution will attempt to work it out."));
- gtk_box_pack_start (GTK_BOX (data->vbox), html->parent->parent,
- FALSE, TRUE, 0);
- gtk_box_reorder_child (GTK_BOX (data->vbox), html->parent->parent, 0);
+ html = create_html ("file_html");
+ gtk_box_pack_start (GTK_BOX (data->vbox), html, FALSE, TRUE, 0);
+ gtk_box_reorder_child (GTK_BOX (data->vbox), html, 0);
gtk_box_pack_start (GTK_BOX (GNOME_DRUID_PAGE_STANDARD (data->filedialog)->vbox), data->vbox, TRUE, TRUE, 0);