* gtk_preferences.c: functions to handle the preferences dialog box.
*****************************************************************************
* Copyright (C) 2000, 2001 VideoLAN
- * $Id: gtk_preferences.c,v 1.15 2002/03/25 20:37:00 lool Exp $
+ * $Id: gtk_preferences.c,v 1.16 2002/03/25 22:38:28 lool Exp $
*
* Authors: Gildas Bazin <gbazin@netcourrier.com>
*
****************************************************************************/
/* create a new tooltipped area */
-#define TOOLTIP( container, text, ev_box ) \
+#define TOOLTIP( text ) \
/* create an event box to catch some events */ \
- ev_box = gtk_event_box_new(); \
- gtk_container_add( GTK_CONTAINER(container), ev_box ); \
+ item_event_box = gtk_event_box_new(); \
/* add a tooltip on mouseover */ \
/* FIXME: have a different text for the private text */ \
gtk_tooltips_set_tip( p_intf->p_sys->p_tooltips, \
- ev_box, text, text ); \
- gtk_container_set_border_width( GTK_CONTAINER(ev_box), 2 );
+ item_event_box, text, text ); \
+ gtk_container_set_border_width( GTK_CONTAINER(item_event_box), 4 );
/* draws a right aligned label in side of a widget */
-#define LABEL_AND_WIDGET( text, widget, hbox, label, align ) \
+#define LABEL_AND_WIDGET( label_text, widget, tooltip ) \
gtk_table_resize( GTK_TABLE(category_table), ++rows, 2 ); \
- align = gtk_alignment_new( 1, .5, 0, 0 ); \
- label = gtk_label_new( text ); \
- gtk_container_add( GTK_CONTAINER(align), label ); \
- gtk_table_attach_defaults( GTK_TABLE(category_table), align, \
+ item_align = gtk_alignment_new( 1, .5, 0, 0 ); \
+ item_label = gtk_label_new( label_text ); \
+ gtk_container_add( GTK_CONTAINER(item_align), item_label ); \
+ TOOLTIP(tooltip) \
+ gtk_container_add( GTK_CONTAINER(item_event_box), item_align ); \
+ gtk_table_attach_defaults( GTK_TABLE(category_table), item_event_box, \
0, 1, rows - 1, rows ); \
- align = gtk_alignment_new( 0, .5, 0, 0 ); \
- gtk_container_add( GTK_CONTAINER(align), widget ); \
- gtk_table_attach_defaults( GTK_TABLE(category_table), align, \
+ item_align = gtk_alignment_new( 0, .5, .5, 0 ); \
+ gtk_container_add( GTK_CONTAINER(item_align), widget ); \
+ TOOLTIP(tooltip) \
+ gtk_container_add( GTK_CONTAINER(item_event_box), item_align ); \
+ gtk_table_attach_defaults( GTK_TABLE(category_table), item_event_box, \
1, 2, rows - 1, rows );
static void GtkCreateConfigDialog( char *psz_module_name,
{
case MODULE_CONFIG_HINT_CATEGORY:
- /* pack a new vbox in the notebook */
- category_vbox = gtk_vbox_new( FALSE, 2 );
- gtk_container_set_border_width( GTK_CONTAINER(category_vbox), 2 );
+ /* add a new table for right-left alignment */
+ category_table = gtk_table_new( 0, 0, FALSE );
+ gtk_table_set_col_spacings( GTK_TABLE(category_table), 4 );
+ rows = 0;
+ /* the vbox serves only EXPAND / FILL issues in the notebook */
+ category_vbox = gtk_vbox_new( FALSE, 0 );
+ gtk_box_pack_start( GTK_BOX(category_vbox), category_table,
+ FALSE, FALSE, 0 );
+ gtk_container_set_border_width( GTK_CONTAINER(category_vbox), 4 );
/* add category vbox as a notebook page */
item_label = gtk_label_new( p_module->p_config[i].psz_text );
gtk_notebook_append_page( GTK_NOTEBOOK(config_notebook),
category_vbox, item_label );
- /* add a new table for right-left alignment */
- category_table = gtk_table_new( 0, 0, FALSE );
- gtk_table_set_col_spacings( GTK_TABLE(category_table), 2 );
- rows = 0;
- gtk_container_add( GTK_CONTAINER(category_vbox), category_table );
break;
gtk_table_attach_defaults( GTK_TABLE(category_table), item_frame,
0, 2, rows - 1, rows );
- TOOLTIP( item_frame, p_module->p_config[i].psz_longtext,
- item_event_box )
+ TOOLTIP( p_module->p_config[i].psz_longtext )
+ gtk_container_add( GTK_CONTAINER(item_frame), item_event_box );
- item_vbox = gtk_vbox_new( FALSE, 2 );
+ item_vbox = gtk_vbox_new( FALSE, 4 );
gtk_container_add( GTK_CONTAINER(item_event_box), item_vbox );
/* create a new clist widget */
NULL );
/* hbox holding the "select" and "configure" buttons */
- item_hbox = gtk_hbox_new( FALSE, 2 );
+ item_hbox = gtk_hbox_new( FALSE, 4 );
gtk_container_add( GTK_CONTAINER(item_vbox), item_hbox);
/* add configure button */
plugin_select_button );
/* hbox holding the "selected" label and text input */
- item_hbox = gtk_hbox_new( FALSE, 2 );
+ item_hbox = gtk_hbox_new( FALSE, 4 );
gtk_container_add( GTK_CONTAINER(item_vbox), item_hbox);
/* add new label */
item_label = gtk_label_new( _("Selected:") );
GTK_SIGNAL_FUNC(GtkStringChanged),
(gpointer)config_dialog );
- TOOLTIP( category_vbox, p_module->p_config[i].psz_longtext,
- item_event_box )
-
- LABEL_AND_WIDGET( p_module->p_config[i].psz_text, string_entry,
- item_hbox, item_label, item_align );
+ LABEL_AND_WIDGET( p_module->p_config[i].psz_text,
+ string_entry,
+ p_module->p_config[i].psz_longtext );
break;
case MODULE_CONFIG_ITEM_INTEGER:
/* add input box with default value */
item_adj = gtk_adjustment_new( p_module->p_config[i].i_value,
- -1, 1000, 1, 10, 10 );
+ -1, 99999, 1, 10, 10 );
integer_spinbutton = gtk_spin_button_new( GTK_ADJUSTMENT(item_adj),
1, 0 );
GTK_SIGNAL_FUNC(GtkIntChanged),
(gpointer)config_dialog );
- TOOLTIP( category_vbox, p_module->p_config[i].psz_longtext,
- item_event_box )
-
LABEL_AND_WIDGET( p_module->p_config[i].psz_text,
- integer_spinbutton, item_hbox, item_label,
- item_align );
+ integer_spinbutton,
+ p_module->p_config[i].psz_longtext );
break;
case MODULE_CONFIG_ITEM_BOOL:
GTK_SIGNAL_FUNC(GtkBoolChanged),
(gpointer)config_dialog );
- TOOLTIP( category_vbox, p_module->p_config[i].psz_longtext,
- item_event_box )
-
- LABEL_AND_WIDGET( p_module->p_config[i].psz_text, bool_checkbutton,
- item_hbox, item_label, item_align );
+ LABEL_AND_WIDGET( p_module->p_config[i].psz_text,
+ bool_checkbutton,
+ p_module->p_config[i].psz_longtext );
break;
}
}