Sat Jun 5 20:05:39 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* tests/testmerge.c: Add a checkbox to queue an
merge/unmerge. Patch from Matthias Clasen.
* gtk/gtktoolbar.c (struct _GtkToolbarPrivate): Add a new flag
"need_rebuild"
(rebuild_menu): New function that rebuilds the overflow menu and
makes sure it doesn't start or end with a separator.
(toolbar_content_new_tool_item)
(toolbar_content_remove)
(toolbar_content_new_compatibility): Set the rebuild_needed flag
(gtk_toolbar_size_allocate): Only show the overflow arrow when we
have actually overflown an item with a proxy menu item. Also make
sure we rebuild the menu if needed.
Fix#125504, #142377, #143463
* gtk/gtkseparatortoolitem.c (gtk_separator_tool_item_expose):
Obey the "priv->draw" flag. (#143692)
Tue Jun 1 23:14:46 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtktoolbar.h:
* gtk/gtktoolbar.c:
* gtk/gtkentrycompletion.h:
* gtk/gtkentrycompletion.c:
* gtk/gtkcombobox.h:
* gtk/gtkcombobox.c: Rename function parameters from
index to index_ to prevent clash with BSD index(). (#143001)
Tue Mar 9 02:11:50 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkmenu.c Fix bug 136446.
(struct _GtkMenuPrivate): Add boolean destroying
(gtk_menu_destroy): Set priv->destroying
(gtk_menu_remove): don't update the table information when the
menu is being destroyed.
* gtk/gtkmenu.c (gtk_menu_set_monitor): Formatting fix
* gtk/gtktoolbar.[ch]: Some formatting fixes
2004-03-05 Federico Mena Quintero <federico@ximian.com>
Fixes#136082 and #135265, patch by Morten Welinder.
* configure.in: Use AC_SYS_LARGEFILE.
* */*.c: #include <config.h>
Thu Feb 26 23:26:00 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkstatusbar.c (set_grip_cursor): New function. Use resize
cursors for resize grips. (Bug #129621)
* gtk/gtktoolbar.c (gtk_toolbar_get_relief_style): Documentation
fix - patch by Torsten Schoenfeld.
* gtk/gtkmenubar.c (gtk_menu_bar_size_request): don't request
space between the items. (Bug #110775)
* gtk/gtkrc.c (_gtk_rc_init): Provide extra horizontal padding
inside menu items that are inside a menu bar. (Bug #110775)
* configure.in (HAVE_XCURSOR): Make XCurosr part of GDK_EXTRA_,
not GDK_PACKAGES, to prevent applications from getting linked to
it (Bug #119804)
* gtk/gtkmenubar.c (gtk_menu_bar_size_allocate): Put the vertical
ipadding inside the item. (Bug #61843)
Sun Feb 1 16:34:07 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Only start
sliding when using the new API.
Sun Feb 1 16:03:39 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Make sure
item_area is positioned correctly. Fix#133070, reported by Jeroen
Zwartepoorte.
Tue Jan 27 01:56:46 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c: Remove obsolete comment.
* gtk/gtktoolbar.c (DEFAULT_SPACE_SIZE, SPACE_LINE_START,
SPACE_LINE_END): Make separators wider and taller, so they are
easier to pick up when editing the toolbar.
* gtk/gtktoolbar.c (slide_idle_handler): Add a comment, simplify
a bit,
* gtk/gtktoolbar.c (rect_within): Formatting fix
* gtk/gtktoolbar.c (gtk_toolbar_set_drop_highlight_item): Make
sliding feel more responsive by only restarting sliding when the
placeholder actually changes its goal allocation.
Sun Jan 25 15:14:46 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Base the decision
to map/unmap items on whether they are actually allocated outside
the toolbar, not on whether that will eventually happen. Improves
animation in the presence of overflown items.
* gtk/gtktoolbar.c (gtk_toolbar_begin_sliding): Add a
queue_resize() to so that the items will get their new goal
values and the idle handler will not immediately return FALSE.
* gtk/gtktoolbar.c (slide_idle_handler): simplify the logic and
make sure that a placeholder becoming invisible doesn't cause a
return TRUE.
* gtk/gtktoolbar.c (get_item_size): Don't special case
placeholders here.
Sat Jan 24 23:17:27 2004 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbutton.c (gtk_tool_button_construct_contents): Only
try to pack icon if there actually is one.
* gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Make sure
OVERFLOWN items get an allocation even when they are
unmapped. This ensures they will slide in properly.
* gtk/gtktoolbar.c (slide_idle_handler): Make sure we return TRUE
when there are overflown items that need to slide in. Also add
comments and make formatting more readable.
Thu Jan 22 18:45:26 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkicontheme.c: Patch from Christian Neumair
to make warning string more translator friendly.
* gtk/gtktreemodelfilter.h gtkseparatortoolitem.[ch]
gtk/gtktoolbar.c: Parameter name fixes to keep gtk-doc
happy.
* configure.in: Require GLib-2.3.2, version 2.3.2,
interface age 0, binary age 302.
* NEWS: Organized, added some names.
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
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]
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_().
Sat Dec 27 23:17:56 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (slide_idle_handler): use CHILD_VISIBLE
instead of VISIBLE to determine whether we should stop
sliding. (#130018, reported by Christian Persch).
Sun Nov 30 17:31:32 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (slide_idle_handler): return TRUE if there are
disappearing placeholders that are still visible.
* gtk/gtktoolbar.c: formatting fixes
* gtk/gtktoolbar.c (struct _ToolbarContent): new bit:
disappearing, for placeholders that are going to disappear.
* gtk/gtktoolbar.c (get_item_size): return 0 for disappearing placeholders
Mon Nov 24 01:47:10 2003 Soeren Sandmann <sandmann@daimi.au.dk>
Rework sliding algorithm.
- No more weird jumping when items are dragged off and added to
the toolbar,
- More natural item movement
* gtk/gtktoolbar.c (gtk_toolbar_size_allocate): Many changes. This
function is now responsible for calculating intermediate positions
during item sliding. It is also responsible for starting sliding
if items disappear. Also turn off expanding when there is an
overflow menu.
(gtk_toolbar_begin_sliding, stop_sliding): New functions.
(slide_idle_handler): New function. All the sliding is now done by
gtk_toolbar_size_allocate(), so the idle handler now just checks
if there is more sliding to be done.
(compute_intermediate_allocation, position): new functions
calculating intermediate steps in the slide animations. The new
animation algorithm uses a constant speed instead of a constant
must-be-finished-within time.
(struct _ToolbarContent): use
GtkAllocation goal_allocation; and
GtkAllocation start_allocation; instead of
gint start/goal_width;
* gtk/gtktoolitem.c (gtk_tool_item_set_tooltip): fix typo in
documentation
Wed Nov 19 18:15:00 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkmenu.c (DEFAULT_POPUP_DELAY): set to 200 instead of 225
* gtk/gtkmenuitem.c (get_minimum_width): Impose a minimum width
on items that have a submenu. (#120104).
Wed Nov 19 18:11:08 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (struct _ToolbarContent): Add a new
"ItemState" field indicating the overflowed-ness etc. of the item.
(gtk_toolbar_size_allocate): update the field here.
Wed Nov 12 01:29:32 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (gtk_toolbar_internal_insert_element): When we
are using the old API, make all items "is_important". That way
BOTH_HORIZ will continue to show both icon and label in old API
mode.
Fri Oct 31 02:43:34 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (get_item_requisition): delete this function
(toolbar_item_is_homogeneous): cache max_homogeneous_pixels
instead of re-calculating for each item.
(gtk_toolbar_size_allocate): Update comments
Thu Oct 30 22:04:31 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (gtk_toolbar_forall): Only include
placeholders when include_internals is TRUE.
Thu Oct 30 17:57:53 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (logical_to_physical): Make it work even when
item 0 is a placeholder. (#125826)
* tests/testtoolbar.c: add an assertion that
gtk_toolbar_get_nth_item (0) != NULL
Thu Oct 30 16:20:58 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (logical_to_physical): Make sure we actually
return the index of a real item.
(get_nth_item) assert that the returned items is not a
placeholder. (#125826, Marco Pesenti Gritti).
Wed Oct 29 02:54:35 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.[ch] (gtk_toolbar_set_drop_highlight_item): Add this
function; remove gtk_toolbar_highlight_drop_location() and
gtk_toolbar_unhighlight_drop_location().
Also fix bug where the number of overflowed items were miscounted.
Thu Oct 23 21:55:10 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (gtk_toolbar_highlight_drop_location): Make
this function take an index and a GtkToolItem.
* tests/testtoolbar.c (main): Make "Show Arrow" default to
true. Make one of the separators !draw and expand.
Update for new highlight_drop_location() API.
* gtk/gtktoolitem.[ch]: Remove "pack_end" property
* gtk/gtktoolbar.h: Formatting fixes.
* gtk/gtktoolbar.c: Remove "pack_end" child property. Allow
separator tool items to expand.
(logical_to_physical, physical_to_logical): Fix off-by-one errors
(Fix#125472, Marco Pesenti Gritti)
* gtk/gtkseparatortoolitem.[ch]: Add new "draw" property.
(gtk_separator_tool_item_expose) only draw if "draw" is TRUE. Also
return FALSE, not TRUE.
(gtk_separator_too_item_{set|get}_property,
(gtk_separator_tool_item_{set|get}_draw): new functions
Mon Oct 20 20:27:22 2003 Soeren Sandmann <sandmann@daimi.au.dk>
Add support for OS X like sliding of toolbar items during drag and
drop, (#110919, Dave Bordoley)
Make dnd highlighting the responsibility of the
application. (Fixes#116298, Owen Taylor)
* gtk/gtktoolbar.h: Add prototypes for new API.
* gtk/gtktoolbar.c
(physical_to_logical, logical_to_physical): new functions
converting between "position including placeholders" and "position
excluding placeholders".
(gtk_toolbar_class_init): remove drag_leave and drag_motion
handlers
(struct _ToolbarContent): new struct containing information
related to toolbar items.
(gtk_toolbar_highlight_drop_location): new public function
(gtk_toolbar_unhighlight_drop_location): new public function
* tests/testtoolbar.c
(toolbar_drag_motion, toolbar_drag_leave): new functions
(main): connect to dnd signals. Make the "New" item expand to
make drag and drop more exciting.
2003-10-01 Matthias Clasen <maclas@gmx.de>
* gtk/gtkmain.c: Doc formatting tweaks.
* gtk/gtktoolitem.c (gtk_tool_item_set_is_important): Fix a typo.
* gtk/gtkcheckmenuitem.h (gtk_check_menu_item_set_draw_as_radio):
Use the same parameter names as in .c file, to pacify gtk-doc.
* gtk/gtktoggletoolbutton.[hc]:
* gtk/gtktoolbutton.[hc]:
* gtk/gtktoolitem.[hc]:
* gtk/gtktoolbar.[hc]:
* gtk/gtkcolorbutton.[hc]:
* gtk/gtkfontbutton.[hc]:
* gtk/gtkalignment.[hc]: Define GET_PRIVATE macros in the
source, not in the header.
* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_[sg]et_draw_as_radio):
Document these as 2.4 API additions.
* gtk/tmpl/gtkaction.sgml: Fix cross reference to GtkMenuMerge.
* gtk/gtk-sections.txt: Additions.
* gtk/tmpl/gtkitemfactory.sgml: Add hint to use #GtkUIManager instead.
Sun Sep 14 16:59:52 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (gtk_toolbar_init): Name the arrow
"gtk-toolbar-arrow" so themes can special-case it.
Sun Sep 14 15:49:00 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c (toolbar_item_is_homogeneous): Unref the
PangoFontMetrics. Patch from Steve Chaplin (#122257).
Fri Aug 29 20:32:07 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c: Only treat buttons as homogeneous when they
are narrower than 13 time the estimated character width of the
font. (#107781, David Bordoley)
* gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_init): Check
here if the GtkToggleButton is active. This may be the case if it
is a radio button.
* gtk/gtktoolbar.c: Clarify documentation wrt. GtkSignalFunc
vs. void (*) (GtkWidget, gpointer). (#107495, Mariano
Suarez-Alvarez).
* gtk/gtkcheckmenuitem.[ch]: new "draw_as_radio"
property. (#111207, David Bordoley).
* gtk/gtktoggletoolbutton.c
(gtk_toggle_tool_button_create_menu_proxy): use new
"draw_as_radio" property on the menu item when the item is a radio
tool button
* gtk/gtktoolbutton.c (gtk_tool_button_create_menu_proxy): Fixes
to only pay attention to the "use_underline" property when the
button label comes from the "label" property.
2003-08-28 Matthias Clasen <maclas@gmx.de>
* gtk/gtkuimanager.c: Change the XML format:
<Root> element is replaced by <ui>,
<menu> element is replaced by <menubar>,
<submenu> element is replaced by <menu>,
<dockitem> element is replaced by <toolbar>,
<popups> element is gone,
verb attribute is replaced by action,
name defaults to action or the element name.
* gtk/gtkactiongroup.[hc]: Replace GtkActionGroupEntry by GtkActionEntry
and GtkRadioActionEntry. GtkActionEntry is simplified by removing
the user_data, entry_type and extra_data fields, GtkRadioActionEntry is
further simplified by removing the callback. The user_data can now be
specified as an argument to gtk_action_group_add_actions(). There is
a new method gtk_action_group_add_radio_actions(), which is similar
to gtk_action_group_add_actions(), but takes GtkRadioActionEntrys
and a callback parameter in addition to the user_data. The callback
is connected to the ::changed signal of the first group member.
There are _full() variants taking a GDestroyNotify of
gtk_action_group_add_[radio_]actions().
* gtk/gtkradioaction.[hc]: Add a ::changed signal which gets emitted
on every member of the radio group when the active member is changed.
Add an integer property "value", and a getter for the value of "value"
on the currently active group member.
* tests/testactions.c:
* tests/testmerge.c:
* tests/merge-[123].ui:
* demos/gtk-demo/appwindow.c: Adjust to these changes.
* gtk/gtktoolbar.c (gtk_toolbar_append_element): Trivial doc fix.
Fri Aug 1 15:26:46 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtktoolbar.c, gtk/toolitem.c: add new "is_important"
property
* gtk/gtkradiotoolbutton.c
(gtk_radio_tool_button_new_from_widget): Don't take a stock id
* gtk/gtkradiotoolbutton.c
(gtk_radio_tool_button_new_with_stock_from_widget): make this
function take a stock_id.
* gtk/toolbar: documentation