Commit Graph

6780 Commits

Author SHA1 Message Date
Matthias Clasen
9e4d008d25 Don't prematurely unregister callbacks.
2005-06-30  Matthias Clasen  <mclasen@redhat.com>

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize): Don't
	prematurely unregister callbacks.
2005-06-30 18:42:44 +00:00
Matthias Clasen
6a2838717f Updates 2005-06-30 04:53:23 +00:00
Matthias Clasen
87cafe5b4b Handle broken grabs.
2005-06-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkbutton.c (gtk_button_grab_broken): Handle broken
        grabs.

        * gtk/gtkrange.c (gtk_range_grab_broken): Handle broken
        grabs.

        * gdk/gdkevents.h: Add a boolean to specify wether the broken
        grab was implicit.

        * gdk/x11/gdkdisplay-x11.c (gdk_display_pointer_is_grabbed):
        As the documentation states, don't return TRUE for
        implicit grabs.

        * gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add
        a boolean field to store wether a pointer grab is implicit.

        * gdk/x11/gdkmain-x11.c (_gdk_xgrab_check_button_event):
        Track implicit grabs.

        * gdk/x11/gdkevents-x11.c (gdk_event_translate): Call
        _gdk_xgrab_check_button_event for button events.
2005-06-30 03:35:30 +00:00
Matthias Clasen
88e3584814 Make sure that cell boxes are always completely inside the item area.
2005-06-28  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconview.c (gtk_icon_view_calculate_item_size2):
	Make sure that cell boxes are always completely inside
	the item area.
2005-06-28 06:25:18 +00:00
Matthias Clasen
94f4c71eaa Make the list of demos scrollable.
2005-06-27  Matthias Clasen  <mclasen@redhat.com>

	* demos/gtk-demo/main.c (create_tree): Make the list of
	demos scrollable.
2005-06-28 03:42:55 +00:00
Matthias Clasen
86e4f7d1f3 Fix positioning at the end of the line for lines ending in invisible
2005-06-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end):
	Fix positioning at the end of the line for lines ending
	in invisible characters.
	(gtk_text_layout_get_line_display): Set display->layout
	to a PangoLayout, even for totally invisible lines.
2005-06-28 02:46:11 +00:00
Matthias Clasen
b2343762b1 Ignore GrabBroken events which are caused by overgrabbing inside the
2005-06-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): Ignore
	GrabBroken events which are caused by overgrabbing inside
	the application; menus rely on these for their operation.

	* gdk/gdkevents.h (struct _GdkEventGrabBroken): Add a
	grab_window field.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Set
	grab_window to NULL when generating GrabBroken events for
	WM_KILLFOCUS messages.

	* gdk/x11/gdkmain-x11.c (_gdk_xgrab_check_unmap)
	(_gdk_xgrab_check_destroy): Set grab_window to NULL when
	generating GrabBroken events when the grab window becomes
	unviewable or is destroyed.

	* gdk/x11/gdkmain-x11.c (gdk_pointer_grab, gdk_keyboard_grab):
	Generate GrabBroken events when overriding a grab inside
	the application. In this case, set grab_window to the new
	grab_window.
2005-06-27 21:06:33 +00:00
Matthias Clasen
f49eab1248 Continue to activate even if we can't grab the keyboard.
2005-06-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkbutton.c (gtk_real_button_activate): Continue
	to activate even if we can't grab the keyboard.
	(gtk_button_finish_activate): Only ungrab when we have
	a keyboard grab.  (#172998, William Jon McCann)
2005-06-27 20:04:33 +00:00
Matthias Clasen
c719b4bf3d Avoid a segfault. (#309054)
2005-06-27  Matthias Clasen  <mclasen@redhat.com>

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize):
	Avoid a segfault. (#309054)

	* gdk/x11/gdkdisplay-x11.h (struct _GdkDisplayX11): Add
	fields for grab timestamps.

	* gdk/x11/gdkmain-x11.c (gdk_pointer_grab, gdk_keyboard_grab):
	Store grab timestamps when grabbing.

	* gdk/x11/gdkdisplay-x11.c (gdk_display_keyboard_ungrab)
	(gdk_display_pointer_ungrab): Don't unset the grab_window
	if the timestamps indicate that the ungrab will fails.
2005-06-27 18:37:41 +00:00
Matthias Clasen
ddd27f21a6 Cancel menus when they are grab-shadowed by something thats not a submenu.
2005-06-27  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkmenu.c (gtk_menu_grab_notify): Cancel menus when
        they are grab-shadowed by something thats not a
        submenu.  (#145416, Euan MacGregor)
2005-06-27 17:36:34 +00:00
Owen Taylor
3b1269f500 Fix indentation.
2005-06-27  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtk[hv]ruler.c (gtk_[hv]ruler_draw_ticks):
        Fix indentation.
2005-06-27 15:13:08 +00:00
Kjartan Maraas
8eb4666ffe Fix leaks Same Closes bug #308953.
2005-06-27  Kjartan Maraas  <kmaraas@gnome.org>

	* gtk/gtkhruler.c: (gtk_hruler_draw_ticks): Fix leaks
	* gtk/gtkvruler.c: (gtk_vruler_draw_ticks): Same
	Closes bug #308953.
2005-06-27 14:38:19 +00:00
Matthias Clasen
d4c43a42ad Use GMappedFile.
2005-06-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconcache.c (_gtk_icon_cache_new_for_path): Use
	GMappedFile.

	* configure.in: Require GLib 2.7.1
2005-06-27 04:49:03 +00:00
Matthias Clasen
1b8d849b36 Unregister XIM callbacks here. (#309054)
2005-06-26  Matthias Clasen  <mclasen@redhat.com>

	* modules/input/gtkimcontextxim.c (gtk_im_context_xim_finalize):
	Unregister XIM callbacks here.  (#309054)

	* modules/input/gtkimcontextxim.h: Small cleanup.
2005-06-27 02:27:41 +00:00
Matthias Clasen
92e3227043 Pay attention to the scroll offset when drawing the box. (#308834, Tom von
2005-06-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkmenu.c (gtk_menu_paint): Pay attention to the
	scroll offset when drawing the box.  (#308834, Tom von
	Schwerdtner)
2005-06-27 02:07:35 +00:00
Tor Lillqvist
98a17d1462 gdk/Makefile.am Current GNU tools do understand the PRIVATE keyword, so no
2005-06-26  Tor Lillqvist  <tml@novell.com>

	* gdk/Makefile.am
	* gtk/Makefile.am: Current GNU tools do understand the PRIVATE
	keyword, so no need to remove those entries from the import
	library. libtool installs the .dll.a import library itself, so no
	need to do it here. Install the .def file.
2005-06-26 19:01:33 +00:00
Manish Singh
2f330b7737 add GDK_GRAB_BROKEN to the switch cases.
Sun Jun 26 00:04:36 2005  Manish Singh  <yosh@gimp.org>

        * gdk/gdkevents.c (gdk_event_get_time, gdk_event_get_state): add
        GDK_GRAB_BROKEN to the switch cases.

        * gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): remove unused
        variables.

        * gtk/gtkpaned.c (gtk_paned_grab_broken): return TRUE.
2005-06-26 07:06:13 +00:00
Matthias Clasen
6cc79068cf Stop column header drag operations if the grab is broken.
2005-06-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_grab_broken): Stop column
	header drag operations if the grab is broken.
2005-06-26 06:51:55 +00:00
Matthias Clasen
5fb7f69dd8 Stop the drag if the grab is broken.
2005-06-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkhsv.c (gtk_hsv_grab_broken): Stop the drag if
	the grab is broken.
2005-06-26 06:39:19 +00:00
Matthias Clasen
d45263d5fa Don't do explicitly ungrab pointer and keyboard. We're unmapping the grab
2005-06-26  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkcombobox.c (gtk_combo_box_popdown): Don't do
	explicitly ungrab pointer and keyboard. We're unmapping
	the grab window anyway.
	(gtk_combo_box_popup): Handle grab failures.
2005-06-26 06:26:47 +00:00
Matthias Clasen
96cf099c47 Don't emit grab-broken for overgrabbing, until we figure out how to do
2005-06-25  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkmain-x11.c (gdk_keyboard_grab, gdk_pointer_grab):
	Don't emit grab-broken for overgrabbing, until we figure
	out how to do that without breaking the menu code.
2005-06-26 03:48:06 +00:00
Matthias Clasen
9b356ea0d8 Add a GrabBroken event to GDK, and a grab-broken-event signal to
2005-06-25  Matthias Clasen  <mclasen@redhat.com>

	Add a GrabBroken event to GDK, and a grab-broken-event
	signal to GtkWidget.  (#107320, Simon Cooke, initial patch
	by John Ehresman)

	* gdk/gdkevents.h: Add a GDK_GRAB_BROKEN event type,
	define a GdkEventGrabBroken event struct.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate):
	Generate GrabBroken events in response to WM_KILLFOCUS.

	* gdk/x11/gdkmain-x11.c: Generate GrabBroken events
	when a grab is broken by the window becoming unviewable,
	or by another grab from the same client.

	* gtk/gtkwidget.h (GtkWidgetClass): Add grab_broken_event.

	* gtk/gtkwidget.c (gtk_widget_event_internal): Translate
	GrabBroken events into grab_broken_event signals.

	* gtk/gtkmain.c (gtk_main_do_event): Propagate GrabBroken
	events.

	* gtk/gtkmenushell.c (gtk_menu_shell_grab_broken): Deactivate
	the menu when the grab is broken.

	* gtk/gtkcolorsel.c (gtk_color_selection_grab_broken): Stop
	the color picker if the grab is broken.

	* gtk/gtkpaned.c (gtk_paned_grab_broken): Stop the drag if
	the grab is broken.
2005-06-25 07:10:40 +00:00
Matthias Clasen
effe3785cf Add some new stock items. (#166480, Kristof Vansant)
2005-06-25  Matthias Clasen  <mclasen@redhat.com>

	Add some new stock items.  (#166480, Kristof Vansant)

	* gtk/stock-icons/stock_fullscreen_16.png:
	* gtk/stock-icons/stock_fullscreen_24.png:
	* gtk/stock-icons/stock_leave_fullscreen_16.png:
	* gtk/stock-icons/stock_leave_fullscreen_24.png:
	* gtk/stock-icons/stock_info_16.png:
	* gtk/stock-icons/stock_info_24.png: New icons.

	* gtk/stock-icons/Makefile.am: Add new icons.

	* gtk/gtkstock.h: Define names for the new icons.

	* gtk/gtkstock.c (builtin_items): Register new stock items.

	* gtk/gtkiconfactory.c (get_default_icons): Register new
	stock icons.
2005-06-25 05:06:47 +00:00
Matthias Clasen
458d71a96a Make movement by paragraphs up/down symmetric. (#307055, Behnam Esfahbod)
2005-06-24  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktextview.c
	(gtk_text_view_move_cursor_internal): Make movement by
	paragraphs up/down symmetric.  (#307055, Behnam Esfahbod)
2005-06-24 17:42:17 +00:00
Owen Taylor
dd19f542db Fix up selection of conversion functions for MSB machines:
2005-06-24  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkrgb.c (gdk_rgb_select_conv): Fix up selection of
        conversion functions for MSB machines: convert_0888[_br]
        now work on bytes so are endian independent.
        (Reported by David Zeuthen)
2005-06-24 15:06:29 +00:00
Matthias Clasen
47ab9b2dc9 Don't jump to the next line if we are at the end of the line.
2005-06-24  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_scroll_hpages): Don't
	jump to the next line if we are at the end of the line.
2005-06-24 13:49:34 +00:00
Tor Lillqvist
ded7d9b234 Mention also bug #308413. 2005-06-24 13:04:51 +00:00
Tor Lillqvist
baad14eee0 Improve and simplify line segment rendering on Win32, especially the
2005-06-23  Tor Lillqvist  <tml@novell.com>

	Improve and simplify line segment rendering on Win32, especially
	the implementation of GDK_CAP_NOT_LAST, and dashed lines. Fixes
	bug #306396.

	* gdk/win32/gdkprivate-win32.h (GdkGCWin32): Save the GdkGC's
	line_style, cap_style and join_style as such in the
	GdkGCWin32. Don't need to keep the pen_double_dash flag, we can
	check the line_style.

	* gdk/win32/gdkgc-win32.c (fixup_pen): New internal function. Sets
	up the GDI pen type, style, end cap and join attributes to use
	based on the pen width, GDK line style, end cap style, and join
	style.

	For a narrow (zero-width) GDK pen with the GDK_CAP_NOT_LAST end
	cap style, which typically are used for XOR drawing where it is
	essential that the last pixel is not drawn, use a GDI cosmetic
	pen. Only for a cosmetic pen does GDI not draw the last pixel. I
	deduced this by experimetation, the documentation is rather vague.

	For other GDK pens use a geometric GDI pen. If the width is 0 or 1
	and the GDK end cap style is GDK_CAP_BUTT, and the line style is
	GDK_LINE_SOLID, use PS_ENDCAP_ROUND. This ensures that also
	single-pixel length lines are drawn. (For sngle-pixel width lines
	roundness as such is of course irrelevant.) For dashed lines, use
	PS_ENDCAP_FLAT.

	For wide lines use PS_ENDCAP_FLAT, _ROUND or _SQUARE,
	respectively, for GDK_CAP_BUTT, GDK_CAP_ROUND and GDK_CAP_PROJECTING.

	For one pixel on-off dashed lines, use PS_ALTERNATE, it seems to
	work better than PS_USERSTYLE. For other dashed lines, use
	PS_USERSTYLE and the dashes as set by the user (or the default
	four-pixel on-off style).

	(gdk_win32_gc_values_to_win32values, gdk_win32_gc_set_dashes):
	Call fixup_pen() to do the pen settings after modifying some of
	the GDK GC attributes that affect pens.

	* gdk/win32/gdkdrawable-win32.c (render_line_horizontal,
	render_line_vertical, draw_segments): Check GdkGCWin32::line_style
	instead of the the removed pen_double_dash member. Don't use
	PATCOPY unconditionally in the PatBlt() call, use a raster ope
	code that depends on the GC function in use.

	(draw_rectangle, draw_segments, draw_lines): Be more careful in
	deciding when to do the manual dash rendering.

	(draw_segments): Don't do any manual "last point" drawing at
	all. The above changes takes care of narrow line segments being
	drawn correctly in most cases, at least on NT-based Windows.
2005-06-24 13:00:05 +00:00
Matthias Clasen
31bc1dec02 Fix an error in the cache timeout logic. (#166601, Morten Welinder)
2005-06-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilesystemunix.c (gtk_file_system_unix_get_folder):
	Fix an error in the cache timeout logic.  (#166601, Morten
	Welinder)
2005-06-23 20:44:27 +00:00
Matthias Clasen
a7c8b44628 Change the keynav for header reordering and resizing to Alt-arrows and
2005-06-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_key_press): Change the
	keynav for header reordering and resizing to Alt-arrows and
	Shift-Alt-arrows, following a proposal by the keynav
	authority. (#308666, Calum Benson)
2005-06-23 20:19:21 +00:00
Matthias Clasen
350a050c77 Remove a leftover debugging envvar.
2005-06-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkiconcache.c (_gtk_icon_cache_new_for_path): Remove
	a leftover debugging envvar.
2005-06-23 17:05:17 +00:00
Owen Taylor
3c4ffb12ab Fix the big endian case for 3-channel source. (Reported by David Zeuthen)
2005-06-23  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdkcairo.c (gdk_cairo_set_source_pixbuf): Fix the
        big endian case for 3-channel source. (Reported by
        David Zeuthen)
2005-06-23 13:49:06 +00:00
Matthias Clasen
3be3d84b6a Don't trigger warnings if there are extra references to the hbox.
2005-06-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkbutton.c (gtk_button_construct_child): Don't
	trigger warnings if there are extra references to the
	hbox.  (#308677, Dan Winship)
2005-06-23 04:24:24 +00:00
Matthias Clasen
af1c6bb05e Use g_file_set_contents(). (#308722, Morten Welinder)
2005-06-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkfilesystemunix.c (bookmark_list_write): Use
	g_file_set_contents().  (#308722, Morten Welinder)
2005-06-23 04:14:17 +00:00
Matthias Clasen
9c3aa23e08 Set the time field in the event. (#308573, Morten Welinder)
2005-06-22  Matthias Clasen  <mclasen@redhat.com>

	* gdk/x11/gdkdnd-x11.c (xdnd_finished_filter): Set the
	time field in the event.  (#308573, Morten Welinder)
2005-06-22 16:09:41 +00:00
Matthias Clasen
a3acf689ea Remove gratitious differences between the stable branch and HEAD, which
* gtk/gtkfilesystemunix.c: Remove gratitious differences
	between the stable branch and HEAD, which sneaked in with
	the bookmark renaming.
2005-06-22 15:09:35 +00:00
Kjartan Maraas
f1ff6e0e1c Don't leak the cairo context Closes bug #308581.
2005-06-22  Kjartan Maraas  <kmaraas@gnome.org>

	* gtk/gtkhsv.c: (gtk_hsv_expose): Don't leak the cairo context
	Closes bug #308581.
2005-06-21 22:46:30 +00:00
Matthias Clasen
2ef6d354d1 Modify all of the GtkMisc widgets to round down on centering calculations
2005-06-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkarrow.c:
	* gtk/gtkimage.c:
	* gtk/gtklabel.c:
	* gtk/gtkpixmap.c: Modify all of the GtkMisc widgets to round down
	on centering calculations to match the behaviour of other parts
	of GTK+. (#307419, Ryan Lortie)
2005-06-21 15:38:40 +00:00
Matthias Clasen
d6ef11469b Connect to button-release-event as well, to handle touchscreen scenarios
2005-06-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_source_set): Connect to
	button-release-event as well, to handle touchscreen
	scenarios better.  (#171490, Markku Vire)
2005-06-21 05:54:11 +00:00
Matthias Clasen
3845ca6eea Trivial cleanups. (#169647, #303455, Fabricio Barros Cabral, Benoit
2005-06-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/*.h: Trivial cleanups. (#169647, #303455,
	Fabricio Barros Cabral, Benoit Carpentier)
2005-06-21 05:35:43 +00:00
Matthias Clasen
15a5ee96af Consistently use gchar. (#303455, Benoit Carpentier)
2005-06-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtklabel.h: Consistently use gchar.  (#303455,
	Benoit Carpentier)
2005-06-21 05:15:06 +00:00
Matthias Clasen
0f133f4f4b New function which can be used to implement scrolling in non-window
2005-06-21  Matthias Clasen  <mclasen@redhat.com>

	* gdk/gdk.symbols:
	* gdk/gdkwindow.h:
	* gdk/x11/gdkgeometry-x11.c (gdk_window_move_region): New
	function which can be used to implement scrolling in
	non-window widgets.  (#135165, Søren Sandmann)
2005-06-21 04:09:52 +00:00
Matthias Clasen
a4768daec1 Handle missing MAP_FAILED. (#308449, Georg Schwarz)
2005-06-20  Matthias Clasen  <mclasen@redhat.com>

	* xdgmimecache.c: Handle missing MAP_FAILED.  (#308449, Georg
	Schwarz)
2005-06-21 03:36:52 +00:00
Matthias Clasen
1dbcd037c8 Bump version number 2005-06-20 22:45:20 +00:00
Matthias Clasen
58a1af804c 2.7.0 2005-06-20 22:06:27 +00:00
Matthias Clasen
6e30650fe4 Variant of gtk_window_present which takes a timestamp. (#166379, Elijah
2005-06-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtk.symbols:
	* gtk/gtkwindow.h:
	* gtk/gtkwindow.c (gtk_window_present_with_time): Variant of
	gtk_window_present which takes a timestamp.  (#166379, Elijah Newren)
2005-06-20 18:19:34 +00:00
Matthias Clasen
dc9f9f982f Add a forgotten symbol 2005-06-20 05:14:46 +00:00
Matthias Clasen
8e7a7b56e0 Updates 2005-06-20 03:58:26 +00:00
Kristian Rietveld
d7cfee4b16 added a check which avoids processing updates on bin_window and scrolling
2005-06-19  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_clamp_node_visible): added a
	check which avoids processing updates on bin_window and scrolling
	if the node is already visible. (#170600, Billy Biggs).
2005-06-19 19:22:46 +00:00
Kristian Rietveld
1bdf71943f only keep the row at the same position if the full row is visible.
2005-06-19  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (validate_visible_area): only keep the
	row at the same position if the full row is visible. (#304623,
	Jorn Baayen).
2005-06-19 18:40:35 +00:00