Todo and wishlist for libgnomeui. Please feel free to add, remove, or comment. Some of this may be libgnome rather than libgnomeui, but close enough. * Going through Gnome CVS and updating apps to use new libgnomeui features is almost always needed. * g_return_if_fail checks are missing in many functions. * Consistently use gnome-uidefs.h instead of random constants. Better, devise a general system for padding that works at runtime. Owen Taylor emailed some ideas on this to the list once. * Documentation, documentation, documentation... both commenting header files and writing real docs would help. * a GnomeFileSelection widget is needed; it will have to integrate well with gmc, so might want to talk to Miguel. Also, lots of the GtkFileSelection functionality isn't in the public interface, but could be useful; so changing GtkFileSelection to allow sharing its code might be necessary. * check for (non)use of "const" throughout the library and fix it when needed. * Silence everything from -Wall [ This is largely done for libgnome and libgnomeui The remaining warnings were left in to remind people to fix the actual underlying problem. ] * Write a "minibuffer" widget which is a statusbar that can take input, a la Emacs. Enable gnome-app-util.[hc] to use it. This is sort of prototyped but it blows right now. Please fix it, please... * Fix things that are a pain in the *** to wrap with other languages, like GnomeUIInfo. * Draw and include nice pixmaps for the different message box flavors - warning, info, error, etc. * A GnomeGuru widget like Windows's Wizards. * A GnomeAnim or GtkAnim widget, using imlib and making it easy to include little animations, like a modem dialing or folders opening or the Mozilla spinner. This would add a real professional touch to many apps. * GnomeLess is a stupid hack on top of GtkText and should be made for real; one idea here from Michael Zucchi is a GnomePage widget, which variously wraps postscript, pdf, html, text widgets but has a unified interface for all of them. * The -icon-sel and -dentry-edit aren't finished; they may not be needed, depending on how gmenu/gmc end up handling this issue. * GnomeAbout could probably be more attractive - green doesn't seem to match anything else. * There is a lot of enhancement and making coherent that could go on. * GnomeFontSelection and GnomePrintDialog ==================== Done or In Progress ========================= * GnomeApp should have an optional status bar. * A GnomeApp API which configurably uses either the status bar (if present) or dialogs for messages. e.g. gnome_app_warning (GnomeApp * app, const gchar * message); gnome_app_yes_no_question (GnomeApp * app, const gchar * question); gnome_app_status (GnomeApp * app, const gchar * status); [gnome-app-util.h] * A way to configure libgnomeui. Does this exist? It would allow setting global Gnome preferences. It should use gnome-config and not a gtkrc. Ideally, however, it would allow setting gtkrc-type things, so editing gtkrc isn't necessary to get flashy color schemes on Gnome apps. [gnome-preferences.h, not really well-thought-out or finished.] * gnome-propertybox could be expanded to allow user configuration. Some (popular -- see gnome list) ideas are to let the user get rid of the Apply button, or the let the user have a per-page Apply button (in this case it would appear inside the notebook page) In theory the API shouldn't change when this is done. [gnome-preferences.h] * gnome-propertybox could also use a way to cause an OK to be aborted This would take the form of a flag that is cleared before a global apply, set via some new function, and checked before closing the window [the "close" signal of GnomeDialog can be blocked by returning false from a callback connected to it.] * gnome-dialog should have a _set_hide method to hide on any click, instead of destroying. This can be a way to speed up a program's UI, with a space tradeoff of course. gnome_dialog_close() should hide rather than destroy if this flag is set. [gnome_dialog_just_hides] * gnome-less.[hc] isn't quite finished, and doesn't build by default due to the feature freeze. Fix this. [Now builds, works except for popup menu.]