plug-ins/print/gimp_color_window.c HIG-ified and ported to GtkFileChooser.

2004-05-25  Sven Neumann  <sven@gimp.org>

	* plug-ins/print/gimp_color_window.c
	* plug-ins/print/gimp_main_window.c: HIG-ified and ported to
	GtkFileChooser.

	* plug-ins/ifscompose/ifscompose.c (ifsfile_load_response): ported
	forgotten callback to GtkFileChooser.

	* plug-ins/imagemap/imap_browse.c
	* plug-ins/imagemap/imap_file.c: finished port to GtkFileChooser.
This commit is contained in:
Sven Neumann 2004-05-25 12:19:22 +00:00 committed by Sven Neumann
parent fe03c38457
commit 12d9a44686
6 changed files with 384 additions and 368 deletions

View File

@ -1,3 +1,15 @@
2004-05-25 Sven Neumann <sven@gimp.org>
* plug-ins/print/gimp_color_window.c
* plug-ins/print/gimp_main_window.c: HIG-ified and ported to
GtkFileChooser.
* plug-ins/ifscompose/ifscompose.c (ifsfile_load_response): ported
forgotten callback to GtkFileChooser.
* plug-ins/imagemap/imap_browse.c
* plug-ins/imagemap/imap_file.c: finished port to GtkFileChooser.
2004-05-25 Michael Natterer <mitch@gimp.org>
* app/actions/file-actions.c

View File

@ -2562,8 +2562,8 @@ ifsfile_save_response (GtkWidget *dialog,
/* replace ifsvals and elements with specified new values
* recompute and update everything necessary */
static void
ifsfile_replace_ifsvals (IfsComposeVals *new_ifsvals,
AffElement **new_elements)
ifsfile_replace_ifsvals (IfsComposeVals *new_ifsvals,
AffElement **new_elements)
{
gdouble width = ifsDesign->area->allocation.width;
gdouble height = ifsDesign->area->allocation.height;
@ -2607,27 +2607,27 @@ ifsfile_replace_ifsvals (IfsComposeVals *new_ifsvals,
/* load an ifs file */
static void
ifsfile_load_response (GtkFileSelection *file_select,
gint response_id,
gpointer data)
ifsfile_load_response (GtkWidget *dialog,
gint response_id,
gpointer data)
{
if (response_id == GTK_RESPONSE_OK)
{
const gchar *filename;
gchar *filename;
gchar *buffer;
AffElement **new_elements;
IfsComposeVals new_ifsvals;
GError *error = NULL;
guint i;
filename = gtk_file_selection_get_filename (file_select);
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
if (! g_file_get_contents (filename, &buffer, NULL, &error))
{
ifscompose_message_dialog (GTK_MESSAGE_ERROR,
GTK_WINDOW (file_select),
ifscompose_message_dialog (GTK_MESSAGE_ERROR, GTK_WINDOW (dialog),
_("Open failed"), error->message);
g_error_free (error);
g_free (filename);
return;
}
@ -2637,9 +2637,9 @@ ifsfile_load_response (GtkFileSelection *file_select,
"an IFS Compose file."),
gimp_filename_to_utf8 (filename));
ifscompose_message_dialog (GTK_MESSAGE_ERROR,
GTK_WINDOW (file_select),
ifscompose_message_dialog (GTK_MESSAGE_ERROR, GTK_WINDOW (dialog),
_("Open failed"), message);
g_free (filename);
g_free (message);
g_free (buffer);
@ -2647,6 +2647,7 @@ ifsfile_load_response (GtkFileSelection *file_select,
}
g_free (buffer);
g_free (filename);
undo_begin ();
for (i = 0; i < ifsvals.num_elements; i++)
@ -2664,7 +2665,7 @@ ifsfile_load_response (GtkFileSelection *file_select,
design_area_redraw ();
}
gtk_widget_destroy (GTK_WIDGET (file_select));
gtk_widget_destroy (GTK_WIDGET (dialog));
}
static void

View File

@ -38,17 +38,20 @@ select_cb (GtkWidget *dialog,
{
if (response_id == GTK_RESPONSE_OK)
{
gchar *p;
const gchar *file;
gchar *p;
gchar *file;
file = gtk_file_selection_get_filename (GTK_FILE_SELECTION (dialog));
file = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
p = (browse->filter) ? browse->filter (file, browse->filter_data) : (gchar *) file;
p = (browse->filter ?
browse->filter (file, browse->filter_data) : file);
gtk_entry_set_text (GTK_ENTRY (browse->file), p);
if (browse->filter)
g_free (p);
g_free (file);
}
gtk_widget_hide (dialog);
@ -63,14 +66,14 @@ browse_cb (GtkWidget *widget,
{
GtkWidget *dialog;
dialog = browse->file_selection =
dialog = browse->file_selection =
gtk_file_chooser_dialog_new (browse->name,
GTK_WINDOW (gtk_widget_get_toplevel (widget)),
GTK_FILE_CHOOSER_ACTION_OPEN,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OPEN, GTK_RESPONSE_OK,
NULL);
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
@ -84,22 +87,27 @@ browse_cb (GtkWidget *widget,
gtk_window_present (GTK_WINDOW (browse->file_selection));
}
static void
handle_drop(GtkWidget *widget, GdkDragContext *context, gint x, gint y,
static void
handle_drop(GtkWidget *widget, GdkDragContext *context, gint x, gint y,
GtkSelectionData *data, guint info, guint time)
{
gboolean success;
if (data->length >= 0 && data->format == 8) {
gtk_entry_set_text(GTK_ENTRY(widget), data->data);
success = TRUE;
} else {
success = FALSE;
}
if (data->length >= 0 && data->format == 8)
{
gtk_entry_set_text(GTK_ENTRY(widget), data->data);
success = TRUE;
}
else
{
success = FALSE;
}
gtk_drag_finish(context, success, FALSE, time);
}
BrowseWidget_t*
browse_widget_new(const gchar *name)
browse_widget_new (const gchar *name)
{
BrowseWidget_t *browse = g_new(BrowseWidget_t, 1);
GtkWidget *button;
@ -127,21 +135,21 @@ browse_widget_new(const gchar *name)
gtk_widget_show (icon);
gtk_box_pack_end(GTK_BOX (browse->hbox), button, FALSE, FALSE, 0);
g_signal_connect (button, "clicked",
g_signal_connect (button, "clicked",
G_CALLBACK(browse_cb), (gpointer) browse);
gtk_widget_show (button);
return browse;
}
void
void
browse_widget_set_filename(BrowseWidget_t *browse, const gchar *filename)
{
gtk_entry_set_text (GTK_ENTRY (browse->file), filename);
}
void
browse_widget_set_filter(BrowseWidget_t *browse, BrowseFilter_t filter,
void
browse_widget_set_filter(BrowseWidget_t *browse, BrowseFilter_t filter,
gpointer data)
{
browse->filter = filter;

View File

@ -34,26 +34,28 @@
static void
open_cb (GtkFileSelection *fs,
gint response_id,
gpointer data)
open_cb (GtkWidget *dialog,
gint response_id,
gpointer data)
{
if (response_id == GTK_RESPONSE_OK)
{
const gchar *filename;
gchar *filename;
filename = gtk_file_selection_get_filename (fs);
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
if (! g_file_test (filename, G_FILE_TEST_IS_REGULAR))
{
do_file_error_dialog (_("Error opening file"), filename);
g_free (filename);
return;
}
load (filename);
g_free (filename);
}
gtk_widget_hide (GTK_WIDGET (fs));
gtk_widget_hide (dialog);
}
void
@ -81,7 +83,7 @@ do_file_open_dialog (void)
g_signal_connect (dialog, "response",
G_CALLBACK (open_cb),
dialog);
}
}
gtk_window_present (GTK_WINDOW (dialog));
}
@ -92,56 +94,65 @@ really_overwrite_cb (GtkMessageDialog *dialog,
{
if (response_id == GTK_RESPONSE_YES)
{
save_as (gtk_file_selection_get_filename (GTK_FILE_SELECTION (data)));
gchar *filename;
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (data));
save_as (filename);
g_free (filename);
}
gtk_widget_hide (GTK_WIDGET (dialog));
gtk_widget_destroy (GTK_WIDGET (dialog));
}
static void
do_file_exists_dialog (gpointer data)
do_file_exists_dialog (GtkWidget *dialog)
{
static GtkWidget *dialog;
gchar *message =
g_strdup_printf ("<span weight=\"bold\" size=\"larger\">%s</span>\n\n"
"%s",
_("File already exists"),
_("Do you really want to overwrite?"));
dialog = gtk_message_dialog_new_with_markup (GTK_WINDOW (get_dialog()),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_QUESTION,
GTK_BUTTONS_YES_NO,
message);
g_signal_connect (dialog, "delete_event",
G_CALLBACK (gtk_true),
NULL);
g_signal_connect (dialog, "response",
G_CALLBACK (really_overwrite_cb),
dialog);
if (!dialog)
{
dialog = gtk_message_dialog_new_with_markup
(GTK_WINDOW(get_dialog()),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_QUESTION,
GTK_BUTTONS_YES_NO,
_("<span weight=\"bold\" size=\"larger\">File already exists.</span>\n\n"
"Do you really want to overwrite?"));
g_signal_connect (dialog, "delete_event",
G_CALLBACK (gtk_true),
NULL);
g_signal_connect (dialog, "response",
G_CALLBACK (really_overwrite_cb),
data);
}
gtk_widget_show (dialog);
}
static void
save_cb (GtkFileSelection *fs,
gint response_id,
gpointer data)
save_cb (GtkWidget *dialog,
gint response_id,
gpointer data)
{
if (response_id == GTK_RESPONSE_OK)
{
const gchar *filename;
filename = gtk_file_selection_get_filename (fs);
gchar *filename;
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
if (g_file_test (filename, G_FILE_TEST_IS_REGULAR))
{
do_file_exists_dialog (fs);
do_file_exists_dialog (dialog);
g_free (filename);
return;
}
save_as (filename);
g_free (filename);
}
gtk_widget_hide (GTK_WIDGET (fs));
gtk_widget_hide (dialog);
}
void
@ -169,7 +180,7 @@ do_file_save_as_dialog (void)
g_signal_connect (dialog, "response",
G_CALLBACK (save_cb),
dialog);
}
}
gtk_window_present (GTK_WINDOW (dialog));
}
@ -177,13 +188,13 @@ void
do_file_error_dialog(const char *error, const char *filename)
{
static Alert_t *alert;
if (!alert)
alert = create_alert (GTK_STOCK_DIALOG_ERROR);
alert_set_text(alert, error, gimp_filename_to_utf8 (filename));
alert_set_text (alert, error, filename);
default_dialog_show (alert->dialog);
}

View File

@ -58,27 +58,24 @@ static GtkObject *gamma_adjustment;
GtkWidget *dither_algo_combo = NULL;
static gint dither_algo_callback_id = -1;
static void gimp_brightness_update (GtkAdjustment *adjustment);
static void gimp_saturation_update (GtkAdjustment *adjustment);
static void gimp_density_update (GtkAdjustment *adjustment);
static void gimp_contrast_update (GtkAdjustment *adjustment);
static void gimp_cyan_update (GtkAdjustment *adjustment);
static void gimp_magenta_update (GtkAdjustment *adjustment);
static void gimp_yellow_update (GtkAdjustment *adjustment);
static void gimp_gamma_update (GtkAdjustment *adjustment);
static void gimp_set_color_defaults (void);
static void gimp_brightness_update (GtkAdjustment *adjustment);
static void gimp_saturation_update (GtkAdjustment *adjustment);
static void gimp_density_update (GtkAdjustment *adjustment);
static void gimp_contrast_update (GtkAdjustment *adjustment);
static void gimp_cyan_update (GtkAdjustment *adjustment);
static void gimp_magenta_update (GtkAdjustment *adjustment);
static void gimp_yellow_update (GtkAdjustment *adjustment);
static void gimp_gamma_update (GtkAdjustment *adjustment);
static void gimp_set_color_defaults (void);
static void gimp_dither_algo_callback (GtkWidget *widget,
gpointer data);
void gimp_build_dither_combo (void);
void gimp_build_dither_combo (void);
static GtkWidget *swatch = NULL;
#define SWATCH_W (128)
#define SWATCH_H (128)
static void
gimp_dither_algo_callback (GtkWidget *widget,
gpointer data)
@ -93,7 +90,7 @@ gimp_dither_algo_callback (GtkWidget *widget,
stp_set_dither_algorithm (*pv, stp_dither_algorithm_name (i));
return;
}
stp_set_dither_algorithm (*pv, stp_default_dither_algorithm ());
}
@ -128,30 +125,19 @@ gimp_build_dither_combo (void)
void
gimp_redraw_color_swatch (void)
{
if (swatch == NULL)
return;
gtk_widget_queue_draw (swatch);
if (swatch)
gtk_widget_queue_draw (swatch);
}
static gboolean
gimp_color_swatch_expose (void)
{
static GdkGC *gc = NULL;
static GdkColormap *cmap;
if (gc == NULL)
{
gc = gdk_gc_new (swatch->window);
cmap = gtk_widget_get_colormap (GTK_WIDGET(swatch));
}
(adjusted_thumbnail_bpp == 1
? gdk_draw_gray_image
: gdk_draw_rgb_image) (swatch->window, gc,
(SWATCH_W - thumbnail_w) / 2,
(SWATCH_H - thumbnail_h) / 2,
thumbnail_w, thumbnail_h, GDK_RGB_DITHER_NORMAL,
: gdk_draw_rgb_image) (swatch->window,
swatch->style->fg_gc[GTK_STATE_NORMAL],
0, 0, thumbnail_w, thumbnail_h,
GDK_RGB_DITHER_NORMAL,
adjusted_thumbnail_data,
adjusted_thumbnail_bpp * thumbnail_w);
@ -183,8 +169,12 @@ gimp_color_adjust_response (GtkWidget *widget,
void
gimp_create_color_adjust_window (void)
{
GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *frame;
GtkWidget *table;
GtkWidget *event_box;
const stp_vars_t lower = stp_minimum_settings ();
const stp_vars_t upper = stp_maximum_settings ();
const stp_vars_t defvars = stp_default_settings ();
@ -196,8 +186,10 @@ gimp_create_color_adjust_window (void)
thumbnail_w = THUMBNAIL_MAXW;
thumbnail_h = THUMBNAIL_MAXH;
thumbnail_data = gimp_image_get_thumbnail_data (image_ID, &thumbnail_w,
&thumbnail_h, &thumbnail_bpp);
thumbnail_data = gimp_image_get_thumbnail_data (image_ID,
&thumbnail_w,
&thumbnail_h,
&thumbnail_bpp);
/*
* thumbnail_w and thumbnail_h have now been adjusted to the actual
@ -224,43 +216,51 @@ gimp_create_color_adjust_window (void)
G_CALLBACK (gimp_color_adjust_response),
NULL);
table = gtk_table_new (10, 3, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (table), 6);
gtk_table_set_col_spacings (GTK_TABLE (table), 4);
gtk_table_set_row_spacings (GTK_TABLE (table), 2);
gtk_table_set_row_spacing (GTK_TABLE (table), 2, 6);
gtk_table_set_row_spacing (GTK_TABLE (table), 5, 6);
gtk_table_set_row_spacing (GTK_TABLE (table), 8, 6);
vbox = gtk_vbox_new (FALSE, 12);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (gimp_color_adjust_dialog)->vbox),
table, FALSE, FALSE, 0);
gtk_widget_show (table);
vbox, FALSE, FALSE, 0);
gtk_widget_show (vbox);
/*
* Drawing area for color swatch feedback display...
*/
event_box = gtk_event_box_new ();
gtk_widget_show (event_box);
gtk_table_attach (GTK_TABLE (table), event_box,
0, 3, 0, 1, 0, 0, 0, 0);
hbox = gtk_hbox_new (FALSE, 0);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
gtk_widget_show (hbox);
frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
gtk_box_pack_start (GTK_BOX (hbox), frame, FALSE, FALSE, 0);
gtk_widget_show (frame);
swatch = gtk_drawing_area_new ();
gtk_widget_set_events (swatch, GDK_EXPOSURE_MASK);
gtk_widget_set_size_request (swatch, SWATCH_W, SWATCH_H);
gtk_container_add (GTK_CONTAINER (event_box), swatch);
gtk_widget_set_size_request (swatch, thumbnail_w, thumbnail_h);
gtk_container_add (GTK_CONTAINER (frame), swatch);
gtk_widget_show (swatch);
gimp_help_set_help_data (event_box, _("Image Preview"), NULL);
g_signal_connect (swatch, "expose_event",
G_CALLBACK (gimp_color_swatch_expose),
NULL);
table = gtk_table_new (9, 3, FALSE);
gtk_table_set_col_spacings (GTK_TABLE (table), 6);
gtk_table_set_row_spacings (GTK_TABLE (table), 6);
gtk_table_set_row_spacing (GTK_TABLE (table), 1, 12);
gtk_table_set_row_spacing (GTK_TABLE (table), 4, 12);
gtk_table_set_row_spacing (GTK_TABLE (table), 7, 12);
gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0);
gtk_widget_show (table);
/*
* Brightness slider...
*/
brightness_adjustment =
gimp_scale_entry_new (GTK_TABLE (table), 0, 1, _("Brightness:"), 200, 0,
gimp_scale_entry_new (GTK_TABLE (table), 0, 0, _("Brightness:"), 200, 0,
stp_get_brightness (defvars),
stp_get_brightness (lower),
stp_get_brightness (upper),
@ -280,7 +280,7 @@ gimp_create_color_adjust_window (void)
*/
contrast_adjustment =
gimp_scale_entry_new (GTK_TABLE (table), 0, 2, _("Contrast:"), 200, 0,
gimp_scale_entry_new (GTK_TABLE (table), 0, 1, _("Contrast:"), 200, 0,
stp_get_contrast (defvars),
stp_get_contrast (lower),
stp_get_contrast (upper),
@ -299,7 +299,7 @@ gimp_create_color_adjust_window (void)
*/
cyan_adjustment =
gimp_scale_entry_new (GTK_TABLE (table), 0, 3, _("Cyan:"), 200, 0,
gimp_scale_entry_new (GTK_TABLE (table), 0, 2, _("Cyan:"), 200, 0,
stp_get_cyan (defvars),
stp_get_cyan (lower),
stp_get_cyan (upper),
@ -318,7 +318,7 @@ gimp_create_color_adjust_window (void)
*/
magenta_adjustment =
gimp_scale_entry_new (GTK_TABLE (table), 0, 4, _("Magenta:"), 200, 0,
gimp_scale_entry_new (GTK_TABLE (table), 0, 3, _("Magenta:"), 200, 0,
stp_get_magenta (defvars),
stp_get_magenta (lower),
stp_get_magenta (upper),
@ -337,7 +337,7 @@ gimp_create_color_adjust_window (void)
*/
yellow_adjustment =
gimp_scale_entry_new (GTK_TABLE (table), 0, 5, _("Yellow:"), 200, 0,
gimp_scale_entry_new (GTK_TABLE (table), 0, 4, _("Yellow:"), 200, 0,
stp_get_yellow (defvars),
stp_get_yellow (lower),
stp_get_yellow (upper),
@ -356,7 +356,7 @@ gimp_create_color_adjust_window (void)
*/
saturation_adjustment =
gimp_scale_entry_new (GTK_TABLE (table), 0, 6, _("Saturation:"), 200, 0,
gimp_scale_entry_new (GTK_TABLE (table), 0, 5, _("Saturation:"), 200, 0,
stp_get_saturation (defvars),
stp_get_saturation (lower),
stp_get_saturation (upper),
@ -377,7 +377,7 @@ gimp_create_color_adjust_window (void)
*/
density_adjustment =
gimp_scale_entry_new (GTK_TABLE (table), 0, 7, _("Density:"), 200, 0,
gimp_scale_entry_new (GTK_TABLE (table), 0, 6, _("Density:"), 200, 0,
stp_get_density (defvars),
stp_get_density (lower),
stp_get_density (upper),
@ -399,7 +399,7 @@ gimp_create_color_adjust_window (void)
*/
gamma_adjustment =
gimp_scale_entry_new (GTK_TABLE (table), 0, 8, _("Gamma:"), 200, 0,
gimp_scale_entry_new (GTK_TABLE (table), 0, 7, _("Gamma:"), 200, 0,
stp_get_gamma (defvars),
stp_get_gamma (lower),
stp_get_gamma (upper),
@ -421,10 +421,11 @@ gimp_create_color_adjust_window (void)
* Dither algorithm option combo...
*/
event_box = gtk_event_box_new ();
gimp_table_attach_aligned (GTK_TABLE (table), 0, 9,
_("Dither Algorithm:"), 1.0, 0.5,
event_box, 1, TRUE);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 8,
_("Dither Algorithm:"), 0.0, 0.5,
event_box, 2, FALSE);
dither_algo_combo = gtk_combo_new ();
gtk_container_add (GTK_CONTAINER(event_box), dither_algo_combo);

View File

@ -1,6 +1,4 @@
/*
* "$Id$"
*
* Main window code for Print plug-in for the GIMP.
*
* Copyright 1997-2000 Michael Sweet (mike@easysw.com),
@ -203,15 +201,16 @@ static void gimp_new_printer_response (GtkWidget *widget,
gint response_id,
gpointer data);
static void gimp_ppd_browse_callback (void);
static void gimp_ppd_ok_callback (void);
static void gimp_ppd_response (GtkWidget *dialog,
gint response_id);
static void gimp_print_driver_callback (GtkWidget *widget,
gint row,
gint column,
GdkEventButton *event,
gpointer data);
static void gimp_file_ok_callback (void);
static void gimp_file_cancel_callback (void);
static void gimp_file_response (GtkWidget *dialog,
gint response_id);
static void gimp_preview_update (void);
static gboolean gimp_preview_expose (void);
@ -267,11 +266,11 @@ static stp_param_t *printer_list = 0;
static int printer_count = 0;
static void
reset_preview(void)
reset_preview (void)
{
if (!suppress_preview_reset)
{
gimp_help_enable_tooltips();
gimp_help_enable_tooltips ();
buttons_pressed = preview_active = 0;
}
}
@ -385,17 +384,17 @@ create_top_level_structure(void)
* Top-level containers
*/
main_vbox = gtk_vbox_new (FALSE, 2);
gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 6);
main_vbox = gtk_vbox_new (FALSE, 12);
gtk_container_set_border_width (GTK_CONTAINER (main_vbox), 12);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (print_dialog)->vbox), main_vbox,
FALSE, FALSE, 0);
gtk_widget_show (main_vbox);
main_hbox = gtk_hbox_new (FALSE, 4);
main_hbox = gtk_hbox_new (FALSE, 12);
gtk_box_pack_start (GTK_BOX (main_vbox), main_hbox, FALSE, FALSE, 0);
gtk_widget_show (main_hbox);
right_vbox = gtk_vbox_new (FALSE, 2);
right_vbox = gtk_vbox_new (FALSE, 12);
gtk_box_pack_end (GTK_BOX (main_hbox), right_vbox, TRUE, TRUE, 0);
gtk_widget_show (right_vbox);
@ -407,20 +406,22 @@ create_top_level_structure(void)
static void
create_preview (void)
{
GtkWidget *frame;
GtkWidget *event_box;
GtkWidget *vbox;
frame = gtk_frame_new (_("Preview"));
gtk_box_pack_start (GTK_BOX (main_hbox), frame, FALSE, FALSE, 0);
gtk_widget_show (frame);
vbox = gtk_vbox_new (FALSE, 0);
gtk_box_pack_start (GTK_BOX (main_hbox), vbox, FALSE, FALSE, 0);
gtk_widget_show (vbox);
event_box = gtk_event_box_new ();
gtk_box_pack_start (GTK_BOX (vbox), event_box, FALSE, FALSE, 0);
gtk_widget_show (event_box);
preview = gtk_drawing_area_new ();
gtk_widget_set_size_request (preview,
PREVIEW_SIZE_HORIZ + 1, PREVIEW_SIZE_VERT + 1);
event_box = gtk_event_box_new ();
gtk_container_add (GTK_CONTAINER (event_box), preview);
gtk_container_add (GTK_CONTAINER (frame), event_box);
gtk_widget_show (event_box);
gtk_widget_show (preview);
g_signal_connect (preview, "expose_event",
G_CALLBACK (gimp_preview_expose), NULL);
@ -459,17 +460,16 @@ create_positioning_frame (void)
GtkWidget *frame;
GtkWidget *table;
GtkWidget *box;
GtkWidget *sep;
frame = gtk_frame_new (_("Position"));
gtk_box_pack_start (GTK_BOX (right_vbox), frame, TRUE, TRUE, 0);
frame = gimp_frame_new (_("Position"));
gtk_box_pack_start (GTK_BOX (right_vbox), frame, FALSE, FALSE, 0);
gtk_widget_show (frame);
table = gtk_table_new (7, 4, FALSE);
gtk_table_set_col_spacings (GTK_TABLE (table), 2);
gtk_table_set_col_spacing (GTK_TABLE (table), 1, 4);
gtk_table_set_row_spacings (GTK_TABLE (table), 2);
gtk_container_set_border_width (GTK_CONTAINER (table), 4);
table = gtk_table_new (5, 4, FALSE);
gtk_table_set_col_spacings (GTK_TABLE (table), 6);
gtk_table_set_row_spacings (GTK_TABLE (table), 6);
gtk_table_set_col_spacing (GTK_TABLE (table), 0, 12);
gtk_table_set_col_spacing (GTK_TABLE (table), 3, 12);
gtk_container_add (GTK_CONTAINER (frame), table);
gtk_widget_show (table);
@ -497,12 +497,8 @@ create_positioning_frame (void)
"landscape)"),
NULL);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 0,
_("Orientation:"), 1.0, 0.5,
orientation_menu, 3, TRUE);
sep = gtk_hseparator_new ();
gtk_table_attach_defaults (GTK_TABLE (table), sep, 0, 4, 1, 2);
gtk_widget_show (sep);
_("Orientation:"), 0.0, 0.5,
orientation_menu, 3, FALSE);
/*
* Position entries
@ -511,8 +507,8 @@ create_positioning_frame (void)
left_entry = gtk_entry_new ();
gtk_widget_set_size_request (left_entry, 60, -1);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 2,
_("Left:"), 1.0, 0.5,
left_entry, 1, TRUE);
_("Left:"), 0.0, 0.5,
left_entry, 1, FALSE);
gimp_help_set_help_data (left_entry,
_("Distance from the left of the paper to the image"),
@ -524,8 +520,8 @@ create_positioning_frame (void)
top_entry = gtk_entry_new ();
gtk_widget_set_size_request (top_entry, 60, -1);
gimp_table_attach_aligned (GTK_TABLE (table), 2, 2,
_("Top:"), 1.0,
0.5, top_entry, 1, TRUE);
_("Top:"), 0.0, 0.5,
top_entry, 1, FALSE);
gimp_help_set_help_data (top_entry,
_("Distance from the top of the paper to the image"),
@ -537,8 +533,8 @@ create_positioning_frame (void)
right_entry = gtk_entry_new ();
gtk_widget_set_size_request (right_entry, 60, -1);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 3,
_("Right:"), 1.0, 0.5,
right_entry, 1, TRUE);
_("Right:"), 0.0, 0.5,
right_entry, 1, FALSE);
gimp_help_set_help_data (right_entry,
_("Distance from the left of the paper to "
@ -551,8 +547,8 @@ create_positioning_frame (void)
right_border_entry = gtk_entry_new ();
gtk_widget_set_size_request (right_border_entry, 60, -1);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 4,
_("Right Border:"), 1.0, 0.5,
right_border_entry, 1, TRUE);
_("Right Border:"), 0.0, 0.5,
right_border_entry, 1, FALSE);
gimp_help_set_help_data (right_border_entry,
_("Distance from the right of the paper to "
@ -565,8 +561,8 @@ create_positioning_frame (void)
bottom_entry = gtk_entry_new ();
gtk_widget_set_size_request (bottom_entry, 60, -1);
gimp_table_attach_aligned (GTK_TABLE (table), 2, 3,
_("Bottom:"), 1.0, 0.5,
bottom_entry, 1, TRUE);
_("Bottom:"), 0.0, 0.5,
bottom_entry, 1, FALSE);
gimp_help_set_help_data (bottom_entry,
_("Distance from the top of the paper to "
@ -579,8 +575,8 @@ create_positioning_frame (void)
bottom_border_entry = gtk_entry_new ();
gtk_widget_set_size_request (bottom_border_entry, 60, -1);
gimp_table_attach_aligned (GTK_TABLE (table), 2, 4,
_("Bottom Border:"), 1.0, 0.5,
bottom_border_entry, 1, TRUE);
_("Bottom Border:"), 0.0, 0.5,
bottom_border_entry, 1, FALSE);
gimp_help_set_help_data (bottom_border_entry,
_("Distance from the bottom of the paper to "
@ -590,17 +586,13 @@ create_positioning_frame (void)
G_CALLBACK (gimp_position_callback),
NULL);
sep = gtk_hseparator_new ();
gtk_table_attach_defaults (GTK_TABLE (table), sep, 0, 4, 5, 6);
gtk_widget_show (sep);
/*
* Center options
*/
box = gtk_hbox_new (TRUE, 4);
box = gtk_hbox_new (TRUE, 6);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 6,
_("Center:"), 1.0, 0.5,
_("Center:"), 0.0, 0.5,
box, 3, FALSE);
recenter_vertical_button =
@ -666,10 +658,9 @@ create_printer_dialog (void)
*/
table = gtk_table_new (5, 2, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (table), 6);
gtk_table_set_col_spacings (GTK_TABLE (table), 4);
gtk_table_set_row_spacings (GTK_TABLE (table), 8);
gtk_table_set_row_spacing (GTK_TABLE (table), 0, 100);
gtk_container_set_border_width (GTK_CONTAINER (table), 12);
gtk_table_set_col_spacings (GTK_TABLE (table), 6);
gtk_table_set_row_spacings (GTK_TABLE (table), 6);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (setup_dialog)->vbox), table,
TRUE, TRUE, 0);
gtk_widget_show (table);
@ -679,14 +670,14 @@ create_printer_dialog (void)
*/
label = gtk_label_new (_("Printer Model:"));
gtk_misc_set_alignment (GTK_MISC (label), 1.0, 0.5);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.0);
gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 2,
GTK_FILL, GTK_FILL, 0, 0);
gtk_widget_show (label);
event_box = gtk_event_box_new ();
gtk_table_attach (GTK_TABLE (table), event_box, 1, 3, 0, 2,
GTK_FILL, GTK_FILL|GTK_EXPAND, 0, 0);
GTK_FILL | GTK_EXPAND, GTK_FILL | GTK_EXPAND, 0, 0);
gtk_widget_show (event_box);
gimp_help_set_help_data (event_box,
@ -730,14 +721,14 @@ create_printer_dialog (void)
*/
ppd_label = gtk_label_new (_("PPD File:"));
gtk_misc_set_alignment (GTK_MISC (ppd_label), 1.0, 0.5);
gtk_misc_set_alignment (GTK_MISC (ppd_label), 0.0, 0.5);
gtk_table_attach (GTK_TABLE (table), ppd_label, 0, 1, 3, 4,
GTK_FILL, GTK_FILL, 0, 0);
gtk_widget_show (ppd_label);
box = gtk_hbox_new (FALSE, 8);
box = gtk_hbox_new (FALSE, 6);
gtk_table_attach (GTK_TABLE (table), box, 1, 2, 3, 4,
GTK_FILL, GTK_FILL, 0, 0);
GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0);
gtk_widget_show (box);
ppd_file = gtk_entry_new ();
@ -745,7 +736,7 @@ create_printer_dialog (void)
gtk_widget_show (ppd_file);
gimp_help_set_help_data (ppd_file,
_("Enter the correct PPD filename for your printer"),
_("Enter the PPD filename for your printer"),
NULL);
ppd_button = gtk_button_new_with_label (_("Browse"));
@ -754,7 +745,7 @@ create_printer_dialog (void)
gtk_widget_show (ppd_button);
gimp_help_set_help_data (ppd_button,
_("Choose the correct PPD filename for your printer"),
_("Choose the PPD file for your printer"),
NULL);
g_signal_connect (ppd_button, "clicked",
G_CALLBACK (gimp_ppd_browse_callback),
@ -765,7 +756,7 @@ create_printer_dialog (void)
*/
output_label = gtk_label_new (_("Command:"));
gtk_misc_set_alignment (GTK_MISC (output_label), 1.0, 0.5);
gtk_misc_set_alignment (GTK_MISC (output_label), 0.0, 0.5);
gtk_table_attach (GTK_TABLE (table), output_label, 0, 1, 2, 3,
GTK_FILL, GTK_FILL, 0, 0);
gtk_widget_show (output_label);
@ -777,38 +768,29 @@ create_printer_dialog (void)
gimp_help_set_help_data
(output_cmd,
_("Enter the correct command to print to your printer. "
_("Enter the command to print to your printer. "
"Note: Please do not remove the `-l' or `-oraw' from "
"the command string, or printing will probably fail!"),
NULL);
/*
* Output file selection dialog.
*/
file_browser = gtk_file_selection_new (_("Print To File?"));
g_signal_connect (GTK_FILE_SELECTION (file_browser)->ok_button, "clicked",
G_CALLBACK (gimp_file_ok_callback),
NULL);
g_signal_connect (GTK_FILE_SELECTION (file_browser)->cancel_button, "clicked",
G_CALLBACK (gimp_file_cancel_callback),
NULL);
/*
* PPD file selection dialog.
*/
ppd_browser = gtk_file_selection_new (_("PPD File?"));
gtk_file_selection_hide_fileop_buttons (GTK_FILE_SELECTION (ppd_browser));
ppd_browser =
gtk_file_chooser_dialog_new (_("Choose PPD File"),
GTK_WINDOW (setup_dialog),
GTK_FILE_CHOOSER_ACTION_OPEN,
g_signal_connect (GTK_FILE_SELECTION (ppd_browser)->ok_button, "clicked",
G_CALLBACK (gimp_ppd_ok_callback),
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OK, GTK_RESPONSE_OK,
NULL);
gtk_dialog_set_default_response (GTK_DIALOG (ppd_browser), GTK_RESPONSE_OK);
g_signal_connect (ppd_browser, "response",
G_CALLBACK (gimp_ppd_response),
NULL);
g_signal_connect_swapped (GTK_FILE_SELECTION (ppd_browser)->cancel_button,
"clicked",
G_CALLBACK (gtk_widget_hide),
ppd_browser);
}
static void
@ -831,17 +813,17 @@ create_new_printer_dialog (void)
NULL);
table = gtk_table_new (1, 2, FALSE);
gtk_container_set_border_width (GTK_CONTAINER (table), 6);
gtk_table_set_col_spacings (GTK_TABLE (table), 4);
gtk_table_set_row_spacings (GTK_TABLE (table), 8);
gtk_container_set_border_width (GTK_CONTAINER (table), 12);
gtk_table_set_col_spacings (GTK_TABLE (table), 6);
gtk_table_set_row_spacings (GTK_TABLE (table), 6);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (new_printer_dialog)->vbox), table,
FALSE, FALSE, 0);
gtk_widget_show (table);
new_printer_entry = gtk_entry_new ();
gtk_entry_set_max_length (GTK_ENTRY (new_printer_entry), 127);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 0, _("Printer Name:"), 1.0,
0.5, new_printer_entry, 1, TRUE);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 0, _("Printer Name:"),
0.0, 0.5, new_printer_entry, 1, FALSE);
gimp_help_set_help_data (new_printer_entry,
_("Enter the name you wish to give this logical printer"),
@ -892,7 +874,7 @@ create_about_dialog (void)
"Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 "
"USA\n"));
gtk_misc_set_padding (GTK_MISC (label), 12, 4);
gtk_misc_set_padding (GTK_MISC (label), 12, 12);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (about_dialog)->vbox), label,
FALSE, FALSE, 0);
gtk_widget_show (label);
@ -913,9 +895,9 @@ create_printer_settings_frame (void)
create_new_printer_dialog ();
table = gtk_table_new (9, 2, FALSE);
gtk_table_set_col_spacings (GTK_TABLE (table), 2);
gtk_table_set_row_spacings (GTK_TABLE (table), 2);
gtk_container_set_border_width (GTK_CONTAINER (table), 4);
gtk_table_set_col_spacings (GTK_TABLE (table), 6);
gtk_table_set_row_spacings (GTK_TABLE (table), 6);
gtk_container_set_border_width (GTK_CONTAINER (table), 12);
gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
table,
gtk_label_new (_("Printer Settings")));
@ -935,15 +917,16 @@ create_printer_settings_frame (void)
"or model, of printer) that you wish to print to"),
NULL);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 0,
_("Printer Name:"), 1.0, 0.5,
event_box, 2, TRUE);
_("Printer Name:"), 0.0, 0.5,
event_box, 1, FALSE);
printer_model_label = gtk_label_new ("");
gtk_misc_set_alignment (GTK_MISC (printer_model_label), 0.0, 0.5);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 1,
_("Printer Model:"), 1.0, 0.5,
printer_model_label, 2, TRUE);
_("Printer Model:"), 0.0, 0.5,
printer_model_label, 2, FALSE);
printer_hbox = gtk_hbox_new (TRUE, 4);
printer_hbox = gtk_hbox_new (TRUE, 6);
gtk_table_attach_defaults (GTK_TABLE (table), printer_hbox, 1, 2, 2, 3);
gtk_widget_show (printer_hbox);
@ -994,17 +977,17 @@ create_printer_settings_frame (void)
_("Size of paper that you wish to print to"),
NULL);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 3,
_("Media Size:"), 1.0, 0.5,
event_box, 1, TRUE);
_("Media Size:"), 0.0, 0.5,
event_box, 1, FALSE);
/*
* Custom media size entries
*/
media_size_hbox = gtk_hbox_new (FALSE, 4);
media_size_hbox = gtk_hbox_new (FALSE, 12);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 4,
_("Dimensions:"), 1.0, 0.5,
media_size_hbox, 2, TRUE);
_("Dimensions:"), 0.0, 0.5,
media_size_hbox, 1, FALSE);
label = gtk_label_new (_("Width:"));
gtk_box_pack_start (GTK_BOX (media_size_hbox), label, FALSE, FALSE, 0);
@ -1013,7 +996,7 @@ create_printer_settings_frame (void)
custom_size_width = gtk_entry_new ();
gtk_widget_set_size_request (custom_size_width, 40, -1);
gtk_box_pack_start (GTK_BOX (media_size_hbox), custom_size_width,
FALSE, FALSE, 0);
TRUE, TRUE, 0);
gtk_widget_show (custom_size_width);
gimp_help_set_help_data (custom_size_width,
@ -1030,7 +1013,7 @@ create_printer_settings_frame (void)
custom_size_height = gtk_entry_new ();
gtk_widget_set_size_request (custom_size_height, 50, -1);
gtk_box_pack_start (GTK_BOX (media_size_hbox), custom_size_height,
FALSE, FALSE, 0);
TRUE, TRUE, 0);
gtk_widget_show (custom_size_height);
gimp_help_set_help_data (custom_size_height,
@ -1053,8 +1036,8 @@ create_printer_settings_frame (void)
_("Type of media you're printing to"),
NULL);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 5,
_("Media Type:"), 1.0, 0.5,
event_box, 2, TRUE);
_("Media Type:"), 0.0, 0.5,
event_box, 1, FALSE);
/*
* Media source combo box.
@ -1069,8 +1052,8 @@ create_printer_settings_frame (void)
_("Source (input slot) of media you're printing to"),
NULL);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 6,
_("Media Source:"), 1.0, 0.5,
event_box, 2, TRUE);
_("Media Source:"), 0.0, 0.5,
event_box, 1, FALSE);
/*
* Ink type combo box.
@ -1085,8 +1068,8 @@ create_printer_settings_frame (void)
_("Type of ink in the printer"),
NULL);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 7,
_("Ink Type:"), 1.0, 0.5,
event_box, 2, TRUE);
_("Ink Type:"), 0.0, 0.5,
event_box, 1, FALSE);
/*
* Resolution combo box.
@ -1101,8 +1084,8 @@ create_printer_settings_frame (void)
_("Resolution and quality of the print"),
NULL);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 8,
_("Resolution:"), 1.0, 0.5,
event_box, 2, TRUE);
_("Resolution:"), 0.0, 0.5,
event_box, 1, FALSE);
}
static void
@ -1114,20 +1097,18 @@ create_scaling_frame (void)
GtkWidget *box;
GtkWidget *label;
GtkWidget *event_box;
GtkWidget *sep;
GSList *group;
frame = gtk_frame_new (_("Size"));
frame = gimp_frame_new (_("Size"));
gtk_box_pack_start (GTK_BOX (main_vbox), frame, FALSE, FALSE, 0);
gtk_widget_show (frame);
vbox = gtk_vbox_new (FALSE, 2);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 4);
vbox = gtk_vbox_new (FALSE, 6);
gtk_container_add (GTK_CONTAINER (frame), vbox);
gtk_widget_show (vbox);
table = gtk_table_new (1, 3, FALSE);
gtk_table_set_col_spacings (GTK_TABLE (table), 4);
gtk_table_set_col_spacings (GTK_TABLE (table), 6);
gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0);
gtk_widget_show (table);
@ -1149,11 +1130,7 @@ create_scaling_frame (void)
G_CALLBACK (gimp_scaling_update),
NULL);
sep = gtk_hseparator_new ();
gtk_box_pack_start (GTK_BOX (vbox), sep, FALSE, FALSE, 0);
gtk_widget_show (sep);
box = gtk_hbox_new (FALSE, 4);
box = gtk_hbox_new (FALSE, 12);
gtk_box_pack_start (GTK_BOX (vbox), box, FALSE, FALSE, 0);
gtk_widget_show (box);
@ -1162,7 +1139,8 @@ create_scaling_frame (void)
*/
table = gtk_table_new (2, 2, FALSE);
gtk_table_set_col_spacings (GTK_TABLE (table), 4);
gtk_table_set_col_spacings (GTK_TABLE (table), 6);
gtk_table_set_row_spacings (GTK_TABLE (table), 2);
gtk_box_pack_start (GTK_BOX (box), table, FALSE, FALSE, 0);
gtk_widget_show (table);
@ -1185,7 +1163,7 @@ create_scaling_frame (void)
group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (scaling_percent));
gimp_table_attach_aligned (GTK_TABLE (table), 0, 0,
NULL, 0.5, 0.5,
scaling_percent, 1, TRUE);
scaling_percent, 1, FALSE);
gimp_help_set_help_data (scaling_percent,
_("Scale the print to the size of the page"),
@ -1197,7 +1175,7 @@ create_scaling_frame (void)
scaling_ppi = gtk_radio_button_new_with_label (group, _("PPI"));
gimp_table_attach_aligned (GTK_TABLE (table), 0, 1,
NULL, 0.5, 0.5,
scaling_ppi, 1, TRUE);
scaling_ppi, 1, FALSE);
gimp_help_set_help_data (scaling_ppi,
_("Scale the print to the number of dots per inch"),
@ -1206,24 +1184,20 @@ create_scaling_frame (void)
G_CALLBACK (gimp_scaling_callback),
NULL);
sep = gtk_vseparator_new ();
gtk_box_pack_start (GTK_BOX (box), sep, FALSE, FALSE, 8);
gtk_widget_show (sep);
/*
* The width/height enries
*/
table = gtk_table_new (2, 2, FALSE);
gtk_table_set_col_spacings (GTK_TABLE (table), 2);
gtk_table_set_col_spacings (GTK_TABLE (table), 6);
gtk_box_pack_start (GTK_BOX (box), table, FALSE, FALSE, 0);
gtk_widget_show (table);
width_entry = gtk_entry_new ();
gtk_widget_set_size_request (width_entry, 60, -1);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 0,
_("Width:"), 1.0, 0.5,
width_entry, 1, TRUE);
_("Width:"), 0.0, 0.5,
width_entry, 1, FALSE);
gimp_help_set_help_data (width_entry,
_("Set the width of the print"),
@ -1235,8 +1209,8 @@ create_scaling_frame (void)
height_entry = gtk_entry_new ();
gtk_widget_set_size_request (height_entry, 60, -1);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 1,
_("Height:"), 1.0, 0.5,
height_entry, 1, TRUE);
_("Height:"), 0.0, 0.5,
height_entry, 1, FALSE);
gimp_help_set_help_data (height_entry,
_("Set the height of the print"),
@ -1250,7 +1224,8 @@ create_scaling_frame (void)
*/
table = gtk_table_new (2, 2, FALSE);
gtk_table_set_col_spacings (GTK_TABLE (table), 4);
gtk_table_set_col_spacings (GTK_TABLE (table), 6);
gtk_table_set_row_spacings (GTK_TABLE (table), 2);
gtk_box_pack_start (GTK_BOX (box), table, FALSE, FALSE, 0);
gtk_widget_show (table);
@ -1271,33 +1246,33 @@ create_scaling_frame (void)
group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (unit_inch));
gimp_table_attach_aligned (GTK_TABLE (table), 0, 0,
NULL, 0.5, 0.5,
unit_inch, 1, TRUE);
unit_inch, 1, FALSE);
gimp_help_set_help_data (unit_inch,
_("Set the base unit of measurement to inches"),
NULL);
g_signal_connect (unit_inch, "toggled",
G_CALLBACK (gimp_unit_callback),
(gpointer) 0);
GINT_TO_POINTER (0));
unit_cm = gtk_radio_button_new_with_label (group, _("cm"));
gimp_table_attach_aligned (GTK_TABLE (table), 0, 1,
NULL, 0.5, 0.5,
unit_cm, 1, TRUE);
unit_cm, 1, FALSE);
gimp_help_set_help_data (unit_cm,
_("Set the base unit of measurement to centimetres"),
NULL);
g_signal_connect (unit_cm, "toggled",
G_CALLBACK (gimp_unit_callback),
(gpointer) 1);
GINT_TO_POINTER (1));
/*
* The "image size" button
*/
scaling_image = gtk_button_new_with_label (_("Use Original\nImage Size"));
gtk_misc_set_padding (GTK_MISC (GTK_BIN (scaling_image)->child), 8, 4);
gtk_misc_set_padding (GTK_MISC (GTK_BIN (scaling_image)->child), 6, 6);
gtk_box_pack_end (GTK_BOX (box), scaling_image, FALSE, TRUE, 0);
gtk_widget_show (scaling_image);
@ -1312,24 +1287,25 @@ create_scaling_frame (void)
static void
create_image_settings_frame (void)
{
GtkWidget *vbox;
GtkWidget *table;
GtkWidget *label;
GtkWidget *event_box;
GtkWidget *sep;
GSList *group;
GtkSizeGroup *size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
GtkWidget *vbox;
GtkWidget *table;
GtkWidget *label;
GtkWidget *event_box;
GSList *group;
gimp_create_color_adjust_window ();
vbox = gtk_vbox_new (FALSE, 4);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 4);
vbox = gtk_vbox_new (FALSE, 12);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
gtk_notebook_append_page (GTK_NOTEBOOK (notebook),
vbox,
gtk_label_new (_("Image / Output Settings")));
gtk_widget_show (vbox);
table = gtk_table_new (3, 2, FALSE);
gtk_table_set_col_spacings (GTK_TABLE (table), 4);
gtk_table_set_col_spacings (GTK_TABLE (table), 6);
gtk_table_set_row_spacings (GTK_TABLE (table), 2);
gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0);
gtk_widget_show (table);
@ -1342,6 +1318,9 @@ create_image_settings_frame (void)
gtk_container_add (GTK_CONTAINER (event_box), label);
gtk_widget_show (label);
gtk_size_group_add_widget (size_group, label);
g_object_unref (size_group);
gimp_help_set_help_data (event_box,
_("Optimize the output for the type of image "
"being printed"),
@ -1359,7 +1338,7 @@ create_image_settings_frame (void)
NULL);
g_signal_connect (image_line_art, "toggled",
G_CALLBACK (gimp_image_type_callback),
(gpointer) IMAGE_LINE_ART);
GINT_TO_POINTER (IMAGE_LINE_ART));
image_solid_tone = gtk_radio_button_new_with_label (group, _("Solid Colors"));
group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (image_solid_tone));
@ -1373,7 +1352,7 @@ create_image_settings_frame (void)
NULL);
g_signal_connect (image_solid_tone, "toggled",
G_CALLBACK (gimp_image_type_callback),
(gpointer) IMAGE_SOLID_TONE);
GINT_TO_POINTER (IMAGE_SOLID_TONE));
image_continuous_tone = gtk_radio_button_new_with_label (group,
_("Photograph"));
@ -1389,19 +1368,16 @@ create_image_settings_frame (void)
NULL);
g_signal_connect (image_continuous_tone, "toggled",
G_CALLBACK (gimp_image_type_callback),
(gpointer) IMAGE_CONTINUOUS);
sep = gtk_hseparator_new ();
gtk_box_pack_start (GTK_BOX (vbox), sep, FALSE, FALSE, 0);
gtk_widget_show (sep);
GINT_TO_POINTER (IMAGE_CONTINUOUS));
/*
* Output type toggles.
*/
table = gtk_table_new (4, 2, FALSE);
gtk_table_set_col_spacings (GTK_TABLE (table), 4);
gtk_table_set_row_spacing (GTK_TABLE (table), 2, 4);
gtk_table_set_col_spacings (GTK_TABLE (table), 6);
gtk_table_set_row_spacings (GTK_TABLE (table), 2);
gtk_table_set_row_spacing (GTK_TABLE (table), 2, 6);
gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0);
gtk_widget_show (table);
@ -1414,6 +1390,8 @@ create_image_settings_frame (void)
gtk_container_add (GTK_CONTAINER (event_box), label);
gtk_widget_show (label);
gtk_size_group_add_widget (size_group, label);
gimp_help_set_help_data (event_box,
_("Select the desired output type"),
NULL);
@ -1427,7 +1405,7 @@ create_image_settings_frame (void)
gimp_help_set_help_data (output_color, _("Color output"), NULL);
g_signal_connect (output_color, "toggled",
G_CALLBACK (gimp_output_type_callback),
(gpointer) OUTPUT_COLOR);
GINT_TO_POINTER (OUTPUT_COLOR));
output_gray = gtk_radio_button_new_with_label (group, _("Grayscale"));
group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (output_gray));
@ -1440,7 +1418,7 @@ create_image_settings_frame (void)
NULL);
g_signal_connect (output_gray, "toggled",
G_CALLBACK (gimp_output_type_callback),
(gpointer) OUTPUT_GRAY);
GINT_TO_POINTER (OUTPUT_GRAY));
output_monochrome = gtk_radio_button_new_with_label (group,
_("Black and White"));
@ -1455,7 +1433,7 @@ create_image_settings_frame (void)
NULL);
g_signal_connect (output_monochrome, "toggled",
G_CALLBACK (gimp_output_type_callback),
(gpointer) OUTPUT_MONOCHROME);
GINT_TO_POINTER (OUTPUT_MONOCHROME));
/*
* Color adjust button
@ -1465,14 +1443,14 @@ create_image_settings_frame (void)
gtk_misc_set_padding (GTK_MISC (GTK_BIN (adjust_color_button)->child), 4, 0);
gimp_table_attach_aligned (GTK_TABLE (table), 0, 3,
NULL, 0.5, 0.5,
adjust_color_button, 1, TRUE);
adjust_color_button, 1, FALSE);
gimp_help_set_help_data (adjust_color_button,
_("Adjust color balance, brightness, contrast, "
"saturation, and dither algorithm"),
NULL);
g_signal_connect_swapped (adjust_color_button, "clicked",
G_CALLBACK (gtk_widget_show),
G_CALLBACK (gtk_window_present),
gimp_color_adjust_dialog);
}
@ -1498,6 +1476,24 @@ gimp_create_main_window (void)
create_scaling_frame ();
create_image_settings_frame ();
/*
* Output file selection dialog.
*/
file_browser =
gtk_file_chooser_dialog_new (_("Print to File"),
GTK_WINDOW (print_dialog),
GTK_FILE_CHOOSER_ACTION_SAVE,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_PRINT, GTK_RESPONSE_OK,
NULL);
gtk_dialog_set_default_response (GTK_DIALOG (file_browser), GTK_RESPONSE_OK);
g_signal_connect (file_browser, "response",
G_CALLBACK (gimp_file_response),
NULL);
/*
* Now actually set up the correct values in the dialog
*/
@ -2317,7 +2313,7 @@ gimp_output_type_callback (GtkWidget *widget,
if (GTK_TOGGLE_BUTTON (widget)->active)
{
stp_set_output_type (*pv, (gint) data);
stp_set_output_type (*pv, GPOINTER_TO_INT (data));
gimp_invalidate_preview_thumbnail ();
gimp_update_adjusted_thumbnail ();
}
@ -2341,7 +2337,7 @@ gimp_unit_callback (GtkWidget *widget,
if (GTK_TOGGLE_BUTTON (widget)->active)
{
stp_set_unit (*pv, (gint) data);
stp_set_unit (*pv, GPOINTER_TO_INT (data));
gimp_preview_update ();
}
}
@ -2357,7 +2353,7 @@ gimp_image_type_callback (GtkWidget *widget,
if (GTK_TOGGLE_BUTTON (widget)->active)
{
stp_set_image_type (*pv, (gint) data);
stp_set_image_type (*pv, GPOINTER_TO_INT (data));
gimp_invalidate_preview_thumbnail ();
gimp_update_adjusted_thumbnail ();
}
@ -2429,7 +2425,8 @@ gimp_response_callback (GtkWidget *dialog,
static void
gimp_setup_update (void)
{
gint idx;
gboolean ppd;
gint idx;
current_printer = stp_get_printer_by_driver (stp_get_driver (*pv));
idx = stp_get_printer_index_by_driver (stp_get_driver (*pv));
@ -2438,31 +2435,16 @@ gimp_setup_update (void)
gtk_entry_set_text (GTK_ENTRY (ppd_file), stp_get_ppd_file (*pv));
if (strncmp (stp_get_driver (*pv),"ps", 2) == 0)
{
gtk_widget_show (ppd_label);
gtk_widget_show (ppd_file);
gtk_widget_show (ppd_button);
}
else
{
gtk_widget_hide (ppd_label);
gtk_widget_hide (ppd_file);
gtk_widget_hide (ppd_button);
}
ppd = (strncmp (stp_get_driver (*pv), "ps", 2) == 0);
gtk_widget_set_sensitive (ppd_label, ppd);
gtk_widget_set_sensitive (ppd_file, ppd);
gtk_widget_set_sensitive (ppd_button, ppd);
gtk_entry_set_text (GTK_ENTRY (output_cmd), stp_get_output_to (*pv));
if (plist_current == 0)
{
gtk_widget_hide (output_label);
gtk_widget_hide (output_cmd);
}
else
{
gtk_widget_show (output_label);
gtk_widget_show (output_cmd);
}
gtk_widget_set_sensitive (output_label, plist_current != 0);
gtk_widget_set_sensitive (output_cmd, plist_current != 0);
gtk_clist_moveto (GTK_CLIST (printer_driver), idx, -1, 0.5, 0.5);
}
@ -2585,6 +2567,7 @@ gimp_print_driver_callback (GtkWidget *widget, /* I - Driver list */
gpointer data) /* I - Data */
{
stp_vars_t printvars;
gboolean ppd;
gimp_invalidate_preview_thumbnail ();
reset_preview ();
@ -2593,18 +2576,11 @@ gimp_print_driver_callback (GtkWidget *widget, /* I - Driver list */
gtk_label_set_text (GTK_LABEL (printer_model_label),
gettext (stp_printer_get_long_name (current_printer)));
if (strncmp (stp_printer_get_driver (current_printer), "ps", 2) == 0)
{
gtk_widget_show (ppd_label);
gtk_widget_show (ppd_file);
gtk_widget_show (ppd_button);
}
else
{
gtk_widget_hide (ppd_label);
gtk_widget_hide (ppd_file);
gtk_widget_hide (ppd_button);
}
ppd = (strncmp (stp_printer_get_driver (current_printer), "ps", 2) == 0);
gtk_widget_set_sensitive (ppd_label, ppd);
gtk_widget_set_sensitive (ppd_file, ppd);
gtk_widget_set_sensitive (ppd_button, ppd);
printvars = stp_printer_get_printvars (current_printer);
@ -2619,53 +2595,60 @@ gimp_print_driver_callback (GtkWidget *widget, /* I - Driver list */
}
}
/*
* gimp_ppd_browse_callback() -
*/
static void
gimp_ppd_browse_callback (void)
{
const gchar *filename = gtk_entry_get_text (GTK_ENTRY (ppd_file));
reset_preview ();
gtk_file_selection_set_filename (GTK_FILE_SELECTION (ppd_browser),
gtk_entry_get_text (GTK_ENTRY (ppd_file)));
if (filename && g_path_is_absolute (filename))
gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (ppd_browser), filename);
gtk_widget_show (ppd_browser);
}
/*
* gimp_ppd_ok_callback() -
*/
static void
gimp_ppd_ok_callback (void)
gimp_ppd_response (GtkWidget *dialog,
gint response_id)
{
reset_preview ();
gtk_widget_hide (ppd_browser);
gtk_entry_set_text
(GTK_ENTRY (ppd_file),
gtk_file_selection_get_filename (GTK_FILE_SELECTION (ppd_browser)));
gtk_widget_hide (dialog);
if (response_id == GTK_RESPONSE_OK)
{
gchar *filename;
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
gtk_entry_set_text (GTK_ENTRY (ppd_file), filename);
g_free (filename);
}
}
/*
* gimp_file_ok_callback() - print to file and go away
*/
static void
gimp_file_ok_callback (void)
gimp_file_response (GtkWidget *dialog,
gint response_id)
{
gtk_widget_hide (file_browser);
stp_set_output_to (*pv,
gtk_file_selection_get_filename (GTK_FILE_SELECTION (file_browser)));
gtk_widget_hide (dialog);
runme = TRUE;
gimp_destroy_dialogs ();
}
if (response_id == GTK_RESPONSE_OK)
{
gchar *filename;
/*
* gimp_file_cancel_callback() -
*/
static void
gimp_file_cancel_callback (void)
{
gtk_widget_hide (file_browser);
gimp_dialogs_set_sensitive (TRUE);
filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
stp_set_output_to (*pv, filename);
g_free (filename);
runme = TRUE;
gimp_destroy_dialogs ();
}
else
{
gimp_dialogs_set_sensitive (TRUE);
}
}
/*