Stop cursor blinking after a configurable timeout.
(#353670, #352442, Arjan van de Ven, Manu Cornet)
* gtk/gtksettings.c (gtk_settings_class_init): Add a
gtk-cursor-blink-timeout setting, which specifies the number
of seconds that the cursor should blink after a user interaction.
The default value is G_MAXINT to preserve the current behaviour.
* gtk/gtkentry.c (blink_cb): Stop blinking after blink-timeout
seconds.
* gtk/gtkentry.c (gtk_entry_completion_key_press)
(gtk_entry_button_press, gtk_entry_focus_in): Reset the
blink timer.
* gtk/gtktextview.c (blink_cb): Stop blinking after blink-timeout
seconds.
* gtk/gtktextview.c (gtk_text_view_key_press_event)
(gtk_text_view_button_press_event, gtk_text_view_focus_in_event):
Reset the blink timer.
2006-08-29 Emmanuele Bassi <ebassi@gnome.org>
* gtk/gtkrecentchoosermenu.c
(gtk_recent_chooser_menu_set_current_item): Break when an item
is found and activated. (#353449, based on a patch by Jan Arne
Petersen)
Fri Jul 14 16:13:37 2006 Tim Janik <timj@gtk.org>
* gtk/gtkprogressbar.c: introduced ::xspacing and ::yspacing style
properties which make all hardcoded padding and spacing values
configurable. properly swap ::text-xalign treatment for RTL widgets.
* gtk/gtkprogress.c: fixed style property blurbs. made alignment
proeprty more consistent with GtkMisc alignment blurbs. mention
RTL treatment for text-xalign.
2006-08-28 Michael Natterer <mitch@imendio.com>
* gtk/gtktextbufferserialize.c (serialize_text): don't write out
</apply_tag> for tags that have already been closed by the logic
which turns overlapping spans into XML-able trees. Fixes broken
XML when there are overlapping tags in the buffer. Also free two
leaked GLists and did some cleanup.
* tests/Makefile.am
* tests/testrichtext.c: new test which creates randomly tagged
GtkTextBuffers and serializes/deserializes them.
2006-08-23 Tor Lillqvist <tml@novell.com>
* gtk/gtkfilesystemwin32.c (gtk_file_system_win32_make_path):
Revert accidental translatable string change, use same string
for warning as in gtkfilesystemunix.c.
2006-08-23 Tor Lillqvist <tml@novell.com>
* gtk/gtkfilesystemwin32.c (_gtk_file_system_win32_path_compare):
Fix logic at the end of strings.
* gtk/gtkfilesystemwin32.c: Maintain a hash table of live
handles and check that we have no outstanding handles at
finalization time. (Copying what Matthias did for
gtkfilesystemunix.c)
2006-08-23 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkfilesystemunix.c: Maintain a hash table
of live handles and check that we have no outstanding
handles at finalization time. (Copying what
Federico did for gtkfilesystemgnomevfs.c)
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>
* 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-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 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>
* gtk/gtkliststore.c (gtk_list_store_insert_with_values):
Fix a typo in the docs. (#349501, Carlos GUSLiBu)
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)
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-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-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-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-20 Matthias Clasen <mclasen@redhat.com>
Fix a thinko that leads to constantly reloading
the mime data if a mime.cache is present. Patch
by Yevgen Muntyan, bugs.freedesktop.org #7495
* xdgmime.c (xdg_check_dir): Look for mime.cache first.
(xdg_check_file): Report existance of the file separately.
2006-07-20 Matthias Clasen <mclasen@redhat.com>
* xdgmimemagic.c:
* xdgmime.c:
* xdgmime.h: Add xdg_init-free versions of some
functions and use them internally, so that we don't
reload caches and clobber data structures in the
middle of an operation. Patch by Joe Shaw,
bugs.freedesktop.org #6824
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)
* 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.