Re: [PATCH] Hig-ify copying/moving progress dialog
- From: Dennis Cranston <dennis_cranston yahoo com>
- To: Jorn Baayen <jbaayen gnome org>
- Cc: nautilus-list gnome org
- Subject: Re: [PATCH] Hig-ify copying/moving progress dialog
- Date: Tue, 1 Feb 2005 13:16:42 -0800 (PST)
Hi Jorn,
Regarding label alignment, I based my suggestion off of the following guidelines from the HIG.
* "As the labels are all similar in length, they should be left-aligned."
http://developer.gnome.org/projects/gup/hig/2.0/design-window.html#window-layout-spacing
* "Try to keep elements of the same type left-aligned with each other. For instance, in Figure
8.4, 'Layout specifications', the group titles (General and Actions) are left-aligned and
justified with each other."
* "Be consistent. Use the same spacing, alignment, and component sizes in all dialogs appearing in
your application."
http://developer.gnome.org/projects/gup/hig/2.0/design-window.html#window-layout-spacing
Dennis
--- Jorn Baayen <jbaayen gnome org> wrote:
> Hi,
>
> Hm, there was one more incorrect gtk_container_set_border_width which I
> forgot to take out, and a few other details. New patch attached, should
> be better.
>
> About the label alignment.. I don't know, the same right alignment is
> used in many other places.
>
> Jorn
>
> On T, 2005-02-01 at 08:49 -0800, Dennis Cranston wrote:
> > Hi Jorn,
> >
> > I missed that your patch used the style_set callback of the widget. So the border spacing is
> > correct (12 pixels), but I am counting 39 pixels between the vbox and action area of the
> dialog
> > instead of 24 -- although this isn't really a big deal. While your fixing the dialog, I
> believe
> > the "Copying", "From", and "To" labels alignment is wrong. Shouldn't they be left aligned?
> >
> > Dennis
> >
> >
> > --- Jorn Baayen <jbaayen gnome org> wrote:
> >
> > > Hi,
> > >
> > > Well, AFAIK, my patch achieves exactly this:
> > >
> > > http://developer.gnome.org/projects/gup/hig/1.0/images/alert-spacing.png
> > >
> > > This is also the code Gtk itself uses to make the file chooser HIG
> > > compliant.
> > >
> > > CHeers,
> > > Jorn
> > >
> > > On E, 2005-01-31 at 16:09 -0800, Dennis Cranston wrote:
> > > > Hi Jorn,
> > > >
> > > > Your patch will not make the dialog HIG compliant. The dialog spacing would need to be
> > > adjusted
> > > > to the following values:
> > > >
> > > > gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
> > > > gtk_container_set_border_width (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), 5);
> > > > gtk_box_set_spacing (GTK_BOX (GTK_DIALOG (dialog)->vbox), 14);
> > > >
> > > > For an explanation please see bugzilla report #163850, "Gtk+ dialogs should use HIG
> spacing by
> > > > default".
> > > >
> > > > Thanks,
> > > > Dennis
> > > >
> > > > --- Jorn Baayen <jbaayen gnome org> wrote:
> > > >
> > > > > Hi,
> > > > >
> > > > > Attaching a patch to HIG-ify the copying/moving progress dialog.
> > > > >
> > > > > Another thing that would be nice here is a responsive "cancel" button.
> > > > > It can take up to half a minute for the "cancel" button to respond to
> > > > > canceling copying a bigger file to a webdav location, for example. The
> > > > > dialog will just sit there, cancel still clickable, like nothing
> > > > > happened- very annoying. Maybe at least make the dialog say "canceling"
> > > > > and de-sensitivify the cancel button, or something ..
> > > > >
> > > > > Cheers,
> > > > >
> > > > > Jorn
> > > > > > Index: libnautilus-private/nautilus-file-operations-progress.c
> > > > > ===================================================================
> > > > > RCS file: /cvs/gnome/nautilus/libnautilus-private/nautilus-file-operations-progress.c,v
> > > > > retrieving revision 1.44
> > > > > diff -u -r1.44 nautilus-file-operations-progress.c
> > > > > --- libnautilus-private/nautilus-file-operations-progress.c 18 Aug 2004 23:03:08 -0000
> 1.44
> > > > > +++ libnautilus-private/nautilus-file-operations-progress.c 31 Jan 2005 21:54:54 -0000
> > > > > @@ -271,6 +271,29 @@
> > > > > }
> > > > >
> > > > > static void
> > > > > +style_set_callback (GtkWidget *widget,
> > > > > + GtkStyle *previous_style)
> > > > > +{
> > > > > + GtkDialog *dialog;
> > > > > +
> > > > > + if (GTK_WIDGET_CLASS (parent_class)->style_set)
> > > > > + GTK_WIDGET_CLASS (parent_class)->style_set (widget, previous_style);
> > > > > +
> > > > > + dialog = GTK_DIALOG (widget);
> > > > > +
> > > > > + /* Override the style properties with HIG-compliant spacings. Ugh.
> > > > > + * http://developer.gnome.org/projects/gup/hig/1.0/layout.html#layout-dialogs
> > > > > + * http://developer.gnome.org/projects/gup/hig/1.0/windows.html#alert-spacing
> > > > > + */
> > > > > +
> > > > > + gtk_container_set_border_width (GTK_CONTAINER (dialog->vbox), 12);
> > > > > + gtk_box_set_spacing (GTK_BOX (dialog->vbox), 24);
> > > > > +
> > > > > + gtk_container_set_border_width (GTK_CONTAINER (dialog->action_area), 0);
> > > > > + gtk_box_set_spacing (GTK_BOX (dialog->action_area), 6);
> > > > > +}
> > > > > +
> > > > > +static void
> > > > > nautilus_file_operations_progress_init (NautilusFileOperationsProgress *progress)
> > > > > {
> > > > > GtkWidget *hbox, *vbox;
> > > > > @@ -278,6 +301,8 @@
> > > > >
> > > > > progress->details = g_new0 (NautilusFileOperationsProgressDetails, 1);
> > > > >
> > > > > + gtk_dialog_set_has_separator (GTK_DIALOG (progress), FALSE);
> > > > > +
> > > > > vbox = gtk_vbox_new (FALSE, VERTICAL_SPACING);
> > > > > gtk_container_set_border_width (GTK_CONTAINER (vbox), OUTER_BORDER);
> > > > > gtk_box_pack_start (GTK_BOX (GTK_DIALOG (progress)->vbox), vbox, TRUE, TRUE,
> > > > > VERTICAL_SPACING);
> > > > > @@ -357,6 +382,7 @@
> > > > > */
> > > > > widget_class->delete_event = delete_event_callback;
> > > > > widget_class->map = map_callback;
> > > > > + widget_class->style_set = style_set_callback;
> > > > >
> > > > > dialog_class->close = close_callback;
> > > > >
> > > > > > --
> > > > > nautilus-list mailing list
> > > > > nautilus-list gnome org
> > > > > http://mail.gnome.org/mailman/listinfo/nautilus-list
> > > > >
> > > >
> > > >
> > > > =====
> > > >
> > >
> > > --
> > > nautilus-list mailing list
> > > nautilus-list gnome org
> > > http://mail.gnome.org/mailman/listinfo/nautilus-list
> > >
> > Index: libnautilus-private/nautilus-file-operations-progress.c
> ===================================================================
> RCS file: /cvs/gnome/nautilus/libnautilus-private/nautilus-file-operations-progress.c,v
> retrieving revision 1.44
> diff -u -r1.44 nautilus-file-operations-progress.c
> --- libnautilus-private/nautilus-file-operations-progress.c 18 Aug 2004 23:03:08 -0000 1.44
> +++ libnautilus-private/nautilus-file-operations-progress.c 1 Feb 2005 18:41:11 -0000
> @@ -50,10 +50,6 @@
> */
> #define PROGRESS_DIALOG_WIDTH 400
>
> -#define OUTER_BORDER 5
> -#define VERTICAL_SPACING 8
> -#define HORIZONTAL_SPACING 3
> -
> #define MINIMUM_TIME_UP 1000
>
> #define SHOW_TIMEOUT 1200
> @@ -271,6 +267,29 @@
> }
>
> static void
> +style_set_callback (GtkWidget *widget,
> + GtkStyle *previous_style)
> +{
> + GtkDialog *dialog;
> +
> + if (GTK_WIDGET_CLASS (parent_class)->style_set)
> + GTK_WIDGET_CLASS (parent_class)->style_set (widget, previous_style);
> +
> + dialog = GTK_DIALOG (widget);
> +
> + /* Override the style properties with HIG-compliant spacings. Ugh.
> + * http://developer.gnome.org/projects/gup/hig/1.0/layout.html#layout-dialogs
> + * http://developer.gnome.org/projects/gup/hig/1.0/windows.html#alert-spacing
> + */
> +
> + gtk_container_set_border_width (GTK_CONTAINER (dialog->vbox), 12);
> + gtk_box_set_spacing (GTK_BOX (dialog->vbox), 24);
> +
> + gtk_container_set_border_width (GTK_CONTAINER (dialog->action_area), 0);
> + gtk_box_set_spacing (GTK_BOX (dialog->action_area), 6);
> +}
> +
> +static void
> nautilus_file_operations_progress_init (NautilusFileOperationsProgress *progress)
> {
> GtkWidget *hbox, *vbox;
> @@ -278,12 +297,13 @@
>
> progress->details = g_new0 (NautilusFileOperationsProgressDetails, 1);
>
> - vbox = gtk_vbox_new (FALSE, VERTICAL_SPACING);
> - gtk_container_set_border_width (GTK_CONTAINER (vbox), OUTER_BORDER);
> - gtk_box_pack_start (GTK_BOX (GTK_DIALOG (progress)->vbox), vbox, TRUE, TRUE,
> VERTICAL_SPACING);
> + gtk_dialog_set_has_separator (GTK_DIALOG (progress), FALSE);
> +
> + vbox = gtk_vbox_new (FALSE, 6);
> + gtk_box_pack_start (GTK_BOX (GTK_DIALOG (progress)->vbox), vbox, TRUE, TRUE, 0);
>
> - hbox = gtk_hbox_new (FALSE, 0);
> - gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, HORIZONTAL_SPACING);
> + hbox = gtk_hbox_new (FALSE, 6);
> + gtk_box_pack_start (GTK_BOX (vbox), hbox, TRUE, TRUE, 0);
>
> /* label- */
> /* Files remaining to be copied: */
> @@ -308,8 +328,8 @@
> gtk_progress_bar_set_text (GTK_PROGRESS_BAR (progress->details->progress_bar), " ");
>
> titled_label_table = GTK_TABLE (gtk_table_new (3, 2, FALSE));
> - gtk_table_set_row_spacings (titled_label_table, 4);
> - gtk_table_set_col_spacings (titled_label_table, 4);
> + gtk_table_set_row_spacings (titled_label_table, 6);
> + gtk_table_set_col_spacings (titled_label_table, 6);
>
> create_titled_label (titled_label_table, 0,
> &progress->details->operation_name_label,
> @@ -321,7 +341,7 @@
> &progress->details->to_label,
> &progress->details->to_path_label);
>
> - gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (titled_label_table), FALSE, FALSE, 0);
> + gtk_box_pack_start (GTK_BOX (vbox), GTK_WIDGET (titled_label_table), FALSE, FALSE, 6);
>
> /* Set window icon */
> gtk_window_set_icon (GTK_WINDOW (progress), empty_jar_pixbuf);
> @@ -357,6 +377,7 @@
> */
> widget_class->delete_event = delete_event_callback;
> widget_class->map = map_callback;
> + widget_class->style_set = style_set_callback;
>
> dialog_class->close = close_callback;
>
>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]