Tue Feb 26 18:01:10 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_grab_focus): Don't
to focus insensitive widgets. (#68203)
* gtk/gtkentry.c (gtk_entry_state_changed): Clear any
current selection if we become insensitive. (#68203)
* gtk/gtkentry.c (gtk_entry_grab_focus): Don't
select the text if the entry isn't editable. (#67203)
* gtk/gtkentry.c: Activate keybindings when not editable,
but supress keybindings that change the text. (#65848, #68203)
* gtk/gtkentry.c (gtk_entry_set_property): Reset the
IM context for the entry when it is made not editable.
Tue Feb 26 15:04:33 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_enter_text): use
the cursor position _after_ deleting the text
as the position to insert at. (#72717, Jan Mynarik)
2002-02-24 Havoc Pennington <hp@pobox.com>
* gtk/gtkstyle.c (_gtk_draw_insertion_cursor): change to pass in
the cursor direction always, not just when we need an arrow, so we
can flip the cursor around its axis for RTL. Resolves#72372
* gtk/gtkentry.c (gtk_entry_draw_cursor): update for
draw_insertion_cursor change
* gtk/gtklabel.c (gtk_label_draw_cursor): ditto
* gtk/gtktextdisplay.c (gtk_text_layout_draw): ditto
Sat Feb 23 16:52:38 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c: Patch from Matthias Clasen to remove some
excessive ::changed signals for GtkEntry. (#53130)
Mon Feb 18 17:34:43 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c gtk/gtktextview.c: Remove support for
the poorly defined text/plain type for now. (#55117)
Thu Feb 14 16:46:48 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c gtk/gtktextdisplay.c gtk/gtklabel.c
gtk/gtkstyle.[ch] gtk/gtkwidget.c: Patch from Bill
Haneman and Padraig O'Briain to add cursor_aspect_ratio
style property to GtkWidget to allow theming the aspect
ratio of the cursor.
* gtk/gtkentry.c gtk/gtktextview.c gtk/gtklabel.c
gtk/gtkwidget.c tests/testgtkrc: Move cursor-color style property
to GtkWidget.
Fri Feb 8 20:24:58 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkbindings.c (binding_compose_params): Fix problem
with string-valued parameters (#70012, Johan Dahlin.)
* gtk/gtkentry.c (gtk_entry_delete_whitespace): Fix
white space deletion.
Fri Feb 8 18:46:13 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkbindings.[ch] (_gtk_binding_reset_parsed): Add
a function to delete all bindings add by
gtk_binding_parse_binding() when rereading RC files.
* gtk/gtkrc.c (gtk_rc_reparse_all_for_settings): Reset
binding set content as well as RC content.
* gtk/gtkbindings.c (binding_compose_params): Fix
various GValue handling problems.
* gtk/gtkentry.c (gtk_entry_class_init): Remove bindings
for C-b, C-f, M-b, M-f, C-a, C-e, C-w, C-y, M-space, C-u,
C-k, M-\, M-d, C-d.
* gtk/gtktextview.c (gtk_text_view_class_init): Remove
same bindings as GtkEntry, plus C-n, C-p, C-space
* gtk/gtkrc.key.default gtk/gtkrc.key.emacs gtk/Makefile.am:
Add Emacs and Default key themes.
Thu Feb 7 10:53:12 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_draw_text): Use layout text
(which may be affected by invisible char) to compute
selection bounds, not entry text. (#70733, Alex Larsson)
* gtk/gtkwidget.[ch]:
Change popup_menu signal to return gboolean instead of void. This
allows the keypress which invokes the signal to be propagated to the
focus widgets ancestors if not handled by the focus widget.
* gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtktextview.c:
Change signature of popup_menu signal handler to return gboolean
instead of void and return TRUE in the signal handler
Sat Feb 2 20:16:04 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenushell.c (_gtk_menu_shell_select_first):
Non-exported _gtk_menu_select_first() function that
selects the first item of the menu in a standard
way. (Skipping tearoffs.)
* gtk/gtkmenushell.c gtk/gtkentry.c gtk/gtktextview.c
gtkmenuitem.c: Use _gtk_menu_shell_select_first().
* gtk/gtkmenuitem.c (gtk_real_menu_item_select): Remember
if we are starting the timeout from a keypress so
we can set menushell->ignore_enter properly.
* gtk/gtknotebook.c (focus_child_in): Return something
meaningful if there are no children.
* gtk/gtkmenu.c (gtk_menu_key_press): Fix precendence
problem.
Sat Feb 2 17:43:00 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_grab_focus): Add a GtkSetting
(gtk-entry-select-on-focus) controlling whether the
contents of an entry are selected on focus in.
* gtk/gtkmenu.c (gtk_menu_key_press): Add a GtkSetting
(gtk-can-change-accels) controlling whether accelerators can be
changed on the fly or not. (#51902)
* gtk/gtkmenu.c (gtk_menu_key_press): Allow unmodified
accelerators, now that accelerator changing can be turned
off for those who won't expect it. (#61285)
* gtk/gtkaccelgroup.c (gtk_accelerator_valid): Allow
Backspace/Delete/KP_Delete as valid accelerators.
* gtk/gtkmenu.c (gtk_menu_key_press): Allow setting of
Delete/Backspace as accelerators by making them toggle
the menu item between empty and the pressed key.
(#58605)
* tests/testgtkrc: Remove the objectionably short cursor blink
time setting.
Sat Feb 2 11:37:21 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkmenu.c (gtk_menu_popup): Remove the
"select first item if popped up from keypress" hack --
was causing more problems than it was worth
(#53191, #68483)
* gtk/gtktextview.c (popup_targets_received):
gtk/gtkentry.c (popup_targets_received): If activated
from keyboard, select first item of popup menu.
Mon Jan 28 18:25:10 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_draw_frame): Paint focus
before shadow to give theme engines a bit more
flexibility. (#69857)
2002-01-27 Anders Carlsson <andersca@gnu.org>
* gtk/gtktextview.h (struct _GtkTextView): add mouse_cursor_obscured.
* gtk/gtkentry.h (struct _GtkEntry): Add mouse_cursor_obscured.
* gtk/gtktextview.c (set_invisible_cursor): New function.
(gtk_text_view_obscure_mouse_cursor): Likewise.
(gtk_text_view_key_press_event): Call obscure_cursor if text
has been inserted.
(gtk_text_view_motion_event): Restore the mouse cursor.
* gtk/gtkentry.c (gtk_entry_realize): Add GDK_POINTER_MOTION_MASK.
(set_invisible_cursor): New function.
(gtk_entry_obscure_mouse_cursor): Likewise.
(gtk_entry_key_press): call obscure_cursor if text has been inserted.
(gtk_entry_motion_notify): Restore the mouse cursor.
Mon Jan 21 11:56:31 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_real_activate): Trap the
case where there is no default widget and the entry
is the focus widget, since this also causes infinite
recursion. (#69158)
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.
2001-12-06 Havoc Pennington <hp@redhat.com>
Add Unicode control char menu, based on patch from Dov.
Bug #63495
* gtk/gtkentry.c (gtk_entry_commit_cb): share code via
gtk_entry_enter_text
(gtk_entry_enter_text): function to do "typing in text"
(popup_targets_received): add the Unicode menu items
* gtk/gtktextview.c (popup_targets_received): add missing mnemonic
on Input Methods item, and add the unicode menu items.
* gtk/gtktextutil.h, gtk/gtktextutil.c: private utilities to be
used in GtkEntry and GtkTextView - may become public later.
Mon Dec 3 16:39:17 2001 Owen Taylor <otaylor@redhat.com>
Patch from Bill Haneman (with many modifications) to make
the focus color work on dark themes and to make the
focus line width configurable. (#61079, #63074)
* gtk/gtkwidget.c: Add style properties,
::focus-widget, ::focus-line-width, and ::focus-padding.
* gtk/gtkstyle.[ch]: Make gtk_paint_focus() take a
state argument as well so we can use fg[STATE] to
draw instead of always drawing with black.
Cange paint_focus() to respect GtkWidget::focus-width
and GtkWidget::focus-line-pattern. Fix continuity
problem where the default 1-1 stipple had a blob
in one corner and a gap in the other. Change the
interpretation of x/y/width/height to be the bounding
box of the focus rect instead of the rectangle
passed to gdk_draw_rectangle.
* gtk/gtkcheckbutton.c gtk/gtklistitem.c gtk/gtknotebook.c
gtk/gtkoptionmenu.c gtk/gtkradiobutton.c gtk/gtkspinbutton.c
gtk/gtktextview.c gtk/gtktreeview.c: Handle ::focus-width
and ::focus-line-padding.
* gtk/gtkentry.c: Handle :;focus-width property; cleanup
and remove duplicated code; fix drawing of focus rectangle
when interior-focus = FALSE. (#63072, #63073)
* gtk/gtkrange.c gtk/gtktext.c gtk/gtktreeitem.c
gtk/gtktreeviewcolumn.c: Basic fixups to make compile;
Range and TreeViewColumn will need more extensive fixing.
* gtk/gtkcolorsel.c: Honor focus line attributes when
drawing the focus on the color swatches. (#63071)
* gtk/gtkhsv.c: Honor focus line attributes when
drawing the focus for the ring and triangle.
* docs/widget_geometry.txt: Start at documenting how
various widgets are drawn.
* gtk/gtkbutton.c (_gtk_button_paint): Export
_gtk_button_paint() librarywide, so we don't have
duplicate a bunch of code in gtktogglebutton.c.
* gtk/gtktogglebutton.c: Use _gtk_button_paint().
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.
Wed Nov 14 17:40:23 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_get_expander_column): Return
the currently selected column when we get the column, #64380
* gtk/gtkentry.c (gtk_cell_editable_key_press_event): Handle Esc
to cancel CellRendererText editting, #63613
* gtk/gtkcellrenderertext.c: ditto
* gtk/gtkcellrenderertext.h: formatting changes
Thu Nov 1 16:20:56 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkimcontext.[ch]: Add:
- A ::retrieve_surrounding signal that asks the widget for
context around the insertion point.
- A ::delete_surrounding signal that asks the widget to
delete context aroudn the insertion point.
- gtk_im_context_set_context() for widgets to set context
around the insertion point in response to ::retrieve_context.
- gtk_im_context_get_context() for context to get context
around the insertion point
* gtkmarshal.list: Add BOOL:INT,INT
* gtk/gtkimmulticontext.c: Proxy the get_surrounding() /
set_surrounding() methods, and the ::retrieve_surrounding /
::delete_surrounding signals.
* gtk/gtkentry.c gtk/gtktreeview.c: Hook up to the
GtkIMContext::retrieve_surrounding / ::delete_surrounding
signals.
Wed Oct 31 18:23:47 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkoptionmenu.c (gtk_option_menu_detacher):
Add a "menu" property and notify on it. (#62798,
Padraig O'Briain)
* gtk/gtkselection.[ch] gtk/{gtkentry.c, gtkfilesel.c,
gtkoldeditable.c, gtktextbuffer.c, gtktextview.c}:
Fix set_text to take a gchar, not a guchar, and to have
a len argument.
2001-10-24 Anders Carlsson <andersca@gnu.org>
* gtk/gtkentry.c: (append_action_signal): Use an image menu item here
(popup_targets_received): Call append_action_signal with stock items
* gtk/gtklabel.c: (append_action_signal): Use an image menu item here
(gtk_label_do_popup): Call append_action_signal with stock items
* gtk/gtktextview.c: (append_action_signal): Use an image menu item here
(popup_targets_received): Call append_action_signal with stock items
Mon Oct 22 11:47:47 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtklabel.c: Add cursor-position, selection-bound
properties. (#62148, reported by Padraig O'Briain)
* gtk/gtkentry.c (gtk_entry_class_init): Rename text_position
to cursor_position. (1.3.x addition, text_position is an awful
name.) Make cursor_position read-only to avoid sticky questions
of interaction with selection_bound. (#62636, reported by
Padraig O'Briain)
Mon Oct 22 16:25:12 2001 Owen Taylor <otaylor@redhat.com>
Fixing popup menus to have "Paste" sensitized correctly. Original
patches from Damian Ivereigh, much mangled.
* gtk/gtkselection.c: Add functions gtk_selection_data_get_targets(),
gtk_selection_data_targets_include_text(). (#60854)
* gtk/gtkclipboard.c: Add a simple do-it-all non-async "check if
the clipboard has text" function gtk_clipboard_wait_is_text_available.
(#60854)
* gtk/gtkentry.c: Only enable the paste item if the clipboard
contains text. (#60973)
* gtk/gtktextview.c: Only enable the paste item if the clipboard
contains text. (#60975)
Fri Oct 19 18:35:22 2001 Manish Singh <yosh@gimp.org>
* gtk/{gtkentry.c,gtktextview.c}: since GtkIMContext derives directly
from GObject now, we have to use the g_object_* functions, not
gtk_object_*.
Wed Oct 17 15:17:20 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_real_insert_text): Fix mistake
in truncating length of text to MAX_SIZE. (Found by
Padraig O'Briain, #62055)
Wed Oct 3 23:47:25 Kristian Rietveld <kristian@planet.nl>
* gtk/gtkeditable.[ch]: move insert_text and delete_text virtual
functions to do_insert_text and do_delete_text, add signals
insert_text, delete_text and changed
* gtk/gtkentry.[ch]: remove signals insert_text, delete_text
and changed. Updates to match new situation.
* gtk/gtkspinbutton.c: updates to match new situation
* gtk/gtkoldeditable.h: remove signals changed, insert_text
and delete_text
* gtk/gtkoldeditable.c: updates to match new situation
* gtk/gtktext.c: updates to match new situation
Fixes bug #59803
Wed Oct 3 10:42:54 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkdnd.c (gtk_drag_dest_find_target): Allow
NUOL for @target_list to mean, use
gtk_drag_dest_get_target_list (widget).
* gtk/gtkdnd.c (gtk_drag_finish): Fix problem where
drop could hang when calling gtk_drag_finish with
success == FALSE and del == TRUE.
* gtk/gtkdnd.c (gtk_drag_dest_drop): Fix problem where
drops without a matching target found would propagate
to the parent widget rather than being rejected.
* gtk/gtktextview.c (gtk_text_view_drag_data_received):
Use text_view->dnd_mark instead of mark name to be
consistent with the rest of the code.
* gtk/gtktextview.c (gtk_text_view_drag_motion): Make
pendantically correct for a drop-only-in-some-places
widget. (Check whether you can insert in drag_drop,
not just in drag_motion ... matters in theory, and
for Motif drag and drop in practice.)
* gtk/gtkentry.c (gtk_entry_drag_drop): Patch from
Damian Ivereigh to not allow drops on non-editable
entries. (#61124)
* gtk/gtkentry.c (gtk_entry_motion_notify): Don't allow
text to be moved from a non-editable entry.
Wed Sep 26 16:15:25 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.c (gtk_notebook_set_tab_label): Fix
problem where menmonic wasn't removed properly when
setting a label when there already is a label.
Also, handle setting the tab label back to the same
value. (#61160, #61161)
* gtk/gtkentry.c (paste_received): Patch from
Damian Ivereigh to replace selection if there is
one. (#61121)
* configure.in: Version 1.3.9, interface age 0, binary age 0.
* configure.in: Require GLib-1.39, Pango 0.20, Atk 0.5.
* NEWS: Updates.
Mon Sep 24 11:59:09 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkstyle.[ch] (_gtk_draw_insertion_cursor): Shared
function for drawing cursors between gtkentry/gtklabel/gtktextview.
Should this be public? It has a bit of an odd interface, but
custom editing widgets probably should be using it.
Function will draw with wider width for taller cursors, and
draws a little indicator arrow to indicate directoin for split
cursors.
* gtk/gtktextview.c: Add a "cursor_color" property.
* gtk/gtktextdisplay.[ch]: Add a cursor_gc parameter to
gtk_text_layout_draw().
* gtk/gtkentry.c gtk/gtklabel.c gtk/gtktextdisplay.c: Use
_gtk_draw_insertion_cursor().
Tue Sep 25 11:22:23 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcellrenderertext.c gtk/gtktexttag.c: Restore
the behavior where you could turn family_set (etc) back on
and get back the values you had before.
* demos/gtk-demo/stock_browser.c (id_to_macro): Use
g_string_ascii_up() rather than looping through the
string ourself.
Tue Sep 25 12:34:42 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkentry.c: Make a GtkCellEditable
(get_widget_window_size): Change to let it honor size_allocate
when a CellEditable.
* gtk/gtktreeview.c: M-x clean-line-ends. Lots of focus and
editable changes.
(gtk_tree_view_set_cursor): Now you can set the cursor
horizontally, as well as start editing.
* gtk/gtkstyle.c (gtk_default_draw_check): changing toggle drawing
code to look more like the other check buttons.
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_get_size):
Change the way we calculate cell size.
* gtk/gtkmarshal.list (VOID:STRING,STRING): new marshaller.
* demos/gtk-demo/sizegroup.c: Add mnemonics.
* gtk/gtkcellrenderer.c (gtk_cell_renderer_get_size): Fix docs.
Fix logic.
* gtk/gtkcellrenderertext.c: Change to be editable.
* gtk/gtkcellrenderertoggle.c: Change to be activatable.
* test/testtreesort.c: Fix misspelling
* test/testreecolumns.c: Add mnemonics.
* test/testreeedit.c: New test program.
2001-09-18 Alex Larsson <alexl@redhat.com>
* gtk/gtkcheckbutton.c:
* gtk/gtkradiobutton.c:
Don't draw with GTK_STATE_ACTIVE.
* gtk/gtkclist.c:
* gtk/gtkctree.c:
Draw lines between rows with base_gc[GTK_STATE_NORMAL].
* gtk/gtktextdisplay.c:
Focused selection is drawn with base_gc [GTK_STATE_SELECTED] and
unfocused with base_gc [GTK_STATE_ACTIVE].
* gtk/gtkentry.c:
Add select all menu-item.
Default cursor color is red.
Focused selection is drawn with base_gc [GTK_STATE_SELECTED] and
unfocused with base_gc [GTK_STATE_ACTIVE].
* gtk/gtklabel.[ch]:
Add keynav + menu to selectable lables.
Focused selection is drawn with base_gc [GTK_STATE_SELECTED] and
unfocused with base_gc [GTK_STATE_ACTIVE].
* gtk/gtkfilesel.c:
Add drag and drop support.
* gtk/gtkstyle.c:
(This was checked in earlier)
New default values for text/base SELECTED and ACTIVE
Tue Sep 18 18:46:54 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreeview.c (gtk_tree_view_start_editing): centralize all
the editing code
* gtk/gtkcelleditable.c: Got rid of stop_editing, as there was no
reason to call it beyond emiting the two signals.
* gtk/gtkentry.c (gtk_entry_class_init): add "has_frame" property
to GtkEntry.
Wed Sep 12 11:21:14 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcellrenderertext.[ch] gtk/gtktexttag.[ch]
gtk/gtktextview.c tests/testgtk.c: Fix up for changes to
PangoFontDescription.
* gtk/gtkentry.c gtk/gtkclist.c gtk/gtkcellrenderertext.c
gtk/gtkspinbutton.c: Fix up for change to PangoMetrics
structure.
* gtk/gtkfontsel.c: Fix up for new Pango font listing API.
* gtk/gtkstyle.[ch]: Add gtk_style_get_font/set_font to replace
direct access to style->font. Deprecate gtk_style_ref/unref.
* gtk/gtkclist.c gtk/gtkctree.c gtk/gtkstyle.c gtk/gtkwidget.c:
Remove gtk_style_ref/unref with g_object_ref/unref.
* gtk/gtkcalendar.c: Remove leftover macros accessing
style->font.
* gtk/gtkhruler.c (gtk_hruler_draw_ticks): Remove unused
variable.
* gtk/gtktext.c gtk/gtklabel.c: Use gtk_style_get_font() instead of
style->font.
Thu Jul 19 14:24:34 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkentry.c (gtk_entry_set_positions): Fix
typo that sometimes caused selection not to work properly.
* gtk/gtkentry.c (gtk_entry_grab_focus): Select text in
entry when tabbing in. (#57743)
* gtk/gtkentry.c (gtk_entry_motion_notify): If the
user drags up above or down below the entry, move
to the end or the beginning of the entry. (Suggestion
from Jay Cox, #50940)
* gtk/gtkentry.c (gtk_entry_move_cursor): If we have
a current selection, then when moving by chars or
words, move to the end of the selection rather than
from entry->current_pos. (Suggestion from Jay Cox,
#50942)
Wed Jul 18 19:28:46 2001 Owen Taylor <otaylor@redhat.com>
* gtk/*.c: Patch from Matthias Clasen to remove remove
all instances of g_return_if_fail (foo != NULL); that are
immediately before a g_return_if_fail (GTK_IS_FOO (foo));
since the second check catches the NULL anyways.
Wed Jul 18 18:23:05 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkbutton.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtktextview.c
gtktreeview.c: Fix idles and timeouts to be properly surrounded by
GDK_THREADS_ENTER()/LEAVE() pairs.
* gtk/gtkdialog.c gtk/gtkclipboard.c: Surround calls
to g_main_loop_run() with GDK_THREADS_LEAVE()/ENTER()
pairs. (Problem found by M. Meeks)
Wed Jul 4 22:35:40 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtklabel.c gtk/gtkmenubar.c gtk/gtktreeviewcolumn.c
gtk/gtkwidget.c:
Check GTK_WIDGET_TOPLEVEL(gtk_widget_get_toplevel (widget)),
not GTK_WIDGET_GET_ANCESTOR ... see
http://mail.gnome.org/archives/gtk-devel-list/2001-July/msg00072.html.
Indicate the best practice in the docs for gtk_widget_get_toplevel().
* gtk/gtkwidget.[ch]: Expose a private _gtk_widget_hierarchy_changed(),
so GtkPlug can give the correct signals when transforming
from a child to a toplevel.
* gtk/gtkdnd.c (gtk_drag_dest_hierarchy_changed): Handle
reparentation correctly.
* gtk/gtkwidget.c (gtk_widget_propagate_hierarchy_changed):
Propagate the previous_toplevel argument down properly.
* gtk/gtklabel.c (gtk_label_finalize): Fix unrefing
of wrong atr list.
* gtk/gtkplug.[ch]: Add an "embedded" signal.
* gtk/gtksocket.[ch]: Add "child_added", "child_removed"
signals.
* gtk/gtkplug.[ch] gtk/gtksocket.[ch]: Add
functions gtk_plug_get_id(), gtk_socket_get_id(),
to avoid the user having to worry about realization,
and gdkx.h.
* tests/testsocket.c: Extend to try out the new signals
and gtk_plug/socket_get_id().
* gtk/gtklabel.c (gtk_label_set_pattern_internal): Fix
setting of underline attributes.
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Ignore
DestroyNotify events from SubstructureNotifyMask
* gdk/x11/gdkwindow-x11.c (gdk_window_reparent):
Switch GDK_WINDOW_TYPE (window) as needed.
* gdk/x11/gdkwindow-x11.c (gdk_window_new): Clean up,
allow creation of toplevel windows as children of
foreign windows.
* gtk/gtkplug.c: Remove hacks involving changing private
fields of GdkWindow.
* gtk/gtkplug.[ch] gtk/gtksocket.c: Work to make
exactly the same signals and notification
be emitted for local embedding as for inter-process
embedding.
Mon Jul 2 16:53:25 2001 Owen Taylor <otaylor@redhat.com>
* gtk/xembed.h gtk/gtkplug.c gtk/gtksocket.c: For
XEMBED embedding add a _XEMBED_INFO property to the
client with version number and a "mapped" flags.
Use the mapped flag instead of the racy MapRequestEvent
* gtk/gtksocket.c: Clean up the gtk_socket_steal()
code to reliably set things (when the child is a passive
embedder participating in the XEMBED protocol) intead
of just being a hack for embedding non-participating
programs. Fix various bugs and race conditions.
* gtk/gtksocket.[ch] gtk/gtkplug.[ch]: Make local embedding
work by simply making the GtkSocket the gtk parent
of the GtkPlug. Set a flag in this case and make
the GtkPlug work like a normal container by overriding
methods such as check_resize and "chaining past" GtkWindow
to GtkBin.
* gtk/gtkentry.c (gtk_entry_real_activate)
gtk/gtkmain.c (gtk_propagate_event):
Eliminate use of gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW).
* gtk/gtkwidget.c (gtk_widget_get_toplevel,
gtk_widget_get_ancestor):
Explain why gtk_widget_get_ancestor (widget, GTK_TYPE_WINDOW)
might not give the expected result and recommend
an alternative.
* tests/testsocket.c tests/testsocket_child.c
tests/testsocket_common.c tests/Makefile.am: Extended
to test different type of adding plugs to sockets
(local,active,passive), and to test mapping/unmapping
the plug.
* gdk/gdkwindow.c (_gdk_window_destroy_hierarchy): Don't
mark the window as destroyed until after we
called _gdk_windowing_window_destroy().
(_gdk_windowing_window_destroy() may use GDK functions
on the window.)
* gdk/x11/gdkinput.c: Remove the check for finalization -
devices can be finalized under some circumnstances.
* gdk/x11/gdkinput-x11.c (gdk_input_device_new): Fix
small problem with GDK_TYPE_DEVICE.
Tue Jun 26 19:39:03 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwidget.c (gtk_widget_set_style): Allow %NULL
for style to mean "revert to default style"
* gtk/gtkwidget.[ch] (gtk_widget_set_rc_style,
gtk_widget_restore_default_style): Make this functions
deprecated aliases for gtk_widget_set_style (widget, NULL).
* gtk/gtkwidget.[ch]: Remove:
gtk_widget_set_default_style ()
gtk_widget_push_style ()
gtk_widget_pop_style ()
These functions interact are overriden by RC files, and
thus virtually useless, and complicated.
Fri Jun 22 18:49:48 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkrc.c: Add a GtkRcContext structure to hold
most of the previous global variables in gtkrc.c. This is
in preparation for multi-head, since each screen can
have different GtkSettings and RC information.
* gtk/gtkrc.[ch]:
* gtk/gtkrc.h (struct _GtkRcStyleClass): Add a
GtkSettings parameter to GtkRcStyle::parse.
* gdk/x11/gdkevents-x11.c gtk/gtksettings.c gtk/gtkrc.c:
Add two new settings gtk-theme-name, gtk-key-theme-name,
for RC files that are loaded by name after reading
the default RC files.
* gtk/gtkrc.c: Allow priorities for styles, as wll as
bindings.
* gtk/gtkenums.h gtk/gtkrc.c: Add GTK_PATH_PRIO_THEME,
and use it by default for RC files loaded via
gtk-theme-name, gtk-key-theme-name.
* gtk/gtkiconfactory.c (gtk_icon_source_set_filename)
gtk/gtkrc.c (gtk_rc_parse_pixmap_path_string)
tests/testgtkrc: Require pathnames to be absolute.
* gtk/gtkrc.c gtk/gtkiconfactory.c: Look up the full filename for
the source when parsing, since the operation of looking up a
pixmap from an RC file depends on the parsing context.
* gtk/gtkrc.c (gtk_rc_context_reparse_all): Automatically
reset RC styles on all widgets when files are reparsed.
* tests/testgtk.c (create_rc_file)
gtk/gtkwindow.c (gtk_window_read_rcfiles):
Simplify, now that gtk_rc_reparse_all() resets styles on
all widgets itself.
* gtk/gtkmain.c (gtk_get_default_language): Fix broken
return value.
* gtk/gtksettings.[ch] (gtk_settings_install_property[_ch]): Remove
GtkSettings argument.
* gtk/gtksettings.[ch] (gtk_settings_get_default): Rename from
gtk_settings_get_global().
* gtk/gtkwidget.[ch]: Add a function gtk_widget_Get_settings()
to get the appropriate GtkSettings for a widget. (For now,
just gets the default GtkSetttings.)
* gtk/gtkcolorsel.c gtk/gtkentry.c gtk/gtkmenu.c gtk/gtkmenubar.c
gtk/gtktextview.c gtk/gtktoolbar.c: Fixes for GtkSettings
changes.
* gtk/gtkrc.[ch]: Add gtk_rc_get_style_by_paths() to allow
getting a style for a path without actually having a widget.
(Allows using a style for a subpart of a widget, for
example.)
* gtk/gtkrc.[ch]: Add gtk_rc_reparse_all_for_setting() to allow forcing
the RC files to be reloaded for just one GtkSettings
(not sure how useful this really is.)
* gtk/gtkrc.h: Deprecate
gtk_rc_add_widget_name/widget_class/class_style