2004-01-20 Federico Mena Quintero <federico@ximian.com>
Fix#99425, add accessor functions for GtkPaned's children.
* gtk/gtkpaned.c (gtk_paned_get_child1): New function.
(gtk_paned_get_child2): New function.
Tue Jan 20 22:11:31 2004 Matthias Clasen <maclas@gmx.de>
Fixes for #130370, based on a patch by Michael Meeks:
* gtk/gtkmenu.c (gtk_menu_do_remove): New auxiliary function to
adjust cell positions and recalculate row and column counts after
removing an item.
* gtk/gtkmenu.c (gtk_menu_remove): Call gtk_menu_do_remove.
* gtk/gtkmenu.c (gtk_menu_do_insert): Don't leave empty rows when
appending items.
* gtk/gtkmenu.c (gtk_menu_attach): Don't call gtk_menu_shell_append,
to avoid an unintended recursion.
2004-01-05 Jody Goldberg <jody@gnome.org>
* gtk/gtkiconfactory.c (get_default_icons) : add stock indent, unindent
I would have prefered outdent, but compatibility seems more
important.
* gtk/gtkstock.c (builtin_items) : ditto.
* gtk/gtkstock.h : ditto.
* gtk/stock-icons/Makefile.am : ditto.
* gtk/stock-icons/stock_text_indent_16.png :
* gtk/stock-icons/stock_text_indent_24.png :
* gtk/stock-icons/stock_text_unindent_16.png :
* gtk/stock-icons/stock_text_unindent_24.png : from gnome-icon-theme
2003-12-18 Jody Goldberg <jody@gnome.org>
* gtk/gtkicontheme.c (gtk_icon_theme_lookup_icon)) : Add a sanity test
to ensure that the base hicolor theme is installed. Silently
failing to produce icons that apps assume exist in the theme seems
like a bad idea.
2004-01-19 Federico Mena Quintero <federico@ximian.com>
Fix#131418.
* gtk/gtkfilechooserdefault.c (set_select_multiple): New helper
function.
(gtk_file_chooser_default_set_property): Use
set_select_multiple(). Also, re-set this mode to single if the
file chooser is set to Save mode.
(entry_activate): Handle the case where the entry is completely
empty *and* its current folder does exist. Also, there is need to
test for select_multiple here now that we ensure that it won't
happen during Save mode.
Sun Jan 18 13:16:34 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* tests/testgtk.c (create_toolbar): Set a small size request and
make the window resizable, to test mapping/unmapping of buttons.
* gtk/gtktoolbar.c (gtk_toolbar_remove_content,
gtk_toolbar_insert_tool_item): remove these functions.
* gtk/gtktoolbar.c (gtk_toolbar_show_all,
toolbar_content_show_all, gtk_toolbar_hide_all,
toolbar_content_hide_all): New functions.
Ignore show_all/hide_all for buttons created in compatibility mode.
* gtk/gtktoolbar.c (internal_insert_element, gtk_toolbar_show_all,
gtk_toolbar_hide_all): Make sure buttons are ignored by
gtk_toolbar_show_all() and gtk_toolbar_hide_all().
* gtk/gtktoolbar.c: s/regular_widget/compatibility/g
* gtk/gtktoolbar.c (struct _ToolbarContent): Allocate
GtkToolbarChild inline. Get rid of GtkToolbarChildSpace.
* gtk/gtktoolbar.c (toolbar_content_expose): Fix bug where widget
could become NULL.
* gtk/gtktoolbar.c (gtk_toolbar_add): Append new tool items
instead of prepending them.
* gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Use the same
'elapsed' for all items.
* gtk/gtktoolbar.c (struct _GtkToolbarPrivate): Turn booleans
into bitfields.
* gtk/gtktoolbar.c: Many formatting fixes
Sun Jan 18 01:51:12 2004 Matthias Clasen <maclas@gmx.de>
* configure.in: Add the necessary magic to create
po-properties/Makefile.
Sun Jan 18 01:52:04 2004 Matthias Clasen <maclas@gmx.de>
* Makefile.in.in (subdir): Define appropriately.
Sat Jan 17 22:00:07 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c:
Fix rest of #128678: Implement all the toolbar_content()
methods for the old API case.
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: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().
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)
Wed Jan 7 23:03:32 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkactiongroup.h:
* gtk/gtkactiongroup.c (gtk_action_group_add_action_with_accel):
Remove the redundant name and stock_id parameters, adjust all callers.
2004-01-07 Jan Arne Petersen <jpetersen@uni-bonn.de>
* gtk/gtkfilechooserdefault.c: (shortcuts_insert_path),
(shortcuts_append_home), (shortcuts_append_desktop),
(shortcuts_append_paths), (shortcuts_add_volumes),
(shortcuts_append_bookmarks), (create_shortcuts_model),
(gtk_file_chooser_default_add_shortcut_folder): add REMOVABLE column
to the shortcuts_model.
(remove_bookmark_button_clicked_cb),
(bookmarks_check_remove_sensitivity): use REMOVABLE column to check if
bookmarks can be removed. Fixes#129873
Wed Jan 7 02:50:55 2004 Matthias Clasen <maclas@gmx.de>
* demos/testpixbuf-save.c: Make s, S, Control-S, p, P, Control-P,
i, I, Control-I test gdk_pixbuf_save(), gdk_pixbuf_save_to_buffer()
and gdk_pixbuf_save_to_callback() with jpeg, png and ico formats,
respectively. Tests #82203.
2004-01-06 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilesel.c (gtk_file_selection_create_dir_confirmed): Use
0777 as the mode for mkdir() and let the umask do the right
thing. Fixes#121819.
2004-01-06 Alexander Winston <alexander.winston@comcast.net>
* gtk/gtkfilesel.c: (gtk_file_selection_delete_file): Removed space
that proceeded the end-of-sentence punctuation. Fixes: #130353.
2004-01-05 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkfilechooserdefault.c (toolbar_button_new): New helper
function.
(toolbar_create): Do not use a toolbar widget, just an hbox
instead. Add the bookmarks buttons and the current folder label
here.
(create_filename_entry_and_filter_combo): Create the filter combo
here.
(filter_create): Don't show the filter combo initially.
(up_button_cb): Renamed from toolbar_up_cb().
(create_shortcuts_buttons): Removed.
Sun Jan 4 15:29:04 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkradiotoolbutton.[ch]
(gtk_radio_tool_button_new_with_stock_from_widget): Change API so
group is a GtkRadioButton, not a GtkWidget.