GNOME Bugzilla – Bug 127149
improve signal-editor ui
Last modified: 2006-08-23 13:38:14 UTC
The signal editor UI may be improved, in particular IMHO the "Update" button is quite ugly. Some ideas follow. * The "After" toggle button should become a check button in the treeview column * The dialog you get when adding a signal should also query for the "handler" name and for the "after" * The buttons should just be "add", "remove" and "modify": modify would pop up the same dialog you get when pressing "add", i.e. the one that asks the signal name, handler etc. "modify" and "remove" should be sensitive only if a signal is selected. * The "Signal", "Handler" entries and the "After" toggle button can go away: that info is provided in the tree view while editing is done through the add/modify dialog. * the treeview items should have a popup menu with "remove" and "modify" if a dialog is selected. * pressing the delete key when a signal is selected should remove the signal. * (not sure about this) double clicking on a signal in the tree view should pop up the dialog (equivalent to press "modify")
This bug is a good candidate for people looking for a place to start to work on the project: it doesn't require knowledge of glade3 internals, it's mostly about playing with the GtkTreeView widget. if someone wants to try code is in glade3/src/glade-signal-editor.[ch]
I've modified the signal editor UI, but not exactly in the direction pointed out by Paolo. Now all the additions/removals/changes of handlers are done directly in the GtkTreeView. There are still some minor things to add, as: * Remove the signal handler when you press Delete over a signal. * Open automatically all the widget classes that have at least a signal with a handler. * Maybe remove the "<Type here the signal's handler>" labels from the signals that have no handlers at all. The discussion about this UI have been done, until now, here: http://lists.ximian.com/archives/public/glade-devel/2004- January/000438.html When the above improvements will be done, and if no further ideas arise, I will close this bug. Cheers,
Joaquin, I don't know about Win32, but on linux the "after" toggle column doesn't work at the moment. Did you just forget it or do you have stuff still pending on your tree? About the <type here ...> label, would it be possible just show it when the row is selected? While I'm at it, some bug reporting: * also the signal name cell is editable (probably cut&paste error) * when you delete a handler the addition tree row that was added to allow multiple-handlers is not removed. * you forgot to add yourself to the Authors list of the file ;-) I also noticed this minor compilation warning: glade-signal-editor.c: In function `cell_edited': glade-signal-editor.c:124: warning: unused variable `child' Other than these minor issues, the new signal editor looks great! (I'm adding you to the cc list, since I don't think you are on the glade3 bugzilla alias)
> Joaquin, I don't know about Win32, but on linux the "after" toggle > column doesn't work at the moment. Did you just forget it or do you > have stuff still pending on your tree? Weird, the after toggle is working here... take in account that it's only visible after you type a handler's name. I will take a look this evening in my linux box. > About the <type here ...> label, would it be possible just show it > when the row is selected? I think that it's better to don't show it at all as I said in the third point of my TODO list (see above). > * also the signal name cell is editable (probably cut&paste error) will fix it asap, with your other bug reports and the warning. Thank you for your comments! Btw, do you know how can I be added to the bugzilla alias? Cheers,
> Weird, the after toggle is working here... take in account that it's > only visible after you type a handler's name. I will take a look > this evening in my linux box. Oops you're right, I didn't notice it was hidden/shown. > I think that it's better to don't show it at all as I said in the > third point of my TODO list (see above). I don't have a strong opinion here, but it seemed like a good hint. One other minor thing is that maybe when the user select the row the handler field should become editable without requiring an extra click on it (don't know if it is possible, though) > Btw, do you know how can I be added to the bugzilla alias? You should ask luis or someone else on of the bugzilla guys (like aes). If you use IRC your best bet is to ask on #bugs, otherwise try mailing gnome-bugsquad@gnome.org or directly luis. AFAIK is just a matter of adding your address to the glade-3 entry in the maints-alias file in bugzilla cvs module. ciao
Ok, I've now fixed the problems that you spotted above. (If you find any new problem, just let me know!). However, I still want to work on the UI. As you said, it's still a bit hard to edit the signal's handler, as you need to do two clicks, but not so fast or they raise a double- click and thus the handler doesn't pass to editable. To make it editable on selection, or on double-click are two possibilities. I will try to do it. Still have to open all the classes that have a signal handler, and maybe put them in bold. And try to do something with the <Type...> stuff. Cheers,
Created attachment 71191 [details] [review] Signal Editor small usability improvements 1) clear text when cell editing starts (no more trilpe click to delete the cell contents) 2) Cell entry completion: * two handler name options on_widgetname_signalname and widgetname_signalname_cb * a couple of misc functions ("gtk_widget_show", "gtk_widget_hide", "gtk_widget_grab_focus", "gtk_widget_destroy", "gtk_true", "gtk_false" and "gtk_main_quit) I think this can be improved a lot, we can let the user specify a handler name pattern, etc. On the code side, we need to make GladeSignalEditor a GObject. maybe we can close this bug now, and discuss the new signal editor in bug 351548 greets
Created attachment 71192 [details] [review] Signal Editor small usability improvements 1) clear text when cell editing starts (no more trilpe click to delete the cell contents) 2) Cell entry completion: * two handler name options on_widgetname_signalname and widgetname_signalname_cb * a couple of misc functions ("gtk_widget_show", "gtk_widget_hide", "gtk_widget_grab_focus", "gtk_widget_destroy", "gtk_true", "gtk_false" and "gtk_main_quit) I think this can be improved a lot, we can let the user specify a handler name pattern, etc. On the code side, we need to make GladeSignalEditor a GObject. maybe we can close this bug now, and discuss the new signal editor in bug 351548 greets
Created attachment 71388 [details] [review] Signal editor handler and user data improvement Handler cell now uses a GtkCellRenderCombo and has inline entry completion. adds entry completion to User data cell (object names)
Created attachment 71400 [details] [review] Full patch heh, i forget to include .h differences
commited. We will continue this discussion in 351548 "User Interface Redesign"
This discussion is a little big to "just burry away" like that. Making sure that there is proper linkage across these bugs. *** This bug has been marked as a duplicate of 351548 ***