2005-06-17 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwindow.c (gtk_window_real_set_focus): Queue a
draw on the old and new focus widgets, if their defaultness
changes. (#305607, Billy Biggs)
2005-03-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprivate.h: Define macros GTK_PARAM_READABLE,
GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE which are like
their G_ counterparts, but also mark the name, nick
and blurb as static.
* gtk/*.c: Mark param spec strings as static, using
the new macros.
2005-03-20 Matthias Clasen <mclasen@redhat.com>
Make PLT-reduction work with gcc4, and don't include
everything in gdkalias.h:
* gtk/grk.symbols: Group symbols by header and source file.
* gtk/makegtkalias.pl: Protect definitions by the same
preprocessor symbols used to guard the headers. Move
the alias declarations to a separate file which is
produced when calling makegtkalias.pl -def
* gdk/Makefile.am (gtkaliasdef.c): Add a rule to generate
this file.
* gtk/*.c: Include gtkalias.h after the other headers,
include gtkaliasdef.c at the bottom.
* gtk/*.h: Small cleanups.
2005-02-20 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwindow.c (gtk_window_present): Use the timestamp of
the last user interaction when focusing the window. (#166379,
Elijah Newren)
2005-02-01 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwindow.c (gtk_window_set_icon_name): Set info->icon_list
to NULL after freeing it. (#165800, Damon Chaplin)
2004-12-13 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwindow.c (gtk_window_real_set_focus): Compare only
the HAS_DEFAULT flags. (#160711, Tommi Komulainen)
2004-12-12 Tor Lillqvist <tml@iki.fi>
* gtk/gtkaccelmap.[ch]
* gtk/gtkfilechooser.[ch]
* gtk/gtkfilesel.c
* gtk/gtkfilesystemwin32.c
* gtk/gtkiconfactory.[ch]
* gtk/gtkicontheme.[ch]
* gtk/gtkimage.[ch]
* gtk/gtkimmodule.c
* gtk/gtkmodules.c
* gtk/gtkrc.[ch]
* gtk/gtkuimanager.[ch]
* gtk/gtkwindow.[ch]
* gtk/updateiconcache.c
* gtk/gtk.symbols: Use gstdio wrappers. On Windows, convert
environment variables referring to pathnames from locale encoding
to UTF-8. As in GLib, in order to preserve Windows DLL ABI
stability, add binary compatibility versions of functions that
take file names as arguments, or return file names. Add a _utf8
suffix to the "real" such functions on Windows. The ABI
compatibility versions keep the old name.
* gtk/Makefile.am: Strip PRIVATE symbols from the GNU import
library.
* gtk/gtkiconcache.c (_gtk_icon_cache_new_for_path): Implement
file mapping on Win32.
* gtk/updateiconcache.c: Don't crash if invoked without
argument. Use binary mode when opening file.
* modules/engines/ms-windows/Theme/gtk-2.0/Makefile.am: Install
gtkrc in correct place, in <datadir>/themes/MS-Windows/gtk-2.0.
2004-12-10 Matthias Clasen <mclasen@redhat.com>
Support no-Alt mnemnonics in menu bars (#101309, Owen Taylor)
* gtk/gtkwindow.c: Factor out mnemonic hash code into
a separate file.
* gtk/gtkmnemonichash.[hc]: Factored out mnemonic hash
code from gtkwindow.c.
* gtk/Makefile.am (gtk_c_sources): Add gtkmnemonichash.[hc].
* gtk/gtkmenushell.c (struct _GtkMenuShellPrivate): Give
menu shells their own mnemonic hash.
* gtk/gtkmenushell.h: Add private api to support mnemonics.
* gtk/gtklabel.c (gtk_label_setup_mnemonic): Add mnemonic to
the menushell mnemonic hash when inside a menu.
2004-12-10 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwindow.c: Revert the patch which added no-alt
mnemonics, since it interfers badly with menus. (#160911,
Jonathan Blandford)
2004-11-02 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwindow.c (gtk_window_activate_key_after): As
a last stage in GtkWindow key press handing, try adding
window->mnemonic_modifier to event->state and see if it
matches a mnemonic. (#53709, based on a patch by
Pasupathi Duraisamy, patch by Owen Taylor)
2004-10-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwindow.c (gtk_window_realize_icon): Only set
using_themed_icon if we actually got an icon list from the
theme. (#154472, Morten Welinder)
2004-10-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwindow.c (gtk_window_set_icon_list):
(gtk_window_set_default_icon_list): Ref the new
icons before unreffing the old ones. (#154468, Morten Welinder)
2004-10-04 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkwindow.c (gtk_window_set_icon_list): Ref the new icons
before unreffing the old ones. (#154468, Morten Welinder)
Mon Aug 9 12:48:04 2004 Matthias Clasen <maclas@gmx.de>
Add hidden aliases for exported symbols which are
used internally in order to get rid of many PLT
entries. (#145519, Arjan van de Ven)
* gtk/Makefile.am: Add rules to generate gtk.def and
from gtk.symbols, and make make check check the abi
with abicheck.sh.
(gtk_private_h_sources): Add gtkinternals.h
(gtk_built_private_headers): Add gtkalias.h
(gtk_extra_sources): Add gtk.symbols
(EXTRA_DIST): Add makegtkalias.pl and abicheck.sh
* gtk/gtk.symbols: New file. Definition of the GTK+ ABI.
The file can be processed by cpp to filter out certain
subsets of symbols.
* gtk/abicheck.sh: New file. Script to check the actually
symbols exported from libgtk-x11.2.0.so against the symbols
found in gtk.symbols.
* gtk/makegtkalias.pl: New file. Perl script to generate the
header containing the alias definitions for internally used
exported symbols from a list of symbols.
* gtk/gtkinternals.h: New file. An uninstalled header listing
symbols which must be exported for some reason and do not appear
in any other header.
* gtk/*.c: Include gtkalias.h
Sat Jul 31 01:13:01 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkwindow.c:
* gtk/gtkentry.c:
* gtk/gtkaction.c: Use the canonical form of signal names
after "notify::". Otherwise, no notification arrives.
GObject should have a warning for that, really. (#148879,
Lorenzo Gil Sánchez)
Sun Jul 11 15:24:03 2004 Soeren Sandmann <sandmann@daimi.au.dk>
Bug 143330, support update counter spec.
* configure.in: Add check for the Sync extension
* gdk/gdkwindow.h: gdk_window_enable_synchronized_configure() and
gdk_window_configure_finished()
* gtk/gtkwindow.c (gtk_window_move_resize): Call gdk_window_finish_configure().
* gtk/gtkwindow.c (gtk_window_realize): Automatically enable
synchronized configures.
* gdk/x11/gdkwindow-x11.h (struct _GdkToplevelX11): Store current
and pending counter values.
* gdk/x11/gdkwindow-x11.c (gdk_window_configure_finished): New function.
* gdk/x11/gdkwindow-x11.c
(gdk_window_enable_synchronized_configure): New function.
* gdk/x11/gdkwindow-x11.c (gdk_toplevel_x11_free_contents):
Delete update counter.
* gdk/x11/gdkwindow-x11.c (set_wm_protocols): Advertise
_NET_WM_SYNC_REQUEST when Sync is available
* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Handle
_NET_WM_SYNC_REQUEST messages
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Save counter
value for use by gdk_window_configure_finished() when receiving
ConfigureNotifies.
* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add use_sync flag
* gdk/x11/gdkdisplay-x11.c (gdk_display_open): Check if the XSync
extension is available
* gdk/x11/gdkdisplay-x11.c: Add _NET_WM_SYNC_REQUEST and
_NET_WM_SYNC_REQUEST_COUNTER to list of supported atoms.
* gdk/linux-fb/gdkwindow-fb.c, gdk/win32/gdkwindow-win32.c: Add
stubs for enable_synchronized_configure() and configure_finished()
Mon May 31 02:16:37 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkhandlebox.c: Make detached handleboxes work when their
parent is minimized, porting the fix from 1.2. (#1923, #57182)
Mon May 31 02:03:17 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkwindow.c (gtk_window_show): Make moving realized,
unmapped windows work.
2004-05-05 Elijah Newren <newren@math.utah.edu>
Changes to support do-not-focus-on-map hint in conjunction with
_NET_WM_USER_TIME (#115650):
* gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
field focus_on_map
* gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
set it.
* gtk/gtkwindow.[hc]: Add a boolean property "focus_on_map"
and gtk_window_get_focus_on_map() and gtk_window_set_focus_on_map().
* gdk/win32/gdkwindow-win32.c (gdk_window_new):
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
* gdk/x11/gdkwindow-x11.c (gdk_window_new):
Initialize the focus_on_map field to TRUE.
* gdk/win32/gdkwindow-win32.c (gdk_window_set_focus_on_map):
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_focus_on_map):
* gdk/x11/gdkwindow-x11.c (gdk_window_set_focus_on_map):
* gdk/x11/gdkwindow-x11.c (setup_toplevel_window):
Implementations for the various backends. The Win32 and linux-fb
implementations set the focus_on_map field, but don't use it yet
to actually implement noinput windows. The X implementation sets
_NET_WM_USER_TIME to 0 if focus_on_map is FALSE (see the EWMH).
* gdk/x11/gdkwindow-x11.h:
* gdk/x11/gdkevents-x11.c (set_user_time):
* gdk/x11/gdkinput-x11.c (_gdk_input_common_other_event):
* gdk/x11/gdkwindow-x11.c (gdk_x11_window_set_user_time):
s/_gdk_x11_window_set_user_time/gdk_x11_window_set_user_time/,
since we want that function to be part of the public API.
Sat Mar 13 15:19:17 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_destroy): Remove
the window from the toplevel_list here rather in destroy.
While this is theoretically speaking wrong, it fits
in better with the current reality that destroyed
widgets are not reusable. (#126808, Michael Natterer)
2004-03-12 Federico Mena Quintero <federico@ximian.com>
* gtk/gtkwindow.c (gtk_window_activate_focus): Don't ignore the
return value of gtk_widget_activate().
(gtk_window_activate_default): Likewise. Fixes#137008.
* gtk/gtkfilechooserdialog.c (response_cb): Act on positive
response IDs we recognize, rather than bailing out on cancellation
ones. Fixes#136237; patch by Olivier Andrieu
<oliv__a@users.sourceforge.net>.
(file_chooser_widget_file_activated): If the dialog doesn't have a
default widget, try to find a suitable response widget on our own.
People should *really* be using gtk_dialog_set_default_response(),
but this is to help lazy programmers.
* gtk/gtkdialog.c (_gtk_dialog_get_response_for_widget): New
internal function.
(get_response_data): Add a "create" argument so that we don't
unconditionally create the response data.
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>
Wed Mar 3 17:30:18 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_mnemonic_activate): Check
whether widgets are viewable, not just if they are
mapped. (#122912, reported by Tim Evans)
Mon Mar 1 23:52:15 2004 Tim Janik <timj@gtk.org>
* gtk/gtkbindings.[hc]: expose gtk_bindings_activate_event(), changed
callers.
* gtk/gtkwindow.[hc]: added gtk_window_propagate_key_event() to expose
the key event propagation mechanism used for focus widgets.
(gtk_window_key_release_event): use the same key event propagation logic
as gtk_window_key_press_event().
Sun Feb 29 20:34:06 2004 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.[ch] gtk/gtkmenushell.c: export
gtk_window_activate_key() (Request from Tim Janik)
Thu Feb 12 21:58:20 2004 Owen Taylor <otaylor@redhat.com>
Various reentrancy fixes for widgets being destroyed
out of focus-out-event. (#128821, Grant Gayed)
* gtk/gtkwindow.c (_gtk_window_unset_focus_and_default):
Ref window and widget over callbacks.
* gtk/gtkwidget.c (gtk_widget_hide)
gtk/gtkwidget.c (gtk_widget_set_child_visible):
Ref the widget before calling _gtk_window_unset_focus_and_default(),
since that can call user callbacks.
* gtk/gtkwidget.c (gtk_widget_invalidate_widget_windows):
Do nothing if the widget isn't realized.
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_().
Thu Dec 11 00:35:12 2003 Matthias Clasen <maclas@gmx.de>
Changes to allow "no input" windows (#64613):
* gdk/gdkwindow.h (struct _GdkWindowObject): Add a new boolean
field accept_focus.
* gdk/gdkwindow.h (gdk_window_set_accept_focus): New function to
set it.
* gtk/gtkwindow.[hc]: Add a boolean property "accept_focus"
and gtk_window_get_focus() and gtk_window_set_focus().
* gdk/win32/gdkwindow-win32.c (gdk_window_new):
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_new):
* gdk/x11/gdkwindow-x11.c (gdk_window_set_new):
Initialize the accept_focus field to TRUE.
* gdk/win32/gdkwindow-win32.c (gdk_window_set_accept_focus):
* gdk/linux-fb/gdkwindow-fb.c (gdk_window_set_accept_focus):
* gdk/x11/gdkwindow-x11.c (gdk_window_set_accept_focus):
Implementations for the various backends. The Win32 and linux-fb
implementations set the accept_focus field, but don't use it yet
to actually implement noinput windows. The X implementation updates
the WM_HINTS to select the globally active input model (see the
ICCCM) if accept_focus is FALSE.
* gdk/x11/gdkevents-x11.c (gdk_wm_protocols_filter): Ignore the
WM_TAKE_FOCUS message if accept_focus is FALSE.
Tue Oct 28 10:34:24 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.[ch] (gtk_window_is_active,
gtk_has_toplevel_focus): Add getters corresponding to
the is_active and has_toplevel_focus properties.
(#122531)
Tue Aug 12 15:00:15 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_real_set_focus): Protect
against reentrancy from ::focus-out handlers.
(#118129, Felipe Heidrich)
Sat Jul 19 00:18:40 2003 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkwindow.c (gtk_window_set_default_icon): Fix C99
declaration
* gtk/gtkwidget.c (gtk_widget_queue_shallow_draw): new function
(gtk_widget_real_focus_{in|out}_event): queue shallow draws
instead of full draws.
2003-07-18 Matthias Clasen <maclas@gmx.de>
* gtk/gtktextview.c (gtk_text_view_class_init): Add a new keybinding signal, move_viewport.
(gtk_text_view_move_viewport): New function which implements the move_viewport functionality.
(gtk_text_view_move_cursor_internal): If the cursor is not visible, move the viewport. (#78669)
* gtk/gtkenums.h (GtkScrollStep): New enumeration, used for move_viewport argument.
* gtk/gtkstatusbar.c (gtk_statusbar_class_init): Add a has_resize_grip property. (#111779)
* gtk/gtkwindow.h:
* gtk/gtkwindow.c (gtk_window_set_default_icon): New method. (#95816)
* gtk/gtkmessagedialog.h:
* gtk/gtkmessagedialog.c (gtk_message_dialog_add_buttons): New method.
(#65501, Sebastian Rittau)
Wed May 21 12:52:01 2003 Owen Taylor <otaylor@redhat.com>
* gtk/gtkkeyhash.[ch] (_gtk_key_hash_looku): We need
to pass the unmasked state to gdk_keymap_translate_keyboard_state()
to handle the case where a modifier not in the mask
(like Num_Lock) changes the key value, so replace
the masked state with a state/mask pair. (#106913,
Olivier Ripoll)
* gtk/gtkwindow.c gtk/gtkbinding.c: Update to pass
in state/mask pair to _gtk_key_hash_lookup()
Sun Dec 15 18:47:30 2002 Owen Taylor <otaylor@redhat.com>
Some fixes for modal hint setting based on a patch
from Arvind Samptur (#100416)
* gtk/gtkdialog.c (gtk_dialog_run): Call gtk_window_set_modal
before showing the window for efficiency.
* gtk/gtkwindow.c (gtk_window_realize): Ignore the EWMH
constraint that the transient-for hint must always be
set on windows with the modal hint and just always set
the modal hint.
* gtk/gtkwindow.c (gtk_window_set_modal): Update the
modal hint on the GdkWindow when the window is realized.
Mon Dec 9 19:49:03 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_move_resize): Remove
a couple of places if (widget->window), this function
will only ever be called on a realized window.
(#80225)
Tue Nov 12 15:13:58 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c gtk/gtkwindow.[ch]: Add
_gtk_window_unset_focus_and_default(), use to clear
the focus and default out of parts of the widget
heirarchy that we are hiding.
* gtk/gtkwidget.c (gtk_widget_propagate_screen_changed_recurse):
Fix typo that was resulting in missed screen-change
notifies.
* gtk/gtkwindow.c (do_focus_change): Allow for
widget->window == NULL.
* gtk/gtklabel.c (gtk_label_screen_changed): Clear the
layout here not in hierarchy changed to handle the case
where the toplevel was moved between screens.
Fri Nov 8 17:49:54 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_check_screen): Access
window->screen through a function so we can provide
an informative warning window window->screen is NULL.
(#85703)
Thu Nov 7 12:53:08 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.[ch] gtk/gtkwindow.c gtk/gtkinvisible.c:
Add ::screen-changed signal.
* gtk/gtkfontsel.c gtk/gtktoolbar.c: Use ::screen-changed
signal to simplify logic.
Sat Nov 2 00:22:33 2002 Owen Taylor <otaylor@redhat.com>
Add startup notification hooks - mostly based on patch
by Havoc Pennington in #96772.
* gdk/gdk.h gdk/x11/gdkdisplay-x11.c
gdk/{win32,linux-fb}/gdkmain-*.c: (gdk_notify_startup_complete):
new function that indicates an application has finished starting
up.
* gdk/x11/gdkmain-x11.c gdk/x11/gdkdisplay-x11.c
(_gdk_windowing_set_default_display): store value of
DESKTOP_STARTUP_ID on the default screen, and clear it from the
environment.
* gdk/x11/gdkdisplay-x11.c:
Set _NET_STARTUP_ID hint on display's group leader window.
* gtk/gtkwindow.c (gtk_window_set_auto_startup_notification):
function to toggle whether we automatically broadcast that we've
started up, after mapping the first toplevel window.
(gtk_window_map): call gdk_screen_notify_startup_complete() by
default, unless enabled by above.
* gtk/gtkmain.c gtk/gtkcombo.c gtk/gtktoolbar.c:
Couple of warning fixes.
Tue Oct 22 15:32:31 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c: Actively monitor the screen of the
parent. (#80281)
* gtk/gtkentry.c: Fix missing prototype from the
last commit.
2002-10-16 Havoc Pennington <hp@redhat.com>
* gdk/x11/gdkscreen-x11.c (gdk_screen_get_monitor_geometry): add
g_return_if_fail for monitor number <= 0
* gtk/gtkmenu.c (gtk_menu_position): handle case where pointer
is outside the screen.
* gtk/gtkwindow.c (get_monitor_center): factor out
the code to position a window in center
(gtk_window_compute_configure_request): use here
(gtk_window_constrain_position): use here, the
code here wasn't multihead-aware
* gdk/x11/gdkevents-x11.c (get_real_window): function to
return the window the event describes, rather than the window
that received the event.
(gdk_event_translate): use result of that function for
filling in GdkEvent::window, which only matters for
MapNotify/UnmapNotify and ConfigureNotify, in practice.
Unbreaks various things using SubstructureNotifyMask.
Mon Oct 7 12:40:39 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_move_resize): Clean
up the handling of clearing transient state
settings, fixing bug #95026, reported by Jami
Pekannen.
Thu Oct 3 14:13:33 2002 Owen Taylor <otaylor@redhat.com>
* gdk/gdkevents.c (gdk_event_new): Add a 'type'
parameter, make public.
* gdk/gdkevents.c (gdk_event_copy): Copy the screen.
* gdk/gdkevents.c gdk/linux-fb/gdkmain-fb.c
gdk/x11/gdkevents-x11.c gdk/win32/gdkevents-win32.c:
_gdk_event_new() => gdk_event_new().
* gdk/win32/gdkevents-win32.c (real_window_procedure):
Fix event_private->screen breakage that results from evil
encapsulation breakage here.
* gtk/gtkclist.c gtk/gtkcombo.c gtk/gtkcontainer.c
gtk/gtkdialog.c gtk/gtkdnd.c gtk/gtkdrawingarea.c
gtk/gtkimcontextsimple.c gtk/gtklist.c gtk/gtkmenu.c
gtk/gtknotebook.c gtk/gtkplug.c gtk/gtkselection.c
gtk/gtktext.c gtk/gtktreeitem.c gtk/gtktreeview.c
gtk/gtkviewport.c gtk/gtkwindow-decorate.c gtk/gtkwindow.c
tests/testgtk.c: Remove most usage of stack-allocated
GdkEvent structures.
* gtk/gtktreeview.c: Use a cut-and-paste of the full
send_focus_event() from gtkwindow.c that does the necessary
notification of the ::has-focus property and setting of
the HAS_FOCUS flag.x
* gtk/gtkdnd.c: Clean up some mess/duplicated code; removing
an extraneous use of a GdkEvent.
Sun Sep 29 20:15:59 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_move_resize): Clear
initial_pos_set even if it only causes a move, not
a resize as well. (Missed merge from stable,
may fix#89562)
Wed Jun 12 17:13:13 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_move_resize): Fix bug
where if CENTER_ON_PARENT was set, but there was
no parent, GDK_HINT_POS would be set, resulting
in a dialog at 0,0. (#83479, Havoc Pennington)
2002-06-10 Hans Breuer <hans@breuer.org>
* gdk/makefile.msc : added gdkdisplay and gdkscreen
* gdk/win32/gdkdisplay-win32.c (gdk_open_display) :
need to gdk_screen_set_default_colormap(). Also un-static
some exported gdk_display_*() functions
* gdk/win32/gdkdrawable-win32.c : added "gdkscreen.h"
* gdk/win32/gdkscreen-win32.c : implement
gdk_screen_get_number, fixed typo, added rewuired headers
[merge from 2.0.x branch, should we really manifest
GtkPlug as being an X11 only thing this way? See #58541]
* gtk/gtkwindow.c (gtk_window_show): Conditionalize
GTK_IS_PLUG() check on GDK_WINDOWING_X11. (Problem
reported by Sven Neumann)
2002-06-07 Mark McLoughlin <mark@skynet.ie>
* gtk/gtkwindow.c: (gtk_window_compute_configure_request): use
the RootWindow of this screen for gdk_window_get_pointer.
Fri May 17 17:27:21 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c gtk/gtkwidget.c: Add a "is_focus"
property indicating whether a widget is the focus
widget within the toplevel.
* gtk/gtkwindow.[ch]: Add "is_active" "has_toplevel_focus"
properties to indicate (separately) the idea of
being the part of the toplevel with the input focus
and being the active widget. (Needed for full XEMBED
compliance.)
* gtk/gtkplug.c gtk/gtksocket.c: Update to work
in terms of is_active/has_toplevel_focus, and thus
handle the active/focused XEMBED distinction
correctly.
* gtk/gtkplug.c (gtk_plug_realize): Remove
FOCUS_CHANGE_MASK, since we don't need it.
Fri May 17 18:07:34 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtksocket.c (gtk_socket_add_window): Send
XEMBED_EMBEDDED_NOTIFY.
* gtk/gtksocket.c: Assume windows without _XEMBED_INFO
property want to be mapped, for better
current-Qt compatibility.
Thu May 16 19:49:24 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_configure_event): Only
optimize out the full configure handling if we got
a gratuitous configure event(configure_request_count == 0)
and the size didn't change.
* gtk/gtkwindow.c (gtk_window_move_resize): Use
g_message(), not g_print() for debug spew.b
* gtk/gtkwindow.c (gtk_window_real_set_focus): Ref
the old and new focus widgets for the scope of
the function.
* gtk/gtksocket.c gtkplug.c: Remove various #if 0'd
bits of old code.
Tue Apr 30 18:42:25 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_set_screen): Make it
work, even if the window is already realized or
mapped.
* tests/testgtk.c: Erwann's multihead changes, slightly
dumbed down. (Removed logic for pulling windows onto
the current screen, people can click twice on the demo
to destroy and create again.)
* tests/prop-editor.c: Set the screen on the property
editor if the edited object is a widget.
Mon Apr 29 18:28:00 2002 Owen Taylor <otaylor@redhat.com>
Integrate Erwann Chenede's multihead changes for the gtk/ directory.
* gtk/gtkclipboard.[ch]: Add gtk_clipboard_get_for_display(),
make internals multihead aware.
* gtk/gtkcolorsel.[ch]: Add
gtk_color_selection_set_change_palette_with_screen_hook () [ugh!]
make up for non-multihead safety of
gtk_color_selection_set_change_palette_hook()
* gtk/gtkinvisible.[ch] gtk/gtkmenu.[ch] gtkwindow.[ch]: Add
gtk_{invisible,menu,window}_set_screen(); add "screen" properties
for GtkWindow and GtkMenu.
* gtk/gtkplug.[ch]: Add gtk_plug_construct_for_display(),
gtk_plug_new_for_display(). Multihead fixes.
* gtk/gtkselection.[ch]: Add gtk_selection_owner_set_for_display(),
make internals multihead aware.
* gtk/gtksettings.[ch]: Add gtk_settings_get_for_screen(), get
rid of now-useless gtk_settings_constructor().
* gtk/gtkstyle.[ch]: Add gtk_style_get_font_for_display(), fix
check/radio button indicators bitmap handling to be multihead
safe.
* gtk/gtkwidget.[ch]: Add gtk_widget_get_screen(), gtk_widget_has_screen(),
gtk_widget_get_display(), gtk_widget_get_clipboard(),
gtk_widget_get_root_window().
* gtk/gtkbindings.c gtk/gtkbutton.c gtk/gtkclist.c gtk/gtkcombo.c
gtk/gtkctree.c gtk/gtkdnd.c gtk/gtkfilesel.c gtk/gtkgamma.c
gtk/gtkhandlebox.c gtk/gtkhsv.c gtk/gtkimcontext.c gtk/gtklabel.c
gtk/gtklist.c gtk/gtkmain.c gtk/gtkmenuitem.c gtk/gtkmenushell.c
gtk/gtknotebook.c gtk/gtkoldeditable.c gtk/gtkoptionmenu.c
gtk/gtkpaned.c gtk/gtkpreview.c gtk/gtksocket.c gtk/gtktext.c
gtk/gtktextbuffer.c gtk/gtktextview.c gtk/gtktipsquery.c
gtk/gtktooltips.c gtk/gtktreeview.c gtk/gtktreeviewcolumn.c:
misc mechanical multihead-safety fixes.
* gtk/gtkclipboard.c: Use a GtkImage rather than a pixmap for
the dropper, look up the color palette only at realization time,
other multihead fixes.
* gtk/gtkcombo.c (gtk_combo_unrealize): Popdown the list when
unrealizing.
* gtk/gtkentry.c: Only claim ownership of the primary selection
when realized, misc multihead fixes.
* gtk/gtkfontsel.c: Only fill in fonts when attached to a screen,
fix gtk_font_selection_get_font() for multihead.
* gtk/gtkgc.c: make the depth => drawable hash per-screen.
* gtk/gtkinvisible.c: Add a constructor that realizes the
widget, so we get a realized widget with g_object_new() as
well gtk_invisible_new() as before.
* gtk/gtkmain.c: Get rid of unused gtk_visual/gtk_colormap
variables.
* gtk/gtktextdisplay.c: Add warnings if stipple bitmaps
are used on the wrong screen.
* gtk/gtktoolbar.c: Make handling of GtkSettings-based layout
read properties and connect to settings when the screen is changed,
rather than on init/finalize.
* gtk/gtkwindow.c: Fix icon handing to be multihead safe ...
default icon pixmaps/mask are only shared between windows on the
same screen. Misc multihead fixes.
Sat Apr 27 13:49:53 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkclipboard.c (gtk_clipboard_get_for_display):
Update docs to reference GDK_SELECTION_CLIPBOARD rather GDK_NONE.
2002-04-29 Alex Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkproperty-fb.c (gdk_property_get):
Fix silly bug, noticed by Sven Neumann.
Sun Apr 28 22:43:55 2002 Jonathan Blandford <jrb@gnome.org>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_set_sort_func): Fix
so that you can set a new sort func.
2002-03-22 Havoc Pennington <hp@pobox.com>
* gdk/x11/gdkfont-x11.c (gdk_fontset_load): add more explanatory
text to the error message about missing charsets, and use
g_printerr() not g_warning() since this is typically not a
programming error (we do not export any API to ask whether
a font set will have missing charsets so apps realistically can't
do anything other than try the gdk_fontset_load())
* gtk/gtktextview.c (gtk_text_view_key_press_event): return FALSE
if the text view isn't editable and the user presses Return,
so default buttons and such can be activated, #74937
* gtk/gtktextbuffer.c (paste_from_buffer): don't insert
if the insertion point is not editable and the paste
is interactive, #74125
* gtk/gtkwindow.c (gtk_window_move_resize): enhance the #if 0
debug spew
* gtk/gtktextbuffer.c (cut_or_copy): only remove the previous
cut/copied data right before replacing it, when we know we are
going to replace it. Fixes#74049
Wed Mar 20 16:36:08 2002 Owen Taylor <otaylor@redhat.com>
* gtk/*.c: Patch from Erwann Chenede, #73900 fixing
a lot of warnings with Forte CC, mostly implicit
casts between void * and function pointers.
* gdk/gdkevents.c (gdk_event_get_state): GdkEventVisibility's
state field is not a GdkModifierType. (Also #73900)
Tue Mar 5 19:19:19 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_set_focus): When setting
the focus to NULL, clear the existing focus chain so
that when we focus into the window again, we start
at the beginning. (Pointed out by Tim Janik.)
Sun Mar 3 18:47:13 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_parse_geometry): Fix
to properly take the default window into account by
setting a flag and in gtk_window_compute_configure_request_size ()
multiplying by the increments and adding in the base
size. (#72393)
* tests/testgtk.c (create_gridded_geometry): Add a
test for gridded geometry and for gtk_window_parse_geometry().
Tue Feb 26 18:47:44 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_add_mnemonic): Append
mnemonics rather than prepending them so that the
order is typically forward rather than typically
backward. (Partial fix for #52395)
Sat Feb 23 22:37:23 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkstyle.c (gtk_style_init): Sanity check default
font family name and size.
* gtk/gtkwindow.c (gtk_window_set_default_size): Remove
incorrect comment about the geometry widget.
* gtk/gtkwindow.c (gtk_window_move_resize): Unset the
gtk_window_resize)() information once we've set the size
once, to avoid it coming back next time we queue a resize.
(#72359)
* gtk/gtkwindow.c (gtk_window_move_resize): Remove
setthing of ->need_default_size from here, Havoc
says that it should correspond more or less exactly
to GTK_WIDGET_MAPPED (window).
Thu Feb 21 16:51:17 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkaccelgroup.c (gtk_accelerator_valid): Add
GDK_ISO_Next_Group/Prev_Group/Level3_Shift/
First_Group/Last_Group to list of invalid accelerators.
(A lot more that should be added, but probably would
want a range mechanism. These are the ones found in
the standard XFree86 config files.)
* gtk/gtkbindings.c (gtk_bindings_activate): Fix problem
that broke bindings for menus.
* gtk/gtkwindow.[ch]: Export _gtk_window_activate_key()
privately.
* gtk/gtkmenushell.c (gtk_menu_shell_key_press): Use
_gtk_window_activate_key(), gtk_bindings_activate_event().
Wed Feb 20 14:26:47 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkkeyhash.[ch]: Implement "fuzzy" key binding lookups;
allow matches on key and level but not group. Also, implement
ignoring "consumed modifiers correctly."
* gtk/gtkaccelgroup.c gtk/gtkbindings.c: Convert to using
GtkKeyHash.
* gtk/gtkdebug.h gtk/gtkmain.c: Support GTK_DEBUG=keybindings
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Fill in
the group for key release events as well as key press events.
* gdk/gdkkeys.h gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
Rename unused_modifiers to consumed_modifiers, make the docs and
non-Xkb implementation match the Xkb implementation.
* gdk/linux-fb/gdkkeyboard-fb.c gdk/win32/gdkkeys-win32.c: Propagate
doc and parameter name changes.
* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state):
XkbTranslateKeyCode doesn't handle LockMask, we need to handle
it ourselves.
* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Force
<Shift>Tab to give GDK_ISO_Left_Tab, since we need consistency
to allow dealing with ISO_Left_Tab.
* gtk/gtkwindow.c gtk/gtktextview.c gtk/gtkscrolledwindow.c
gtk/gtkpaned.c gtk/gtkcombo.c gtk/gtknotebook.c:
Remove inappropriate uses of GDK_ISO_Left_Tab. (GDK_ISO_Left_Tab
or <Shift>Tab both are equivalent as a binding specifier.)
* gtk/gtkbutton.c (gtk_button_class_init): Make ::activate
GTK_RUN_ACTION, so you can bind an accelerator to it.
* gtk/gtklabel.c (gtk_label_set_uline_text_internal): Call
gdk_unicode_to_keyval on the mnemonic character.
* tests/testgtk.c: Add a test for the new fuzzy key binding matching.
2002-02-16 Havoc Pennington <hp@pobox.com>
* gtk/gtkwindow.c (gtk_window_parse_geometry): take
GDK_HINT_RESIZE_INC into account, and handle negative coordinates
correctly. (Can't email Owen - hope this is OK.)
Thu Feb 7 19:00:10 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkspinbutton.c (gtk_spin_button_key_release): Convert
to using binding set for doing key bindings. (#62622,
Requested by Skip Montaro)
* gtk/gtkwindow.c (gtk_window_class_init): Add control-arrow
bindings as overrides along with control-tab bindings.
* gtk/gtknotebook.c (gtk_notebook_class_init): Fix return
type for ::focus_tab signal.
2002-01-30 Manish Singh <yosh@gimp.org>
* gtk/gtkhandlebox.c (gtk_handle_box_destroy): remove unused
variable.
* gtk/gtkwindow.c (gtk_window_get_icon): function returns a value,
so return NULL with g_return_val_if_fail instead of g_return_if_fail.
Wed Jan 30 13:55:59 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_show): Try to make
sure that we have some focused widget on map. (#50339)
* gtk/gtkdialog.c (gtk_dialog_map): Handling picking
a focus widget here differently so that if a
response button gets picked, it's the default one.
* tests/testgtk.c (make_message_dialog): Set the
default response for the dialogs.
Tue Jan 29 14:24:49 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_class_init): Add <Control>Tab
bindings for "move-focus" so that Control-Tab to escape from
something that eats Tab just works if not otherwise overriden.
* gtk/gtkspinbutton.c (gtk_spin_button_new_with_range)
* gtk/gtkvscale.c (gtk_vscale_new_with_range)
* gtk/gtkhscale.c (gtk_hscale_new_with_range): Use a page_size
of zero for the adjustment, since at times we think that the range
is lower to upper - page_size. A page size equally to the
step_increment is, in any case, not meaningful.
2002-01-19 Havoc Pennington <hp@pobox.com>
* gtk/gtkwindow.c: link to new X11 section in a lot of places when
mentioning the window manager.
* gtk/gtkwidget.c (gtk_widget_hide_on_delete): don't mention
window manager since we're portable.
2002-01-19 Havoc Pennington <hp@pobox.com>
* gtk/x11.sgml: add a mostly-empty X11 section
* gtk/framebuffer.sgml: make title consistent with windows section
* gtk/tmpl/gtkdrawingarea.sgml: couple of fixes
Mon Jan 14 16:35:58 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_move_resize): Unset
initial_pos_set after the first configure request.
Sun Jan 13 23:23:22 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_compute_hints): Fix problem where
widget->requisition was being used instead of
gtk_widget_get_child_requisition (), causing geometry widgets
with usizes to misbehave.
Sat Dec 22 12:38:03 2001 Owen Taylor <otaylor@redhat.com>
* configure.in: 1.3.12, interface, binary age 0.
* configure.in: Require new versions of Glib, Pango, ATK.
* NEWS: Updated.
* configure.in: Make explicit what libtool we are executing.
(Tomas Ogren)
* gdk/gdkcolor.c gdk/gdkgc.c gdk/gdkwindow.c: Doc fixes.
* gtk/gtkwidget.c (gtk_widget_[class]path) gtkrc.h : Fix
parameter names for docs.
Sat Dec 22 22:35:29 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_realize)
gtk/gtkplug.c (gtk_plug_realize): Include GDK_KEY_RELEASE_MASK.
* gtk/gtkentry.c (gtk_entry_key_release)
gtk/gtktextview.c (gtk_text_view_key_release_event): Pass
key release events to the input method.
* gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress):
Handle release of Control/Shift to end hex sequence.
* modules/input/gtkimcontextxim.c (gtk_im_context_xim_filter_keypress): Handle key releases as well as presses.
Tue Nov 20 21:25:08 2001 Tim Janik <timj@gtk.org>
* applied patch from owen to get rid of accel map notifiers.
changed things to fix reentrancy and API as discussed on gtk-devel.
* gtk/gtkaccelgroup.[hc]:
(gtk_accel_group_finalize): unregister this accel group from all
accel map paths.
(accel_closure_invalidate): handle invalidation of closures by
disconnecting their accelerators.
(quick_accel_add): move closure connection and changed notification
into this function to reduce code duplication. don't emit change
notification on closurers without accelerators.
(quick_accel_remove): rewrite, do the exact opposite of quick_accel_add
for a GtkAccelGroupEntry.
(gtk_accel_group_connect): get rid of the accel_path_quark argument.
(gtk_accel_group_connect_by_path): new function to add accelerators
with an accel path.
(gtk_accel_group_disconnect_closure): new function, disconnect a
closure from of an accel group.
(gtk_accel_group_disconnect): loop over all closure for a accel_ley,
accel_mods pair and remove them.
(_gtk_accel_group_reconnect): new function that basically does
gtk_accel_group_disconnect_closure() and
gtk_accel_group_connect_by_path() once an accel path changed.
(gtk_accel_groups_disconnect_closure): remove this, there's
gtk_accel_group_disconnect_closure().
* gtk/gtkaccelmap.[hc]: keep list of accel groups per entry now,
nuke notifiers.
(_gtk_accel_path_is_valid): make this non-static for
gtkwidget.c and gtkaccelgroup.c assertions.
(gtk_accel_map_add_notifer): removed this function.
(gtk_accel_map_remove_notifer): same.
(_gtk_accel_map_add_group):
(_gtk_accel_map_remove_group): (un-)register accel groups, with
accel paths for correct propagation.
(gtk_accel_map_add_entry): return void.
(gtk_accel_map_lookup): return gboolean instead of GQuark.
* gtk/gtkitemfactory.c (gtk_item_factory_add_foreign): always
set accel_path on widgets.
* gtk/gtkwidget.[hc]:
(accel_path_changed): got rid of this, changes are handled by
accel maps internally now.
(_gtk_widget_set_accel_path): get things to work without notifiers.
(gtk_widget_list_accel_closures): list accel closures of a widget.
* gtk/gtkwindow.[hc]: rename ::accels_changed, to ::keys_changed.
Sat Nov 17 19:26:20 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_key_press_event): Reprioritize
key bindings in order of visibility - mnemonics, then
accelerators, then send key to the focus widget, then
bindings on the GtkWindow.
* gtk/gtklayout.h docs/Changes-2.0.txt tests/testgtk.c:
Removed the xoffset, yoffset fields of GtkLayout which were
identically zero for compat with 1.2, but were no longer
compatible with all uses of these fields in 1.2.
* gtk/gtkwindow.c (gtk_window_set_default): Remove
unused variable.
Sat Nov 17 18:26:45 2001 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am gtk/gtkmarshal.list gtk/gtkmarshalers.list
gtk/*.c gtk/gtksignal.h: Make gtkmarshal.list/gtkmarshal.h
only for compatibility with GTK+-1.2; and deprecate it;
put all marshalers we actually use into gtkmarshalers.list
and use the _gtk_marshal_ prefix for these marshalers.
Fri Nov 16 19:44:35 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_set_default): Move
notification of "has_default" to here, so it
is safe to call gtk_window_set_default() instead
of gtk_widget_grab_default().
* gtk/gtkwindow.c (gtk_window_set_focus): Make it call
gtk_widget_grab_focus(), which then calls
_gtk_widget_internal_set_focus(). This makes
gtk_window_set_focus() a safe way of both setting
and unsetting the focus widget.
* gtk/gtkwidget.c (gtk_widget_propagate_state): Use
gtk_widget_get_toplevel(), instead of gtk_widget_ancestor
to find the toplevel.
* gtk/gtkwindow.h: Move gtk_window_set_focus/default
from the "internal functions" section.
Thu Nov 15 12:54:36 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_key_press_event): Propagate
key press events not just to focus/window but also to
intermediate widgets.
* gtk/gtknotebook.c: Handle Ctrl-PageUp/Ctrl-PageDown
to switch pages. (Needs some work on handling focus
when switching pages.)
Mon Nov 12 23:06:38 2001 Tim Janik <timj@gtk.org>
* added gtkaccelmap.sgml. other updates.
Mon Nov 12 23:08:37 2001 Tim Janik <timj@gtk.org>
* gtk/maketypes.awk: fix type utils generation on unix.
* gtk/gtkaccelmap.[hc]: new files, implementing a global accelerator
registry.
* gtk/gtkaccelgroup.[hc]: major API/implementation revamp:
removed GTK_ACCEL_SIGNAL_VISIBLE, gtk_accel_group_get_default,
gtk_accel_group_get_entry, gtk_accel_group_(un)lock_entry,
gtk_accel_group_add/remove, gtk_accel_group_handle_add/remove,
gtk_accel_group_create_add/remove, gtk_accel_group_entries_from_object.
introduced ::accel_changed signal for change notification, and
gtk_accel_group_connect/disconnect to connect closures to accel groups.
made gtk_accel_group_attach/detach and gtk_accel_group_activate private
functions.
deprecated gtk_accel_group_ref/unref.
* gtk/gtkaccellabel.[hc]: changes to make accellabels pay attention
to accel group changed notification and basically operate on closures.
removed gtk_accel_label_get_accel_object and
gtk_accel_label_set_accel_object.
introduced gtk_accel_label_set_accel_closure, and for convenience,
gtk_accel_label_set_accel_widget.
* gtk/gtkitemfactory.[hc]: removed accelerator propagation code
which mostly moved into gtkaccelmap.[hc].
removed gtk_item_factory_parse_rc*, gtk_item_factory_dump_*
and gtk_item_factory_print_func.
* gtk/gtkmain.c: call _gtk_accel_map_init().
* gtk/gtkmenuitem.[hc]: introduced gtk_menu_item_set_accel_path(),
that associates an accelerator path with menu items, through which
persistent accelerator settings on menu items are enabled.
* gtk/gtkmenu.[hc]: added gtk_menu_set_accel_path() so accelerator
paths of menu item can be default constructed to allow installation
of accelerators on menu items that don't come with an accelerator
binding by default.
* gtk/gtksettings.c: fix STRING type rc settings by special casing
them appropriately in the parser.
* gtk/gtksignal.[hc]: allow a class function offset of 0 for
gtk_signal_newv().
* gtk/gtkwidget.[hc]: accelerator API revamp.
removed ::accelerator_add/remove signals, gtk_widget_accelerator_signal,
gtk_widget_accelerators_locked, gtk_widget_remove_accelerators and
gtk_widget_(un)lock_accelerators.
accelerators maintained through gtk_widget_add/remove_accelerator()
are not runtime changable now, the correct sequence to setup a
widget for runtime changable accelerators is now:
gtk_accel_map_add_entry(accel_path, key, mods);
_gtk_widget_set_accel_path(widget, accel_path, accel_group);
* gtk/gtkwindow.[hc]: accelerator changes, proxy and coalesce accel
group changes (as well as mnemonic changes) through the new signal
::accels_changed.
Sat Nov 10 12:08:56 2001 Tim Janik <timj@gtk.org>
* gtk/gtksettings.c (_gtk_settings_parse_convert): properly handle
GString->string conversions.
Sun Nov 4 16:02:08 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdkwindow.[ch]: Add a function gdk_window_invalidate_maybe_recurse()
for use in "shallow invalidation" of a widget. (Windows belonging
to the widget, but not to the widget's children)
* gtk/gtkprivate.h gtk/gtkwidget.c gtk/gtksizegroup.c: Add private
flags GTK_ALLOC_NEEDED, GTK_REQUEST_NEEDED. These flags are set
up on ancestors up to the resize container on queue_resize. Size
requests only actually take place if GTK_REQUEST_NEEDED, size
allocations only take place if GTK_ALLOC_NEEDED or the size
changed.
* gtk/gtkcontainer.c gtk/gtkwidget.c: Remove
container->resize_widgets and the RESIZE_NEEDED flag since the
above flags are sufficient to figure out what needs to be
resized/reallocated. Remove code manipulating
container->resize_widget.
* gtk/gtkwidget.[ch]: Add gtk_widget_set_redraw_on_alloc(); this
allows widgets to turn off being automatically invalidated is when
they are resized.
* gtk/gtkwidget.[ch] (gtk_widget_size_allocate): Invalidation when
a widget is resized or moved is "shallow" as described above -
only the windows that need to be invalidated are invalidated.
* gtk/gtkbox.c gtk/gtktable.c gtk/gtkalignment.c docs/Changes-2.0.txt:
Make these widget's init functions call
gtk_widget_set_redraw_on_allocate(widget,FALSE).
* gtk/gtkwindow.c (gtk_window_configure_event): Call
_gtk_container_queue_resize(), since we don't want
redrawing. (Probably could be done for other
calls to gtk_widget_queue_resize() in gtkwindow.c,
but this is the most important one.)
* gtk/gtkwindow.c (gtk_window_move_resize): Don't call
gtk_widget_queue_draw() - size_allocate() handles
that as appropriate.
* gtk/gtkframe.c (gtk_frame_size_allocate): Invalidate instead
of queue_clear() to avoid invalidating children.
2001-11-03 Daniel Elstner <daniel.elstner@gmx.net>
* gtk/gtkwindow.h (frame_event): Use GtkWindow* as first
signal argument (was GtkWidget*).
* gtk/gtkwindow.c (gtk_window_frame_event),
gtk/gtkwindow-decorate.c (gtk_decorated_window_frame_event):
Fixed argument types as above, removed GTK_WINDOW casts and
added some GTK_WIDGET casts instead.
Wed Oct 31 15:38:14 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.[ch] (gtk_window_get_focus): Add a
gtk_window_get_focus() getter to determine the currently
focused widget within the window. (#63145, request
from Damian Ivereigh)
2001-09-25 Havoc Pennington <hp@pobox.com>
* gtk/gtkwindow.c: Put notes in gtk_window_set_has_frame(),
etc. docs about how these are not going to do what you want for
the X/win32 ports. Futile attempt to avoid a FAQ...
Mon Sep 24 15:09:08 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_move_resize): Don't wait for a
response back from the window manager if our size hasn't changed
since we won't get a response back from the window manager;
there was code in there to do this, but it was in the wrong
place so if the hints change and the size didn't we'd expect
a response.
Also, optimize the position-only-changed case by running
the resize queue immediately, and clean up some comments
for the changes.
Mon Sep 24 12:48:25 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.h: Add a compat macro that got lost.
* gtk/gtktreestore.c: Doc fixes.
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix reference
leak for windows that receive events after being destroyed.
(#60863, Joshua N. Pritikin)
* gtk/gtktable.c (gtk_table_remove): Use gtk_widget_queue_resize
rather than gtk_container_queue_resize().
* gtk/{gtkcontainer.c,gtkwidget.c,gtkwindow.c}: _gtk prefix
gtk_container_queue_resize, gtk_container_queue_resize_widgets,
gtk_container_child_composite_name. (#60217.)
Thu Sep 20 16:51:02 2001 Kristian Rietveld <kristian@planet.nl>
* gtk/gtkwindow.c (gtk_window_get_frame_dimensions): returned
incorrect values for top, right and bottom due to cut-and-paste
bug. Pointed out by Vitaly Tishkov, fixes bug #59008
Wed Sep 19 15:46:29 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c: Add xgettext:no-c-format comment to
to handle '99% of the time. (#60473, reported by Christian Rose)
* gtk/gtkwidget.h: Remove prototype for gtk_widget_get_usize()
which no longer exists. (#60379, reported by Vitaly Tishkov)
Mon Sep 10 16:55:49 2001 Tim Janik <timj@gtk.org>
* gtk/gtkalignment.c (gtk_alignment_init): fix xscale and yscale
behaviour which havoc broke. they have to default to 1.0 for
expand behaviour.
* gtk/gtkwindow.c (gtk_window_get_property): don't cast NULL objects.
2001-09-08 Havoc Pennington <hp@pobox.com>
* gtk/gtk-sections.txt: put GtkPacker back in here so it won't be
in gtk-unused.txt, but don't put it back in gtk-docs.sgml.
Tons of other additions from gtk-unused.txt, but mostly skipping
all the tree stuff for now.
2001-09-08 Havoc Pennington <hp@pobox.com>
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_add_attribute):
docs fixes
* gtk/gtktable.c (gtk_table_get_col_spacing): docs fixes
* gtk/gtkspinbutton.c (gtk_spin_button_get_increments): docs fixes
* gtk/gtksocket.c (gtk_socket_steal): docs fixes
* gtk/gtkscrolledwindow.h: docs fixes
* gtk/gtkimage.c (gtk_image_new): docs fixes
2001-09-07 Alex Larsson <alexl@redhat.com>
* gdk/linux-fb/gdkcolor-fb.c:
Removed unused function.
* gdk/linux-fb/gdkdrawable-fb2.c
* gdk/linux-fb/gdkfont-fb.c:
Use PangoLanguage functions.
* gdk/linux-fb/gdkinput.c:
* gdk/linux-fb/gdkselection-fb.c:
Fix const warnings.
* gdk/linux-fb/gdkwindow-fb.c:
Fix warning. Implement gdk_window_set_icon_list() and
gdk_window_get_frame_extents(). (No icon support yet though.)
* gtk/gtkwindow.c (gtk_window_get_position):
If window->frame is set get the extents of it instead.
Fri Sep 7 18:50:59 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_get_default_colormap):
Make the default default colormap the GdkRGB colormap,
not the system colormap.
* gtk/gtkinvisible.c (gtk_invisible_init)
gtk/gtkwindow.c (gtk_window_init): Set the current
colormap, as returned by _gtk_widget_peek_colormap()
on the widget.
* gtk/gtkwidget.[ch]: Export _gtk_widget_peek_colormap
to GTK+. Make it return %NULL instead of the default
colormap if no colormap has explicitely been pushed.
* gtk/gtkwidget.c (gtk_widget_get_colormap): Check for
colormaps on ancestral widgets before defaulting the
the system default colormap.
* docs/Changes-2.0.txt: explain colormap changes.
Fri Sep 7 18:17:47 2001 Owen Taylor <otaylor@redhat.com>
* gdk/gdk.h gdk/x11/gdkmain-x11.c: Deprecate gdk_set/get_use_xshm,
make gdk_set_use_xshm a noop. Remove --no-xshm command line
option. If we aren't autodetecting properly, we need
to fix the problem, or at least make it an environment
variable setting, to avoid problems with propagating
to embedded children, plugins, etc.
* gdk/gdkcolor.h: Deprecate gdk_colormap_get_system_size().
* gdk/gdkpixbuf-render.c gdk/gdkpixbuf.h
(gdk_pixbuf_render_pixmap_and_mask_for_colormap):
New function to render a pixmap and mask for a particular colormap.
* gtk/gtkwindow.c (get_pixmap_and_mask): Change to use
gdk_pixbuf_render_pixmap_and_mask_for_colormap () instead
of internal implementation of the same.
Fri Sep 7 11:51:44 2001 Owen Taylor <otaylor@redhat.com>
Make gdkx.h the only installed header from gdk/x11.
All structures in gdk/x11 are opaque.
* gdk/x11/Makefile.am gdk/x11/gdkx.h gdk/x11/gdkprivate-x11.h:
Don't install gdk{drawable,pixmap,window}-x11.h.
* gdk/x11/{gdkcolormap-x11.c, gdkfont-x11.c, gdkx.h, gdkvisual-x11.c:
Move GdkColormapPrivateX11, GdkFontPrivateX GdkImagePrivateX11,
GdkVisualClass into C files.
* gdk/gdkpixmap-x11.[ch]: Make gdk_pixmap_impl_get_type() static.
* gdk/x11/{gdkcolor-x11.c, gdkcursor-x11.c, gdkdrawable-x11.c,
gdkfont-x11.c, gdkgc-x11.c, gdkx.h, gdkimage-x11,gdkvisual-x11.c}
Add public functions to replace previously exported direct
structure access.
gdk_x11_colormap_get_{xdisplay,xcolormap}
gdk_x11_cursor_get_{xdisplay,xcursor},
gdk_x11_drawable_get_{xdisplay,xcursor,gdk_x11_visual_get_xvisual,
gdk_x11_font_get_{xdisplay,xfont}, gdk_x11_image_get_{xdisplay,ximage},
gdk_x11_gc_get_{xdisplay,ximage}
* gdk/gdkprivate.h gdk/gdkinternals.h: Move GdkColorInfo,
GdkEventFilter, GdkClientFilter, GdkFontPrivate to gdkinternals.
Fix a number of variables and functions that were exported
"accidentally" from GDK.
* gdk/**.[ch]: gdk => _gdk for gdk_visual_init,
gdk_events_init, gdk_input_init, gdk_dnd_init, gdk_image_exit,
gdk_input_exit, gdk_windowing_exit, gdk_event_func, gdk_event_data,
gdk_event_notify, gdk_queued_events, gdk_queued_tail,
gdk_event_new, gdk_events_queue, gdk_events_unqueue,
gdk_event_queue_find_first, gdk_event_queue_remove_link,
gdk_event_queue_append, gdk_event_button_generate,
gdk_debug_flags, gdk_default_filters, gdk_parent_root.
* gdk/x11/{gdkevents-x11.c, gdkglobals-x11.c, gdkimage-x11.c,
gdkmain-x11.c, gdkprivate-x11.h, gdk/x11/gdkwindow-x11.c}:
gdk => _gdk for gdk_event_mask_table, gkd_nevent_masks,
gdk_wm_window_protocols, gdk_leader_window, gdk_xgrab_window,
gdk_use_xshm, gdk_input_ignore_core.
* gdk/x11/xsettings-common.h (xsettings_list_insert): Add
#defines to namespace functions into the private _gdk_
namespace.
* gdk/gdkwindow.[ch] gdk/x11/gdkx.h: Add gdk_get_default_root_window ()
to replace gdk_parent_root exported variable. Adjust and
deprecate GDK_ROOT_PARENT().
* demos/{testpixbuf-drawable.c,testpixbuf-save.c}: Fix
GDK_ROOT_PARENT usage, remove includes of port-specific
headers.
* gdk/{win32,x11,fb}/gdkinput*.[ch]: s/gdk/_gdk/ for
_gdk_input_gxid_host, _gdk_input_gxid_port, _gdk_input_ignore_core,
gdk_input_devices, _gdk_input_windows, gdk_init_input_core.
* gdk/x11/{gdkevents-x11.,c gdkglobals-x11.c, gdkmain-x11.c}
docs/Changes-2.0.txt: Remove gdk_wm_protocols,
gdk_wm_delete_window functions, gdk_wm_take_focus,
use gdk_atom_intern() instead.
* gdk/linux-fb/{gdkselection-fb.c, gdkmain-fb.c, gdkprivatefb.h}
gdk/win32/{gdkselection-win32.c, gdkmgdkwin32.h, gdkprivate-win32.h}
gdk/x11/{gdkselection-x11.c gdkx.h, gtkprivate-x11.h}
gtk/gtkselection.c
Unexport gdk_selection_property, just use
gdk_atom_intern ("GDK_SELECTION").
* gdk/x11/{gdkprivate-x11.h,gdkdrawable-x11h,gdkgc-x11.c,gdkx.h}:
Unexport gdk_drawable_impl_x11_get_type, gdk_gc_x11_get_type,
GDK_GC_X11 cast macros, GdkGCX11 structures, GdkCursorPrivate,
GdkVisualprivate, gdk_x11_gc_flush.
Make a number of public exports of variables into functions
to increase encapsulation.
* gdk/gdkinternals.h gdk/gdkinput.h gdk/gdkevents.h
gdk/linux-fb/gdkmouse-fb.c: gdk_core_pointer => _gdk_core_pointer,
move to gdkinternals.h. Add gdk_device_get_core_pointer ().
* gdk/gdkprivate.h gdk/gdkpango.c gdk/gdkinternals.h
docs/Changes-2.0.txt: Unexport gdk_parent_root, gdk_error_code,
gdk_error_warnings.
* gdk/x11/{gdkcolormap-x11.c, gdkmain-x11.c, gdkx.h}
docs/Changes-2.0.txt:
s/gdk_screen/_gdk_screen/, add gdk_x11_get_default_screen()
s/gdk_root_window/_gdk_root_window/, add gdk_x11_get_default_root_xwindow()
Add gdk_x11_get_default_xdisplay().
* gdk/gdk.h gdk/gdk.c linux-fb/gdkfb.h linux-fb/gdkglobals-fb.c
win32/gdkwin32.h x11/gdkglobals-x11.c gdk/x11/gdkmain-x11.c
gdk/x11/gdkx.h: gdk/gdk.def: Add gdk_get/set_program_class,
Don't export gdk_progclass, move --class command line
option and handling to common portion of GDK.
Miscellaneous fixes:
* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): Fix
g_return_val_if_fail that should have been g_return_if_fail.
* gdk/gdkinternals.h gdk/gdkprivate.h: Move
gdk_synthesize_window_state() to the semi-public gdkprivate.h.
* gtk/gtkdnd.c (_gtk_drag_source_handle_event): Remove uneeded
X11 dependency.
* gdk/linux-fb/gdkmain-fb.c gdk/win32/gdkmain-win32.c gdk/TODO:
Remove unused gdk_key_repeat_disable/restore.
* linux-fb/gdkglobals-fb.c win32/gdkglobals-win32.c
x11/gdkglobals-x11.c x11/gdkprivate-x11.h gdk/gdk.def:
Remove unused gdk_null_window_warnings variable.
* gdk/Makefile.am (DIST_SUBDIRS) nanox/*: cvs remove nanox;
it can be retrieved from the repository; it is too far
from functional to be worth having people check out;
it would be easier to start from scratch, I suspect.
* gdk/x11/gdkpixmap-x11.c: Fix lvalue usage of GDK_PIXMAP_XID().
* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
Fix some accidentally global variables and unused global variables.
* gdk/x11/gdkkeys-x11.c gdk/gdkrgb.c gdk/gdkwindow.c
gdk/x11/gdkpango-x11.c gdk/x11/gdkselection-x11.c:
Fix some accidentally global variables and unused global variables.
Add some space for future expansion to multihead.
* gdk/gdkdrawable.h: Add four reserved function pointers
for future expansion of GdkDrawableClass.
* gtk/gtkwindow.h gtk/gtkinvisible.h: Add reserved pointer
where we can put a GdkScreen * later.
2001-08-28 Havoc Pennington <hp@pobox.com>
* demos/gtk-demo/main.c (setup_default_icon): add default icon
* gtk/gtkradiobutton.c (gtk_radio_button_new_with_mnemonic):
warning fix
(gtk_radio_button_new_with_label): warning fix
* gtk/gtkdnd.c: used some random GtkImage private structs,
update to reflect GtkImage changes
* gdk/x11/gdkwindow-x11.c (gdk_window_set_icon_list): don't check
whether the hint is supported, just always set the icon. A task
list might want to use it even if the WM doesn't, and the WM may
change over time. Also, XDeleteProperty() if list == NULL.
* gtk/gtkwindow.c (gtk_window_set_icon_list)
(gtk_window_get_icon_list)
(gtk_window_set_icon)
(gtk_window_get_icon)
(gtk_window_set_default_icon_list)
(gtk_window_get_default_icon_list):
new functions
* gtk/gtk-boxed.defs (GtkIconSet): add GtkIconSet
* gtk/gtkimage.c: Implement property support, bug #59408
* gtk/gtkcontainer.c (gtk_container_add): make the warning message
on reparent-without-removing-first a bit more helpful.
Let's just destroy this FAQ.
2001-08-24 Havoc Pennington <hp@pobox.com>
* gtk/gtkcompat.h: remove gtk_menu_* compat defines;
these are already in gtkmenu.h, and the copies
here were broken.
Also, change GTK_DISABLE_COMPAT_H to GTK_DISABLE_DEPRECATED
* gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_image):
special-case bitmaps to allow no colormap
(bitmap1): implement no-colormap bitmap-getting
(bitmap1a): implement no-colormap bitmap-getting to pixbuf with
alpha
(rgb8): indentation
(rgb1a, rgb1): change the way we read the data out of the image,
old way didn't seem to work quite right.
I'm pretty sure a lot of the rgbconvert code is still broken.
* gtk/gtkwindow.c (gtk_window_move_resize): move hints comparison
above position constraint (I really intended to do this before,
don't know what's up with that)
(gtk_XParseGeometry): shut up gcc
* gdk/gdkpixbuf-drawable.c (rgb1a): fix bug where "x1" was used
and "0" should have been. remove the attempted 4-bytes-at-once
optimization, it was totally broken.