Skip to content

Remove deprecated widget GtkCList from GnomeCmdCombo class

This request is a proposal to remove the deprecated widget GtkCList from GnomeCmdCombo class.

At first I tried replacing GtkCList with GtkTreeView in the implementation of GnomeCmdCombo, but I couldn't get it to work. Instead I changed GnomeCmdCombo to be a subclass of GtkComboBox (which can use GtkTreeView) and mostly implemented the original functionality. There are some differences and unresolved issues.

The signal "item-selected" is emitted only when the value is changed. Originally it was emitted even when the value didn't change. Item selection without changing value can't be detected in GtkComboBox, so this can't be fixed.

The button has a relief. Originally it didn't have any. It can be fixed in gtk3, but not in gtk2, because the button may be deleted and recreated internally by GtkComboBox.

When using keys to navigate the GtkTreeView it emits an annoying beep when trying to move outside the list (e.g. being on the first row and pressing up, ...). It uses gtk_widget_error_bell internally. This beeping can't be turned off for a widget. It can be turned off for the whole application - I think this would be a good idea, otherwise the beeping would get really annoying when the file list is changed to GtkTreeView (even if it turns off the beeping in other widgets). Any thoughts on this ?

Selected row in the GtkTreeView doesn't use colors from the color scheme, because it uses different colors in the style then GtkCList. One possible fix would be to change the style (list_style), but that would also change the colors of selected text in GtkEntry (in command line and when renaming file using F2). Another possible fix would be to create a separate style for GtkEntry. Any other ideas ?

Merge request reports