aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-11-29 06:39:33 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2006-11-29 06:39:33 +0000
commit4cc3707180ec49e18d83fd72c4f3eea541eb40ea (patch)
tree86fce2c6efd9e2adb0af876048f463cc53eb922d /src
parente7f6d03d3475bb24aba9c850b04e06cd3027edb9 (diff)
added an option to use external program for printing.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1385 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src')
-rw-r--r--src/prefs_common_dialog.c59
-rw-r--r--src/summaryview.c3
2 files changed, 40 insertions, 22 deletions
diff --git a/src/prefs_common_dialog.c b/src/prefs_common_dialog.c
index 812856e9..06435063 100644
--- a/src/prefs_common_dialog.c
+++ b/src/prefs_common_dialog.c
@@ -211,10 +211,12 @@ static struct Other {
static struct Extcmd {
GtkWidget *uri_combo;
GtkWidget *uri_entry;
- GtkWidget *printcmd_entry;
GtkWidget *exteditor_combo;
GtkWidget *exteditor_entry;
+ GtkWidget *checkbtn_printcmd;
+ GtkWidget *printcmd_entry;
+
GtkWidget *checkbtn_incext;
GtkWidget *entry_incext;
GtkWidget *button_incext;
@@ -499,11 +501,14 @@ static PrefsUIData ui_data[] = {
/* External commands */
{"uri_open_command", &extcmd.uri_entry,
prefs_common_uri_set_data_from_entry, prefs_common_uri_set_entry},
- {"print_command", &extcmd.printcmd_entry,
- prefs_set_data_from_entry, prefs_set_entry},
{"ext_editor_command", &extcmd.exteditor_entry,
prefs_set_data_from_entry, prefs_set_entry},
+ {"use_print_command", &extcmd.checkbtn_printcmd,
+ prefs_set_data_from_toggle, prefs_set_toggle},
+ {"print_command", &extcmd.printcmd_entry,
+ prefs_set_data_from_entry, prefs_set_entry},
+
#ifndef G_OS_WIN32
{"use_ext_inc", &extcmd.checkbtn_incext,
prefs_set_data_from_toggle, prefs_set_toggle},
@@ -2316,13 +2321,16 @@ static GtkWidget *prefs_extcmd_create(void)
GtkWidget *uri_combo;
GtkWidget *uri_entry;
- GtkWidget *printcmd_label;
- GtkWidget *printcmd_entry;
-
GtkWidget *exteditor_label;
GtkWidget *exteditor_combo;
GtkWidget *exteditor_entry;
+ GtkWidget *frame_printcmd;
+ GtkWidget *vbox_printcmd;
+ GtkWidget *checkbtn_printcmd;
+ GtkWidget *printcmd_label;
+ GtkWidget *printcmd_entry;
+
#ifndef G_OS_WIN32
GtkWidget *vbox2;
GtkWidget *frame_incext;
@@ -2342,7 +2350,7 @@ static GtkWidget *prefs_extcmd_create(void)
PACK_FRAME(vbox1, ext_frame,
_("External commands (%s will be replaced with file name / URI)"));
- ext_table = gtk_table_new (3, 2, FALSE);
+ ext_table = gtk_table_new (2, 2, FALSE);
gtk_widget_show (ext_table);
gtk_container_add (GTK_CONTAINER (ext_frame), ext_table);
gtk_container_set_border_width (GTK_CONTAINER (ext_table), 8);
@@ -2377,26 +2385,15 @@ static GtkWidget *prefs_extcmd_create(void)
NULL);
uri_entry = GTK_COMBO (uri_combo)->entry;
- printcmd_label = gtk_label_new (_("Print"));
- gtk_widget_show (printcmd_label);
- gtk_table_attach (GTK_TABLE (ext_table), printcmd_label, 0, 1, 1, 2,
- GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
- gtk_misc_set_alignment (GTK_MISC (printcmd_label), 1, 0.5);
-
- printcmd_entry = gtk_entry_new ();
- gtk_widget_show (printcmd_entry);
- gtk_table_attach (GTK_TABLE (ext_table), printcmd_entry, 1, 2, 1, 2,
- GTK_EXPAND | GTK_FILL, 0, 0, 0);
-
exteditor_label = gtk_label_new (_("Editor"));
gtk_widget_show (exteditor_label);
- gtk_table_attach (GTK_TABLE (ext_table), exteditor_label, 0, 1, 2, 3,
+ gtk_table_attach (GTK_TABLE (ext_table), exteditor_label, 0, 1, 1, 2,
GTK_FILL, GTK_EXPAND | GTK_FILL, 0, 0);
gtk_misc_set_alignment (GTK_MISC (exteditor_label), 1, 0.5);
exteditor_combo = gtk_combo_new ();
gtk_widget_show (exteditor_combo);
- gtk_table_attach (GTK_TABLE (ext_table), exteditor_combo, 1, 2, 2, 3,
+ gtk_table_attach (GTK_TABLE (ext_table), exteditor_combo, 1, 2, 1, 2,
GTK_EXPAND | GTK_FILL, 0, 0, 0);
gtkut_combo_set_items (GTK_COMBO (exteditor_combo),
#ifdef G_OS_WIN32
@@ -2412,6 +2409,27 @@ static GtkWidget *prefs_extcmd_create(void)
NULL);
exteditor_entry = GTK_COMBO (exteditor_combo)->entry;
+ PACK_FRAME_WITH_CHECK_BUTTON(vbox1, frame_printcmd, checkbtn_printcmd,
+ _("Use external program for printing"));
+
+ vbox_printcmd = gtk_vbox_new (FALSE, VSPACING_NARROW);
+ gtk_widget_show (vbox_printcmd);
+ gtk_container_add (GTK_CONTAINER (frame_printcmd), vbox_printcmd);
+ gtk_container_set_border_width (GTK_CONTAINER (vbox_printcmd), 8);
+ SET_TOGGLE_SENSITIVITY (checkbtn_printcmd, vbox_printcmd);
+
+ hbox1 = gtk_hbox_new (FALSE, 8);
+ gtk_widget_show (hbox1);
+ gtk_box_pack_start (GTK_BOX (vbox_printcmd), hbox1, FALSE, FALSE, 0);
+
+ printcmd_label = gtk_label_new (_("Command"));
+ gtk_widget_show (printcmd_label);
+ gtk_box_pack_start (GTK_BOX (hbox1), printcmd_label, FALSE, FALSE, 0);
+
+ printcmd_entry = gtk_entry_new ();
+ gtk_widget_show (printcmd_entry);
+ gtk_box_pack_start (GTK_BOX (hbox1), printcmd_entry, TRUE, TRUE, 0);
+
#ifndef G_OS_WIN32
PACK_FRAME_WITH_CHECK_BUTTON(vbox1, frame_incext, checkbtn_incext,
_("Use external program for incorporation"));
@@ -2458,6 +2476,7 @@ static GtkWidget *prefs_extcmd_create(void)
extcmd.uri_combo = uri_combo;
extcmd.uri_entry = uri_entry;
+ extcmd.checkbtn_printcmd = checkbtn_printcmd;
extcmd.printcmd_entry = printcmd_entry;
extcmd.exteditor_combo = exteditor_combo;
diff --git a/src/summaryview.c b/src/summaryview.c
index fa1eb3f0..15829edd 100644
--- a/src/summaryview.c
+++ b/src/summaryview.c
@@ -3578,7 +3578,6 @@ void summary_print(SummaryView *summaryview)
const gchar *cmdline;
gchar *msg;
gboolean all_headers;
- gboolean use_print_cmd = FALSE;
if (gtk_tree_selection_count_selected_rows(summaryview->selection) == 0)
return;
@@ -3586,7 +3585,7 @@ void summary_print(SummaryView *summaryview)
all_headers = summaryview->messageview->textview->show_all_headers;
#if GTK_CHECK_VERSION(2, 10, 0)
- if (!use_print_cmd) {
+ if (!prefs_common.use_print_cmd) {
mlist = summary_get_selected_msg_list(summaryview);
printing_print_messages(mlist, all_headers);
g_slist_free(mlist);