Sat Jan 17 12:37:46 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (gtk_toolbar_finalize): Don't leak the
overflow menu.
* gtk/gtktoolbar.h (struct _GtkToolbar): Make some fields public.
[#127726]
2004-01-16 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystemmodel.c (struct _GtkFileSystemModel): Added a
has_editable field.
(_gtk_file_system_model_add_editable): New function.
(_gtk_file_system_model_remove_editable): New function.
(gtk_file_system_model_get_value): Return appropriate values for
the temporary editable row.
(_gtk_file_system_model_get_info): Handle the editable row.
(_gtk_file_system_model_get_path): Likewise.
* gtk/gtkfilechooserdefault.c (shortcuts_append_bookmarks):
Removed an unused variable.
(toolbar_button_new): Optionally show the button.
(up_button_clicked_cb): Renamed from up_button_cb(), fixed prototype.
(toolbar_create): Add a "New Folder" button for Save mode.
(error_building_filename_dialog): New helper function.
(gtk_file_chooser_default_get_paths): Use error_building_filename_dialog().
(create_file_list): Connect to the "edited" signal of the text
cell renderer. Store the name column and text renderer in the
impl structure.
(renderer_edited_cb): New callback.
(gtk_file_chooser_default_set_property): Show/hide the "New
folder" button when the save action changes.
(COMPARE_DIRECTORIES): Allow the info values to be NULL.
(COMPARE_DIRECTORIES): Duh, use the list_model, not the
tree_model.
(get_list_file_info): Likewise!
(list_icon_data_func): Handle the path being NULL.
(new_folder_button_clicked): New callback.
(list_name_data_func): If we are on the editable row, set the text
to "Type name of new folder".
(list_selection_changed): Handle the editable row.
(list_mtime_data_func): Likewise.
* gtk/gtkfilesystemunix.c (gtk_file_system_unix_make_path): Return
NULL, not FALSE.
(gtk_file_system_unix_create_folder): Test the result of mkdir() correctly.
Fri Jan 16 23:59:01 2004 Matthias Clasen <maclas@gmx.de>
The first part of the fix for #114351 (see also
gdk-pixbuf/ChangeLog and po/ChangeLog):
* gtk/gtkintl.h:
* gdk-pixbuf/gdk-pixbuf-i18n.h:
* gdk/gdkintl.h: Define P_() for property blurbs and nicks.
* gdk/gdkdisplaymanager.c:
* gdk-pixbuf/gdk-pixbuf.c:
* modules/input/gtkimcontextxim.c:
* gtk/*.c: Mark property blurbs and nicks with P_().
* po/Makefile.in.in: Add --keyword=P_ to the xgettext
invocation, since property blurbs and nicks are
now marked with P_().
2004-01-16 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c
(gtk_file_chooser_default_set_property): Do not allow setting
select_multiple when in Save mode.
(set_list_model): No need to nullify the list_model and
sort_model.
(gtk_file_chooser_default_get_paths): Handle folder mode as well.
(get_paths_foreach): Likewise.
* gtk/gtkfilechooser.c (gtk_file_chooser_get_filename): Clarify
documentation about folder mode.
(gtk_file_chooser_get_uri): Likewise.
2004-01-16 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesystem.h (struct _GtkFileSystemIface): New
get_volume_for_path() method.
(struct _GtkFileSystemIface): Finally removed the list_roots() and
get_root_info() methods, and the "roots-changed" signal.
* gtk/gtkfilesystem.c (gtk_file_system_get_volume_for_path): New
function.
(gtk_file_system_list_roots): Removed.
(gtk_file_system_get_root_info): Removed.
* gtk/gtkfilesystemunix.c
(gtk_file_system_unix_get_volume_for_path): Implement.
(get_root_volume): New helper function.
(gtk_file_system_unix_list_volumes): Use get_root_volume().
(gtk_file_system_unix_list_roots): Removed.
(gtk_file_system_unix_get_root_info): Removed.
* gtk/gtkfilesystemmodel.c (_gtk_file_system_model_new): Don't
accept a NULL root_path.
(struct _GtkFileSystemModel): Add a field to remember the
root_path.
(_gtk_file_system_model_new): Store the root_path in the model
structure.
(find_and_ref_path): Stop going up the hierarchy at the root_path
of the model. Also, don't return prematurely when walking up the
hierarchy.
* gtk/gtkfilechooserdefault.c (create_file_list): Sigh, restore
the rules_hint.
(struct _GtkFileChooserDefault): Added a current_volume_path field.
(set_tree_model): New function; create the folder tree model here.
(create_folder_tree): Don't create the model here.
(set_list_model): Set the show_hidden flag on the list model.
Thu Jan 15 23:54:46 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtk-docs.sgml: Move the old chapters about 1.2 and 2.0
changes to Federicos new 'migrating' part.
Thu Jan 15 23:17:14 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkuimanager.c (gtk_ui_manager_get_toplevels): Inserting
a 'newly-allocated' to hint that the list should be freed after
use.
Wed Jan 14 18:01:52 2004 Jonathan Blandford <jrb@gnome.org>
* gtk/gtktreeview.c (gtk_tree_view_button_press): move grab_focus
to after handling the button presses in the TreeView to avoid
getting multiple selection_changes()
Wed Jan 14 02:34:57 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkradioaction.c: Add a writable group property to align
with the GtkRadioButton API. (#129166, Olivier Andrieu)
Mon Jan 12 23:40:34 2004 Matthias Clasen <maclas@gmx.de>
* tests/testmerge.c: Adjust to the new connect_proxy signals.
* gtk/gtkuimanager.c
* gtk/gtkactiongroup.c
* gtk/gtkaction.c: Move the connect_proxy and disconnect_proxy signals
from GtkAction to GtkActionGroup and proxy it on GtkUIManager. This
removes the confusion between the disconnect_/connect_proxy signals
and the (unrelated) virtual functions of the same name and aligns
the setup with the pre_/post_activate signals.
2004-01-12 Jody Goldberg <jody@gnome.org>
* gtk/gtkaction.c (connect_proxy) : only connect activate for menus
with no submenus otherwise it looks like we activate every time a
submenu opens.
2004-01-10 Jody Goldberg <jody@gnome.org>
* gtk/gtkuimanager.c (d) : Add a debug macro to quiet the spew.
s/merge_signals/ui_manager_signals/ for readability.
(gtk_ui_manager_class_init) : add pre_activate and post_activate
signals.
(cb_proxy_pre_activate) : new.
(cb_proxy_post_activate) : new.
(gtk_ui_manager_insert_action_group) : connect the proxies for
GtkActionGroup::pre/post_activate
(gtk_ui_manager_remove_action_group) : disconnect them.
* gtk/gtkactiongroup.c (gtk_action_group_class_init) : add
'sensitive', and 'visible' properties. Also add pre_activate and
post_activate signals to help deal with activations at a higher
level (eg GtkUIManager)
(gtk_action_group_init) : init sensitive and visible
(gtk_action_group_set_property) : add sensitive and visible
(gtk_action_group_get_property) : add sensitive and visible
(gtk_action_group_get_sensitive) : new.
(gtk_action_group_get_visible) : new.
(cb_set_action_sensitivity) : new with minor optimization that only
signals sensitivity changes if the action could possibly change.
(cb_set_action_visiblility) : ditto.
(gtk_action_group_set_sensitive) : new. walk the actions directly
rather than using notify::sensitive because that is simpler, easier
to read, and more efficient.
(gtk_action_group_set_visible) : ditto.
(gtk_action_group_add_action) : Each action can only be in 1 group,
set GtkAction::action_group.
(gtk_action_group_remove_action) : clear it.
(gtk_action_group_add_toggle_actions_full) : warning suppression.
(gtk_action_group_add_radio_actions_full) : warning suppression.
(_gtk_action_group_emit_pre_activate) : new protected routine for use
by GtkAction.
(_gtk_action_group_emit_post_activate) : ditto.
* gtk/gtkaction.c (gtk_action_class_init) : add 'action_group' property.
(gtk_action_init) : initialize it.
(gtk_action_get_property) : get.
(gtk_action_set_property) : set it via
(gtk_action_set_action_group) : new function.
(gtk_action_sync_sensitivity) : new routine to sync proxy sensitivity
with the logical sensitivity (action & group) rather than the simple
action::sensitivity.
(gtk_action_sync_visible) : use gtk_action_is_visible to handle
logical visibility (action & group) rather than the simple
action::visible. Use widget show/hide directly.
(connect_proxy) : handle the custom sensitivity handler.
Make the TOOL_BUTTON signals more general and support TOOL_ITEM
directly, with special cases for TOOL_BUTTON. Still not especially
good it might be useful to handle label/use_underline by parmspec
lookup. Those are likely to be implemented by custom types, and are
assumed to exist in GtkToolItem.
(disconnect_proxy) : disconnect the new sensitivity handler.
(_gtk_action_emit_activate) : add pre/post signals.
(gtk_action_activate) : use logical sensitivity.
(gtk_action_is_sensitive) : logical sensitivity.
(gtk_action_get_sensitive) : actual sensitivity.
(closure_accel_activate) : use logical sensitivity.
Sun Jan 11 01:55:07 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkaccelmap.c: Remove accidentally committed notification stuff.
(gtk_accel_map_lock_path):
(gtk_accel_map_unlock_path): Path locking can now be nested, a missing
entry is silently created during lock_path(), and treated as an error
during unlock_path(). These changes have been requested by Tim Janik.
Fri Jan 9 22:23:45 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkuimanager.c: Introduce a new parser state for
accelerator elements to avoid misparsing files containing
such elements. (#131035, Morten Welinder)
Fri Jan 9 00:34:57 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkuimanager.h:
* gtk/gtkuimanager.c (gtk_ui_manager_get_toplevels): New function to
obtain a list of toplevel widgets constructed by the ui manager.
* gtk/gtkuimanager.h (GtkUIManagerItemType): Change to flags, so that
the values can be combined for gtk_ui_manager_get_toplevels().
* tests/testmerge.c: Add a "Dump toplevels" button to test
gtk_ui_manager_get_toplevels().
Thu Jan 8 22:01:14 2004 Matthias Clasen <maclas@gmx.de>
* queryloaders.c (loader_sanity_check): Don't use bitwise operators
on booleans. (#130923, reported by Telsa Gwynne, fix by Dave Jones)
Wed Jan 7 23:20:06 2004 Matthias Clasen <maclas@gmx.de>
* demos/gtk-demo/Makefile.am (demos): Add entry_completion.c
* demos/gtk-demo/entry_completion.c: New demo for GtkEntryCompletion
by Anders Carlsson (#130464).
Wed Jan 7 23:07:28 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkmain.h:
* gtk/gtkmain.c (gtk_events_pending): Change the return value from
gint to gboolean. (#130718, reported by Johannes Weißl)