diff --git a/ChangeLog b/ChangeLog index d46ca11ace..dc0fa8b36b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +Sat Oct 23 22:26:59 MEST 1999 Sven Neumann + + * app/channels_dialog.c + * app/gimpui.c + * app/layers_dialog.c + * app/ops_buttons.c + * app/paths_dialog.c: first approach at making the L&C-dialog smaller, + nicer and more usable. + + * pixmaps/anchor.xpm: changed the anchor back to the old 1.0 one. This + change is done only to test the new padding and to reflect the fact + that we need to overwork the icons. I don't want this icon to stay!! + Fri Oct 22 18:29:14 PDT 1999 Manish Singh * app/procedural_db.c: db_lookup seems to be used pretty often as a diff --git a/app/channels_dialog.c b/app/channels_dialog.c index 6310898f65..a22b6c2782 100644 --- a/app/channels_dialog.c +++ b/app/channels_dialog.c @@ -277,6 +277,8 @@ channels_dialog_create () /* The channels listbox */ listbox = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (listbox), + GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_widget_set_usize (listbox, CHANNEL_LIST_WIDTH, CHANNEL_LIST_HEIGHT); gtk_box_pack_start (GTK_BOX (vbox), listbox, TRUE, TRUE, 2); diff --git a/app/gimpui.c b/app/gimpui.c index 9a981ae3a1..e905884dae 100644 --- a/app/gimpui.c +++ b/app/gimpui.c @@ -156,57 +156,61 @@ gimp_dialog_newv (const gchar *title, (GTK_CONTAINER (GTK_DIALOG (dialog)->action_area), 2); gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (dialog)->action_area), FALSE); - hbbox = gtk_hbutton_box_new (); - gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbbox), 4); - gtk_box_pack_end (GTK_BOX (GTK_DIALOG (dialog)->action_area), hbbox, - FALSE, FALSE, 0); - gtk_widget_show (hbbox); - /* the action_area buttons */ label = va_arg (args, gchar*); - while (label) + + if (label) { - callback = va_arg (args, GtkSignalFunc); - data = va_arg (args, gpointer); - widget_ptr = va_arg (args, gpointer); - default_action = va_arg (args, gboolean); - connect_delete = va_arg (args, gboolean); - - button = gtk_button_new_with_label (label); - GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); - gtk_box_pack_start (GTK_BOX (hbbox), button, FALSE, FALSE, 0); - - /* pass data as user_data if data != NULL, or the dialog otherwise */ - if (callback) - gtk_signal_connect (GTK_OBJECT (button), "clicked", - GTK_SIGNAL_FUNC (callback), - data ? data : dialog); - - if (widget_ptr) - *widget_ptr = button; - - if (connect_delete && callback && !delete_connected) + hbbox = gtk_hbutton_box_new (); + gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbbox), 4); + gtk_box_pack_end (GTK_BOX (GTK_DIALOG (dialog)->action_area), hbbox, + FALSE, FALSE, 0); + gtk_widget_show (hbbox); + + while (label) { - gtk_object_set_data (GTK_OBJECT (dialog), - "gimp_dialog_cancel_callback", - callback); - gtk_object_set_data (GTK_OBJECT (dialog), - "gimp_dialog_cancel_widget", - button); + callback = va_arg (args, GtkSignalFunc); + data = va_arg (args, gpointer); + widget_ptr = va_arg (args, gpointer); + default_action = va_arg (args, gboolean); + connect_delete = va_arg (args, gboolean); + + button = gtk_button_new_with_label (label); + GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); + gtk_box_pack_start (GTK_BOX (hbbox), button, FALSE, FALSE, 0); + + /* pass data as user_data if data != NULL, or the dialog otherwise */ + if (callback) + gtk_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (callback), + data ? data : dialog); + + if (widget_ptr) + *widget_ptr = button; + + if (connect_delete && callback && !delete_connected) + { + gtk_object_set_data (GTK_OBJECT (dialog), + "gimp_dialog_cancel_callback", + callback); + gtk_object_set_data (GTK_OBJECT (dialog), + "gimp_dialog_cancel_widget", + button); + + /* catch the WM delete event */ + gtk_signal_connect (GTK_OBJECT (dialog), "delete_event", + (GdkEventFunc) gimp_dialog_delete_callback, + data ? data : dialog); + + delete_connected = TRUE; + } - /* catch the WM delete event */ - gtk_signal_connect (GTK_OBJECT (dialog), "delete_event", - (GdkEventFunc) gimp_dialog_delete_callback, - data ? data : dialog); - - delete_connected = TRUE; + if (default_action) + gtk_widget_grab_default (button); + gtk_widget_show (button); + + label = va_arg (args, gchar*); } - - if (default_action) - gtk_widget_grab_default (button); - gtk_widget_show (button); - - label = va_arg (args, gchar*); } /* catch the WM delete event if not already done */ diff --git a/app/gui/channels-dialog.c b/app/gui/channels-dialog.c index 6310898f65..a22b6c2782 100644 --- a/app/gui/channels-dialog.c +++ b/app/gui/channels-dialog.c @@ -277,6 +277,8 @@ channels_dialog_create () /* The channels listbox */ listbox = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (listbox), + GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_widget_set_usize (listbox, CHANNEL_LIST_WIDTH, CHANNEL_LIST_HEIGHT); gtk_box_pack_start (GTK_BOX (vbox), listbox, TRUE, TRUE, 2); diff --git a/app/gui/layers-dialog.c b/app/gui/layers-dialog.c index fe42e08f06..ef549ea8b5 100644 --- a/app/gui/layers-dialog.c +++ b/app/gui/layers-dialog.c @@ -402,6 +402,8 @@ layers_dialog_create () /* The layers listbox */ listbox = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (listbox), + GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_widget_set_usize (listbox, LAYER_LIST_WIDTH, LAYER_LIST_HEIGHT); gtk_box_pack_start (GTK_BOX (vbox), listbox, TRUE, TRUE, 2); diff --git a/app/gui/paths-dialog.c b/app/gui/paths-dialog.c index a4a9c89560..16196311e8 100644 --- a/app/gui/paths-dialog.c +++ b/app/gui/paths-dialog.c @@ -291,11 +291,11 @@ GtkWidget * paths_dialog_create() gtk_container_set_border_width (GTK_CONTAINER (vbox), 2); scrolled_win = gtk_scrolled_window_new (NULL, NULL); - gtk_box_pack_start(GTK_BOX(vbox), scrolled_win, TRUE, TRUE, 0); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); + gtk_widget_set_usize (scrolled_win, PATHS_LIST_WIDTH, PATHS_LIST_HEIGHT); + gtk_box_pack_start(GTK_BOX(vbox), scrolled_win, TRUE, TRUE, 2); paths_dialog->paths_list = paths_list = gtk_clist_new (2); diff --git a/app/layers_dialog.c b/app/layers_dialog.c index fe42e08f06..ef549ea8b5 100644 --- a/app/layers_dialog.c +++ b/app/layers_dialog.c @@ -402,6 +402,8 @@ layers_dialog_create () /* The layers listbox */ listbox = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (listbox), + GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); gtk_widget_set_usize (listbox, LAYER_LIST_WIDTH, LAYER_LIST_HEIGHT); gtk_box_pack_start (GTK_BOX (vbox), listbox, TRUE, TRUE, 2); diff --git a/app/ops_buttons.c b/app/ops_buttons.c index 532d30bf1e..ee8139b108 100644 --- a/app/ops_buttons.c +++ b/app/ops_buttons.c @@ -40,9 +40,13 @@ ops_button_box_new (GtkWidget *parent, GtkWidget *pixmapwid; GdkPixmap *pixmap; GdkBitmap *mask; - GtkStyle *style; - GSList *group = NULL; - + GtkStyle *style; + GSList *group = NULL; + GSList *box_list = NULL; + gint max_width = 0; + gint width; + gint height; + gtk_widget_realize (parent); style = gtk_widget_get_style (parent); @@ -57,13 +61,15 @@ ops_button_box_new (GtkWidget *parent, &mask, &style->bg[GTK_STATE_NORMAL], ops_button->xpm_data); - + gdk_window_get_size (pixmap, &width, &height); + max_width = MAX (max_width, width); + pixmapwid = gtk_pixmap_new (pixmap, mask); - gtk_box_pack_start (GTK_BOX (box), pixmapwid, TRUE, TRUE, 3); + gtk_box_pack_start (GTK_BOX (box), pixmapwid, TRUE, TRUE, 1); gtk_widget_show (pixmapwid); - gtk_widget_show (box); - - switch(ops_type) + box_list = g_slist_prepend (box_list, box); + + switch (ops_type) { case OPS_BUTTON_NORMAL : button = gtk_button_new (); @@ -76,7 +82,7 @@ ops_button_box_new (GtkWidget *parent, break; default : button = NULL; /*stop compiler complaints */ - g_error("ops_button_box_new:: unknown type %d\n",ops_type); + g_error("ops_button_box_new: unknown type %d\n",ops_type); break; } @@ -108,6 +114,14 @@ ops_button_box_new (GtkWidget *parent, ops_button++; } + + for (; box_list; box_list = box_list->next) + { + gtk_widget_set_usize (GTK_WIDGET (box_list->data), max_width, -1); + gtk_widget_show (GTK_WIDGET (box_list->data)); + } + g_slist_free (box_list); + return (button_box); } diff --git a/app/paths_dialog.c b/app/paths_dialog.c index a4a9c89560..16196311e8 100644 --- a/app/paths_dialog.c +++ b/app/paths_dialog.c @@ -291,11 +291,11 @@ GtkWidget * paths_dialog_create() gtk_container_set_border_width (GTK_CONTAINER (vbox), 2); scrolled_win = gtk_scrolled_window_new (NULL, NULL); - gtk_box_pack_start(GTK_BOX(vbox), scrolled_win, TRUE, TRUE, 0); - gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolled_win), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); + gtk_widget_set_usize (scrolled_win, PATHS_LIST_WIDTH, PATHS_LIST_HEIGHT); + gtk_box_pack_start(GTK_BOX(vbox), scrolled_win, TRUE, TRUE, 2); paths_dialog->paths_list = paths_list = gtk_clist_new (2); diff --git a/app/widgets/gimpwidgets-utils.c b/app/widgets/gimpwidgets-utils.c index 9a981ae3a1..e905884dae 100644 --- a/app/widgets/gimpwidgets-utils.c +++ b/app/widgets/gimpwidgets-utils.c @@ -156,57 +156,61 @@ gimp_dialog_newv (const gchar *title, (GTK_CONTAINER (GTK_DIALOG (dialog)->action_area), 2); gtk_box_set_homogeneous (GTK_BOX (GTK_DIALOG (dialog)->action_area), FALSE); - hbbox = gtk_hbutton_box_new (); - gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbbox), 4); - gtk_box_pack_end (GTK_BOX (GTK_DIALOG (dialog)->action_area), hbbox, - FALSE, FALSE, 0); - gtk_widget_show (hbbox); - /* the action_area buttons */ label = va_arg (args, gchar*); - while (label) + + if (label) { - callback = va_arg (args, GtkSignalFunc); - data = va_arg (args, gpointer); - widget_ptr = va_arg (args, gpointer); - default_action = va_arg (args, gboolean); - connect_delete = va_arg (args, gboolean); - - button = gtk_button_new_with_label (label); - GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); - gtk_box_pack_start (GTK_BOX (hbbox), button, FALSE, FALSE, 0); - - /* pass data as user_data if data != NULL, or the dialog otherwise */ - if (callback) - gtk_signal_connect (GTK_OBJECT (button), "clicked", - GTK_SIGNAL_FUNC (callback), - data ? data : dialog); - - if (widget_ptr) - *widget_ptr = button; - - if (connect_delete && callback && !delete_connected) + hbbox = gtk_hbutton_box_new (); + gtk_button_box_set_spacing (GTK_BUTTON_BOX (hbbox), 4); + gtk_box_pack_end (GTK_BOX (GTK_DIALOG (dialog)->action_area), hbbox, + FALSE, FALSE, 0); + gtk_widget_show (hbbox); + + while (label) { - gtk_object_set_data (GTK_OBJECT (dialog), - "gimp_dialog_cancel_callback", - callback); - gtk_object_set_data (GTK_OBJECT (dialog), - "gimp_dialog_cancel_widget", - button); + callback = va_arg (args, GtkSignalFunc); + data = va_arg (args, gpointer); + widget_ptr = va_arg (args, gpointer); + default_action = va_arg (args, gboolean); + connect_delete = va_arg (args, gboolean); + + button = gtk_button_new_with_label (label); + GTK_WIDGET_SET_FLAGS (button, GTK_CAN_DEFAULT); + gtk_box_pack_start (GTK_BOX (hbbox), button, FALSE, FALSE, 0); + + /* pass data as user_data if data != NULL, or the dialog otherwise */ + if (callback) + gtk_signal_connect (GTK_OBJECT (button), "clicked", + GTK_SIGNAL_FUNC (callback), + data ? data : dialog); + + if (widget_ptr) + *widget_ptr = button; + + if (connect_delete && callback && !delete_connected) + { + gtk_object_set_data (GTK_OBJECT (dialog), + "gimp_dialog_cancel_callback", + callback); + gtk_object_set_data (GTK_OBJECT (dialog), + "gimp_dialog_cancel_widget", + button); + + /* catch the WM delete event */ + gtk_signal_connect (GTK_OBJECT (dialog), "delete_event", + (GdkEventFunc) gimp_dialog_delete_callback, + data ? data : dialog); + + delete_connected = TRUE; + } - /* catch the WM delete event */ - gtk_signal_connect (GTK_OBJECT (dialog), "delete_event", - (GdkEventFunc) gimp_dialog_delete_callback, - data ? data : dialog); - - delete_connected = TRUE; + if (default_action) + gtk_widget_grab_default (button); + gtk_widget_show (button); + + label = va_arg (args, gchar*); } - - if (default_action) - gtk_widget_grab_default (button); - gtk_widget_show (button); - - label = va_arg (args, gchar*); } /* catch the WM delete event if not already done */ diff --git a/pixmaps/anchor.xpm b/pixmaps/anchor.xpm index e9805fe292..1c22f092af 100644 --- a/pixmaps/anchor.xpm +++ b/pixmaps/anchor.xpm @@ -1,36 +1,22 @@ /* XPM */ static char * anchor_xpm[] = { -"24 24 9 1", +"16 16 3 1", " c None", -". c #020204", -"+ c #8F8F91", -"@ c #6E6E6E", -"# c #5A5A5C", -"$ c #9A9A98", -"% c #D0D0D1", -"& c #E8E8E9", -"* c #B5B5B6", -" ", -" ", -" ... ", -" .+@.. ", -" .###. ", -" ..#.. ", -" .. .#. .. ", -" .####....$%@#..###@#. ", -" .#.......&$#......#.. ", -" .. .#@#. .. ", -" .*. ", -" .*. ", -" .$. ", -" . .+. . ", -" .. .+. .. ", -" .#. .+. .*. ", -" .+.. .+. .+@. ", -" .+. .$. ##. ", -" .@. .$. .+. ", -" .##....$@.....@#. ", -" .##@@$+#@+$#+.. ", -" ..###@+####.. ", -" ......... ", -" "}; +". c #000000", +"+ c #7F7F7F", +" ", +" ", +" .. ", +" ...... ", +" ....++ ", +" ..++ ", +" ..+ ", +" ..+ ", +" ..+ ", +" .. ..+ .. ", +" .. ..+ ..++", +" ... ..+ ...+ ", +" ..........++ ", +" ........++ ", +" ++..++++ ", +" ++ "};