Patch for New Customer dialog

Andreas Köhler andi5.py at gmx.net
Sat Dec 16 01:13:41 EST 2006


Hi,

On Do, 2006-12-14 at 13:16 -0600, micwise at bellsouth.net wrote:
> > From: Chris Shoemaker <c.shoemaker at cox.net>
> > No attachment.
> Sorry about that. Here it is.
> 
> > > I have been thinking about ways to get involved with development.  I have looked at the dialogs and beleive I might be able to help.  I have attached a patch to make the New Customer dialog more in line with the GNOME HIG.  I'm very new with glade so I hope I've got some things correct.  Let me know if you have any comments or if you find it usefull.

That is great!

I will note some points, but they are not meant as criticism. I would
love it if we could settle on them and have a clean, uniform look in the
end :) Maybe I am a bit pedantic though...

* GtkDialogs should not have separators (glade: tab Widget, last option)

* GtkDialogs use a 5px border around the action area and a 2px border
around the content in the default style. Therefore I suggest to set the
border of the dialog to 7px, the border of the main child (notebook
here) to 5px and the spacing between it and the buttons to 8px. That way
the OK button is 12px to the lower right corner and the distance between
the notebook and the buttons equals 18px. What do you think?

* I like the 6px border of the frames, but rather set a 6px border for
the tab, make the frame borders 0px, but at a spacing of 12px. Visually
it is the same, but I think it is more closely to what you want to
design (and easier to raise to 12px if you decide to do that later)

* What about 6px between the entry fields? This would mean 6px after the
frame captions too... Proposal: One table per frame and HPadding of 12px
for each label. Open preferences.glade if you want to see what I mean :)

* May you remove all "always show scrollbar" policies for
GtkScrolledWindows, please? I have done for some, but the business glade
files still have them ;) I guess mostly "automatic" is the right choice.

That is all I have so far. If you want to dive into the source code too,
here are three other gotchas:

* we leak GladeXML objects and it would be good if every code that
allocates memory for them makes sure that it is freed once the root
widget is destroyed. This can be done with
g_object_set_data_full(G_OBJECT(mywidget), "xml", xml, g_object_unref);
(at least) like in dialog-account.c

* We present dialogs before they have been filled completely, making
them grow while opening. This could be solved by unsetting the
visibility of the root widgets in glade and making sure gtk_widget_show
is called for it (as late as possible).

* Seems like the Cancel button does not work here...


Once again, nothing was meant to be taken personally.
Enjoy your ride =)

> > > Michael

-- andi5




More information about the gnucash-devel mailing list