aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog4
-rw-r--r--mail/folder-browser-factory.c2
-rw-r--r--mail/mail-ops.c21
-rw-r--r--mail/mail.h1
4 files changed, 27 insertions, 1 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 1313c25481..7da0ca383d 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,5 +1,9 @@
2000-06-30 Dan Winship <danw@helixcode.com>
+ * mail-ops.c (print_msg): Use gnome-print to do a print preview.
+
+ * folder-browser-factory.c: Hook up "Print" button.
+
* message-list.c (message_list_foreach): New function, a wrapper
around e_table_selected_row_foreach, which calls the callback
function with UIDs rather than row numbers.
diff --git a/mail/folder-browser-factory.c b/mail/folder-browser-factory.c
index 4ffabc6e75..74c50ca52f 100644
--- a/mail/folder-browser-factory.c
+++ b/mail/folder-browser-factory.c
@@ -46,7 +46,7 @@ static GnomeUIInfo gnome_toolbar [] = {
GNOMEUIINFO_ITEM_STOCK (N_("Refile"), N_("Move message to a new folder"), refile_msg, GNOME_STOCK_PIXMAP_MAIL_SND),
- GNOMEUIINFO_ITEM_STOCK (N_("Print"), N_("Print the selected message"), random_cb, GNOME_STOCK_PIXMAP_PRINT),
+ GNOMEUIINFO_ITEM_STOCK (N_("Print"), N_("Print the selected message"), print_msg, GNOME_STOCK_PIXMAP_PRINT),
GNOMEUIINFO_ITEM_STOCK (N_("Delete"), N_("Delete this message"), delete_msg, GNOME_STOCK_PIXMAP_TRASH),
diff --git a/mail/mail-ops.c b/mail/mail-ops.c
index 169566cd99..27ad27a51c 100644
--- a/mail/mail-ops.c
+++ b/mail/mail-ops.c
@@ -26,6 +26,8 @@
#include <config.h>
#include <errno.h>
#include <gnome.h>
+#include <libgnomeprint/gnome-print-master.h>
+#include <libgnomeprint/gnome-print-master-preview.h>
#include "mail.h"
#include "mail-threads.h"
#include "folder-browser.h"
@@ -884,3 +886,22 @@ providers_config (BonoboUIHandler *uih, void *user_data, const char *path)
gtk_widget_show (pc);
}
+void
+print_msg (GtkWidget *button, gpointer user_data)
+{
+ FolderBrowser *fb = user_data;
+ GnomePrintMaster *print_master;
+ GnomePrintContext *print_context;
+ GtkWidget *preview;
+
+ print_master = gnome_print_master_new ();
+
+ print_context = gnome_print_master_get_context (print_master);
+ gtk_html_print (fb->mail_display->html, print_context);
+
+ preview = GTK_WIDGET (gnome_print_master_preview_new (
+ print_master, "Mail Print Preview"));
+ gtk_widget_show (preview);
+
+ gtk_object_unref (GTK_OBJECT (print_master));
+}
diff --git a/mail/mail.h b/mail/mail.h
index 4f006776ee..38412d972b 100644
--- a/mail/mail.h
+++ b/mail/mail.h
@@ -58,6 +58,7 @@ void reply_to_sender (GtkWidget *button, gpointer user_data);
void reply_to_all (GtkWidget *button, gpointer user_data);
void delete_msg (GtkWidget *button, gpointer user_data);
void refile_msg (GtkWidget *button, gpointer user_data);
+void print_msg (GtkWidget *button, gpointer user_data);
void expunge_folder (BonoboUIHandler *uih, void *user_data, const char *path);
void filter_edit (BonoboUIHandler *uih, void *user_data, const char *path);