Add a field for an "add to shortcuts" menu item. (popup_menu_detach_cb):
2004-07-29 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault): Add
a field for an "add to shortcuts" menu item.
(popup_menu_detach_cb): Clear out the field.
(file_list_build_popup_menu): Only build the menu here.
(file_list_update_popup_menu): Build the menu, then update the
sensitivity of its items.
(file_list_popup_menu): Use file_list_update_popup_menu().
(bookmarks_check_add_sensitivity): Also set the sensitivity of the
popup menu item. Correctly handle the case for a *single* file.
Simplify a bit.
(bookmarks_add_selected_folder): New helper function; code moved
over from add_bookmark_button_clicked_cb().
(add_bookmark_button_clicked_cb): Use the function above.
(selection_check): Rather than returning a boolean value for
emptiness, actually return the number of selected rows. Also,
simplify a bit.
(get_selected_path): New helper function.
2004-07-28 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
Store signal IDs in gulongs, not guints!
(gtk_file_chooser_default_hierarchy_changed): We now monitor the
focus widget on our toplevel to know which widget was last focused
at the time our "should_respond" method gets called.
(shortcuts_activate_selected): New helper function.
(shortcuts_get_selected): New helper function.
(remove_selected_bookmarks): Use shortcuts_get_selected().
(bookmarks_check_remove_sensitivity): Likewise.
(shortcuts_reorder): Likewise.
(shortcuts_activate_iter): Renamed from shortcuts_activate_item().
Activate by iter, not by item number.
(save_folder_combo_changed_cb): Use shortcuts_activate_iter().
(shortcuts_row_activated_cb): Likewise.
(gtk_file_chooser_default_should_respond): If the last focused
widget on the toplevel was the shortcuts list, activate the
selected shortcut.
Anders Carlsson [Tue, 27 Jul 2004 17:28:26 +0000 (17:28 +0000)]
Remove dialog separators, fix text view background setting, use Close
2004-07-27 Anders Carlsson <andersca@gnome.org>
* gtk/gtkaboutdialog.c: (gtk_about_dialog_init),
(text_view_style_set), (add_credits_page),
(display_credits_dialog), (display_license_dialog):
Remove dialog separators, fix text view background setting,
use Close buttons instead of OK buttons.
Add a frame around the C-f popup to stop it from merging visually in
2004-07-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_ensure_interactive_directory):
Add a frame around the C-f popup to stop it from merging visually
in whatever is underneath.
New function necessary to make GtkComboBox accessible. (#132847, Padraig
2004-07-27 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.h:
* gtk/gtkcombobox.c (gtk_combo_box_get_popup_accessible): New
function necessary to make GtkComboBox accessible. (#132847,
Padraig O'Briain)
Make the GtkComboBox in list mode scroll if the list is too
large to fit in the popup. (#135543)
* gtk/gtkcombobox.c (gtk_combo_box_set_popup_widget): Add a
scrolled window to the popup in list mode.
(gtk_combo_box_list_position): Calculate the height of the
popup so that it fits on the screen, set the scrollbar policy
of the scrolled window appropriately.
(gtk_combo_box_popup): Use the height calculated by
gtk_combo_box_list_position().
(gtk_combo_box_remeasure): Don't add unnecessary padding.
(gtk_combo_box_size_request): But add the focus with here.
(gtk_combo_box_list_setup): Connect to enter notify on the
popup window to activate auto scrolling.
(gtk_combo_box_list_enter_notify): Activate auto scrolling.
(gtk_combo_box_list_button_pressed): Setup a timeout for
auto scrolling.
(gtk_combo_box_list_scroll_timeout): Timeout function for
auto scrolling.
(gtk_combo_box_list_auto_scroll): Scroll the list when the
pointer leaves the window.
* gtk/gtkdnd.c (gtk_drag_dest_set): Create the change to
initialize target_list to an empty list instead of NULL,
since it broke tree dnd. (#148215, Ernst Persson)
* gtk/gtkdnd.c (gtk_drag_dest_add_text_targets):
* gtk/gtkdnd.c (gtk_drag_source_add_text_targets): Instead
handle target list being NULL here.
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_class_init):
Add a new :ellipsize property which controls ellipsization of the
rendered text. (#144835, Vincent Untz, patch by Jonathan Blandford
and Anders Carlsson
* gtk/gtkfilechooserdefault.c (create_file_list): Use ellipsization
for the name column.
* gtk/gtklabel.h:
* gtk/gtklabel.c (gtk_label_class_init): Add a new :ellipsise
property which controls ellipsisation of the label. (#125250,
Tim Van Wassenhove, patch by James M. Cape)
* tests/testellipsise.c: Simple test for ellipsisation.
* tests/testactions.c (main):
* tests/testmerge.c (main): Add some refcount debugging.
* gtk/gtkuimanager.c (update_node, free_node): Ref an sink
all proxies, so that we can properly clean up floating proxies
which the app didn't adopt. (#147926, Tommi Komulainen)
Allow custom initialization of cell editables. (#147221)
2004-07-20 Matthias Clasen <mclasen@redhat.com>
Allow custom initialization of cell editables. (#147221)
* gtk/gtkcellrenderer.h (struct _GtkCellRendererClass):
* gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init): Add a
::editing-started signal as a hook for setting up the
GtkCellEditable.
(gtk_cell_renderer_start_editing): ...and emit it here.
* gtk/gtktreeview.c (gtk_tree_view_button_press): Set drag_pos
before grabbing the focus, since we may reenter into
gtk_tree_view_motion_resize_column() which requires drag_pos
to be set. (#147913, Guilherme Salgado, patch by John Finlay)
Make GtkCellView public, since people seem to have uses for it, it is
2004-07-19 Matthias Clasen <mclasen@redhat.com>
Make GtkCellView public, since people seem to have uses for it,
it is clean API and we were just conservative in not making it
public initially. At the same time, get rid of GtkCellViewMenuItem,
which doesn't have any function which can't be served by a
GtkMenuItem with a GtkCellView child.
* gtk/gtk.h: Include gtkcellview.h
* gtk/Makefile.am (gtk_public_h_sources):
* gtk/Makefile.am (gtk_private_h_sources):
(gtk_c_sources): Remove gtkcellviewmenuitem.[hc]
* gtk/gtkcombobox.c: Replace all uses of GtkCellViewMenuItem by
GtkMenuItem with a GtkCellView child.
Support inline autocompletion in entries (#135953)
2004-07-19 Matthias Clasen <mclasen@redhat.com>
Support inline autocompletion in entries (#135953)
* gtk/gtkentryprivate.h:
* gtk/gtkentrycompletion.h:
* gtk/gtkentrycompletion.c (gtk_entry_completion_class_init):
Add a new signal ::insert-prefix which can be used to override
the default inline-completion behaviour. Add two new boolean
properties, :popup_completion and :inline_completion which
determine how the possible completions should be presented.
(gtk_entry_completion_insert_prefix): New function to request
a prefix insertion.
* gtk/gtkentry.c: Add the necessary glue for inline completion.
Support text/plain selection target (#55117, Owen Taylor)
Sat Jul 17 00:48:27 2004 Matthias Clasen <maclas@gmx.de>
Support text/plain selection target (#55117, Owen Taylor)
* gtk/gtkselection.h:
* gtk/gtkdnd.h:
* gtk/gtkselection.c (gtk_target_list_add_text_targets):
* gtk/gtkdnd.c (gtk_drag_dest_add_text_targets):
* gtk/gtkdnd.c (gtk_drag_source_add_text_targets): New
functions to facilitate handling of text targets.
* gtk/gtkentry.c:
* gtk/gtktextview.c: Use the new text target handling
functions instead of hardwiring the list of supported
text targets everywhere.
* gtk/gtkselection.c (gtk_selection_data_get_text):
(gtk_selection_data_set_text):
Support the targets text/plain, text/plain?charset=utf-8
and text/plain?charset=<LOCALE-CHARSET> as outlined in
#55117:
For text/plain send only ASCII, but accept 8-bit text
and treat it as ISO-8859-1 as specified by the Xdnd spec.
Always send CRLF terminators. Accept either and convert
into the native terminator for the platform.
* gtk/gtkstyle.c (gtk_style_real_copy): Handle references
to bg_pixmaps properly.
(gtk_style_real_unrealize): Don't keep dangling references
to the bg_pixmaps.
(gtk_style_attach): Split the loop into two loops, first
looking for a matching style, then for an empty one.
(gtk_style_finalize):
(gtk_style_duplicate): Add comments explaining the handling
of style->styles.
* gtk/gtkspinbutton.c (start_spinning): Install the timeout
before changing the value, so that a ::value_changed handler
has a chance to remove it. (#122427, Elke Meier)
Correct the declared default values of several properties to be in sync
2004-07-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_class_init):
* gtk/gtkcellrenderer.c (gtk_cell_renderer_class_init):
Correct the declared default values of several properties
to be in sync with the actual initial values.
Correct the declared default values of several properties to be in sync
2004-07-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_property):
Correct the declared default values of several properties
to be in sync with the actual initial values.
Make spacing a property, correct the declared default values of several
2004-07-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init):
Make spacing a property, correct the declared default values
of several properties to be in sync with the actual initial
values. (#147654, Matthias Clasen)
Don't reparent back to menu->toplevel if it is already gone because we're
2004-07-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenu.c (gtk_menu_set_tearoff_state): Don't reparent
back to menu->toplevel if it is already gone because we're
shutting down. (#147656, John Cupitt)
2004-07-14 Federico Mena Quintero <federico@ximian.com>
Fix #126295:
* gtk/gtktreeview.c (gtk_tree_view_bin_expose): Draw a focus
indicator along the edge of the bin_window when the tree is empty.
(grab_focus_and_unset_draw_keyfocus): New helper function.
(gtk_tree_view_button_press): Remove a bit of superfluous code.
Use the helper function to save on duplicated code.
(gtk_tree_view_button_press): Grab the focus if the tree is empty.
(gtk_tree_view_focus): Allow focusing into an empty tree.
Set a busy cursor while mounting the volume. Also, ref the chooser while
2004-07-13 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_activate_volume): Set a
busy cursor while mounting the volume. Also, ref the chooser
while mounting, as we may re-enter. Fixes #139376.
Prepare to handle composite implementations of GtkCellEditable, but
2004-07-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_adjustment_changed):
Prepare to handle composite implementations of
GtkCellEditable, but recursively poking at
allocation->y (hack stolen from GtkCList).