Fri Jun 11 22:02:56 2004 Matthias Clasen <maclas@gmx.de>
* io-gif.c, io-pnm.c, io-tga.c, io-xpm.c: Don't use
contractions like "don't" or "isn't" in error messages.
It isn't nice to use them in log entries either...
(#137774, Morten Welinder, patch by Alexander Winston)
2004-06-11 Federico Mena Quintero <federico@ximian.com>
Fixes#143578:
* gtk/gtkfilesystemmodel.c (_gtk_file_system_model_add_editable):
Don't ref the editable node.
(_gtk_file_system_model_remove_editable): Don't unref the editable node.
(_gtk_file_system_model_remove_editable): Ahem, free the node.
* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault):
Added fields for edited_idle and edited_new_text.
(renderer_edited_cb): Queue the
creation of the folder in an idle handler.
(renderer_editing_canceled_cb): Likewise for the cancellation.
(gtk_file_chooser_default_finalize): Free the impl->edited_new_text.
Thu Jun 10 00:36:15 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcalendar.c (gtk_calendar_main_button): Start
the drag before focusing the selected.day.
* gtk/gtkcalendar.c (gtk_calendar_state_changed): Stop
a beginning drag if the widget becomes insensitive.
* gtk/gtkcalendar.c (gtk_calendar_button_press): Start
spinning before calling arrow_action(), so that a signal
handler triggered from arrow_action() has a chance to
stop the spinning. (#143966, Davyd Madeley)
2004-06-07 Federico Mena Quintero <federico@ximian.com>
* gtk/gtktreeview.c (gtk_tree_view_button_press): Revert the patch
from 2003/Sep/12. This kept DnD in tree views within modal
dialogs from working, which is especially bad for the file
chooser. Fixes#135168.
Sun Jun 6 23:57:21 2004 Matthias Clasen <maclas@gmx.de>
Make the entry context menu work in editable text cells. The changes are
based on a patch by Kristian Rietveld, which implemented an approach outlined
by Owen Taylor. (#50075)
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_focus_out_event): Ignore
focus out if the entry menu is posted.
(gtk_cell_renderer_text_populate_popup): Mark the entry menu as posted, and
set up a signal handler to clear the flag if the menu is unmapped.
(gtk_cell_renderer_text_popup_unmap): Clear the in_entry_menu flag, set up
a timeout to stop editing if the focus is lost.
(popdown_timeout): Stop editing if the entry doesn't have focus any more.
(gtk_cell_renderer_text_start_editing): Connect to the populate_popup signal
on the entry and keep a pointer to the entry.
(gtk_cell_renderer_text_editing_done): Disconnect from popuplate_popup, clear
the pointer to the entry.
Sun Jun 6 23:24:43 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtktexttag.c (gtk_text_tag_class_init): Improve the description
of the ::language property. (#143802, Owen Taylor)
Sat Jun 5 23:07:30 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkentrycompletion.c: (gtk_entry_completion_init),
(gtk_entry_completion_list_enter_notify),
(gtk_entry_completion_list_motion_notify),
(_gtk_entry_completion_popup), (_gtk_entry_completion_popdown):
* gtk/gtkentryprivate.h: Add an ignore_enter flag and
use it as in the menu code to avoid the initial selection if
the window pops up under the pointer. (Anders Carlsson)
Sat Jun 5 20:05:39 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* tests/testmerge.c: Add a checkbox to queue an
merge/unmerge. Patch from Matthias Clasen.
* gtk/gtktoolbar.c (struct _GtkToolbarPrivate): Add a new flag
"need_rebuild"
(rebuild_menu): New function that rebuilds the overflow menu and
makes sure it doesn't start or end with a separator.
(toolbar_content_new_tool_item)
(toolbar_content_remove)
(toolbar_content_new_compatibility): Set the rebuild_needed flag
(gtk_toolbar_size_allocate): Only show the overflow arrow when we
have actually overflown an item with a proxy menu item. Also make
sure we rebuild the menu if needed.
Fix#125504, #142377, #143463
* gtk/gtkseparatortoolitem.c (gtk_separator_tool_item_expose):
Obey the "priv->draw" flag. (#143692)
2004-06-04 Matthias Clasen <mclasen@redhat.com>
* docs/widget_geometry.txt: Add a note about the !CAN_FOCUS
quirk in the button size allocation code.
* gtk/gtkbutton.c (gtk_button_size_allocate): Give the space
requested for drawing the focus indicator to the child in the
!CAN_FOCUS case. This should fix issues which the Gimp has with
the button allocation changes in 2.4.2.
Thu Jun 3 21:17:29 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkentry.c (gtk_entry_completion_timeout): Calculate the
length of the entry contents in characters, not in bytes.
* gtk/gtkentry.c (paste_received): Don't pop up the completion
window on paste, noticed by Anders Carlsson.
Thu Jun 3 20:51:23 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_class_init): Fix the al lowed
values and default value for the ::active property. (#143669,
Olivier Andrieu)
2004-06-03 Michael Natterer <mitch@gimp.org>
* gtk/gtkimagemenuitem.c: use gtk_widget_get_child_requisition()
instead of accessing item->image->allocation.width/height
directly. Makes widgets which only have a requisition set using
gtk_widget_set_size_request() work and fixes bug #142789.
Thu Jun 3 08:07:59 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkmenu.c: Revert previous commit. It caused the problem
of sticky right click menus to return.
Wed Jun 2 01:56:02 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkmenu.c: Fix the stay up algorithm for combo boxes to
better handle the "click" case. bug Better fix for #141169.
2004-06-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfontsel.c (gtk_font_selection_size_focus_out): Don't
close the dialog on focus out of the size entry. (#143505,
David Hawthorne)
2004-06-02 Federico Mena Quintero <federico@ximian.com>
Fix#138807.
* gtk/fnmatch.c (_gtk_fnmatch): Take a no_leading_period argument.
(gtk_fnmatch_intern): Likewise; also implement this option.
* gtk/gtkprivate.h (_gtk_fnmatch): Updated prototype.
* gtk/gtkfilesel.c (find_completion_dir): Pass TRUE for the
no_leading_period argument of _gtk_fnmatch().
(attempt_file_completion): Likewise.
* gtk/gtkfilefilter.c (gtk_file_filter_filter): Pass FALSE for the
no_leading_period argument of _gtk_fnmatch().
Tue Jun 1 23:14:46 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtktoolbar.h:
* gtk/gtktoolbar.c:
* gtk/gtkentrycompletion.h:
* gtk/gtkentrycompletion.c:
* gtk/gtkcombobox.h:
* gtk/gtkcombobox.c: Rename function parameters from
index to index_ to prevent clash with BSD index(). (#143001)
Tue Jun 1 22:45:42 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkmenu.c (get_accel_path): Handle accel_closure being
NULL on an accel label. (#139641, Sam Stephenson, patch by
Michael Natterer)
Tue Jun 1 22:19:55 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkicontheme.c (theme_subdir_load): Prevent icon
lookup finding icons in the wrong prefix. (#143328,
Mark McLoughlin)
Wed Jun 2 00:39:58 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkmenushell.c (gtk_menu_shell_button_release): Make menus
only stay up if you release within 500 milliseconds.
(gtk_menu_shell_button_press): Set the activate_time to the event
time when a button is pressed.
* gtk/gtkmenu.c (gtk_menu_motion_notify, gtk_menu_enter_notify):
Interprete button releases as activate when we have seen both an
enter an a motion event.
2004-06-01 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystemmodel.c (do_files_removed): Don't insert a
dummy node if there is no parent node. Fixes#143362.
2004-05-31 Anders Carlsson <andersca@gnome.org>
* libegg/iconlist/eggiconlist.c (egg_icon_list_motion):
Implement rubberband scrolling (needs to be done for the
horizontal scrollbar too)
2004-05-31 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (renderer_edited_cb): Change to the
newly-created folder. Fixes#138932.
(trap_activate_cb): Only return TRUE if we did handle the event.
Fixes#143359; patch by jylefort@brutele.be.
Mon May 31 02:16:37 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkhandlebox.c: Make detached handleboxes work when their
parent is minimized, porting the fix from 1.2. (#1923, #57182)
Mon May 31 02:03:17 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkwindow.c (gtk_window_show): Make moving realized,
unmapped windows work.
Thu May 27 00:07:47 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkcombobox.c (gtk_combo_box_list_destroy): only remove the
signal if the box exists.
2004-05-18 Matthias Clasen <mclasen@redhat.com>
* configure.in: Check for XFIXES extension.
* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add
a gboolean have_xfixes member.
* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Register
XFIXES events and set have_xfixes.
* gdk/gdkevents.h (GdkEventType): Add GDK_OWNER_CHANGE.
(GdkEventOwnerChange): New event struct for owner change events.
(GdkOwnerChange): New enum for the reason field of GdkEventOwnerChange.
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Translate
XFixesSelectionNotify events into GdkEventOwnerChange events.
* gdk/gdkdisplay.h:
* gdk/x11/gdkdisplay-x11.c (gdk_display_supports_selection_notification):
(gdk_display_request_selection_notification): New api
to support selection ownership notification.
* gtk/gtkclipboard.h:
* gtk/gtkclipboard.c (_gtk_clipboard_handle_event): New private
api to handle owner change events.
(clipboard_peek): Refactored out the body of
gtk_clipboard_get_for_display() for use in _gtk_clipboard_handle_event().
* gtk/gtkmain.c (gtk_main_do_event): Handle GDK_OWNER_CHANGE events
by calling _gtk_clipboard_handle_event().
2004-05-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
Restrict the width of the popup to be no larger than the
monitor. (#142678, DmD Ljungmark)
2004-05-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkbutton.c: Go back to the initial fix for the
focus-overdrawing problem, which was actually correct
according to docs/widget_geometry.txt.
* gtk/gtkarrow.c (gtk_arrow_class_init): Bump the initial
arrow size from 11 to 15 to compensate for that.
2004-05-18 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_class_init): Document the
arguments of the ::move-cursor signal. (#142725)
2004-05-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkbutton.c (gtk_button_size_request)
(gtk_button_size_allocate, _gtk_button_paint): Allocate
space for the focus rectangle only if necessary. (#142668,
Michael Natterer)
Sun May 16 22:27:17 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkintl.h (Q_): Add a Q_() macro.
* gtk/gtkcellrendererprogress.h: Remove GTK_PROGRESS_CELL_UNKNOWN
and GTK_PROGRESS_CELL_FAILED. With the ability the set the label,
they are not really needed.
* gtk/gtkcellrendererprogress.c: Use the xpad and ypad properties
instead of hardwired padding, use Q_() for the default label,
compute a reasonable minimal size. (#142571, #142572, #142573,
Tommi Komulainen, Christian Persch)
2004-05-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_tree_window_to_tree_coords):
New function to go from tree window to tree coordinates, kept
static for now until we figure out the multiple coordinate
system mess in GtkTreeView API-wise.
(gtk_tree_view_scroll_to_cell): Transform the coordinates
from tree window to tree coordinates, using the new function.
Previously, the x coordinate was wrongly transformed. (#142494)
2004-05-14 Matthias Clasen <mclasen@redhat.com>
* gdk/gdktypes.h (GdkModifierType): Add a comment about unused
bits.
* gtk/gtkstock.c (real_add, gtk_stock_lookup): Use an unused
modifier bit to mark stock item which need to be freed
eventually. (#140654, Michal Pasternak, Scott Tsai)
2004-05-11 Michael Natterer <mitch@gimp.org>
* gtk/gtkcombobox.c (gtk_combo_box_popup)
(gtk_combo_box_menu_button_press): don't allocate the popup
smaller than the combobox. Fixes bug #59660.
2004-05-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (gtk_ui_manager_get_widget): Revert the
previous change to this function, clarify the docs instead.
2004-05-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_list_setup): Use
GTK_SELECTION_BROWSE.
* gtk/gtktreeview.c: Make hover selection work for
GTK_SELECTION_BROWSE as well.
2004-05-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentrycompletion.c (gtk_entry_completion_list_button_press):
Set the entry in the default handler of the ::match-selected signal.
(#137226)
2004-05-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): If we don't
do the move-selected-item below pointer thingie, do the
place-below-or-above one.
2004-05-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentrycompletion.c (gtk_entry_completion_init):
* gtk/gtkcombobox.c (gtk_combo_box_list_setup): Use hover selection
mode. (#127648, Dave Bordoley)
* gtk/gtktreeview.h:
* gtk/gtktreeview.c: Add a new property "hover_selection", which
when TRUE makes the selection follow the mouse. Also add setter
and getter for the fixed_height property.
2004-05-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_popup)
(gtk_combo_box_menu_button_press): Make sure the menu pops up
as wide as the combobox. (#59660, Havoc Pennington)
2004-05-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.h:
* gtk/gtkcombobox.c: Support tearoffable combo boxes (in menu
mode). Add a new property, add-tearoffs, for this. (#135956)
Mon May 10 15:03:50 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkwidget.c (_gtk_widget_grab_notify): New internal function
that emits the grab notify signal.
* gtk/gtkmain.c (gtk_grab_notify_foreach): Use it here.
Sun May 9 01:57:17 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_list_button_released):
In list mode, accept the same mouse/wheel bindings on
the cellview as on the button. (#136967)
Sun May 9 00:03:03 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkuimanager.c (gtk_ui_manager_get_widget): Make sure
that we actually return menus for nodes of type menu, not the
menuitems they're attached to.
Sat May 8 22:43:11 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtktearoffmenuitem.h:
* gtk/gtktearoffmenuitem.c: Put the torn_off flag back
into the GtkTearoffMenuItem struct, since it is used
by the Gimp, and keep it synchronized with the
tearoff_state property of the parent menu.
2004-05-08 Hans Breuer <hans@breuer.org>
* gtk/gtkfilesystemwin32.c (extract_icon) : finally also
create the correct mask for 'pseudo mime' icons
* gdk/win32/gdkwindow-win32.c(show_window_internal) : also
take focus_on_map into account
* gtk/gtkselection.c : g_message() only with DEBUG_SELECTION
* gtk/gtkactiongroup.c gtk/gtkcombobox.c :
... must return a value
* gdk/gdk.def gtk/gtk.def demos/gtk-demo/makefile.msc.in : updated
2004-05-07 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkhsv.c: Draw focus indication in the color wheel using
standard focus style. (#63071, Bill Haneman, idea for new
style by Owen Taylor)
* gtk/gtkstyle.c (gtk_default_draw_focus): Support drawing on
focus on the colorwheel via details.
Fri May 7 00:41:46 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtktearoffmenuitem.h:
* gtk/gtktearoffmenuitem.c: Make the tearoff
functionality model/view, the tearoffmenuitem being
the view and the tearoff_state property of the menu
being the model. (#101185, Owen Taylor)
* gtk/gtkmenu.c: Add a tearoff_state property.
Thu May 6 23:52:13 2004 Matthias Clasen <maclas@gmx.de>
Merge from 2.4:
* gtk/gtkmenuitem.c (gtk_menu_item_select_timeout): Also
popup the submenu for items in torn off menus. (#122051)
2004-05-06 Sven Neumann <sven@gimp.org>
* gtk/gtkexpander.c (gtk_expander_size_allocate): in RTL mode,
position the title lable next to the arrow just as we do for LTR
rendering. Fixes bug #141825.
Thu May 6 00:24:11 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkactiongroup.h:
* gtk/gtkactiongroup.c (gtk_action_group_translate_string):
New function to translate a string with translate_func.
(#135740)
2004-05-05 Elijah Newren <newren@math.utah.edu>
Changes to support do-not-focus-on-map hint in conjunction with
_NET_WM_USER_TIME (#115650):
* gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
field focus_on_map
* gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
set it.
* gtk/gtkwindow.[hc]: Add a boolean property "focus_on_map"
and gtk_window_get_focus_on_map() and gtk_window_set_focus_on_map().
* gdk/win32/gdkwindow-win32.c (gdk_window_new):
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
* gdk/x11/gdkwindow-x11.c (gdk_window_new):
Initialize the focus_on_map field to TRUE.
* gdk/win32/gdkwindow-win32.c (gdk_window_set_focus_on_map):
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_focus_on_map):
* gdk/x11/gdkwindow-x11.c (gdk_window_set_focus_on_map):
* gdk/x11/gdkwindow-x11.c (setup_toplevel_window):
Implementations for the various backends. The Win32 and linux-fb
implementations set the focus_on_map field, but don't use it yet
to actually implement noinput windows. The X implementation sets
_NET_WM_USER_TIME to 0 if focus_on_map is FALSE (see the EWMH).
* gdk/x11/gdkwindow-x11.h:
* gdk/x11/gdkevents-x11.c (set_user_time):
* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event):
* gdk/x11/gdkwindow-x11.c (gdk_x11_window_set_user_time):
s/_gdk_x11_window_set_user_time/gdk_x11_window_set_user_time/,
since we want that function to be part of the public API.
2004-05-04 Federico Mena Quintero <federico@ximian.com>
Fixes#139562, based on a patch by Christian Neumair.
* gtk/gtkfilechooserdefault.c (struct _GtkFileChooserDefault): Add
a filter_combo_hbox field to contain the filter combo.
(show_filters): Show/hide the filter_combo_hbox.
(create_filename_entry_and_filter_combo): Removed.
(file_pane_create): Create the filter_combo_hbox here.
2004-05-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkselection.c: Make the chunk size for
incremental transfers depend on the maximal request
size, capped at 256k. This should allow most selections
to be transferred nonincrementally, avoiding many
roundtrips and protocol overhead.
2004-05-03 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkuimanager.c (gtk_ui_manager_class_init): Call
g_signal_new() correctly and initialize the signal fields. Fixes
#141749; patch based on Michael Natterer's.
* gtk/gtkselection.c (_gtk_selection_request): Fix
a debug message to show correct information.
(_gtk_selection_incr_event): Make INCRemental transfer
of MULTIPLE targets work. This was broken since 1997!
2004-05-02 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkdrawable-win32.c (draw_segments) : don't
modify the passed in GdkSegment(s) in place, we may get
them again to draw at the same place. Fixes bug #129095,
bug #137177, ...
(draw_segments) draw the end pixel again to get the
pixmap mask right, fixes bug #126710, #130202
* gdk/win32/gdkwindow-win32.c : use SetForegroundWindow,
fixes bug #106013, John Ehresman
* gtk/makefile.msc.in : don't try to link gtk.res but
use gtk-win32.res (as supposed to be fixed below :)
2004-04-29 Federico Mena Quintero <federico@ximian.com>
Fixes#140412.
* gtk/gtkfilechooserdefault.c (remove_selected_bookmarks): New
function; moved the code over from
remove_bookmark_button_clicked_cb().
(remove_selected_bookmarks): Now, getting a non-removable bookmark
is not an error, as we may be called as a result of hitting the
Delete key.
(shortcuts_key_press_event_cb): New handler; delete the bookmark
if the user presses Backspace, Delete, or KP_Delete.
2004-04-29 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaction.c (closure_accel_activate): Use
_gtk_action_emit_activate() instead of directly
emitting the activate signal. (#141429, Jody Goldberg)
* gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel):
Warn people when the accelerator can not be
parsed. (#141429, Jody Goldberg)
2004-04-22 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (update_node): Make sure the separators
used to demarkate placeholder ends don't show up on
show_all(). (#140496, Murray Cumming)
2004-04-22 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkspinbutton.c (spin_button_at_limit): Make spinbuttons
work with negative increments. (#137975, Tim Gerla)
Wed Apr 21 21:38:03 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbutton.c (gtk_tool_button_set_label_widget,
gtk_tool_button_set_icon_widget): Remove the old widget from the
tool button before overwriting it with the new widget.
(#140508, Todd Goyen)
2004-04-22 Tor Lillqvist <tml@iki.fi>
Fix the file chooser on Windows. I can't make it misbehave or
crash any more now. But presumably there are still corner cases
not handled. I haven't really checked behaviour of UNC paths, for
instance.
* gtk/gtkfilesystemwin32.c: Accept both backslash and slash in
several places. Use G_IS_DIR_SEPARATOR macro (which could be added
to GLib in 2.6).
(gtk_file_system_win32_get_parent): Like the Unix version, assert
filename is absolute, and avoid one unnecessary string allocation
and freeing.
(canonicalize_filename,gtk_file_system_win32_parse): Handle drive
letters more correctly.
(gtk_file_system_win32_render_icon): Assure correct syntax is used
for root folder of a drive. (#137962, Morten Welinder)
(filename_is_some_root): New function that accepts also root
without any drive specified.
(filename_is_drive_root): Rename from filename_is_root.
* gtk/gtkfilechooserentry.c (completion_match_func): Casefold on
Windows.
2004-04-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (gtk_entry_completion_timeout): Pop down the
completion window if there are no completions anymore.
2004-04-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
Don't call gtk_tree_view_scroll_to_cell() on an empty tree view.
It doesn't like that. (#140642, Christian Persch)
2004-04-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_scroll_pages):
(gtk_text_view_scroll_hpages): Don't scroll to cursor position
if we already have pending scrolls. Bandaid fix for #78513.
2004-04-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_allocate_children): Make
sure anchored children get size allocated, even if the layout
is valid. (#122323, Andrew E. Makeev)
Mon Apr 19 17:59:17 2004 Owen Taylor <otaylor@redhat.com>
* INSTALL.in: Update libpng and libjpeg URLs, remove
note about building without since that's not the normal
case.
Sun Apr 11 09:45:11 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkicontheme.c (load_themes): Fix a couple of typos in
handling of SVG/non-SVG unthemed icons.
2004-04-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextbtree.c (_gtk_text_line_previous_could_contain_tag):
Don't stop the iteration up to the tag_root too
early. (#109945, Dongho Shin)
2004-04-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesel.c (open_new_dir): Tell the user to use
G_FILENAME_ENCODING, not G_BROKEN_FILENAMES. Fixes#114065.
2004-04-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (split_uris): Use a variant of the
code from gtkfilesel.c to parse a "text/uri-list" blob. Fixes
#140126.
2004-04-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcolorsel.c: Add a11y relations between the color
wheel and the spin buttons. (#132745, Padraig, O'Briain)
* gtk/gtkiconfactory.c (gtk_icon_set_render_icon): Document
the meaning of size == -1.
* gtk/gtkwidget.c (gtk_widget_render_icon): Explicitly accept
a size of -1. (#137436, Brian Cameron)
2004-04-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c: Make the arrow and separator regular
children of an hbox inside the button, and propagate state
changes from the button to the cell view. (part of the fix
for #138650, should also fix#137535)
* gtk/gtkcellview.c (gtk_cell_view_expose): Pass the PRELIT
state to gtk_cell_renderer_render() when prelighted. (part
of the fix for #138650)
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render):
Use PRELIGHT state when appropriate. (part of the fix for
#138650)
2004-04-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_relayout): Don't spit
out warnings if called before the combo box is
realized. (#139742, Philip Langdale)
Tue Apr 13 16:19:23 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkpathbar.c (make_directory_button): patch from Owen to
make the buttons sized by a bold label. This makes the text
'swim' a little, but stops the buttons from resizign, #137210
2004-04-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkuimanager.c (get_child_node): Don't crash if a node
has no name.
(start_element_handler): Accept separators without unique
names. (#133302, Anders Carlsson)
* gtk/gtkuimanager.c (node_remove_ui_reference): Don't leak
list nodes. (#138862, Morten Welinder)
2004-04-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkactiongroup.c (gtk_action_group_add_action): Document
possible accelerator gotcha when using this function. (#139641,
Christian Persch)
Tue Apr 13 12:24:49 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_destroy): remove unused
variable.
(gtk_tree_view_button_press): If we activated the row we don't
want to grab focus back, as moving focus to another widget is
pretty common, #138458
2004-04-12 Matthias Clasen <mclasen@dhcp64-228.boston.redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_unset_model): Don't unref
model if it is NULL. (#139770)
2004-04-12 Matthias Clasen <mclasen@dhcp64-228.boston.redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_get_cell_area): Typo fix.
* gtk/gtkentrycompletion.c (gtk_entry_completion_init): Don't add
a shadow inside the scrolled window, add it around the vbox.
* gtk/gtkentryprivate.h:
* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
Return a boolean indicating whether the popup is positioned above
or below. Scroll the completions to the beginning or the end,
depending on the positioning.
* gtk/gtkentry.c (gtk_entry_completion_key_press): Make keynav
wrap around in the entry completion popup, and allow GDK_UP to
enter the popup. (#137440)
2004-04-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (gtk_entry_size_request): Make sure the style is
there before using it.
2004-04-11 Hans Breuer <hans@breuer.org>
* gdk/win32/gdkspawn-win32.c : workaround for bug #137496,
the real fix would involve just another small API breakage,
i.e. gdk_spawn_* using GPid not just gint.
* gtk/makefile.msc.in : build gtk-win32.res, not gtk.res
2004-04-07 Federico Mena Quintero <federico@ximian.com>
Fix#132500.
* gtk/gtkfilesystem.c (gtk_file_system_parse): Ensure that the
passed-in 'str' is not NULL.
* gtk/gtkfilesystemunix.c (expand_tilde): New helper function;
expands "~/" or "~foo/" at the beginning of a filename.
(gtk_file_system_unix_parse): Use expand_tilde() before doing
anything else.
* gtk/gtkfilechooserentry.c
(gtk_file_chooser_entry_maybe_update_directory): Take in a
force_reload argument.
(gtk_file_chooser_entry_changed): If gtk_file_system_parse()
returns an error, set the file_part_pos to -1.
(load_directory_callback): Only populate the model if the
file_part_pos is not -1.
2004-04-05 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (location_popup_handler): Use a
title for SAVE and CREATE_FOLDER modes. Fixes#137272.
2004-04-05 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_make_path): Look
for G_DIR_SEPARATOR in the display_name, and err out if it is
present; use the same error message as Nautilus. Fixes#136467.
2004-04-05 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (file_pane_create): Make the
new-folder button say "Create Fo_lder" rather than "Create
_Folder", so that the mnemonic doesn't conflict with the "Save in
_folder" label. Fixes#136975.
2004-04-05 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkpathbar.c (_gtk_path_bar_set_path): Ref/sink the
buttons. Also, free them correctly upon failure. Based on a
patch by Morten Welinder, fixes#137956.
Fri Apr 2 17:57:33 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_row_inserted): set the height
correctly for fixed height when inserting a node, #138082
2004-04-01 Federico Mena Quintero <federico@ximian.com>
Fix#136077.
* gtk/gtkpathbar.h (struct _GtkPathBarClass): Add a
"child_is_hidden" boolean argument to the "path-clicked" signal.
* gtk/gtkpathbar.c (struct _ButtonData): Added a file_is_hidden
field.
(make_directory_button): Take a file_is_hidden argument; put it in
the ButtonData.
(_gtk_path_bar_set_path): See whether each path component path is
a hidden file.
(gtk_path_bar_class_init): Add the file_is_hidden argument to the
"path-clicked" signal.
(button_clicked_cb): See if the downwards button represents a
hidden file for the file_is_hidden argument in the signal
emission.
* gtk/gtkmarshalers.list: Added a signal type VOID:POINTER,BOOLEAN.
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_select_path): If we fail to switch
folders, don't try to select the path in the file system model.
Also, return the result from _gtk_file_system_model_path_do().
(gtk_file_chooser_default_select_path): Turn on show_hidden in the
file system model if we are asked to select a hidden file.
(path_bar_clicked): Show hidden files based on whether the
immediate downwards folder in the path bar is a hidden file
itself.
(struct _GtkFileChooserDefault): Added fields
browse_files_popup_menu and browse_files_popup_menu_hidden_files_item.
(create_file_list): Set an object data key of
"GtkFileChooserDefault" on the tree view so that we can find the
impl from the popup menu callbacks. Also, hook up to the
"button-press-event" and "popup-menu" signals in the file list to
bring up a popup menu.
(list_popup_menu_cb): New callback.
(list_button_press_event_cb): New callback.
Fix#138763:
* gtk/gtkfilesystemmodel.c
(_gtk_file_system_model_new): Oops, connect_object to
"finished-loading".
2004-03-29 Federico Mena Quintero <federico@ximian.com>
Fix#137520.
* gtk/gtkfilesystem.h (struct _GtkFileFolderIface): Added slots
for an ::is_finished_loading() method and a ::finished_loading()
signal at the end of the struct.
* gtk/gtkfilesystem.c (gtk_file_folder_base_init): Create the
"finished-loading" signal.
(gtk_file_folder_is_finished_loading): New function.
* gtk/gtkfilesystemunix.c
(gtk_file_folder_unix_is_finished_loading): Implement.
* gtk/gtkfilesystemmodel.c (struct _GtkFileSystemModelClass): New
slot for a "finished-loading" signal.
(gtk_file_system_model_class_init): Create the "finished-loading"
signal.
(struct _GtkFileSystemModel): New field
idle_finished_loading_source. We emit the "finished-loading"
signal in an idle if the root folder was done loading right in
_gtk_file_system_model_new(), so that the caller has a chance to
connect to the signal.
(_gtk_file_system_model_new): Connect to the normal signals of the
folder even if the initial _list_children() fails. Also, see if
the folder is finished loading; connect to the "finished-loading"
signal otherwise.
(gtk_file_system_model_finalize): Remove the idle handler.
* gtk/gtkfilechooserdefault.c (set_list_model): Set a busy cursor
and connect to the model's "finished-loading" signal.
(get_toplevel): New helper function.
(error_message): Use get_toplevel().
(trap_activate_cb): Likewise.
(location_popup_handler): Likewise.
(set_busy_cursor): New function.
(browse_files_model_finished_loading_cb): New callback.
2004-03-25 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (check_preview_change): Just use the
file under the cursor; we don't need the logic from
GtkFileSelection after all. Fixes#132255.
2004-03-25 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (location_entry_create): Fill the
location entry with the display name of the file under the cursor
for Open mode, or the typed filename in Save mode.
2004-03-24 J. Ali Harlow <ali@juiblex.co.uk>
* gtk/gtkfilesystemwin32.c
(filename_is_root): Bare drive designators (eg., "c:") are
no longer considered as root filenames. Fixed#137942
2004-03-24 J. Ali Harlow <ali@juiblex.co.uk>
* gtk/gtkfilesystemwin32.c
(gtk_file_system_win32_create_folder): Invert test for error in
mkdir. Fixes#137945
2004-03-24 J. Ali Harlow <ali@juiblex.co.uk>
Fixed#138004 using Federico's code from #132327.
* gtk/gtkfilesystemwin32.c (struct _GtkFileSystemWin32): Add a
folder_hash field to keep a list of live folder objects.
(gtk_file_system_win32_init): Create the folder_hash.
(gtk_file_system_win32_finalize): Destroy the folder_hash.
(gtk_file_system_win32_get_folder): Ref and return an existing
folder if we have it around, otherwise return a new folder object.
(struct _GtkFileFolderWin32): Add a field for the parent file system.
(gtk_file_folder_win32_finalize): Remove the folder from the file
system's hash table.
(gtk_file_system_win32_create_folder): Emit "files-added" on the
newly-created folder's parent. Fixes#138004.
2004-03-24 J. Ali Harlow <ali@juiblex.co.uk>
* gtk/gtkfilesystemwin32.c
(gtk_file_system_win32_get_folder): Test that path is actually
a directory and throw error if not. Fixed bug #137950
2004-03-22 J. Ali Harlow <ali@juiblex.co.uk>
* gtk/gtkfilesystemwin32.c
(gtk_file_system_win32_volume_get_display_name): Ignore empty
volume labels; assume that GetVolumeInformation would fail if
GetVolumeInformationW does; catches a small memory leak;
pass the buffer size to GetVolumeInformationW in wide
characters instead of bytes. Fixes bug #137543
(list_volumes): Cope with the theoretical possibility of
more than 26 logical drives. Fixes bug #137940
(bookmarks_serialize): Now actually removes bookmarks.
Fixes bug #137943
2004-03-21 Tor Lillqvist <tml@iki.fi>
* gtk/gtkfilesystemwin32.c
(gtk_file_system_win32_volume_get_base_path): Include the
backslash. Otherwise gtk_file_system_win32_path_to_uri() returns
NULL for a volume base path, as g_filename_to_uri() requires an
absolute path, and just a drive letter and colon isn't. (#137543)
2004-03-20 Hans Breuer <hans@breuer.org>
* gtk/gtkfilesystemwin32.c : applied the undisputable and
required [due to recent gtkfilesystem internal api semantic
changes] part of patches to fix bug #137543 (Tor Lillqvist,
J. Ali Harlow)
* gdk/gdkevents-win32.c (handle_configure_event) :
(gdk_event_translate), WM_WINDOWPOSCHANGED : initialize
GdkWindowObject::x, y with screen coords to make
gdk_window_get_position () return the right thing and thus fix
drag and drop positioning (e.g. Gimp tabs, fixes bug #137192)
2004-03-19 Federico Mena Quintero <federico@ximian.com>
* Revert the patch to #137520, as 2.4.1 is for conservative bug
fixes only. The patch is attached to the bug report, for
reference.
2004-03-19 Morten Welinder <terra@gnome.org>
* gtk/gtkfilechooserdefault.c
2004-03-19 Morten Welinder <terra@gnome.org>
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_set_current_folder): Test existance of
the path after checking for locality, if needed.
2004-03-19 Federico Mena Quintero <federico@ximian.com>
Fix#137520.
* gtk/gtkfilesystem.h (struct _GtkFileFolderIface): Added slots
for an ::is_finished_loading() method and a ::finished_loading()
signal at the end of the struct.
* gtk/gtkfilesystem.c (gtk_file_folder_base_init): Create the
"finished-loading" signal.
(gtk_file_folder_is_finished_loading): New function.
* gtk/gtkfilesystemunix.c
(gtk_file_folder_unix_is_finished_loading): Implement.
* gtk/gtkfilesystemmodel.c (struct _GtkFileSystemModelClass): New
slot for a "finished-loading" signal.
(gtk_file_system_model_class_init): Create the "finished-loading"
signal.
(struct _GtkFileSystemModel): New field
idle_finished_loading_source. We emit the "finished-loading"
signal in an idle if the root folder was done loading right in
_gtk_file_system_model_new(), so that the caller has a chance to
connect to the signal.
(_gtk_file_system_model_new): Connect to the normal signals of the
folder even if the initial _list_children() fails. Also, see if
the folder is finished loading; connect to the "finished-loading"
signal otherwise.
(gtk_file_system_model_finalize): Remove the idle handler.
* gtk/gtkfilechooserdefault.c (set_list_model): Set a busy cursor
and connect to the model's "finished-loading" signal.
(get_toplevel): New helper function.
(error_message): Use get_toplevel().
(trap_activate_cb): Likewise.
(location_popup_handler): Likewise.
(set_busy_cursor): New function.
(browse_files_model_finished_loading_cb): New callback.
Thu Mar 18 12:10:45 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtktreeitem.c (gtk_tree_item_forall): Include
eventbox for expander. (#137564, reported by
Jacques Garrigue)
2004-03-17 Morten Welinder <terra@gnome.org>
* gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): Free
volumes not actually put into the shortcut list.
2004-03-17 Morten Welinder <terra@gnome.org>
* gtk/gtkfilechooserdefault.c (check_icon_theme): Do nothing if we
have no screen. Fixes#137260.
(shortcuts_add_bookmark_from_path): Simplify using check_is_folder
thereby fixing leak. Fixes#137259.
2004-03-17 Morten Welinder <terra@gnome.org>
* gtk/gtkpathbar.c (gtk_path_bar_forall): Make this work when the
slider buttons have been destroyed.
(gtk_path_bar_remove): Make this work for slider buttons too.
Fixes http://bugzilla.gnome.org/show_bug.cgi?id=137257
Wed Mar 17 01:20:28 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
Move the repositioning logic from _gtk_entry_completion() popup
over here. Fixes#137355, reported by Niklas Knutsson.
Tue Mar 16 13:54:07 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkentry.c (gtk_entry_completion_key_press): Block the
::changed handler during the ::match-selected when done by
keyboard.
Tue Mar 16 00:56:11 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkentrycompletion.c (gtk_entry_completion_list_button_press):
Block the ::changed handler during the emission of ::match-selected.
Partial fix for #137226.
* gtk/gtkfilechooserentry.c: Remove the no longer needed
no_pop_down flag.
2004-03-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (update_appearance): Only hide the
"create folder" button in OPEN mode; all the others should show it
it.
(get_paths_foreach): Handle the editable row.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_create_folder):
Force a re-get of the folder so that the new directory gets added
to its hash table of file info.
2004-03-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (update_from_entry): In the Save
modes, set the Name entry of the file chooser if we get a
nonexistent filename from the file entry. Fixes#135911.
(gtk_file_chooser_default_set_current_name): Oops, this should
also work if we are in CREATE_FOLDER mode.
* gtk/gtkfilesystem.c (gtk_file_path_real_copy): Use
gtk_file_path_copy().
* gtk/gtkfilechooserentry.c (check_completion_callback): Free the
path that we got from the model.
(completion_match_func): Use DISPLAY_NAME_COLUMN rather than a
hard-coded constant.
Mon Mar 15 13:50:14 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_set_property):
Don't leak the temporary font description. (Nils O. Selåsdal)
Mon Mar 15 12:51:17 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (location_popup_handler): Only show
the title string in OPEN/SELECT_FOLDER mode as it's open-specific.
Put a blank title for SAVE/CREATE_FOLDER; we are in string freeze,
so we'll fix it for 2.4.1 as #137272.
* gtk/gtkpathbar.c (gtk_path_bar_scroll_down): calculate
space_available correctly for RTL mode. w/o this, you can't
scroll down again. Fixes#137021.
2004-03-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkpathbar.c (gtk_path_bar_scroll_up): Queue a resize.
(gtk_path_bar_scroll_down): Likewise.
Mon Mar 15 11:40:43 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfilechooserentry.c: Store the position of the
file part and use that in check_completion_callback()
and match_selected_callback() to figure out where
to operate on the text, rather than recomputing the
information.
Mon Mar 15 10:35:19 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (shortcuts_add_volumes): set
changing_folders to be true so we don't trigger a callback when we
remove the selection
(shortcuts_add_bookmarks): ditto
Mon Mar 15 09:54:36 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtklabel.c (gtk_label_focus): Check for
Control-Tab or Control-Shift-Tab, not any Control-key
as a current event ... handles the case where a dialog
is triggered from a control accelerator better.
Mon Mar 15 08:48:48 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserentry.c (match_selected_callback): implement
correctly.
(completion_match_func): Allow surpressing popdowns.
(maybe_append_seperator_to_path): New function to add a separator
item to a display_name. Bad hack.
(check_completion_callback): Implement select-ahead as an idle.
(add_completion_idle): new function to handle select-ahead
(gtk_file_chooser_entry_do_insert_text): starf the select-ahead
idle.
(gtk_file_chooser_entry_focus): Override tab for completion.
(gtk_file_chooser_entry_activate): commit select_ahead when
activated.
* gtk/gtkfilechooserdefault.c (location_popup_handler): grab the
appropriate widget for the mode.
2004-03-15 Mark McLoughlin <mark@skynet.ie>
* gtk/gtkfilechooserdefault.c: remove the unused "lowest_folder"
GtkFileChooserDefault member. Leftover from my original patch
for bug #136987.
Mon Mar 15 01:50:28 2004 Jonathan Blandford <jrb@gnome.org>
* gtkfilechooserentry.c: Rewritten to use the GtkEntryCompletion
API more correctly. Now pops down the dropdown well.
* gtkfilesystem.c (gtk_file_path_get_type): New boxed type for the
FilePath.
* test/testfilechooser.c: disable preview widget temporarily.
It's not representative of a good preview widget.
2004-03-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_find_current_folder):
Renamed from shortcuts_unselect_all(); now selects the row that
corresponds to the current folder, if any. Fixes#135916.
* gtk/gtkpathbar.h: Added prototypes for _gtk_path_bar_up() and
_gtk_path_bar_down().
2004-03-15 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c: Surround the
drag-outside-to-remove-bookmarks code with "#if 0" blocks; it's
too unstable right now.
Sun Mar 14 23:36:15 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfilechooserdefault.c: Implement local_only by
filtering the shortcuts and bookmarks list by
gtk_file_system_path_to_filename (file_system, path) != NULL.
(#132894)
* gtk/gtkfilesystem.c (gtk_file_system_path_is_local): Add
a convenience function, may by interesting to push to the
file system vtable later for performance.
2004-03-14 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystem.c (gtk_file_folder_get_info): Allow the path
to be NULL, so that people can ask for information about a
parent-less file system root (e.g. get_info (get_folder ("/"), NULL)).
* gtk/gtkfilesystemunix.c (gtk_file_folder_unix_get_info): Allow
the condition describe above.
* gtk/gtkfilechooserdefault.c (get_file_info): Allow getting
information of root paths.
* gtk/gtkpathbar.c (_gtk_path_bar_set_path): Handle root paths correctly.
Sun Mar 14 22:32:36 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_set_search_equal_func): Mention
GtkTreeViewSearchEqualFunc return value oddity here as well.
* gtk/gtktreeview.c (gtk_tree_view_search_equal_func): On failure
to get a string to compare to, return TRUE (no match), not
FALSE (match). Handle %NULL string values gracefully.
Remove unused variable. (#135962, Mark McLoughlin)
Sun Mar 14 21:03:15 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkpathbar.[ch]: Add _gtk_path_bar_up()/
_gtk_path_bar_down().
* gtk/gtkfilechooserdefault.c: Use _gtk_path_bar_up()/
_gtk_path_bar_down() as bindings for Alt-Up
and new Alt-Down. (Partly based on a patch by
Mark McLoughlin, #136987)
2004-03-14 Federico Mena Quintero <federico@ximian.com>
Fixes#136185, patch by Morten Welinder, with some changes.
* gtk/gtkfilechooserdefault.c (check_is_folder): New helper function.
(shortcuts_insert_path): Check the path first with check_is_folder().
(gtk_file_chooser_default_set_current_folder): Likewise.
(gtk_file_chooser_default_add_shortcut_folder): Likewise.
(browse_widgets_create): Unref the size group.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder):
Handle the case where the file exists but it is not a directory.
(IconType): Add value for ICON_UNDECIDED.
(struct stat_info_entry): New structure to hold a file's struct
stat, its MIME type and its icon type.
(struct _GtkFileFolderUnix): Added a hash of struct
stat_info_entry, and flags to remember which info types we've read
so far.
(get_icon_type): Use a helper function for the icons-from-stat
types.
(gtk_file_system_unix_render_icon): Use the cached file info.
(gtk_file_folder_unix_get_info): Put the info in the cache.
(gtk_file_system_unix_get_folder): Create the cache of file info
structures.
* gtk/gtkfilesystem.c (gtk_file_info_set_display_name): Handle the
case where display_name is the same as the existing
info->display_name.
Sun Mar 14 19:26:48 2004 Owen Taylor <otaylor@redhat.com>
#136672, reported by Christian Persch; fixes based
on a patch by Soeren Sandmann.
* gtk/gtkmenu.c: Change the handling of mixed gridded
and non-gridded menu items; the old method was causing
major performance problems even with the "avoid relayout
on destruction" hack put in recently.
Now we first lay out the gridded items and then put the
non-gridded items into empty rows / after the gridded items.
Layout is done in a central menu_shell_ensure_layout(). Also
avoid emitting property notifications when we initially
insert or attach items.
* gtk/gtkmenushell.[ch] gtk/gtkmenu.c: Stop setting the
unused menu_shell->menu_flag, and document it as unused
in the header.
* tests/testactions.c: Add a test of creating/removing
lots of items.
* test/testgtk.c: Add some more cruft to the menu test.
Sun Mar 14 15:38:39 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkentrycompletion.c (gtk_entry_completion_visible_func):
always use the match_func, even if text_column is set.
2004-03-14 Morten Welinder <terra@gnome.org>
* gtk/gtkfilesystemunix.c (get_parent_dir): Don't turn "/" into
"".
(gtk_file_system_unix_get_folder): Use the same value for lookup
as for insertion. Make sure we have a directory.
Sun Mar 14 01:01:18 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcellview.c (gtk_cell_view_set_cell_data): Align
this function with gtk_tree_view_column_set_cell_data();
call the cell data func after setting the attributes.
Sun Mar 14 01:00:08 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcellview.c (gtk_cell_view_expose): One more try;
make sure not to call gtk_cell_view_set_cell_data() when
displayed_row is NULL.
Sat Mar 13 18:13:13 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextlayout.c (gtk_text_layout_get_line_display): When not
wrapping, do the offset of the line for justification ourselves.
(#120256, Felipe Heidrich)
Sun Mar 14 00:03:18 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcellview.c (gtk_cell_view_expose): Support the
model-less use of GtkCellView shown in testcombo.c.
Sat Mar 13 15:19:17 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_destroy): Remove
the window from the toplevel_list here rather in destroy.
While this is theoretically speaking wrong, it fits
in better with the current reality that destroyed
widgets are not reusable. (#126808, Michael Natterer)
Sat Mar 13 21:47:47 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcellview.c (gtk_cell_view_expose): Don't do anything
beyond clearing to the background if there is no active row.
(#137066, reported by Owen Taylor)
Sat Mar 13 21:37:44 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_list_key_press): Pop down the
list when an item is selected via the keyboard.
Sat Mar 13 10:49:46 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (_gtk_drag_dest_handle_event): For
GTK_IS_PLUG toplevels, call gdk_window_get_origin()
not gtk_window_get_position, as a hackround for not
having accurate notification of window position for
embedded windows. (#136112, Dan Winship)
Sat Mar 13 10:34:03 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtktextview.c gtk/gtktextbuffer.c: Revert last change;
it causes problems for pastes from other applications; see
comments in bugzilla for #81880.
Sat Mar 13 02:55:51 2004 Matthias Clasen <maclas@gmx.de>
Fix middle button pasting in the TextView (#81880, reported
by Evert Verhellen, patch by Paolo Borelli):
* gtk/gtktextview.c (gtk_text_view_button_press_event): Retrieve
the insert mark and move the cursor to it making sure of also
scroll the window if needed.
* gtk/gtktextbuffer.c (pre_paste_prep): Move the insert mark
to the insertion point.
Sat Mar 13 01:38:55 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_remove): Add a remove
implemenatation which restores the cell_view when the custom
child is removed. (#136555, Owen Taylor)
Sat Mar 13 00:07:51 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_layout_clear):
Keep the cell_list in a consistent state while iterating over it,
since clear_attributes() also iterates over it. (another instance
of #136585, Morten Welinder)
Fri Mar 12 23:37:15 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkfilechooserdialog.c
(file_chooser_widget_default_realized_size_changed): Clamp the
new size to the screen. Part of bug 129020.
Fri Mar 12 15:06:44 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkexpander.c (gtk_expander_realize): Create the
event_window at the right size using the same logic as
in size_allocate. (#136994, Niklas Knuttson)
2004-03-12 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkwindow.c (gtk_window_activate_focus): Don't ignore the
return value of gtk_widget_activate().
(gtk_window_activate_default): Likewise. Fixes#137008.
* gtk/gtkfilechooserdialog.c (response_cb): Act on positive
response IDs we recognize, rather than bailing out on cancellation
ones. Fixes#136237; patch by Olivier Andrieu
<oliv__a@users.sourceforge.net>.
(file_chooser_widget_file_activated): If the dialog doesn't have a
default widget, try to find a suitable response widget on our own.
People should *really* be using gtk_dialog_set_default_response(),
but this is to help lazy programmers.
* gtk/gtkdialog.c (_gtk_dialog_get_response_for_widget): New
internal function.
(get_response_data): Add a "create" argument so that we don't
unconditionally create the response data.
2004-03-11 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_drag_set_delete_cursor):
Put the trash icon on the right for LTR locales, or on the left
for RTL.
(shortcuts_drag_motion_cb): Cancel the idle handler here as well.
(shortcuts_drag_leave_cb): Test whether the idle is present.
(shortcuts_drag_data_received_cb): Ahem, don't assert here.
2004-03-11 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_drag_set_delete_cursor):
Put the trash icon on the right for LTR locales, or on the left
for RTL.
(shortcuts_drag_motion_cb): Cancel the idle handler here as well.
(shortcuts_drag_leave_cb): Test whether the idle is present.
Thu Mar 11 16:18:51 2004 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkfilechooserdefault.c (shortcuts_insert_path): revert
earlier change to insert_path so that we test that the directory
exists.
* gtk/gtkfilechooserdialog.c
(gtk_file_chooser_dialog_constructor): move focus.
Thu Mar 11 22:12:14 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkspinbutton.c (gtk_spin_button_size_request): Use the same
logic as GtkEntry when calculating border width. (#116368, reported
by Morten Welinder)
2004-03-11 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (remove_settings_signal): New
function, copied from gtkpathbar.c.
(gtk_file_chooser_default_dispose): Use remove_settings_signal()
rather than our own code.
(gtk_file_chooser_default_screen_changed): Use
remove_settings_signal(); this should handle per-screen settings
correctly.
Thu Mar 11 13:58:24 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmessagedialog.c gtk/gtklabel.c: Back out the
put-labels-into-the-standard-focus-chain patches
from bug #59707.
* gtk/gtklabel.c (gtk_label_focus): Only put the
label in the tab chain when the control key is pressed.
2004-03-11 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (error_message_with_parent): Use a
single OK button, not a Close button, as per the HIG.
* gtk/gtkfilesel.c (gtk_file_selection_fileop_error): Likewise.
2004-03-11 Dov Grobgeld <dov@imagic.weizmann.ac.il>
* gtk/gtktextlayer.c: (gtk_text_layout_set_buffer): Added
call to gtk_text_layout_update_cursor_line() to solve in
problem of switching keyboard direction at widget creation:
bug #136680
Thu Mar 11 10:28:30 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkfilechooserembed.c (delegate_initial_focus): Remove
stray 'return' statement. (#136855, David L. Cooper II)
2004-03-11 Mark McLoughlin <mark@skynet.ie>
* gtk/gtkstyle.c: (gtk_default_draw_expander): Use the PRELIGHT
fg color for drawing the expander when prelit. Fixes problem
with the HighContrast theme: bug #136789.
2004-03-11 Federico Mena Quintero <federico@ximian.com>
Fix#135912 and #135913.
* gtk/gtkfilechooserdefault.c
(shortcuts_filter_model_row_draggable): Implement.
(shortcuts_model_filter_new): New function, create a
ShortcutsModelFilterClass derived from GtkTreeModelFilter, so that
we can implement our own DnD interface methods.
(shortcuts_model_create): Use shortcuts_model_filter_new().
(shortcuts_list_create): Enable the shortcuts list as a drag
source.
(file_list_source_targets): Renamed from shortcuts_targets.
(shortcuts_list_create): Change the options for
gtk_drag_dest_set(). Connect to more drag signals so that we can
implement drops by hand.
(shortcuts_drag_data_delete_cb): New handler; just stop the emission.
(shortcuts_drag_motion_cb): New handler; validate the drop.
(shortcuts_drag_leave_cb): New handler; unset the drag_dest_row.
(shortcuts_drag_drop_cb): New handler; just stop the emission and
remove the idle handler for the drag cursor.
(shortcuts_add_bookmark_from_path): Add a position argument,
return a boolean success code.
(shortcuts_drag_data_received_cb): Handle two cases: 1) Insert
the bookmarks at the proper position, rather than always appending
them to the list; 2) alternatively, reorder the bookmarks.
(struct _GtkFileChooserDefault): New field shortcuts_drag_outside.
(shortcuts_drag_motion_cb): Turn off impl->shortcuts_drag_outside.
(shortcuts_drag_leave_cb): Turn on impl->shortcuts_drag_outside in
an idle handler.
(shortcuts_drag_end_cb): New handler; remove the selected bookmark.
Thu Mar 11 01:08:25 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (location_entry_create): up the
width of the entry a tad.
* gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_init): use
gtk_entry_completion_selection_changed. Also, unref the
completion as we were leaking a reference to it.
2004-03-10 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkstyle.c (draw_dot): Remove spurious semicolon. Thanks to
Kjartan Maraas for pointing it out.
Wed Mar 10 23:40:15 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): Set the background
on the action view cell renderer here, not in init, so that a) we catch
style changes, and b) we get the real style, not the default one.
Partial fix for #127648, reported by Dave Bordoley.
Wed Mar 10 22:30:23 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcellview.c (gtk_cell_view_cell_layout_clear): Keep the
cell_list in a consistent state while iterating over it, since
clear_attributes() also iterates over it. (#136585, Morten Welinder)
2004-03-10 Mark McLoughlin <mark@skynet.ie>
* gtk/gtkexpander.c: (gtk_expander_expose): don't propagate
the expose to the label. The expose handler for GtkContainer
already does that. Fixes bug #136719. Reported by Dennis
Cranston, exact cause nailed down by Owen.
2004-03-10 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (list_mtime_data_func): Use an
untranslatable "%x" for dates, rather than a custom format. Fixes
#136357.
Wed Mar 10 02:41:05 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkpathbar.c: (gtk_path_bar_init), (gtk_path_bar_class_init),
(remove_settings_signal), (gtk_path_bar_dispose),
(gtk_path_bar_style_set), (gtk_path_bar_screen_changed),
(gtk_path_bar_scroll_up), (reload_icons), (change_icon_theme),
(settings_notify_cb), (gtk_path_bar_check_icon_theme),
(get_button_image), (gtk_path_bar_update_button_appearance),
(make_directory_button), (gtk_path_bar_check_parent_path): Support
changes in icon themes.
* gtk/gtkpathbar.h: add two elements
* tests/testfilechooser.c: (main): use gnome-vfs method again to
get more testing.
Wed Mar 10 01:17:40 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkpathbar.c: added 'Desktop' to the list of volumes. We
don't have any more untranlated strings in the dialog.
Wed Mar 10 00:24:24 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (error_dialog): use uri instead of
the pathname for UTF-8 safety.
Wed Mar 10 00:10:47 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkfilechooserdefault.c (shortcuts_insert_path): Always
check to see if the shortcuts exists. We don't want to put
invalid dirs in the shortcuts pane.
Wed Mar 10 01:49:27 2004 Matthias Clasen <maclas@gmx.de>
Fix#136614 in a better way:
* gtk/gtkoptionmenu.c (gtk_option_menu_init): Undo the last change.
* gtk/gtkbutton.c (struct _GtkButtonPrivate): Add a flag, align_set.
* gtk/gtkbutton.c (gtk_button_init): Initialize align_set to 0.
* gtk/gtkbutton.c (maybe_set_alignment): Rework to only set the
alignment if priv->align_set is set.
* gtk/gtkbutton.c (gtk_button_set_alignment): Set align_set to 1.
Wed Mar 10 01:21:05 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): Place
grid mode popups left aligned, not right aligned.
Tue Mar 9 23:09:46 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkoptionmenu.c (gtk_option_menu_init): Avoid centering
the label that is reparented from the menuitem. (#136614, Dennis
Cranston)
Tue Mar 9 16:19:09 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtkpathbar.c (struct _ButtonData): Encapsulate all of the
information about a button in a struct instead of ugly
g_object_set_data.
(gtk_path_bar_size_request): Use ButtonData.
(gtk_path_bar_update_slider_buttons): ditto
(gtk_path_bar_size_allocate): ditto
(gtk_path_bar_remove): ditto
(gtk_path_bar_forall): ditto
(gtk_path_bar_scroll_down): ditto
(gtk_path_bar_clear_buttons): ditto
(button_clicked_cb): ditto. Also, add an ignore_changes variable
(button_data_free): destroy ButtonData
(update_button_appearance): Use ButtonData
(make_directory_button): ditto
(gtk_path_bar_check_parent_path): ditto
(_gtk_path_bar_set_path): ditto
2004-03-09 Federico Mena Quintero <federico@ximian.com>
Fix#136533.
* gtk/gtkfilechooserdefault.c (shortcuts_reload_icons): New
function.
(check_icon_theme): New helper function, installs a handler for
changes in the icon theme.
(gtk_file_chooser_default_style_set): Use check_icon_theme().
(gtk_file_chooser_default_screen_changed): Use check_icon_theme().
(gtk_file_chooser_default_dispose): Disconnect from GtkSettings.
(change_icon_theme): New function, updates impl->icon_size and
reloads the icons.
(struct _GtkFileChooserDefault): New field settings_signal_id.
(struct _GtkFileChooserDefault): New field icon_size.
(shortcuts_insert_path): Use impl->icon_size.
(list_icon_data_func): Likewise.
2004-03-09 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (get_file_info): Handle the returned
parent_path being NULL. Fixes#136662.
2004-03-09 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (shortcuts_drag_data_received_cb):
Stop the emission so that GtkTreeView's handler won't try to poke
the filter model. Fixes#136127.
Tue Mar 9 13:49:14 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkstyle.c (gtk_paint_polygon): Fix
g_return_if_fail() that was checking draw_shadow.
(#136669, Morten Welinder)
Tue Mar 9 02:11:50 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkmenu.c Fix bug 136446.
(struct _GtkMenuPrivate): Add boolean destroying
(gtk_menu_destroy): Set priv->destroying
(gtk_menu_remove): don't update the table information when the
menu is being destroyed.
* gtk/gtkmenu.c (gtk_menu_set_monitor): Formatting fix
* gtk/gtktoolbar.[ch]: Some formatting fixes
2004-03-08 Federico Mena Quintero <federico@ximian.com>
Fixes#136080.
* gtk/gtkfilesystemunix.c: Only lstat() if stat() failed due to
ENOENT.
(filename_get_info): Likewise.