2004-12-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond):
Reinstate the previous behavior for clicking Ok after
activating a bookmark or path bar button in folder
modes. (#160044, Dennis Cranston)
2004-12-02 Federico Mena Quintero <federico@ximian.com>
Fix#159656:
* gtk/gtkfilechooserdefault.c (PendingOp): New enumeration for the
pending operation to perform when finishing loading a folder.
(struct _GtkFileChooserDefault): New fields 'pending_op' and
'pending_select_path'.
(pending_op_queue): New utility function.
(pending_op_process): New utility function.
(gtk_file_chooser_default_select_path): Don't select the path
immediately; delay it until the folder is finished loading.
(browse_files_model_finished_loading_cb): Process the pending
operation.
(browse_files_select_first_row): New utility function.
(gtk_file_chooser_default_initial_focus): Use
browse_files_select_first_row().
(gtk_file_chooser_default_should_respond): Queue an operation to
select the first row once we load the child folder.
(up_folder_handler): Queue an operation to select the current
folder once we load the parent folder.
(gtk_file_chooser_default_finalize): Free the pending_select_path.
2004-12-01 Matthias Clasen <mclasen@redhat.com>
Backport from HEAD:
* gtk/gtkmenu.c (MENU_SCROLL_TIMEOUT2): Change from 50 to 20 to
make the menus scroll faster.
2004-11-29 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (trap_activate_cb): Don't handle
Enter if we are in SELECT_FOLDER or CREATE_FOLDER actions. This
lets us navigate thei file system more easily.
(gtk_file_chooser_default_should_respond): If we are in
SELECT_FOLDER or CREATE_FOLDER modes, return TRUE if something is
selected.
2004-11-20 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (list_icon_data_func): Set an empty
icon if we are on the editable row: if we don't set the cell
renderer at all, it will reuse the last thing it painted.
2004-11-19 Federico Mena Quintero <federico@ximian.com>
Fix#158475:
* gtk/gtkpathbar.c (make_directory_button): Make the button a drag
source.
(button_drag_data_get_cb): New callback to let us drag the
button's path as a text/uri-list.
2004-11-19 Federico Mena Quintero <federico@ximian.com>
Fix#141077. Based on a patch by Christian Neumair <chris@gnome-de.org>:
* gtk/gtkfilechooserdefault.c (new_folder_button_clicked):
Desensitize the "new folder" button.
(edited_idle_cb): Sensitize the button back.
2004-11-19 Federico Mena Quintero <federico@ximian.com>
Fix#158477:
* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
Remove the "save_extra_align" and "browse_extra_align" fields; use
a single "extra_align" field.
(save_widgets_create): Don't create the save_extra_align.
(browse_widgets_create): Don't create the browse_extra_align.
(gtk_file_chooser_default_constructor): Create the extra_align
here.
(set_extra_widget): Add the extra widget to the alignment here,
and remove the old one if necessary.
(update_appearance): No need to frob the extra widget's alignments
anymore.
(gtk_file_chooser_default_set_property): No need to call
update_appearance() anymore when we set the extra widget.
2004-11-19 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_initial_focus): Don't set the cursor if
we are still loading.
2004-11-18 Federico Mena Quintero <federico@ximian.com>
Fixes#155744:
Try to load the whole file system model within a specified time.
* gtk/gtkfilechooserdefault.c (set_list_model): Don't create and
set the sort model here. Instead, set up a timer in which we'll
try to load the file system model.
(load_set_model): Create and set the sort model here.
(load_setup_timer): New function to set up a timer and switch to
the LOAD_LOADING state.
(load_remove_timer): New function to unset the timer and switch to
the LOAD_FINISHED state.
(browse_files_model_finished_loading_cb): Remove the timer if
needed and set the file system and sort model; switch to the
LOAD_FINISHED state.
(gtk_file_chooser_default_finalize): Remove the load timer.
(gtk_file_chooser_default_init): Start in the LOAD_FINISHED state.
2004-11-17 Sven Neumann <sven@gimp.org>
* gtk/gtktreeselection.c: include <string.h> for memset().
* gtk/gtkmenu.c (menu_change_screen): added missing casts.
Merged from HEAD branch:
* gtk/gtkcellrenderertext.c (get_layout): Don't use the foreground
color for selected cells, Don't use the background color
in unfocused selected cells. Also avoid creating two PangoLayouts
per render call. (#154615, #154611, Billy Biggs)
* gtk/gtkbutton.c:
* gtk/gtkimagemenuitem.c: Don't use one signal handler per
instance to track changes to the gtk-menu-images and
gtk-button-images settings. Instead use a single handler which
iterates over the widget hierarchy. (#143668)
Mon Nov 15 14:25:21 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_cell_set_dirty):
Patch from Gavin Romig-Koch <gavin@redhat.com> to no longer reset
the resized_width when marking a column dirty.
2004-11-11 Tor Lillqvist <tml@iki.fi>
Fix for #137551, by Robert Ögren:
* gdk/win32/gdkevents-win32.c (generate_focus_event): New function.
(gdk_keyboard_grab, gdk_keyboard_ungrab): Generate focus change
events.
(gdk_event_translate): Check for keyboard grabs and not pointer
grabs when handling WM_{SET,KILL}FOCUS. Use generate_focus_event().
2004-11-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (update_node): Remove two more places
where we were unconditionally setting "visible", causing
unnecessary notifications.
2004-11-11 Matthias Clasen <mclasen@redhat.com>
Considerably speed up GtkUIManager, by changing the semantics
of the dirty flag. It is now propagated up the tree, and
update_node() doesn't descend into clean subtrees. (#143668,
Dave Neary, Michael Natterer, Sven Neumann, fix proposed
by Soeren Sandmann)
* gtk/gtkuimanager.c (node_prepend_ui_reference): Only prepend
a new node reference if the merge_id is different. Take a GNode,
so we can walk up the tree, adjust all callers.
(node_remove_ui_reference): Only mark a node dirty if the first
ui reference is removed. Take a GNode here as well for
consistency.
(update_node): Don't descend into clean subtrees.
(mark_node_dirty): New function to mark a node and its
predecessors dirty.
2004-11-10 Tor Lillqvist <tml@iki.fi>
* gdk/win32/gdkevents-win32.c (_gdk_win32_get_next_tick):
Event timestamps don't have to be unique. As long as they are
nondecreasing we should be fine. Solves problems with for instance
long menus not staying up on first click. (#152035, Robert Ögren)
2004-11-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_pack_end):
Add the ComboCellInfo to the list. (#157528, Carlos Garnacho
Parro)
2004-11-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkmenu.c (menu_change_screen): Don't unnecessarily
call gtk_menu_position(), since that function has issues
when called on a menu whose parent is unrealized. (#157354,
Adam Hooper)
2004-11-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkliststore.c (gtk_list_store_move): Take into account
that a can be NULL even if position is not. This fixes the
inability of gtk_list_store_move() to move rows to the very
beginning. (#155545, John Finlay)
2004-10-31 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
Don't force the height of the action area, we don't scroll
it anyway, and the current way of calculating the height can lead
to broken display. (#156573, Christian Persch)
2004-10-29 Robert Ögren <gtk@roboros.com>
* gdk/win32/gdkwindow-win32.c (gdk_window_begin_resize_drag),
(gdk_window_begin_move_drag): Implement these on win32, currently
only for button 1. Fixes the resize grip of GtkStatusbar on
win32. (#143285)
2004-10-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_finalize):
Drop the reference to the pixbuf, regardless whether it is
a stock pixbuf. (#156863, Philip Langdale)
2004-10-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Invalidate
the window if the tree is empty, to avoid resizing artifacts
from the focus rectangle. (#155881, Vincent Noel, patch by
Billy Biggs)
2004-10-18 Matthias Clasen <mclasen@redhat.com>
Fix#155658, Sebastian Bacher:
* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Add a new
is_leader flag.
* gdk/x11/gdkwindow-x11.c (update_wm_hints): Set wm hints on
leader windows even if they are withdrawn.
(gdk_window_set_group): Mark the new leader window as such. We
never remove the flag again, but that should a) be vanishingly
rare and b) not a problem, since the flag just turns off an
optimization.
* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Mark the default
leader window as such.
2004-10-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcellview.c (gtk_cell_view_get_size_of_row): Restore
the size info for the current row after measuring another
row. (#154945, William Jon McCann)