2005-10-24 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_inserted): emitting
row-has-child-toggled when the level is not in the cache does not
make sense. (This bug probably crept in during the early stages
of GtkTreeModelSort when there wasn't a correct row-has-child-toggled
implementation yet),
(gtk_tree_model_sort_real_unref_node): only get the child iter
when we will actually also use it.
2005-10-22 Michael Natterer <mitch@imendio.com>
* gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): check for the
widget being realized, in addition to being visible, to avoid
running into precondition check in gtk_tree_view_get_cell_area().
(approved by Kris).
2005-10-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtklabel.c (gtk_label_create_window): Use GDK_WINDOW_CHILD
for the selection window. (#318806, Alex Larsson)
2005-10-18 Federico Mena Quintero <federico@ximian.com>
Fixes bug #317999:
* tests/autotestfilechooser.c
(test_button_folder_states_for_action): Test that we have either
$cwd or the explicitly-set folder.
(test_reload_sequence): Likewise.
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_get_current_folder): If our reload_state
is RELOAD_EMPTY, return a GtkFilePath corresponding to $cwd.
2005-10-11 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktextbtree.c (_gtk_text_btree_delete): Try to match an off
toggle here with the matching on toggle if it immediately follows.
This is a common case, and handling it here prevents quadratic blowup
in cleanup_line() below. (#317125)
* gtk/gtktextsegment.h:
* gtk/gtktextsegment.c (_gtk_char_segment_new_from_two_strings): Pass
the character counts into this function instead of computing them
again.
2005-10-10 Tommi Komulainen <tommi.komulainen@iki.fi>
* gtk/gtkfilechooser.h (GtkFileChooserError): Add ALREADY_EXISTS error
code.
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_add_shortcut_folder): Return an error code
when the shortcut already exists in the sidebar. (#147521)
2005-10-07 Federico Mena Quintero <federico@ximian.com>
Fixes bug #317999:
* tests/autotestfilechooser.c (test_reload_sequence): Ensure that
the the result of gtk_file_chooser_get_folder() is NULL or
non-NULL at the right times. Log the tests.
(test_button_folder_states): New test for the initial states of
the current folder in GtkFileChooserButton.
(main): Test that the number of warnings/errors/critical errors is
zero.
* gtk/gtkfilechooser.c (gtk_file_chooser_get_current_folder):
Clarify the documentation on when this can return NULL.
(gtk_file_chooser_get_current_folder_uri): Likewise.
* gtk/gtkfilechooserbutton.c (struct
_GtkFileChooserButtonPrivate): Added a folder_has_been_set flag;
we use it to keep track of whether a folder has been set.
(gtk_file_chooser_button_map): Implement. If no folder has been
loaded before, we at least try to load $cwd here.
(gtk_file_chooser_button_constructor): If the construct-time
dialog already has a folder set, turn on our folder_has_been_set
flag.
(dialog_current_folder_changed_cb): Turn on our
folder_has_been_set flag.
2005-10-07 Michael Natterer <mitch@gimp.org>
* gtk/gtkfilechooserdefault.c: remove some explicit #defines of
PROFILE_FILE_CHOOSER because they break compilation after the
removal of <unistd.h>.
2005-10-05 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkrc.c (gtk_rc_clear_realized_style): Readd the memory
leak fix, since the assertion failures were traced to
an xchat bug. (#314696)
2005-10-04 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (switch_to_shortcut): Take a
shortcut position, not a ShortcutsIndex, to make the function more
generic.
(home_folder_handler): Pass the resolved index to
switch_to_shortcut(), rather than just SHORTCUTS_HOME.
(desktop_folder_handler): Likewise for SHORTCUTS_DESKTOP.
(gtk_file_chooser_default_class_init): Add a "quick-bookmark"
binding signal, and bind it to Alt-1, Alt-2. ..., Alt-0. These
make the respective key switch to the first, second, ..., tenth
bookmark.
(quick_bookmark_handler): Implement.
2005-10-04 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkpathbar.c (get_dir_name): Don't special-case Home and
Desktop; just use their real names on the file system for the
user-visible names.
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_class_init): Add a "desktop-folder"
binding signal, and bind it to M-d by default.
(desktop_folder_handler): Implement the default handler.
(home_folder_handler): Use a helper function.
(switch_to_shortcut): New helper function.
(shortcuts_append_home): Don't special-case the name of "Home";
just use the folder name.
2005-10-04 Tor Lillqvist <tml@novell.com>
* gtk/gtkcalendar.c (gtk_calendar_init): Make it compile without
HAVE__NL_TIME_FIRST_WEEKDAY. (#317910, Mathias Hasselmann)
2005-10-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkrc.c (gtk_rc_clear_realized_style): Revert the change
from yesterday, since it leads to assertion failures. (#317879,
Sebastian Bacher)
2005-10-03 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkrc.c (gtk_rc_clear_realized_style): Unref the style when
removing it from the hash table. (#314696, Benjamin Berg)
2005-09-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkcalendar.c (gtk_calendar_init): Another attempt
to correct the calculations for the first week day. We may
just have to remove this code if too many locales turn out
to have broken data.
2005-09-30 Matthias Clasen <mclasen@redhat.com>
* gtk/gtksocket-x11.c (_gtk_socket_windowing_size_request):
Prevent overflow when storing size hints in an unsigned
short variable. Tracked down by Ray Strode and Søren Sandmann.
2005-09-28 Federico Mena Quintero <federico@ximian.com>
* tests/testcellrenderertext.c: New file with a set of tests for
GtkCellRendererText. The idea is to run a text renderer through
most of its interesting property values to see that it works
correctly.
* tests/Makefile.am: Added testcellrenderertext.
* gtk/gtkfilechooserdefault.c (load_set_model): Mark the
entry/exit of this function for profiling.
(gtk_file_chooser_default_style_set): Mark the start/end of the
calls to the parent class and the the signal emission for profiling.
2005-09-29 Tor Lillqvist <tml@novell.com>
* gtk/gtkmain.c (_gtk_get_localedir): The locale directory is
passed to bindtextdomain() which isn't UTF-8-aware, so convert to
system codepage using g_win32_locale_filename_from_utf8().
(#317457, Kazuki Iwamoto)
2005-09-28 Matthias Clasen <mclasen@redhat.com>
* gtk/gtktexttag.c (gtk_text_attributes_ref): Return the attributes
to make this function work as boxed copy function. (#317455,
Gustavo Carneiro)
2005-09-27 Federico Mena Quintero <federico@ximian.com>
Don't reload the current folder unnecessarily on ::map().
* gtk/gtkfilechooserprivate.h (ReloadState): New enum to represent
the reloading state.
(struct _GtkFileChooserDefault): Added a "reload_state" field.
* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init):
Initialize impl->reload_state.
(gtk_file_chooser_default_map): Check the impl->reload_state; load
a default folder if no folder has been set, or reload the current
one only if we had been unmapped first.
(gtk_file_chooser_default_update_current_folder): Set the
reload_state to RELOAD_HAS_FOLDER.
(gtk_file_chooser_default_unmap): Implement, and set the
reload_state to RELOAD_WAS_UNMAPPED.
(shortcuts_model_create): Don't call shortcuts_add_bookmarks()
here; they'll get (re)loaded on ::map() anyway.
* gtk/gtkfilechooserwidget.c
(gtk_file_chooser_widget_constructor): Don't set a default folder here.
* tests/autotestfilechooser.c (test_action_widgets): Don't take in
a dialog; build it ourselves.
(test_reload): New test to ensure that we don't load the default
folder more than once, and that we reload it when
unmapping/remapping.
(get_impl_from_dialog): New utility function.
(test_widgets_for_current_action): Use get_impl_from_dialog().
2005-09-27 Federico Mena Quintero <federico@ximian.com>
Don't reload the current folder unnecessarily on ::map().
* gtk/gtkfilechooserprivate.h (ReloadState): New enum to represent
the reloading state.
(struct _GtkFileChooserDefault): Added a "reload_state" field.
* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_init):
Initialize impl->reload_state.
(gtk_file_chooser_default_map): Check the impl->reload_state; load
a default folder if no folder has been set, or reload the current
one only if we had been unmapped first.
(gtk_file_chooser_default_update_current_folder): Set the
reload_state to RELOAD_HAS_FOLDER.
(gtk_file_chooser_default_unmap): Implement, and set the
reload_state to RELOAD_WAS_UNMAPPED.
(shortcuts_model_create): Don't call shortcuts_add_bookmarks()
here; they'll get (re)loaded on ::map() anyway.
* gtk/gtkfilechooserwidget.c
(gtk_file_chooser_widget_constructor): Don't set a default folder here.
* tests/autotestfilechooser.c (test_action_widgets): Don't take in
a dialog; build it ourselves.
(test_reload): New test to ensure that we don't load the default
folder more than once, and that we reload it when
unmapping/remapping.
(get_impl_from_dialog): New utility function.
(test_widgets_for_current_action): Use get_impl_from_dialog().
2005-09-27 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_constructor): Mark the entry/exit of
this function for profiling.
(check_icon_theme): Likewise.
(change_icon_theme): Likewise.
(settings_notify_cb): Likewise.
(gtk_file_chooser_default_screen_changed): Likewise.
(update_chooser_entry): If the selection is empty, clear the file
name entry only if we are in CREATE_FOLDER mode. In SAVE mode,
nothing will be selected when the user starts typeahead in the
treeview, and we don't want to clear the file name entry in that
case --- the user could be typing-ahead to look for a folder name.
Fixes bug #308332, patch by Jürg Billeter.
* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
Pop below the entry if there's more free space below the entry
than above. (#316948, Tommi Komulainen)
2005-09-26 Federico Mena Quintero <federico@ximian.com>
Do not create the save mode-specific widgets in the open modes, so
that we don't carry their baggage around.
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_constructor): Don't create the
save_widgets here.
(save_widgets_create): Set the impl->save_widgets directly here,
instead of passing the widgets back to the caller. Also, pack
them into the impl's box.
(update_appearance): Create or destroy the save widgets as
appropriate. Set the action of the save_file_name_entry here.
(shortcuts_add_current_folder): Set the active item in the
save_folder_combo only if it exists.
(gtk_file_chooser_default_set_property): Don't set the action of
the save_file_name_entry here.
(gtk_file_chooser_default_update_current_folder): Set the base
folder of the save_file_name_entry only if the entry exists.
(shortcuts_drag_data_received_cb): Cast the selection_data->data
to (const char *) since that's what shortcuts_drop_uris() expects.
(file_list_drag_data_received_cb): Likewise, for
g_uri_list_extract_uris().
2005-09-22 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwidget.c (gtk_widget_class_init): Fix the documentation
for the grab-broken-event signal, noticed by Damon Chaplin.
2005-09-19 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkiconview.c: Use g_list_nth_data() instead of g_list_nth()->data
in multiple places to avoid segfaults if the index is out of range.
(#316422, Guillaume Cottenceau)
2005-09-18 Hans Breuer <hans@breuer.org>
* gtk/gtktrayicon-win32.c : now handling events by hard-coded
g_signal_emit_by_name() - will break when gtkstatusicon.c changes.
2005-09-18 Hans Breuer <hans@breuer.org>
* gtk/makefile.msc.in : fix typo for GTK_VER; define HAVE_CONFIG_H
cause gtkprogressbar.c has #include <config.h> conditionally; less
noise from generated gtk.def
* gtk/stock-icons/makefile.msc gdk/makefile.msc tests/makefile.msc : updated
* gtk/gtktrayicon-win32.c : dummy implmentation to make gtk compile.
For me it works as well as the *NIX implemenation, that is not at all.
* gdk/win32/gdkproperty-win32.c : implement gdk_atom_intern_static_string()
* gdk/win32/gdkwindow-win32.c(gdk_window_set_urgency_hint) : only use
only use (WINVER >= 0x0500) when available from the SDK. Otherwise fall
back to true dynamic linking of FlashWindowEx. Makes gtk+ work on NT4.0
again - if compiled properly.
* tests/teststatusicon.c : don't use GNOME icons for testing, but icons
already coming with Gtk+. Makes it compile on win32.
2005-09-18 Hans Breuer <hans@breuer.org>
* gtk/makefile.msc.in : fix typo for GTK_VER; define HAVE_CONFIG_H
cause gtkprogressbar.c has #include <config.h> conditionally; less
noise from generated gtk.def
* gtk/stock-icons/makefile.msc gdk/makefile.msc tests/makefile.msc : updated
* gtk/gtktrayicon-win32.c : dummy implmentation to make gtk compile.
For me it works as well as the *NIX implemenation, that is not at all.
* gdk/win32/gdkproperty-win32.c : implement gdk_atom_intern_static_string()
* gdk/win32/gdkwindow-win32.c(gdk_window_set_urgency_hint) : only use
only use (WINVER >= 0x0500) when available from the SDK. Otherwise fall
back to true dynamic linking of FlashWindowEx. Makes gtk+ work on NT4.0
again - if compiled properly.
* tests/teststatusicon.c : don't use GNOME icons for testing, but icons
already coming with Gtk+. Makes it compile on win32.
2005-09-15 Federico Mena Quintero <federico@ximian.com>
* tests/autotestfilechooser.c: Start a set of automated tests for
the file chooser. The only test in there right now doesn't pass
yet. It specifies the intended behavior of the first optimization
of a series which I'll do on the file chooser (see
http://primates.ximian.com/~federico/news-2005-09.html#14 for the
details of this optimization).
* tests/Makefile.am: Added autotestfilechooser.c.
* gtk/gtkfilechooserprivate.h (struct
_GtkFileChooserDialogPrivate): Move all the file chooser's private
structures to here, so that they can be accessed by
tests/autotestfilechooser.c: _GtkFileChooserDialogPrivate,
_GtkFileChooserWidgetPrivate, LoadState, _GtkFileChooserDefault.
* gtk/gtkfilechooserdialog.c: See above.
* gtk/gtkfilechooserwidget.c: See above.
* gtk/gtkfilechooserdefault.c: See above.
Thu Sep 15 15:27:55 2005 Tim Janik <timj@imendio.com>
* gtk/gtkwindow.c:
gtk_window_map_event(): new function to work around lost unmap requests.
fixes bug #316180.