patch for bug/wishlist 300450, add display option one or two column.

merge-requests/2/head
Gerard Klaver 2004-04-05 19:16:53 +00:00
rodzic 52b1cce372
commit dc41a0c10f
7 zmienionych plików z 62 dodań i 2 usunięć

Wyświetl plik

@ -1,5 +1,9 @@
2004-04-02 Henning Meier-Geinitz <henning@meier-geinitz.de> 2004-04-05 Gerard Klaver <gerard at gkall dot hobby dot nl>
* src/gtkglue.c src.gtkglue.h src/preferences.c src/preferences.h
src/xcam.c src/xscanimage.c: Add display option one or two column
See bug #300450.
2004-04-02 Henning Meier-Geinitz <henning@meier-geinitz.de>
* src/preview.c src/xscanimage.c: Set sensitivity to false when * src/preview.c src/xscanimage.c: Set sensitivity to false when
scanning or previewing. This change fixes some problems that scanning or previewing. This change fixes some problems that
accour when preview ist started again while preview is running. accour when preview ist started again while preview is running.

Wyświetl plik

@ -894,8 +894,16 @@ panel_build (GSGDialog * dialog)
int num_vector_opts = 0, *vector_opts; int num_vector_opts = 0, *vector_opts;
main_hbox = gtk_hbox_new (FALSE, 2); main_hbox = gtk_hbox_new (FALSE, 2);
if (dialog->twocolumn)
{
option_vbox = gtk_hbox_new (FALSE, 2); /* two column display */
}
else
{
option_vbox = gtk_vbox_new (FALSE, 2); /* one column display */
}
option_vbox = gtk_vbox_new (FALSE, 2);
gtk_box_pack_start (GTK_BOX (main_hbox), option_vbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (main_hbox), option_vbox, FALSE, FALSE, 0);
gtk_widget_show (option_vbox); gtk_widget_show (option_vbox);
@ -1258,6 +1266,7 @@ gsg_create_dialog (GtkWidget * window, const char *device_name,
dialog->param_change_callback = param_change_callback; dialog->param_change_callback = param_change_callback;
dialog->param_change_arg = param_change_arg; dialog->param_change_arg = param_change_arg;
dialog->advanced = preferences.advanced; dialog->advanced = preferences.advanced;
dialog->twocolumn = preferences.twocolumn_enabled;
dialog->element = malloc (num_elements * sizeof (dialog->element[0])); dialog->element = malloc (num_elements * sizeof (dialog->element[0]));
memset (dialog->element, 0, num_elements * sizeof (dialog->element[0])); memset (dialog->element, 0, num_elements * sizeof (dialog->element[0]));
@ -1401,6 +1410,13 @@ gsg_set_tooltips (GSGDialog *dialog, int enable)
gtk_tooltips_disable (dialog->tooltips); gtk_tooltips_disable (dialog->tooltips);
} }
void
gsg_set_twocolumn (GSGDialog *dialog, int twocolumn)
{
dialog->twocolumn = twocolumn;
panel_rebuild (dialog);
}
void void
gsg_set_sensitivity (GSGDialog *dialog, int sensitive) gsg_set_sensitivity (GSGDialog *dialog, int sensitive)
{ {

Wyświetl plik

@ -55,6 +55,7 @@ typedef struct GSGDialog
GtkWidget *window; GtkWidget *window;
GtkWidget *main_hbox; GtkWidget *main_hbox;
GtkWidget *advanced_vbox; GtkWidget *advanced_vbox;
GtkWidget *twocolumn;
GtkTooltips *tooltips; GtkTooltips *tooltips;
GdkColor tooltips_fg; GdkColor tooltips_fg;
GdkColor tooltips_bg; GdkColor tooltips_bg;
@ -111,6 +112,7 @@ extern void gsg_refresh_dialog (GSGDialog *dialog);
extern void gsg_update_scan_window (GSGDialog *dialog); extern void gsg_update_scan_window (GSGDialog *dialog);
extern void gsg_set_advanced (GSGDialog *dialog, int advanced); extern void gsg_set_advanced (GSGDialog *dialog, int advanced);
extern void gsg_set_tooltips (GSGDialog *dialog, int enable); extern void gsg_set_tooltips (GSGDialog *dialog, int enable);
extern void gsg_set_twocolumn (GSGDialog *dialog, int enable);
extern void gsg_set_sensitivity (GSGDialog *dialog, int sensitive); extern void gsg_set_sensitivity (GSGDialog *dialog, int sensitive);
extern void gsg_destroy_dialog (GSGDialog * dialog); extern void gsg_destroy_dialog (GSGDialog * dialog);

Wyświetl plik

@ -38,6 +38,7 @@ Preferences preferences =
0, /* no default filename */ 0, /* no default filename */
0, /* advanced user */ 0, /* advanced user */
1, /* tooltips enabled */ 1, /* tooltips enabled */
1, /* two column enabled */
10.0, /* length unit */ 10.0, /* length unit */
1, /* preserve_preview */ 1, /* preserve_preview */
0, /* preview_own_cmap */ 0, /* preview_own_cmap */
@ -60,6 +61,7 @@ desc[] =
{"filename", w_string, POFFSET(filename)}, {"filename", w_string, POFFSET(filename)},
{"advanced", w_int, POFFSET(advanced)}, {"advanced", w_int, POFFSET(advanced)},
{"tool-tips", w_int, POFFSET(tooltips_enabled)}, {"tool-tips", w_int, POFFSET(tooltips_enabled)},
{"twocolumn", w_int, POFFSET(twocolumn_enabled)},
{"length-unit", w_double, POFFSET(length_unit)}, {"length-unit", w_double, POFFSET(length_unit)},
{"preserve-preview", w_int, POFFSET(preserve_preview)}, {"preserve-preview", w_int, POFFSET(preserve_preview)},
{"preview-own-cmap", w_int, POFFSET(preview_own_cmap)}, {"preview-own-cmap", w_int, POFFSET(preview_own_cmap)},

Wyświetl plik

@ -9,6 +9,7 @@ typedef struct
const char *filename; /* default filename */ const char *filename; /* default filename */
int advanced; /* advanced user? */ int advanced; /* advanced user? */
int tooltips_enabled; /* should tooltips be disabled? */ int tooltips_enabled; /* should tooltips be disabled? */
int twocolumn_enabled; /* should two column be disabled? */
double length_unit; /* 1.0==mm, 10.0==cm, 25.4==inches, etc. */ double length_unit; /* 1.0==mm, 10.0==cm, 25.4==inches, etc. */
int preserve_preview; /* save/restore preview image(s)? */ int preserve_preview; /* save/restore preview image(s)? */
int preview_own_cmap; /* install colormap for preview */ int preview_own_cmap; /* install colormap for preview */

Wyświetl plik

@ -492,6 +492,13 @@ pref_toggle_tooltips (GtkWidget *widget, gpointer data)
gsg_set_tooltips (dialog, preferences.tooltips_enabled); gsg_set_tooltips (dialog, preferences.tooltips_enabled);
} }
static void
pref_toggle_twocolumn (GtkWidget *widget, gpointer data)
{
preferences.twocolumn_enabled = (GTK_CHECK_MENU_ITEM (widget)->active != 0);
gsg_set_twocolumn (dialog, preferences.twocolumn_enabled);
}
static GtkWidget * static GtkWidget *
build_preferences_menu (GSGDialog *dialog) build_preferences_menu (GSGDialog *dialog)
{ {
@ -517,6 +524,16 @@ build_preferences_menu (GSGDialog *dialog)
gtk_widget_show (item); gtk_widget_show (item);
gtk_signal_connect (GTK_OBJECT (item), "toggled", gtk_signal_connect (GTK_OBJECT (item), "toggled",
(GtkSignalFunc) pref_toggle_tooltips, 0); (GtkSignalFunc) pref_toggle_tooltips, 0);
/* twocolumn submenu: */
item = gtk_check_menu_item_new_with_label ("Show two column display");
gtk_check_menu_item_set_state (GTK_CHECK_MENU_ITEM (item),
preferences.twocolumn_enabled);
gtk_menu_append (GTK_MENU (menu), item);
gtk_widget_show (item);
gtk_signal_connect (GTK_OBJECT (item), "toggled",
(GtkSignalFunc) pref_toggle_twocolumn, 0);
item = gtk_menu_item_new (); item = gtk_menu_item_new ();
gtk_container_add (GTK_CONTAINER (menu), item); gtk_container_add (GTK_CONTAINER (menu), item);

Wyświetl plik

@ -1583,6 +1583,14 @@ pref_toggle_tooltips (GtkWidget *widget, gpointer data)
pref_xscanimage_save (); pref_xscanimage_save ();
} }
static void
pref_toggle_twocolumn (GtkWidget *widget, gpointer data)
{
preferences.twocolumn_enabled = (GTK_CHECK_MENU_ITEM (widget)->active != 0);
gsg_set_twocolumn (dialog, preferences.twocolumn_enabled);
pref_xscanimage_save ();
}
static GtkWidget * static GtkWidget *
pref_build_menu (void) pref_build_menu (void)
{ {
@ -1612,6 +1620,16 @@ pref_build_menu (void)
gtk_widget_show (item); gtk_widget_show (item);
gtk_signal_connect (GTK_OBJECT (item), "toggled", gtk_signal_connect (GTK_OBJECT (item), "toggled",
(GtkSignalFunc) pref_toggle_tooltips, 0); (GtkSignalFunc) pref_toggle_tooltips, 0);
/* two column submenu: */
item = gtk_check_menu_item_new_with_label ("Show two column display");
gtk_check_menu_item_set_state (GTK_CHECK_MENU_ITEM (item),
preferences.twocolumn_enabled);
gtk_menu_append (GTK_MENU (menu), item);
gtk_widget_show (item);
gtk_signal_connect (GTK_OBJECT (item), "toggled",
(GtkSignalFunc) pref_toggle_twocolumn, 0);
/* length unit submenu: */ /* length unit submenu: */