2006-08-23 Tor Lillqvist <tml@novell.com>
* gtk/gtkfilesystemwin32.c: Remove dead code. Reduce spurious
differences between this file and gtkfilesystemunix.c so that it
is easier to compare them and check if differences are
intentional. I will later factor out the common functions and code
snippets from these two files.
2006-08-23 Tor Lillqvist <tml@novell.com>
Fix several problems with the file chooser on Windows, for
instance prevent duplicated directory entries from appearing.
* gtk/gtkfilesystem.c (gtk_file_paths_sort): Use
_gtk_file_system_win32_path_compare() on Windows for casefolded
sorting.
* gtk/gtkfilesystemwin32.c (casefolded_hash, casefolded_equal):
case-independent hash and equality functions. Scan the UTF-8
strings gunichar by gunichar, and ignore special casing rules, to
more closely match NTFS behaviour.
(gtk_file_system_win32_init): Use casefolded_hash() and
casefolded_equal() for the folder hash table.
(remove_trailing_slash): Don't remove the slash of a drive or
share root.
(get_mime_type_for_file): Take also a WIN32_FILE_ATTRIBUTE_DATA as
argument, and use that to recognize directories. Don't call
g_file_test() to check for executables, just look at the file name
extension directly.
(gtk_file_system_win32_make_path): Check illegal chars in file
name, like in gtkfilesystemunix.c.
(create_file_info): Drop unused basename parameter. Call
g_filename_display_name() directly for roots, as
g_filename_display_basename() mishandles those.
(gtk_file_folder_win32_get_info): Skip sanity check for now, as it
fails for server share roots. Construct basename only in the if
branch that uses it.
(fill_in_names): Use casefolded_hash() and casefolded_equal() for
the folder's stat_info hash table, too.
(_gtk_file_system_win32_path_compare): Scan the strings gunichar
by gunichar and ignore special casing here, too, instead of using
g_utf8_casefold(). Match slash and backslash.
2006-08-17 Federico Mena Quintero <federico@novell.com>
* gtk/gtkfilechooserdefault.c
(_gtk_file_chooser_default_class_init): Enable "/" and "~" as
bindings to activate the location entry again. Fixes bug #340856.
(tree_view_keybinding_cb): Likewise.
(trap_activate_cb): Likewise.
(location_popup_handler): Handle the "path" argument again; set it
as the text on the location entry.
(location_set_user_text): New helper function.
(load_setup_timer): Fix comment.
* tests/autotestfilechooser.c (main): Oops, enable all the tests again.
2006-08-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktrayicon-x11.c: Fix the ClientMessages we are
sending to the notification area to be more in sync with
the systray spec. (#350860, Wincent Untz)
2006-08-17 Tor Lillqvist <tml@novell.com>
* gtk/Makefile.am (libgtk_win32_2_0_la_LIBADD): Link with -luuid
for IID_IUnknown that gtkprintoperation-win32.o needs.
2006-08-17 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/file/gtkprintbackendfile.c: Improve
the handling of the default output filename, to ensure
that we default to output.ps when only PostScript output
is possible. (#348236, Don Scorgie)
2006-08-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintunixdialog.c (gtk_print_unix_dialog_set_manual_capabilities):
Re-select the current printer to update per-printer ui.
(#348245, Don Scorgie)
2006-08-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserbutton.c (set_info_get_info_cb)
(model_add_special_get_info_cb): Handle the case where the
filechooser button is destroyed quickly.
2006-08-17 Paolo Borelli <pborelli@katamail.com>
* gtk/gtktextbuffer.c: make sure the has-selection property is
updated when the delection is deleted. Bug #329752
* tests/testtext.c: add a copy menu item and show how to
update its sensitivity tracking the has-selection property.
2006-08-17 Kristian Rietveld <kris@gtk.org>
* demos/gtk-demo/main.c (window_closed_cb), (row_activated_cb),
(create_tree): move the ITALIC_COLUMN over to a STYLE_COLUMN
which sets the style attribute. Makes drawing the active demos
in italic work again.
2006-08-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.c (paste_received): Popup completion if paste
is at the end (patch was already in 2.8.x). (#165714,
Christian Persch)
2006-08-16 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_process_action):
take the cell spacing into account when calculating the available
extra space. (#350938, patch from Peter Johanson).
2006-08-16 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_fetch_child):
update the refs from children to parents for all nodes, since
they may all have been moved by the insert operation. (#346800,
patch from Jonathan Matthew).
2006-08-15 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c: (get_event_mask_from_ns_event):
Add GDK button mask for NS dragging events.
(create_scroll_event): Remove obsolete comment.
(_gdk_quartz_get_current_event_mask), (gdk_event_translate): Keep
track of the latest event mask here...
* gdk/quartz/gdkwindow-quartz.c:
(_gdk_windowing_window_get_pointer): And use it here. Patch from
Kristian Rietveld.
(gdk_window_quartz_update_idle): Rename to make things clearer.
2006-08-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkaboutdialog.c (gtk_about_dialog_init): Set CAN_DEFAULT
on all buttons. (#168737, fix proposed by Benjamin Berg)
2006-08-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentryprivate.h:
* gtk/gtkentry.c (_gtk_entry_effective_inner_border): Export
privately. Adjust all callers.
* gtk/gtkspinbutton.c (gtk_spin_button_size_request): Use it
here to get the actual inner border. (#349429, Benjamin Berg)
2006-08-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserentry.c (struct _GtkFileChooserEntry): Don't
store GSource pointers, but ids.
(gtk_file_chooser_entry_dispose): Remove idles.
(idle_add, idle_add): Factor this out.
(gtk_file_chooser_entry_maybe_update_directory):
(add_completion_idle): And use it here. (#350039, Chris Wilson)
2006-08-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkicontheme.c (do_theme_change): Run the reset_styles
idle at a priority higher than size negotiation. (#350517,
Søren Sandmann)
2006-08-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilesystem.c (gtk_file_info_render_icon)
(gtk_file_system_volume_render_icon): Do better fallbacks
if the icon theme does not have icons. (#345666,
Kazuki Iwamoto)
2006-08-15 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/cups/gtkprintbackendcups.c (create_pickone_option):
Simplify, make it build against cups 1.1. (#350329)
2006-08-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkliststore.c (gtk_list_store_insert_with_values):
Fix a typo in the docs. (#349501, Carlos GUSLiBu)
2006-08-15 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_get_geometry_hints):
Use XAllocSizeHints to allocate the XSizeHints struct.
(#249285, David Baron)
2006-08-15 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd):
* gdk/x11/gdkwindow-x11.c (gdk_window_set_decorations):
(gdk_window_set_functions): Zero out some stack-allocated
X structures, to avoid valgrind warnings about uninitialized
memory. (#349382, David Baron)
2006-08-14 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchooser.c:
(gtk_recent_chooser_add_filter),
(gtk_recent_chooser_remove_filter),
(gtk_recent_chooser_set_filter): Add a check on the
filter argument, instead of blindly passing it to
underlying implementation.
* gtk/gtkrecentchoosermenu.c:
(gtk_recent_chooser_menu_add_filter),
(gtk_recent_chooser_menu_remove_filter),
(gtk_recent_chooser_menu_list_filters): Implement
these GtkRecentChooser methods, by setting and
returning the only GtkRecentFilter object supported
by a GtkRecentChooserMenu. (#347856, reported by Rod
Butcher)
2006-08-14 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_combo_box_remove): Null the
cell_view pointer if the internal cell view is removed.
(#348828, Rolando Espinoza La Fuente)
* gdk/directfb/gdkdrawable-directfb.c
Remove gdk_directfb_update_region and calls
* gdk/directfb/gdkwindow-directfb.c
Code cleanup
* gdk/directfb/gdkgeometry-directfb.c
Fix scroll call to use region
2006-08-10 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchoosermenu.c:
(gtk_recent_chooser_menu_finalize): Remove the idle
source in ::finalize...
(idle_populate_func),
(idle_populate_clean_up): ...and reset the idle source
id at the end of the idle loop while we hold the GDK mutex
lock. (#350605, reported by Wouter Bolsterlee, patch by
Chris Wilson)
2006-08-10 Michael Natterer <mitch@imendio.com>
* gdk/quartz/gdkwindow-quartz.c
(gdk_window_maximize)
(gdk_window_unmaximize)
(gdk_window_iconify)
(gdk_window_deiconify): don't try to set the state of unmapped
windows, call gdk_synthesize_window_state() instead. Also added
autorelease pools back, seems they are needed after all.
* gdk/quartz/gdkwindow-quartz.c (show_window_internal): maximize
and iconify windows here if the state says so.
2006-08-08 Richard Hult <richard@imendio.com>
* gdk/quartz/GdkQuartzView.c: Just expose the minimal region
instead of the whole rect.
* gdk/quartz/gdkwindow-quartz.c:
(gdk_window_quartz_process_all_updates), (gdk_window_update_idle),
(gdk_window_impl_quartz_invalidate_maybe_recurse),
(gdk_window_impl_quartz_process_updates),
(_gdk_windowing_window_destroy): Rework the expose handling so that
it works like the X11 backend, using an idle with the right
priority instead of relying on quartz to do it.
(gdk_window_set_type_hint): Use tornoff instead of submenu as the
documentation (and Mitch) suggests.
2006-08-08 Michael Natterer <mitch@imendio.com>
* gdk/quartz/gdkdrawable-quartz.c: some whitespace and indentation
cleanup.
(gdk_quartz_draw_rectangle)
(gdk_quartz_draw_arc)
(gdk_quartz_draw_polygon)
(gdk_quartz_draw_points): for pixel-prefect drawing, stroked
coordinates need to go through pixel centers, while filled ones
need to go along pixel boundaries. Moved +0.5 adjusting to the
if(!filled) branches and added/removed some adjustments where they
were wrong.
2006-08-07 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkdrawable-quartz.c (gdk_quartz_draw_points): Don't
get and release the context for each point, just once, speeds up
drawing many points a lot.
2006-08-07 Michael Natterer <mitch@imendio.com>
* gtk/gtkdnd-quartz.c (gtk_drag_dest_unset): need to disconnect
from signals connected in gtk_drag_dest_set() here.
* gtk/gtkdnd-quartz.c (gtk_drag_dest_set): call gtk_drag_dest_unset()
instead of disconnecting the old signal connections here.
2006-08-07 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchooserdefault.c:
(_gtk_recent_chooser_default_init): Show non existing
resources by default.
(recent_meta_data_func): Do not mark non existing
resources as insensitive.
* gtk/gtkrecentchoosermenu.c:
(gtk_recent_chooser_menu_init): Show non existing
resources by default.
(gtk_recent_chooser_menu_create_item): Do not mark
non existing resources as insensitive.
2006-08-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkstyle.c (option_menu_get_props): Only get the
indicator-size and indicator-spacing style properties
for GtkOptionMenu. (#349859, Benjamin Otte)
2006-08-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_set_grid_lines)
(gtk_tree_view_set_enable_tree_lines): Be more careful
when creating gcs, also emit change notification.
(gtk_tree_view_unrealize): Free the gcs here. (#349834,
Chris Wilson)
2006-08-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcalendar.c (calendar_start_spinning, calendar_timer):
Use G_PRIORITY_DEFAULT_IDLE for the month/year-change timer,
so that the caller will have a chance to redraw/resize itself
between every change. (#348824, Federico Mena Quintero, patch
by Michael Meeks)
2006-08-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_drag_motion): Don't allow
dragging a notebook tab to one of its children. (#348626,
Benjamin Otte)
2006-08-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextview.c (gtk_text_view_style_set): Create new
PangoContexts and set them on the layout, to catch changes in
font options. (#348278, Behdad Esfahbod)
2006-08-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_layout_reorder):
Protect against tree_view being NULL. (#348652, Patrick K. O'Brian,
Chris Wilson)
2006-08-03 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchoosermenu.c:
(set_recent_managet), (gtk_recent_chooser_menu_populate),
(idle_populate_func), (idle_populate_clean_up),
(manager_changed_cb): Lazily populate the menu when creating
it and after the manager emits the "changed" signal; this
fixes the initial bad placing of the GtkRecentChooserMenu
widget when its set as the menu of a GtkMenuToolButton.
(gtk_recent_chooser_menu_map),
(gtk_recent_chooser_menu_class_init): Remove the ::map method
override, since it's not needed anymore.
2006-08-03 Michael Natterer <mitch@imendio.com>
* gtk/gtkrc.c (gtk_rc_parse_assignment): reset scanner config to
default values while checking if an expression(foobar) follows,
because if no expression follows the scanner's "next token" must
be usable for the caller of this function (fixes bug #349552).
2006-07-31 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkdrawable-quartz.c: (gdk_quartz_draw_drawable):
* gdk/quartz/gdkwindow-quartz.c:
(gdk_window_impl_quartz_begin_paint_region): Patch from Erik van
Pienbroek to implement drawing bg_pixmaps (#348145).
2006-07-29 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkcolor-quartz.c (gdk_colormap_alloc_colors): Always
set success to TRUE.
(gdk_color_change): Implement.
* gdk/quartz/GdkQuartzWindow.c
([GdkQuartzWindow -canBecomeKeyWindow]): Add comment.
* gdk/quartz/gdkevents-quartz.c (gdk_screen_get_setting): Make the
default font a bit smaller until we have made this get the system
setting.
* gdk/quartz/gdkwindow-quartz.c (gdk_window_set_type_hint): Enable
shadows for the right window types.
* gdk/quartz/gdkprivate-quartz.h:
* gdk/quartz/gdkgc-quartz.c:
* gdk/quartz/gdkdrawable-quartz.c:
* gdk/quartz/gdkcolor-quartz.c: Expose the CGContext functions,
update callers.
* gdk/quartz/gdkmain-quartz.c: (_gdk_windowing_init): No need to
get the current process ID, use the right constant instead.
2006-07-28 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentmanager.c (gtk_recent_manager_init): Add the
timeout for polling the file; change the default polling
delta to 2000 msec.
2006-07-27 Michael Natterer <mitch@imendio.com>
* gdk/x11/gdkwindow-x11.c (gdk_window_get_type_hint): cast the
return value of XGetWindowProperty() correctly so we don't return
garbage type hints. Pointed out by Tommi Komulainen, patch taken
from https://maemo.org/bugzilla/show_bug.cgi?id=724
2006-07-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkrc.h:
* gtk/gtkrc.c (_gtk_rc_context_destroy): New function to
destroy an rc context.
* gtk/gtksettings.c (gtk_settings_finalize): Destroy the rc context.
(gtk_settings_get_for_screen): Unref the settings when the screen
goes away. (#348096, Chris Wilson)
2006-07-21 Michael Natterer <mitch@imendio.com>
Enable symbolic colors and color expressions in style
properties. Fixes bug #346751.
* gtk/gtkrc.c (rc_parse_token_or_compound): add GtkRcStyle
parameter and replace symbolic colors by color constants.
(gtk_rc_parse_assignment): likewise. Also support parsing of
expressions of the form identifier(compound).
(gtk_rc_parse_style): pass the GtkRcStyle to
gtk_rc_parse_assignment().
(gtk_rc_parse_statement): pass NULL since we don't have a
GtkRcStyle here.
2006-07-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_stop_reorder): Unset
the during_reorder flag. (#348049, Sven Herzberg, patch
by Benjamin Otte)
2006-07-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkicontheme.h:
* gtk/gtkicontheme.c (_gtk_icon_theme_ensure_builtin_cache):
Export this privately.
* gtk/gtkiconfactory.c (render_fallback_image): And call it
here to initialize the builtin cache before using it. (#348063,
Diego Pettenò)
2006-07-19 Federico Mena Quintero <federico@novell.com>
* tests/autotestfilechooser.c (test_black_box): Argh, initialize
"passed"!
(set_filename_timeout_cb): Renamed from timeout_cb().
(test_confirm_overwrite): New function, test confirmation before
overwriting a file in SAVE mode.
2006-07-20 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c: (generate_grab_broken_event):
Append the event to the queue instead of using gdk_event_put.
(_gdk_quartz_get_mouse_window, find_current_keyboard_window):
Handle grabs.
(get_event_mask_from_ns_event, create_focus_event)
(convert_window_coordinates_to_root, find_window_for_event)
(gdk_event_translate): Improve readability (style changes).
(gdk_flush, gdk_display_sync, gdk_display_flush)
(gdk_event_send_client_message_for_display),
(gdk_screen_broadcast_client_message): Remove FIXMEs.
(gdk_screen_get_setting): Reindent.
Also move find_child_window_by_point to gdkwindow-quartz.c.
* gdk/quartz/gdkwindow-quartz.c:
(find_child_window_by_point_helper),
(_gdk_quartz_find_child_window_by_point): Move here from
gdkevents-quartz.c
(_gdk_windowing_window_get_pointer): Handle destroyed windows and
imlement the return value.
(_gdk_windowing_window_at_pointer): Implement.
2006-07-19 Richard Hult <richard@imendio.com>
* gdk/quartz/GdkQuartzWindow.c
([GdkQuartzWindow -windowDidResignMain:]):
* gdk/quartz/gdkevents-quartz.c (_gdk_quartz_update_focus_window):
Listen to windowDidResignMain notifications and properly update the
focus window when windows are unfocused.
2006-07-19 Kristian Rietveld <kris@imendio.com>
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_init),
(gtk_cell_renderer_text_[gs]et_property), (get_layout): add
align_set field to keep track whether the align property was
set by the user, if not we will use the alignment by looking
at the direction of the widget. (#157439)
2006-07-19 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/file/gtkprintbackendfile.c
(file_printer_get_settings_from_options): Check if option
is NULL before using it. (#348014, Christian Persch)
2006-07-19 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkx.h (gdk_font_lookup_for_display): When looking
up a font XID, add the XID_FONT_BIT. (#348001)
2006-07-19 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c (gdk_window_impl_quartz_init)
(gdk_window_set_type_hint, gdk_window_get_type_hint):
* gdk/quartz/GdkQuartzWindow.c
([GdkQuartzWindow -canBecomeMainWindow])
([GdkQuartzWindow -canBecomeKeyWindow]): Implement type hints and
use them to determine which windows should be allowed to become
main and key windows.
2006-07-19 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c:
(_gdk_windowing_window_get_pointer): Get the position correctly
for the root window. Fixes bug #347976, patch by Dave Vasilevsky.
* gtk/gtkprinteroption.h:
* gtk/gtkprinteroptionwidget.c:
* modules/printbackends/cups/gtkprintbackendcups.c:
add GTK_PRINTER_OPTION_TYPE_PICKONE_PASSWORD,
GTK_PRINTER_OPTION_TYPE_PICKONE_PASSCODE,
GTK_PRINTER_OPTION_TYPE_PICKONE_REAL,
GTK_PRINTER_OPTION_TYPE_PICKONE_INT,
and GTK_PRINTER_OPTION_TYPE_PICKONE_STRING options to support a subset
of the new CUPS 1.2 custom options spec
2006-07-18 Federico Mena Quintero <federico@novell.com>
Fix https://bugzilla.novell.com/show_bug.cgi?id=184875 - make the
location entry in Save mode preserve the stuff from
set_filename(); it was overwriting it with $cwd.
This is the same fix for
http://bugzilla.gnome.org/show_bug.cgi?id=347066
* tests/autotestfilechooser.c: (test_black_box): Added black-box
test for set_filename() and set_current_name().
* gtk/gtkfilechooser.c (gtk_file_chooser_get_type): Cast to
GClassInitFunc in the call to g_type_register_static_simple(), to
avoid a compiler warning.
* gtk/gtkfilechooserprivate.h (struct _GtkFileChooserDefault):
Added a browse_files_last_selected_name field. We'll copy the
logic from gtkfilesel.c to see when to clear the location entry.
(struct _GtkFileChooserDefault): Removed the
processing_pending_selections field.
* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_finalize):
Free impl->browse_files_last_selected_name.
(pending_select_paths_process): Don't use
impl->processing_pending_selections.
(update_chooser_entry): Keep track of the name that was last
selected in the file list. We use this to know when to clear the
location entry. The logic is similar to that of
gtkfilesel.c:gtk_file_selection_file_changed(). This also lets us
get rid of the processing_pending_selections flag.
(update_chooser_entry): Clear the entry if we didn't have a
selection before.
(location_switch_to_filename_entry): Do not set $cwd as the
contents of the location entry here...
(location_popup_handler): ... but do it here instead, only as the
result of the user asking to turn on the location entry.
(gtk_file_chooser_default_get_paths): If the location entry is
empty, do the fallback of seeing if it is sensible to say that
$cwd is the selected path.
(gtk_file_chooser_default_update_current_folder): Don't set the
text of the location entry; this is no longer needed with the
fixes above.
(shortcuts_activate_iter): Clear the location entry when
activating a shortcut if we are not in SAVE mode. This keeps the
contents of the location entry consistent even when switching
folders via the shortcuts.
2006-07-18 Michael Natterer <mitch@imendio.com>
* gtk/gtkrange.c: remember the sensitivity of the steppers in
GtkRangeLayout, update it in gtk_range_calc_layout() and check for
changes in layout_changed(), so adjustment changes that leave the
slider position unchanged are still able to update the steppers'
sensitivity. Fixes bug #347902.
2006-07-18 Kristian Rietveld <kris@imendio.com>
Fix for #335012, reported by Matteo Nastasi.
* gtk/gtktreeview.c (gtk_tree_view_real_start_editing): if the
requested space of the editable is smaller than the cell area,
put it up above the middle of the cell area.
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing):
configure the inner border to cover the cell area if the
entry requisition is smaller than the cell_area.
2006-07-18 Kristian Rietveld <kris@imendio.com>
Another fix for #164884.
* gtk/gtktreeprivate.h: add in_grab field.
* gtk/gtktreeview.c (gtk_tree_view_button_press): only save press
to possibly begin a drag when there's no grab pending,
(gtk_tree_view_grab_notify): toggle in_grab field.
2006-07-18 Kristian Rietveld <kris@imendio.com>
* gtk/gtktreeview.c (gtk_tree_view_realize): use MAX
priv->width, alloc.width when allocating the bin_window,
(gtk_tree_view_bin_expose): don't overrun bin_window when drawing
the flat box.
2006-07-17 Richard Hult <richard@imendio.com>
* gtk/gtkdnd-quartz.c: (gtk_drag_begin_internal): Set an empty
NSImage if there is none, covers the cases where applications try
to set a pixmap which is not supported by the quartz backend.
2006-07-17 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c: (create_key_event):
* gdk/quartz/gdkkeys-quartz.c: (_gdk_quartz_key_event_type),
(_gdk_quartz_key_is_modifier):
* gdk/quartz/gdkprivate-quartz.h: Fill in string, length and
is_modifier for key events. Map some more keys into gdk keyvals.
2006-07-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_stop_reorder): Don't undo
reordering if we haven't been reordering. (#346836, Ed Catmur)
2006-07-17 Kristian Rietveld <kris@imendio.com>
* gtk/gtktreeview.c (gtk_tree_view_build_tree): check if the iter
still has children after running the test-expand-row func,
(gtk_tree_view_real_expand_row): ditto. (#302127, Billy Biggs).
2006-07-17 Michael Natterer <mitch@imendio.com>
* gtk/gtkcalendar.c (calendar_timer): use 5 * gtk-timeout-repeat,
just as many other widgets. Makes the calendar arrow buttons
usable for quick month/year skipping (#142582).
2006-07-17 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c:
(_gdk_windowing_window_destroy_foreign): Fix comment.
(gdk_window_set_title): Surround by release pool macros.
(gdk_window_get_type_hint): Fix return value.
(gdk_window_get_frame_extents): Implement.
(gdk_window_iconify): Use the release pool macros.
(gdk_window_deiconify): Likewise.
(_gdk_windowing_get_pointer): Implement.
(gdk_window_get_deskrelative_origin, gdk_window_get_root_origin):
Implement.
* gdk/quartz/gdkevents-quartz.c (create_crossing_event)
(create_scroll_event, convert_window_coordinates_to_root):
Set coordinates and root coordinates for crossing and scroll
events.
* gdk/quartz/gdkcursor-quartz.c (gdk_cursor_new_for_display):
Map some more cursors.
2006-07-17 Matthias Clasen <mclasen@redhat.com>
* gdk/gdkwindow.c (gdk_window_get_pointer): Add some more
detail to the docs. (#311399, Nikos Kouremenos)
2006-07-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c (browse_widgets_create): Mark
the text of the location label as translatable.
2006-07-11 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchooser.c (gtk_recent_chooser_set_show_numbers),
(gtk_recent_chooser_get_show_numbers): Check if the chooser
implementation supports the "show-number" property and use a
meaningful warning in case it doesn't; tell developers not to
use these functions.
2006-07-10 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchooserdefault.c (scan_for_uri_cb): Do not
leak the URI returned by the model; select the row when
calling gtk_recent_chooser_set_current_uri(). (patch by
Torsten Schoenfeld)
2006-07-10 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkpixmap-quartz.c: (gdk_bitmap_create_from_data):
Account for alignment when reading xbm data. (#346721, patch
by Dave Vasilevsky)
2006-07-09 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c (gdk_window_new): Release the pool
in all cases.
(move_resize_window_internal): Surround by alloc/release pool.
Patch from Brian Tarricone, fixes bug #347018.
2006-07-08 Behdad Esfahbod <behdad@gnome.org>
* gdk/gdkpango.c (layout_iter_get_line_clip_region),
(gdk_pango_layout_line_get_clip_region),
(gdk_pango_layout_get_clip_region): Fix quadratic implementation of
gdk_pango_layout_get_clip_region into a linear one. (#337910, patch
by Priit Laes)
2006-07-07 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c: Generate a grab broken event when
appropriate. Fixes bug #346603, patch from Dave Vasilevsky.
* gdk/quartz/gdkevents-quartz.c:
* gdk/quartz/gdkkeys-quartz.c:
* gdk/quartz/gdkprivate-quartz.c: Another patch from Dave Vasilevsky,
fixes bug #346605. Makes modifier key events being sent properly.
2006-07-07 Michael Natterer <mitch@imendio.com>
* gtk/gtkrc.c
* gtk/gtksettings.c: fix canonicalization of property names which
was broken after recent constant string cleanup.
2006-07-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserbutton.c: Get the display name
for the home directory. (#346498, Dennis Cranston,
patch by Andreas Köhler)
* modules/printbackends/cups/gtkprintbackendcups.c:
(cups_request_printer_list_cb): Get the name of the first printer
in a class to use when requesting a PPD
(cups_request_ppd_cb, cups_request_ppd): Fix the parameters of
the "details-acquired" signal emittion
(cups_request_ppd): get the ppd name from the cups printer
* modules/printbackends/cups/gtkprintercups.c (gtk_printer_cups_get_ppd_name):
New method for getting the name of the ppd we should request
2006-07-06 Michael Natterer <mitch@imendio.com>
* gtk/gtkrc.c: added a bunch of utility functions to copy
icon_factories and color_hashes between GtkRcStyles and make sure
that newly created, duplicated and merged styles have access to
all icon_factories and color_hashes they need. Fixes bug #346668.
2006-06-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_tab_space): Remove
redundant assignments to page, which may cause NULL
dereferences. (#346334, Dave Vasilevsky)
2006-06-28 Matthias Clasen <mclasen@redhat.com>
* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Only select the
XKB event details we actually care about. (#346079, Ryan Lortie)
2006-06-27 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_set_model): cancel the
expand collapse timeout when unsetting the model (Fixes#327164,
reported by Daichi Kawahata).
2006-06-26 Kristian Rietveld <kris@gtk.org>
Make the insert and set functions somewhat more convenient.
(#343841, David Necas).
* gtk/gtkliststore.c (gtk_list_store_insert_with_values): allow
a NULL iter,
(gtk_list_store_insert_with_valuesv): likewise.
* gtk/gtktreestore.c (gtk_tree_store_insert_with_values): ditto,
(gtk_tree_store_insert_with_valuesv): likewise.
2006-06-26 Michael Natterer <mitch@imendio.com>
* gtk/gtktextview.c (gtk_text_view_size_allocate): revert "keep
cursor visible when size changes" since it breaks things (#344874).
2006-06-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcombobox.c (gtk_cell_view_menu_item_new): Avoid
a refcounting leak in the python bindings. (#344876, Phil Dumont)
2006-06-23 Christian Rose <menthos@menthos.com>
* configure.in: Added "ur" to ALL_LINGUAS.
* po/ur.po, po-properties/ur.po: Added Urdu translation by
Zack Ajmal <urdu@zackvision.com>.
2006-06-22 Michael Natterer <mitch@imendio.com>
* gtk/gtktextview.c (gtk_text_view_size_allocate): keep the cursor
visible when the size changes. Fixes bug #344874.
2006-06-21 Matthias Clasen <mclasen@redhat.com>
* modules/printbackends/file/gtkprintbackendfile.c:
Apply a patch by Christian Persch to support PostScript and PDF
output.
2006-06-21 Matthias Clasen <mclasen@redhat.com>
Apply a patch by John Palmieri to use buffered io using
GIOChannels, clean up error handling and support Cups 1.2
api in the printing code.
* acconfig.h:
* configure.in: Detect Cups 1.2
* gtk/gtkdebug.h:
* gtk/gtkmain.c: Add a printing debug key.
* gtk/gtkprintbackend.[hc]: Remove the GError parameter from
gtk_print_backend_print_stream, and take a GIOChannel instead
of an fd.
* gtk/gtkprinter-private.h:
* gtk/gtkprinter.c: Replace the fd parameter of
_gtk_printer_create_cairo_surface by a GIOChannel.
* gtk/gtkprintjob.[hc]: Remove the GError parameter from
gtk_print_job_send and make it return void.
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintjob.c: Adjust callers, add some debugging support.
* modules/printbackends/Makefile.am: Fix DIST_SUBDIRS.
* modules/printbackends/cups/Makefile.am:
* modules/printbackends/lpr/Makefile.am: Add debug CFLAGS.
* modules/printbackends/cups/gtkcupsutils.[hc]:
* modules/printbackends/cups/gtkprintbackendcups.c:
* modules/printbackends/file/gtkprintbackendfile.c:
* modules/printbackends/lpr/gtkprintbackendfile.c: Adapt to
the GIOChannel and GError changes, add debug output
2006-06-21 Kristian Rietveld <kris@imendio.com>
Allocate space for the grid lines when they are enabled.
* gtk/gtktreeview.c (gtk_tree_view_bin_expose): make sure the cell
area does not overlap with the grid lines, also draw the line for
"the next cell" in the last loop iteration, make sure the cursor falls
in between the grid lines,
(validate_row): request extra space for the grid lines.
2006-06-20 Murray Cumming <murrayc@murrayc.com>
* gtk/gtkprintoperation.c: (gtk_print_operation_class_init):
Correctly register the done signal - it sends an enum, not an int.
2006-06-20 Christian Persch <chpe@cvs.gnome.org>
* configure.in
* gtk/Makefile.am
* modules/printbackends/Makefile.am
A modules/printbackends/file/.cvsignore
A modules/printbackends/file/Makefile.am
A modules/printbackends/file/gtkprintbackendfile.c
A modules/printbackends/file/gtkprintbackendfile.h
R modules/printbackends/pdf/*:
Rename "pdf" backend to "file" backend. Step 2 from bug #339592.
2006-06-20 Matthias Clasen <mclasen@redhat.com>
Fix handling of stock items without icons in action-based
ui. (#342458, Callum McKenzie)
* gtk/gtkactiongroup.c (gtk_action_group_add_actions_full): Set
the stock id even if there is no icon for it.
* gtk/gtkaction.c (connect_proxy):
* gtk/gtktoolbutton.c (gtk_tool_button_construct_contents): Only
construct a stock icon if the stock item has an icon.
2006-06-18 Christian Persch <chpe@cvs.gnome.org>
* gtk/gtkdialog.c: (gtk_dialog_class_init): Set default action area
spacing to HIG-compliant 6px. Bug #345106, follow-up from bug #163850.
2006-06-19 Matthias Clasen <mclasen@redhat.com>
Make transparent tray icons work. (#320034, based on a
patch by Dan Winship)
* gtk/gtktrayicon-x11.c (gtk_tray_icon_init): Make trayicons
app-paintable and non-double buffered.
* gtk/gtkrc.c (_gtk_rc_init): Give tray icons a parent-relative
background in the default style.
2006-06-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c:
Avoid a near-duplicate string and add some
translator comments. (#345320, #345321, Hendrik Richter)
2006-06-19 Federico Mena Quintero <federico@novell.com>
* gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder)
(gtk_file_chooser_get_current_folder_uri): Clarify the use of
these functions, to avoid the case where a chooser is in
SELECT_FOLDER mode and people mistakenly use _get_current_folder()
to get the selection: they should use _get_filename() instead.
2006-06-19 Alexander Larsson <alexl@redhat.com>
* gtk/gtk.symbols:
* gtk/gtklabel.[ch]:
Add gtk_label_set_line_wrap_mode, gtk_label_get_line_wrap_mode, and
a wrap-mode property that lets you set the PangoWrapMode.
2006-06-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprinter-private.h:
* gtk/gtkprinter.c (_gtk_printer_get_options):
* gtk/gtkprintbackend.h: Add a capabilities argument to the
printer_get_options method and to the _gtk_printer_get_options
function
* modules/printbackends/lpr/gtkprintbackendlpr.c
(lpr_printer_get_options):
* modules/printbackends/pdf/gtkprintbackendpdf.c
(pdf_printer_get_options):
* modules/printbackends/cups/gtkprintbackendcups.c
(cups_printer_get_options):
* gtk/gtkprintunixdialog.c (selected_printer_changed): Adjust
callers and implementations.
2006-06-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintjob.h: Add a GENERATE_PS capability.
* gtk/gtkprintunixdialog.c (is_printer_active): And use it here.
2006-06-18 Matthias Clasen <mclasen@redhat.com>
* tests/testnouiprint.c (main): Don't open a display connection.
* gtk/gtkprintbackend.c (gtk_print_backend_load_modules): Make
this work without a display connection. (339702, Alexander Larsson)
2006-06-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintunixdialog.c: Clean up the handling of
printer-specific options. There is just one extension point on the
main tab now, and all options in the GtkPrintDialogExtension
group are put there.
2006-06-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprinteroption.h:
* gtk/gtkprinteroption.c: Add GTK_PRINTER_OPTION_TYPE_ALTERNATIVE
which is semantically the same as PICKONE, but is intended to
show all options all the time.
* gtk/gtkprinteroptionwidget.c: Implement ALTERNATIVE as radio
group.
2006-06-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintunixdialog.c (populate_dialog): Move the conflict
label out of the button box. (#339456, Christian Persch)
2006-06-16 Matthias Clasen <mclasen@redhat.com>
* configure.in: Require cvs glib.
* gtk/gtkprintoperation-unix.c:
(_gtk_print_operation_platform_backend_create_preview_surface):
Don't use a temporary directory for preview files, since it
is not clear who cleans it up. Instead, use g_mkstemp() directly
to create a temp pdf file, and make the preview app responsible
for cleaning it up.
2006-06-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation-unix.c:
* gtk/gtkprintbackend.c: Move the registration of the
gtk-print-preview-command setting from gtkprintbackend.c to
gtkprintoperation-unix.c, to make sure it is registered before
the first use. Also, document the two settings.
2006-06-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation-unix.c (handle_print_response): When starting
a preview from the print dialog, set the action to PREVIEW.
* gtk/gtkprintoperation.c: Cosmetic changes.
Fri Jun 16 11:49:53 2006 Tim Janik <timj@imendio.com>
* fixed#337882 by applying patches from Tommi Komulainen:
* gtk/gtkprogressbar.c:
(gtk_progress_bar_paint_activity):
(gtk_progress_bar_get_activity): Move activity bar offset and size
calculations to separate function.
(gtk_progress_bar_paint_text): Allow caller to specify offset for the
prelight part in addition to width.
(gtk_progress_bar_paint): Paint the text also in activity mode, #337882.
* gtk/gtkprogressbar.c: (gtk_progress_bar_paint_text): Paint the
prelighted text on top of the normal rather than side by side, to
simplify painting text in activity mode.
2006-06-15 Carlos Garnacho <carlosg@gnome.org>
* gtk/gtknotebook.c (gtk_notebook_motion_notify): use
gdk_window_get_pointer() to get pointer coordinates, but limit its
calls to a maximum of 45 times per second for not being too
CPU/network abusive. stop drag operation if (event->state &
GDK_BUTTON1_MASK) is FALSE to prevent tabs from "adhering" to the
pointer. Fixes bug #341571
(gtk_notebook_calculate_tabs_allocation), (gtk_notebook_button_press):
get rid of the "tab jumps to pointer" sensation when beginning a drag
by using the pointer offset in the tab when the drag begins as an
anchor.
(gtk_notebook_redraw_tabs_union): remove, it wasn't worth the little
performance gain and could draw artifacts under some circumstances.
(gtk_notebook_drag_end): do not reparent the detached tab label until
the animation has ended.
2006-06-14 Michael Emmel <mike.emmel@gmail.com>
* configure.in: updated mininum dfb to 0.9.24
* gdk/directfb/gdkdirectfb.h: added more directfb wrapper functions
* gdk/directfb/gdkdrawable-directfb.c: wrapper functions and patch from
Claudio Ciccani <klan@users.sf.net> to use a subsurface for cairo
* gdk/directfb/gdkvisual-directfb.c: changed initalization sequence
* gdk/directfb/gdkwindow-directfb.c: corrected reparent for toplevels
* gdk/directfb/gdkdisplay-directfb.c: changed initilization sequence
to a more rational order
2006-06-14 Federico Mena Quintero <federico@novell.com>
* perf/gtkwidgetprofiler.c (gtk_widget_profiler_profile_expose):
New function; it lets us time the expose sequence of a widget.
(create_widget): New helper function.
(map_widget): New helper function.
(profile_boot): Use create_widget() instead of doing it by hand.
(profile_map_expose): Use map_widget() instead of doing it by hand.
* perf/main.c (main): Call gtk_widget_profiler_profile_expose() as well.
2006-06-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintunixdialog.c (is_printer_active): Use
gtk_printer_accepts_ps here.
* modules/printbackends/pdf/gtkprintbackendpdf.c (gtk_print_backend_pdf_init):
Mark the virtual "Print to PDF" printer as not accepting PS.
* gtk/gtk.symbols:
* gtk/gtkprinter.h:
* gtk/gtkprinter.c: Add two new properties accepts-pdf and
accepts-ps (with getters) to allow learning supported formats.
2006-06-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintjob.h: Add a GTK_PRINT_CAPABILITY_GENERATE_PDF
capability.
* gtk/gtkprintunixdialog.c: Use it here to hide "Print to PDF"
from the printer list. (#339592, Christian Persch)
2006-06-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilechooserdefault.c: Add support for pasting
filenames into the filechooser. (#153212, Bastian Nocera)
2006-06-12 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelfilter.[ch]
(gtk_tree_model_filter_convert_child_iter_to_iter),
(gtk_tree_model_filter_convert_child_path_to_path): report status
in return value instead of spewing assertions. (#335729, Yevgen
Muntyan).
2006-06-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_finalize):
Clean up user data. (#344624, Christian Weiske)
2006-06-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkassistant.c: Add an accessible implementation in
order to make the buttons visible to a11y tools. (pointed out
by David Malcolm)
2006-06-11 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchooserdefault.c
(get_is_recent_filtered):
* gtk/gtkrecentchoosermenu.c
(get_is_recent_filtered):
Do not leak the groups string vector. (#344607,
John Finlay)
2006-06-11 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkproperty-win32.c (gdk_property_change): Convert \n
to \r\n also when storing CF_UNICODETEXT (UTF-16) in the
Clipboard. (#344496)
2006-06-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkrecentchooserwidget.c
(gtk_recent_chooser_widget_new_for_manager):
* gtk/gtkrecentchoosermenu.c
(gtk_recent_chooser_menu_new_for_manager):
Allow NULL to mean the default manager. (#344530,
John Finlay)
2006-06-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprintoperation.c: Register create_custom_widget as
an object-returning signal. (#344505, Marko Anastasov, patch
by Christian Persch)
* gtk/gtkmarshalers.list: Add the right marshaller.
2006-06-09 Benjamin Berg <benjamin@sipsolutions.net>
* gtk/gtkmenuitem.c: (get_offsets): Take GtkMenu::horizontal-padding
into account when placing submenus (#344290)
2006-06-09 Michael Natterer <mitch@imendio.com>
* gtk/gtkrange.c: added new style properties "trough-side-details"
and "draw-trough-under-steppers" and fixed the "stepper-spacing"
style property. Fixes bugs #342339 and #342249.
"draw-trough-under-steppers", when set to FALSE, starts trough
drawing next to the steppers instead of drawing the trough "below"
(around) the steppers. If "stepper-spacing" is set to any value
larger than zero, "draw-trough-under-steppers" is set to FALSE
automatically to avoid rendering an area that looks clickable but
isn't.
(gtk_range_calc_layout): honor draw-trough-under-steppers.
Don't reserve stepper-spacing on sides of the range that don't
have steppers.
(gtk_range_expose): changed drawing accordingly. Implement
"trough-side-details" which enables drawing of the upper and lower
parts of the trough with different details. This is useful for
theme engines which want to draw these parts differently.
(coord_to_value): correctly take all rendering options into
account. stepper-spacing > 0 caused jumping and otherwise
strangely behaving ranges before.
(other functions): changed accordingly.
2006-06-09 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkdrawable-win32.c (_gdk_win32_drawable_release_dc):
Call ReleaseDC() on DCs acquired with GetDC() (for windows), and
DeleteDC() on DCs acquired with CreateCompatibleDC() (for
bitmaps). According to MSDN, this is the correct thing to do, even
if always using DeleteDC() seems to have worked fine in
practice. (#337491)
2006-06-08 Tor Lillqvist <tml@novell.com>
* gdk/win32/gdkevents-win32.c (gdk_event_translate):
[WM_WINDOWPOSCHANGED] Replace identical code as in
handle_configure_event() with call to that function.
[WM_SIZING] Fix implementation of aspect ratio hints. (#344244)
The hints are for the geometry of the client area, not of the
window including decorations. Improve resizing behaviouor in the
presence of aspect hints, more in line with typical X window
managers.
2006-06-08 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkbutton.c (gtk_button_style_set): Don't call
construct_child here, since some apps make assumptions
about the lifecycle of the constructed label.