Commit Graph

4613 Commits

Author SHA1 Message Date
Matthias Clasen
08573c0879 Deprecate GtkItemFactory in favor of GtkUIManager. Just leave
2003-09-27  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkitemfactory.h: Deprecate GtkItemFactory in favor
	of GtkUIManager. Just leave GtkTranslateFunc undeprecated,
	since GtkActionGroup uses it.
2003-09-26 23:59:42 +00:00
Matthias Clasen
e4507b6018 Turn off GTK_DISABLE_DEPRECATED, since this test uses the
2003-09-27  Matthias Clasen  <maclas@gmx.de>

	* tests/testtext.c: Turn off GTK_DISABLE_DEPRECATED, since
	this test uses the soon-to-be-deprecated GtkItemFactory.

	* demos/gtk-demo/Makefile.am (demos): Add ui_manager.c,
	remove item_factory.c

	* demos/gtk-demo/ui_manager.c: Duplicate of item_factory.c
	using GtkUIManager instead of GtkItemFactory.
2003-09-26 23:33:46 +00:00
Matthias Clasen
eeed9d1890 Demonstrate the use of the connect-proxy signal.
2003-09-27  Matthias Clasen  <maclas@gmx.de>

	* tests/testmerge.c: Demonstrate the use of the
	connect-proxy signal.

	* gtk/gtkaction.c (connect_proxy): Add connect-proxy and
	disconnect-proxy signals to do small customizations
	like displaying tooltips in the statusbar without
	custom actions.  (#122894, Philip Langdale)

	* gtk/gtkuimanager.c (update_node): Don't leak tooltip.
2003-09-26 23:01:32 +00:00
Kristian Rietveld
c920afd9c5 Landing the new ComboBox. Note that only gtkcombobox.h and
Fri Sep 26 23:49:44 2003  Kristian Rietveld  <kris@gtk.org>

	Landing the new ComboBox. Note that only gtkcombobox.h and
	gtkcomboboxentry.h are public.

	* gtk/gtkcellview.[ch], gtk/gtkcellviewmenuitem.[ch],
	gtk/gtkcombobox.[ch], gtk/gtkcomboboxentry.[ch]: new files.

	* gtk/Makefile.am, gtk/gtk.h: adding the new files.

	* tests/testcombo.c: and a new test.

	* tests/Makefile.am: adding the new test.
2003-09-26 21:57:06 +00:00
Tor Lillqvist
4a2de86c44 Don't use hardcoded DEMOCODEDIR on Windows.
2003-09-25  Tor Lillqvist  <tml@iki.fi>

	* demos/gtk-demo/main.c: Don't use hardcoded DEMOCODEDIR on Windows.

2003-09-21  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (handle_wm_paint): New
	function. Code split out from gdk_event_translate(). Needed
	because gdk_event_get_graphics_expose() couldn't do anything
	sensible otherwise. (Not that I think graphics exposes work anyway
	in gdk/win32, but at least now the code could work.)

	(gdk_event_get_graphics_expose): Call handle_wm_paint() instead of
	gdk_event_translate(), which couldn't have worked as it doesn't
	take any pre-allocated GdkEvent parameter any longer.

	(gdk_event_translate): Handle WM_MOUSEACTIVATE: Don't let
	GDK_WINDOW_TEMP windows be activated. (#122578, John Ehresman)
2003-09-25 18:48:06 +00:00
Matthias Clasen
33164c02dc Demonstrate tooltips on toolitems.
2003-09-24  Matthias Clasen  <maclas@gmx.de>

	* demos/gtk-demo/appwindow.c (do_appwindow): Demonstrate tooltips
	on toolitems.
2003-09-23 23:55:02 +00:00
Matthias Clasen
a93cee89c2 Sync tooltips on toolitems.
2003-09-24  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkaction.c (connect_proxy): Sync tooltips on toolitems.

	* gtk/gtkuimanager.c (update_node): Don't complain about missing
	actions on popups. Re-set "tooltip" property on toolitems after
	adding them to parent to trigger proxy update.
2003-09-23 23:42:39 +00:00
Matthias Clasen
cf639f4168 Initially activate the JUSTIFY_RIGHT group member to test the fix for
2003-09-22  Matthias Clasen  <maclas@gmx.de>

	* tests/testmerge.c (main): Initially activate the JUSTIFY_RIGHT
	group member to test the fix for #122904.

	* gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full):
	Add the action to the group before activating it, otherwise we
	may end up with multiple active group members.  (#122904, Marco
	Pesenti Gritti)
2003-09-22 08:54:23 +00:00
Matthias Clasen
d381967d5c Changes to make cross-process merging feasible:
2003-09-21  Matthias Clasen  <maclas@gmx.de>

	Changes to make cross-process merging feasible:

	* gtk/gtkuimanager.[hc]: Add a readonly "ui" property which holds the
	merged UI definition. Remove the "changed" signal, since its role
	is now filled by "notify::ui". Instead add a "actions-changed" signal
	which gets emitted when the set of actions changes.

	* gtk/gtktoggleactionprivate.h:
	* gtk/gtktoggleaction.[hc] (gtk_toggle_action_[sg]et_draw_as_radio):
	Add a "draw_as_radio" property to toggle actions so that they can be
	used as proxies for radio actions much like the "draw_as_radio"
	property on check menu items enables them to operate as proxies for
	radio actions.

	Prevent the "show_all" trap for action-based menus (see
	http://mail.gnome.org/archives/gtk-devel-list/2003-September/
	msg00260.html):

	* gtk/gtkmenu.c (gtk_menu_{hide,show}_all): Remove g_return_if_fail()
	calls from static functions.

	* gtk/gtkuimanager.c (update_node):
	* gtk/gtkaction.c (connect_proxy): Set "no_show_all" on constructed
	widgets whose visibility is externally controlled.

	* gtk/gtkwidget.[hc] (gtk_widget_[gs]et_no_show_all): Add a boolean
	"no_show_all" property with setter and getter. When TRUE, it keeps
	gtk_widget_{hide,show}_all() from modifying the visibility of the
	widget and its children.
2003-09-21 22:04:48 +00:00
Soeren Sandmann
8be8d7f61d Add new "tab moves focus" property (#122709)
Sun Sep 21 23:13:37 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtktextview.[ch]: Add new "tab moves focus" property (#122709)
2003-09-21 21:17:44 +00:00
Tor Lillqvist
71e847d11c Don't use zip -r on the etc directory, to avoid including editor backup
2003-09-20  Tor Lillqvist  <tml@iki.fi>

	* gtk-zip.sh.in: Don't use zip -r on the etc directory, to avoid
	including editor backup files. List files we want explicitly.

	* gtk/gtkmain.c (_gtk_get_lc_ctype): New function. On Unix, just
	calls setlocale (LC_CTYPE, NULL). On Windows, looks for the
	LC_ALL, LC_CTYPE and LANG environment variables, than calls
	g_win32_getlocale().

	(gtk_get_default_language): Code snippet moved to above function,
	call it.

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave)
	* gtk/gtkrc.c (gtk_rc_context_parse_file): Call
	_gtk_get_lc_ctype() instead of setlocale().
2003-09-20 23:52:16 +00:00
Soeren Sandmann
fc3f1ef30c implement RTL flipping (#96632)
Fri Sep 19 18:15:31 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtkpaned.c, gtk/gtkhpaned.c: implement RTL flipping
	(#96632)
2003-09-19 16:18:16 +00:00
Soeren Sandmann
ad709dcfea Improve documentation. (#117306, Steve Chaplin)
Fri Sep 19 13:24:54 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtktreeview.c (gtk_tree_view_get_cursor): Improve
	documentation. (#117306, Steve Chaplin)
2003-09-19 11:29:10 +00:00
Tor Lillqvist
c1aa7651b4 Handle dead keysyms present on the US-International keyboard. For clarity,
2003-09-19  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkkeys-win32.c (update_keymap): Handle dead keysyms
	present on the US-International keyboard. For clarity, order
	keysyms in case statement according to numeric value.

	(gdk_keymap_translate_keyboard_state): Handle Caps Lock
	correctly. (#120176, Ken Rastatter and Owen Taylor)
2003-09-19 00:30:35 +00:00
Matthias Clasen
8a72d4b383 Call g_closure_unref() to unref a closure, not g_object_unref(). (#122637,
2003-09-18  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkaction.c (gtk_action_finalize): Call g_closure_unref() to
	unref a closure, not g_object_unref().  (#122637, Marco Pesenti Gritti)
2003-09-18 19:04:42 +00:00
Matthias Clasen
0ceb0db081 Install accelerators on actions, not on proxies, support accelerator-only
2003-09-18  Matthias Clasen  <maclas@gmx.de>

	Install accelerators on actions, not on proxies, support
	accelerator-only actions:

	* gtk/gtkmenu.c (get_accel_path): New function to get the accel path
	and its lock status either via _gtk_widget_get_accel_path() or by
	looking at the accel_path stored in the menu item itself and determining
	its lock status by peeking into the contained accel label. This was
	already (accidentally) committed a week ago.

	* gtk/gtkaction.h (gtk_action_set_accel_group):
	(gtk_action_[dis]connect_accelerator): New functions.

	* gtk/gtkaction.c (struct _GtkActionPrivate): Add accel_group,
	accel_closure and accel_count. We must have a reference to the accel_group,
	since we need it in connect_proxy. The count is necessary to ensure
	that the accelerator isn't removed before the last proxy requesting
	it has been unmerged.
	(connect_proxy): Connect the accelerator to the
	action now, only set the accel_path on the menuitem.
	(remove_proxy): Disconnect the accelerator from the action, not from
	the menuitem.
	(gtk_action_set_accel_group): Set the accel group.
	(gtk_action_[dis]connect_accelerator): Count the number of times
	this functions have been called and install/remove the accelerator if
	the count leaves/reaches zero.

	* gtk/gtkuimanager.h (GtkUIManagerItemType): Add
	GTK_UI_MANAGER_ACCELERATOR.

	* gtk/gtkuimanager.c (NodeType): Add NODE_TYPE_ACCELERATOR.
	(start_element_handler): Create NODE_TYPE_ACCELERATOR nodes from
	<accelerator> elements.
	(gtk_ui_manager_add_ui): Create NODE_TYPE_ACCELERATOR nodes when
	type is GTK_UI_MANAGER_ACCELERATOR.
	(update_node): Set the accel group on actions before creating their
	proxies. Don't set the accel group on created menus. For
	NODE_TYPE_ACCELERATOR nodes, [dis]connect the actions' accelerator.
	(print_node): Also emit <accelerator> elements.

	* tests/testmerge.c (dump_accels): Add a "Dump Accels" button.
2003-09-17 23:58:28 +00:00
Matthias Clasen
a7ad2a4663 Robustness improvements.
* gtk/gtkuimanager.c (update_node): Robustness improvements.
2003-09-17 22:44:01 +00:00
Matthias Clasen
3044d0f514 Report unexpected character data as error from the GMarkup parser,
2003-09-17  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkuimanager.c (text_handler): Report unexpected character
	data as error from the GMarkup parser, otherwise things like
	gtk_ui_manager_add_ui_from_string (ui, "Hi there!", -1, &error)
	pass unexpectedly.
2003-09-17 19:18:45 +00:00
Soeren Sandmann
77d23072c2 revert accidentally committed !redraw_on_allocate change.
Wed Sep 17 02:38:53 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtktoolbar.c (gtk_toolbar_class_init): revert accidentally
	committed !redraw_on_allocate change.
2003-09-17 00:49:45 +00:00
Eric Warmenhoven
79439c9c7b Add gdk_window_set_keep_{above,below} stubs to fix compilation
Tue Sep 16 10:42:00 2003  Eric Warmenhoven  <eric@warmenhoven.org>

        * gdk/linux-fb/gdkwindow-fb.c: Add gdk_window_set_keep_{above,below}
        stubs to fix compilation

        * gdk/linux-fb/gdkrender-fb.c: Add gdk_shadow_fb_stop_updates stub for
        when shadowfb is disabled. Patch from pjm@cctechnol.com (#120847).

        * gdk/linux-fb/gdkmouse-fb.c: Add GDK_MOUSE_DEVICE environment
        variable. Patch from Marc Welz (#121347).
2003-09-16 17:59:20 +00:00
Matthias Clasen
543b020fdc Apply egtk-format-protos. Doc tweaks.
* gtk/gtkaction.h: Apply egtk-format-protos.
	* gtk/gtkuimanager.c: Doc tweaks.

	* gtk/tmpl/gtkaction.sgml:
	* gtk/tmpl/gtkradioaction.sgml:
	* gtk/tmpl/gtkactiongroup.sgml:
	* gtk/tmpl/gtkuimanager.sgml: Updates.
2003-09-15 22:21:26 +00:00
Matthias Clasen
c77b0caab1 New function which implements "smart" separators by iterating once over
* gtk/gtkuimanager.c (update_smart_separators): New function which
	implements "smart" separators by iterating once over the entries of a
	menu, hiding and showing separators as necessary.
	(update_node): Mark separators used as fences of placeholders as
	hidden. Explicitly added separators are marked as smart. Call
	update_smart_separators after updating a menu or toolbar node.
	Connect update_smart_separators to "notify::visible" signal on menu
	and tool items.

	* tests/merge-[12].ui: Test smart separators.

	* gtk/tmpl/gtkuimanager.sgml: Add a paragraph about smart separators.
2003-09-15 20:35:28 +00:00
Matthias Clasen
caf380c793 Add value parameter to allow setting the currently selected group member
2003-09-15  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkactiongroup.[hc]: (gtk_action_group_add_radio_actions):
	(gtk_action_group_add_radio_actions_full): Add value parameter to allow
	setting the currently selected group member before connecting signals.
	(GtkToggleActionEntry): Separate struct for constructing toggle actions,
	including a boolean to initialize the action state before connecting
	signals.
	(gtk_action_group_add_toggle_actions):
	(gtk_action_group_add_toggle_actions_full): New functions to construct
	toggle actions from an array of GtkToggleActionEntries.

	* demos/gtk-demo/appwindow.c:
	* tests/testactions.c:
	* tests/testmerge.c: Adjust to new action group API.

	* gtk/gtk-sections.txt: Add gtk_action_group_add_toggle_actions[_full].
2003-09-15 19:51:55 +00:00
Soeren Sandmann
00029ae9ee Name the arrow "gtk-toolbar-arrow" so themes can special-case it.
Sun Sep 14 16:59:52 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtktoolbar.c (gtk_toolbar_init): Name the arrow
	"gtk-toolbar-arrow" so themes can special-case it.
2003-09-14 15:03:07 +00:00
Soeren Sandmann
51a67a92dd sort the list of files.
Sun Sep 14 16:07:49 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/Makefile.am (gtk_c_sources): sort the list of files.
2003-09-14 14:09:37 +00:00
Soeren Sandmann
f649837613 Unref the PangoFontMetrics. Patch from Steve Chaplin (#122257).
Sun Sep 14 15:49:00 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtktoolbar.c (toolbar_item_is_homogeneous): Unref the
	PangoFontMetrics. Patch from Steve Chaplin (#122257).
2003-09-14 13:51:27 +00:00
Tor Lillqvist
b4d13a212e Remove special-case code for WS_EX_TRANSPARENT (GDK_INPUT_ONLY) windows,
2003-09-14  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkwindow-win32.c (show_window_internal): Remove
	special-case code for WS_EX_TRANSPARENT (GDK_INPUT_ONLY) windows,
	the usefulness of which was already in doubt. Removing it fixes
	bugs #118575 and #121851.
2003-09-14 13:43:45 +00:00
Jonathan Blandford
9ded36af54 Merge from stable.
Fri Sep 12 16:32:53 2003  Jonathan Blandford  <jrb@redhat.com>

	Merge from stable.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): only save the
	pressed button (used to determine if we want to initiate a drag later
	on) if the current grab widget is either NULL or tree_view (Reported
	by Jeroen Zwartepoorte).
2003-09-12 14:46:50 +00:00
Matthias Clasen
df1452102e Add deprecation notes. (#121955)
2003-09-12  Matthias Clasen  <maclas@gmx.de>

	* gdk/gdkdraw.c (gdk_draw_string, gdk_draw_text)
	(gdk_draw_text_wc): Add deprecation notes.  (#121955)
2003-09-11 22:09:38 +00:00
Matthias Clasen
6f81c10a54 Add table menu tests.
2003-09-11  Matthias Clasen  <maclas@gmx.de>

	* tests/testgtk.c: Add table menu tests.

	* gtk/gtkmenu.c (gtk_menu_free_private): Don't forget to free the
	GtkMenuPrivate struct itself. Pointed out by valgrind.

	* gtk/gtkuimanager.c (gtk_ui_manager_finalize): Clean up
	properly.  (#121998)
2003-09-11 21:02:24 +00:00
Kristian Rietveld
e23ed60782 The table menu patch! Turns GtkMenu into a table, so you can attach menu
Wed Sep 10 22:25:04 2003  Kristian Rietveld  <kris@gtk.org>

	The table menu patch! Turns GtkMenu into a table, so you can attach
	menu items in numerous new ways! Be creative!

	Contains some bug fixes and RTL adaptions from Matthias Clasen.

	* gtk/gtkmenu.c [toplevel]: introduce ATTACH_INFO_KEY, extend
	GtkMenuPrivate, introduce AttachInfo, add child properties enum,
	(gtk_menu_free_private), (gtk_menu_get_private): we have to free
	the heights array in the private struct,
	(gtk_menu_class_init): reorder code a bit, install child properties,
	(get_attach_info), (get_child_attach): new utility functions,
	(gtk_menu_set_child_property), (gtk_menu_get_child_property): introduce
	child properties, for the attach info,
	(gtk_menu_remove): remove AttachInfo from menu item,
	(gtk_menu_real_insert): implemented algorithm to automagically place
	inserted menu items at the correct place in the table,
	(gtk_menu_size_request), (gtk_menu_size_allocate),
	(compute_child_offset): reworked/rewritten to support table menus,
	(gtk_menu_attach): new function,
	(find_child_containing), (gtk_menu_move_current): new functions to
	get table menu keynav right.

	* gtk/gtkmenu.h: add gtk_menu_attach() prototype.
2003-09-10 20:32:33 +00:00
Matthias Clasen
87c0d2651c Only remove PropertyNotify events from the stream if they have been
2003-09-10  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtksocket.c (gtk_socket_filter_func): Only remove
	PropertyNotify events from the stream if they have been handled,
	in order to enable extending the plug<->socket communication via
	properties.
2003-09-10 15:56:11 +00:00
Kristian Rietveld
b78691f098 Big TreeView DnD fixage, makes drops on empty models work, makes TreeStore
Wed Sep 10 01:06:44 2003  Kristian Rietveld  <kris@gtk.org>

	Big TreeView DnD fixage, makes drops on empty models work, makes
	TreeStore DnD work and gets rid of gtk-tree-model-drop-append.
	Related bugs #95362 and #113314. I don't want to touch this code
	ever again.

	* gtk/gtktreeprivate.h (GtkTreePrivate): add empty_view_drop field.

	* gtk/gtktreednd.c (gtk_tree_get_row_drag_data): add check
	for selection_data->length.

	* gtk/gtktreeview.c (struct DestRow), (dest_row_free),
	(set_dest_row), (get_dest_row): we don't store just the row ref
	anymore, but a struct with the row ref and additional info,
	(set_destination_row): handle drops on empty space and some
	style fixes,
	(get_logical_dest_row): also return path_down_mode/drop_append_mode
	flags, handle dropping childs on their new parents, rewrite
	drop append handling into something saner,
	(gtk_tree_view_drag_motion): show a "drop possible arrow" on empty
	spaces,
	(gtk_tree_view_drag_drop): updates for updated backend,
	(gtk_tree_view_drag_data_received): updates for updated backend,
	path down mode (treestore DnD) handling,
	(gtk_tree_view_set_drag_dest_row): set empty_view_drop flag,
	when we are trying to drop a row on an empty model,
	(gtk_tree_view_get_drag_dest_row): handle empty_view_drop flag.

	* gtk/gtkliststore.c (gtk_list_store_drag_data_received),
	(gtk_list_store_row_drop_possible): style and drop-append fixes.

	* gtk/gtktreestore.c (gtk_tree_store_drag_data_received): ditto.
2003-09-09 23:13:39 +00:00
Alexander Larsson
0217c9dbfb Implement gtk_event_box_get/set_input_only()
2003-09-08  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtkeventbox.[hc]:
	Implement gtk_event_box_get/set_input_only()

	* tests/testgtk.c:
	Tests for the new input only event boxes
2003-09-08 20:04:49 +00:00
Kristian Rietveld
51f98b6a70 Fixes from David Hampton <hampton@employees.org> via gtk-devel-list.
Mon Sep  8 21:44:20 2003  Kristian Rietveld  <kris@gtk.org>

	Fixes from David Hampton <hampton@employees.org> via gtk-devel-list.

	* gtk/gtktreemodelfilter.c (gtk_tree_model_filter_elt_get_path): fix
	the call to gtk_tree_model_filter_add_root,
	(gtk_tree_model_filter_row_changed): bail out if c_path is not above
	the virtual root, allow building levels on the second try to convert
	the child path to a filter path,
	(gtk_tree_model_filter_convert_iter_to_child_iter): pass the virtual
	root when calling gtk_tree_model_filter_elt_get_path.
2003-09-08 19:51:16 +00:00
Matthias Clasen
e8c93d56a0 Fix a C99ism. (#121640, Josh Beam)
2003-09-07  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkuimanager.c (update_node): Fix a C99ism.  (#121640,
	Josh Beam)

	Fixes for accelerator handling during (un)merging:

	* gtk/gtkuimanager.c (update_node): Move setting info-action
	after the switch, since the old action is needed in some cases.
	In cases of proxy type mismatch, disconnect the old proxy from
	the old action.

	* gtk/gtkaction.c (remove_proxy): Renamed from
	gtk_action_remove_proxy(). Move unsetting of the accelerator
	here from disconnect_proxy() in order to catch all cases of
	removing a proxy.
	(gtk_action_disconnect_proxy): Fix logic in g_return_if_fail()
	to fail if proxy isn't a proxy of action.
2003-09-06 23:52:00 +00:00
Pablo Saratxaga
cc4935c01c Added Uzbek files 2003-09-06 23:04:19 +00:00
Matthias Clasen
0a79e5e3be Make disconnect work for toolitems.
2003-09-07  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkaction.c (disconnect_proxy): Make disconnect work
	for toolitems.
2003-09-06 22:13:20 +00:00
Matthias Clasen
7db084ec5b Disconnect from prev_action, not from action. (Fix by David Hampton)
2003-09-06  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkaction.c (gtk_action_connect_proxy): Disconnect from
	prev_action, not from action.  (Fix by David Hampton)
2003-09-06 21:04:01 +00:00
Owen Taylor
c725b0671b //bugs.xfree86.org/show_bug.cgi?id=534)
Fri Sep  5 14:15:10 2003  Owen Taylor  <otaylor@redhat.com>

        * Back out locale-dependent interpretation of
        KP_Decimal, the official XFree86 interpretation
        is that KP_Decimal => . KP_Separator => ,
        always, independent of locale.
        (#105161, Frederic Crozat,
        http://bugs.xfree86.org/show_bug.cgi?id=534)
2003-09-05 18:23:21 +00:00
Matthias Clasen
9ae676b06b Test buttons and toggle buttons as proxies.
2003-09-04  Matthias Clasen  <maclas@gmx.de>

	* tests/testmerge.c: Test buttons and toggle buttons as proxies.

	* gtk/gtktoggleaction.c (connect_proxy):
	(gtk_toggle_action_real_toggled): Support toggle buttons as proxies. Note
	that a "draw_as_radio" property is needed for check buttons similar to
	check menu items, in order to fully support button proxies for radio actions.

	* gtk/gtkaction.c (connect_proxy): Allow buttons as proxies.
2003-09-04 21:34:15 +00:00
Matthias Clasen
02a963e15b Test gtk_ui_manager_add_ui().
2003-09-04  Matthias Clasen  <maclas@gmx.de>

	* tests/testmerge.c (toggle_dynamic): Test gtk_ui_manager_add_ui().

	* gtk/gtkuimanager.h: Add GtkUIManagerItemType enum which is needed for the
	'type' argument of gtk_ui_manager_add_ui().

	* gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui): Add 'type' and 'top' arguments
	to make this function as powerful as the XML methods of adding UI.  (#120647)

	* gtk/gtk-sections.txt: Add GtkUIManagerItemType.
2003-09-04 20:39:15 +00:00
Kristian Rietveld
563746c795 Merge from stable.
Thu Sep  4 19:11:23 2003  Kristian Rietveld  <kris@gtk.org>

	Merge from stable.

	* docs/RELEASE-HOWTO: updates.
2003-09-04 17:16:53 +00:00
Matthias Clasen
6c227b5a65 Use "position" instead of "pos".
* tests/merge-2.ui: Use "position" instead of "pos".

	* gtk/gtkuimanager.c (start_element_handler): No need
	to be terse: Change the name of the "pos" attribute
	to "position".

	* gtk/tmpl/gtkuimanager.sgml: Change the name of the "pos"
	attribute to "position".
2003-09-04 09:07:23 +00:00
Matthias Clasen
0a163c7fd7 Doc tweaks. 2003-09-04 00:49:37 +00:00
Matthias Clasen
e4dbc17a65 Un-prefix GtkUIManagerNodeType and GtkUIManagerNode to shorten the names
* gtk/gtkuimanager.c: Un-prefix GtkUIManagerNodeType and
	GtkUIManagerNode to shorten the names and to make the
	GTK_UI_MANAGER_<TYPE> names available for a public enum.
2003-09-04 00:15:59 +00:00
Matthias Clasen
e6a8aa11cd Various doc tweaks.
2003-09-04  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkuimanager.c: Various doc tweaks.

	* gtk/gtkuimanager.c (start_element_handler):
	(end_element_handler): Improve error reporting.
2003-09-04 00:00:14 +00:00
Kristian Rietveld
bc61e7233b Merge from stable.
Wed Sep  3 23:18:17 2003  Kristian Rietveld  <kris@gtk.org>

	Merge from stable.

	* gtk/gtkmenu.c (gtk_menu_real_move_scroll): for the END case,
	use end_position - page_size instead of G_MAXINT, since
	gtk_menu_scroll_to doesn't CLAMP anymore internally. (Fixes #121237,
	reported by Havoc Pennington).
2003-09-03 21:26:13 +00:00
Kristian Rietveld
1c9d02b48d Merge from stable.
Wed Sep  3 21:58:03 2003  Kristian Rietveld  <kris@gtk.org>

	Merge from stable.

	* gtk/gtkiconfactory.c (cached_icon_free): if icon->style != NULL,
	unref it. (Fixes memleak, patch from Kjartan Maraas).
2003-09-03 20:05:04 +00:00
Kristian Rietveld
9538b6e57c big patch from Kjartan Maraas to fix numerous typos.
Wed Sep  3 21:38:26 2003  Kristian Rietveld  <kris@gtk.org>

	* gdk/Makefile.am, gdk/linux-fb/gdkfbmanager.c, gdk/x11/gdkcolor-x11.c,
	gdk-pixbuf/io-gif.c, gtk/Makefile.am, gtk/gtkcalendar.c,
	gtk/gtkclist.c, gtk/gtkctree.c, gtk/gtkdnd.c, gtk/gtkentry.c,
	gtk/gtkhandlebox.c, gtk/gtkitemfactory.c, gtk/gtkmenu.c,
	gtk/gtknotebook.c, gtk/gtkrange.c, gtk/gtkrc.h, gtk/gtktree.c,
	gtk/gtktypeutils.h: big patch from Kjartan Maraas
	to fix numerous typos.
2003-09-03 19:56:36 +00:00
BST 2003 Tony Gale
472590010f Correct compile line for threads example.
Wed Sep  3 17:38:01 BST 2003  Tony Gale <gale@gtk.org>

        * docs/faq/gtk-faq.sgml: Correct compile line for threads example.
2003-09-03 16:39:28 +00:00
Tor Lillqvist
fafe735f13 Don't call CloseHandle() on the HMODULE returned from GetModuleHandle().
2003-09-02  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkdisplay-win32.c (gdk_display_open): Don't call
	CloseHandle() on the HMODULE returned from GetModuleHandle().
	Didn't cause any harm, but didn't do anything useful either. When
	running a GTK+ program under MS's debugger, the CloseHandle() call
	would cause a "first-chance exception" in ntdll.dll to show up.
	(The exception is caught appropriately if you let it proceed, but
	it confuses the person using the debugger). Thanks to Bruce
	Hochstetler for noticing.
2003-09-02 23:33:02 +00:00
Kristian Rietveld
e5efd71486 Merge from stable.
Tue Sep  2 21:01:19 2003  Kristian Rietveld  <kris@gtk.org>

	Merge from stable.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): revert the change
	to only select when button 1 is pressed introduced in the fix of
	bug #120187.
2003-09-02 19:16:11 +00:00
Matthias Clasen
2ece92c8f3 Doc addition.
* gtk/gtkactiongroup.c (gtk_action_group_new): Doc addition.
2003-09-01 23:45:54 +00:00
Matthias Clasen
cbbe97abf5 Shorten the names of some static functions.
2003-09-02  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkuimanager.c: Shorten the names of some static
	functions.

	Support adding and removing merge nodes dynamically (#120647,
	Anders Carlsson):

	* gtk/gtkuimanager.[ch] (gtk_ui_manager_new_merge_id): Renamed
	gtk_ui_manager_next_merge_id to gtk_ui_manager_new_merge_id
	and made it public.
	(gtk_ui_manager_add_ui): New function to add UI elements
	without juggling XML fragments, currently restricted to menuitems,
	toolitems and separators. Actions still come from registered
	action groups.
2003-09-01 22:15:16 +00:00
Soeren Sandmann
7c95897892 Fix bug where the background pixmap was being offset twice, once by the
Mon Sep  1 19:39:14 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gdk/gdkwindow.c (gdk_window_get_bg_gc): Fix bug where the
	background pixmap was being offset twice, once by the ts_origin in
	gdk_window_get_bg_gc(), and once by gdk_draw_rectangle().
2003-09-01 17:23:27 +00:00
Matthias Clasen
7cddc693b0 Make this public again, since it's occasionally useful. (#121128, Marco
2003-09-01  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkuimanager.[ch] (gtk_ui_manager_ensure_update): Make
	this public again, since it's occasionally useful.  (#121128,
	Marco Pesenti Gritti)

	* gtk/gtkaction.c: Add an "is_important" property and propagate
	it to toolitem proxies.  (#121058, Marco Pesenti Gritti)
2003-08-31 23:36:37 +00:00
Soeren Sandmann
53257cbd27 connect to "delete_event" so the application will actually quit when you
Mon Sep  1 00:32:30 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* tests/testtoolbar.c (main): connect to "delete_event" so the
	application will actually quit when you close the window
2003-08-31 22:32:49 +00:00
Matthias Clasen
4e3936c714 g_return_if_fail() if path is NULL. (gtk_ui_manager_get_node): Avoid a
2003-09-01  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkuimanager.c (gtk_ui_manager_get_widget)
	(gtk_ui_manager_get_action): g_return_if_fail() if
	path is NULL.
	(gtk_ui_manager_get_node): Avoid a segfault if path is empty.
	(gtk_ui_manager_finalize): Remove the idle on finalize. (#121125,
	Marco Pesenti Gritti)
2003-08-31 22:29:42 +00:00
Matthias Clasen
9d13ef764e Fix some typos in docs.
* gtk/gtktoolitem.c: Fix some typos in docs.
2003-08-31 14:01:07 +00:00
Matthias Clasen
2c41fc0918 Add gtktoggleactionprivate.h
2003-08-31  Matthias Clasen  <maclas@gmx.de>

	* gtk/Makefile.am (IGNORE_HFILES): Add gtktoggleactionprivate.h

	* gtk/tmpl/gtkuimanager.sgml:
	* gtk/gtk-sections.txt: Replace gtk_ui_manager_activate by
	gtk_ui_manager_get_action.

	* gtk/gtkuimanager.[ch] (gtk_ui_manager_get_action): New function,
	replaces gtk_ui_manager_activate().  (#120658)

	* tests/testmerge.c: Use gtk_ui_manager_get_action() instead of
	gtk_ui_manager_activate().
2003-08-31 13:49:15 +00:00
Matthias Clasen
320bba9f37 Additions.
2003-08-31  Matthias Clasen  <maclas@gmx.de>

	* gtk/tmpl/gtkuimanager.sgml:
	* gtk/tmpl/gtkactiongroup.sgml:
	* gtk/tmpl/gtkaction.sgml:
	* gtk/tmpl/gtktoggleaction.sgml:
	* gtk/tmpl/gtkradioaction.sgml: Additions.

	* gtk/gtk-sections.txt: Updates.

	* gtk/gtk.types: Add GtkAction, GtkActionGroup, GtkToggleAction,
	GtkRadioAction and GtkUIManager.

	* gtk/gtkaction.c:
	* gtk/gtkactiongroup.c: Some doc tweaks.

	* gtk/gtkuimanager.[hc]: Get rid of the remove_widget signal. It
	wasn't emitted anyway. Some doc tweaks.
2003-08-31 00:27:15 +00:00
Matthias Clasen
0a49f658c5 Add some docs.
2003-08-31  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkactiongroup.c: Add some docs.

	* gtk/gtkuimanager.[hc]: Get rid of the remove_widget signal. It
	wasn't emitted anyway.
2003-08-30 22:26:32 +00:00
Matthias Clasen
e5eaa52b07 Connect to "destroy" on toolbar, rather than to "remove" on handlebox.
2003-08-30  Matthias Clasen  <maclas@gmx.de>

	* tests/testmerge.c (add_widget): Connect to "destroy" on toolbar,
	rather than to "remove" on handlebox.

	* gtk/gtkuimanager.[hc] (gtk_ui_manager_activate): New method to
	activate an action found by following a path.  (#120658)

	* tests/testmerge.c: Add a button to test gtk_ui_manager_activate().
2003-08-30 21:18:43 +00:00
Matthias Clasen
5f6d00b486 Put toolbars in handleboxes.
2003-08-30  Matthias Clasen  <maclas@gmx.de>

	* tests/testmerge.c (add_widget): Put toolbars in handleboxes.

	* gtk/gtkuimanager.[hc]: Add a boolean property, "add_tearoffs" with
	setter and getter. If it is set, add tearoff menu items to regular
	menus, but not to popups. Add a signal "changed", which gets emitted
	when the merged ui has changed.

	* tests/testmerge.c: Add button to test the generation of tearoff
	menu items.
2003-08-29 23:33:54 +00:00
Matthias Clasen
e430c2439a Put toolbars in handleboxes.
* tests/testmerge.c (add_widget): Put toolbars in handleboxes.
2003-08-29 23:23:44 +00:00
Matthias Clasen
879880e746 Add a boolean property, "add_tearoffs" with setter and getter. If it is
2003-08-30  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkuimanager.[hc]: Add a boolean property, "add_tearoffs" with
	setter and getter. If it is set, add tearoff menu items to regular
	menus, but not to popups.

	* tests/testmerge.c: Add button to test the generation of tearoff
	menu items.
2003-08-29 22:42:37 +00:00
Matthias Clasen
87248d53a2 Actually group the actions together rather than putting each in its own
2003-08-29  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full): Actually group the actions
	together rather than putting each in its own group.
2003-08-29 20:21:01 +00:00
Matthias Clasen
e3e7b75557 Set "draw_as_radio" on proxy menu items for radio actions.
2003-08-29  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkradioaction.c (create_menu_item): Set "draw_as_radio" on proxy menu items
	for radio actions.
2003-08-29 19:50:55 +00:00
Matthias Clasen
7dbeafb657 Use g_strtod instead of strtod.
* gtk/gtkgamma.c (gamma_ok_callback): Use g_strtod instead of strtod.
2003-08-29 19:38:07 +00:00
Soeren Sandmann
ce00fa8982 Fix use of uninitialized variable.
Fri Aug 29 21:40:01 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtkactiongroup.c (gtk_action_group_add_radio_actions_full):
	Fix use of uninitialized variable.

	* gtk/gtktextutil.c
	(_gtk_text_util_append_special_char_menuitems): add const cast to
	get rid of warning
2003-08-29 19:26:58 +00:00
Matthias Clasen
24fb8e7d6f Also support "draw_as_radio".
2003-08-29  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_get_property):
	(gtk_check_menu_item_set_property): Also support "draw_as_radio".
2003-08-29 19:19:44 +00:00
Matthias Clasen
2ed71f131e Install "draw_as_radio" as a separate property, not as an alias of
2003-08-29  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Install "draw_as_radio"
	as a separate property, not as an alias of "inconsistent".
2003-08-29 19:15:26 +00:00
Soeren Sandmann
545b40a1b3 Only treat buttons as homogeneous when they are narrower than 13 time the
Fri Aug 29 20:32:07 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gtk/gtktoolbar.c: Only treat buttons as homogeneous when they
	are narrower than 13 time the estimated character width of the
	font. (#107781, David Bordoley)

	* gtk/gtktoggletoolbutton.c (gtk_toggle_tool_button_init): Check
	here if the GtkToggleButton is active. This may be the case if it
	is a radio button.

	* gtk/gtktoolbar.c: Clarify documentation wrt. GtkSignalFunc
	vs. void (*) (GtkWidget, gpointer). (#107495, Mariano
	Suarez-Alvarez).

	* gtk/gtkcheckmenuitem.[ch]: new "draw_as_radio"
	property. (#111207, David Bordoley).

	* gtk/gtktoggletoolbutton.c
	(gtk_toggle_tool_button_create_menu_proxy): use new
	"draw_as_radio" property on the menu item when the item is a radio
	tool button

	* gtk/gtktoolbutton.c (gtk_tool_button_create_menu_proxy): Fixes
	to only pay attention to the "use_underline" property when the
	button label comes from the "label" property.
2003-08-29 18:28:23 +00:00
Laurent Dhima
4ec7006f28 Added "sq" to ALL_LINGUAS
* configure.in: Added "sq" to ALL_LINGUAS
2003-08-29 12:27:48 +00:00
Matthias Clasen
ce940e61a5 Improve PointerHint docs. Explain is_hint field in GdkEventMotion.
2003-08-28  Matthias Clasen  <maclas@gmx.de>

	* gdk/tmpl/events.sgml: Improve PointerHint docs.
	* gdk/tmpl/event_structs.sgml: Explain is_hint field in GdkEventMotion.
	(#120542)
	* gdk/x11/gdkkeys-x11.c (gdk_keymap_translate_keyboard_state): Markup
	fix in the docs.
2003-08-27 22:59:47 +00:00
Matthias Clasen
cbc20c4dde Change the XML format: <Root> element is replaced by <ui>, <menu> element
2003-08-28  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkuimanager.c: Change the XML format:
	<Root> element is replaced by <ui>,
	<menu> element is replaced by <menubar>,
	<submenu> element is replaced by <menu>,
	<dockitem> element is replaced by <toolbar>,
	<popups> element is gone,
	verb attribute is replaced by action,
	name defaults to action or the element name.

	* gtk/gtkactiongroup.[hc]: Replace GtkActionGroupEntry by GtkActionEntry
	and GtkRadioActionEntry. GtkActionEntry is simplified by removing
	the user_data, entry_type and extra_data fields, GtkRadioActionEntry is
	further simplified by removing the callback. The user_data can now be
	specified as an argument to gtk_action_group_add_actions(). There is
	a new method gtk_action_group_add_radio_actions(), which is similar
	to gtk_action_group_add_actions(), but takes GtkRadioActionEntrys
	and a callback parameter in addition to the user_data. The callback
	is connected to the ::changed signal of the first group member.
	There are _full() variants taking a GDestroyNotify of
	gtk_action_group_add_[radio_]actions().

	* gtk/gtkradioaction.[hc]: Add a ::changed signal which gets emitted
	on every member of the radio group when the active member is changed.
	Add an integer property "value", and a getter for the value of "value"
	on the currently active group member.

	* tests/testactions.c:
	* tests/testmerge.c:
	* tests/merge-[123].ui:
	* demos/gtk-demo/appwindow.c: Adjust to these changes.

	* gtk/gtktoolbar.c (gtk_toolbar_append_element): Trivial doc fix.
2003-08-27 22:22:28 +00:00
Anders Carlsson
bebc663c5a Focus the text view, so the tool bar won't have focus.
2003-08-27  Anders Carlsson  <andersca@gnome.org>

	* demos/gtk-demo/appwindow.c (do_appwindow): Focus the
	text view, so the tool bar won't have focus.
2003-08-27 17:18:50 +00:00
Owen Taylor
d8c62d66c2 Fix variable declaration not at start of block. (#120371, Damien Carbery)
Tue Aug 26 09:57:38 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkkeys-x11.c (update_keymaps): Fix variable
        declaration not at start of block. (#120371, Damien Carbery)
2003-08-26 14:04:52 +00:00
Frédéric Crozat
a3344d22b6 My firstname is Frederic, not Federico :) 2003-08-26 07:47:40 +00:00
Matthias Clasen
720bdb8daf Use gssize for length, not gsize.
2003-08-26  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkuimanager.[hc] (gtk_ui_manager_add_ui_from_string): Use gssize
	for length, not gsize.

	* gtk/gtkuimanager.c: Refactor the XML format a bit: rename <Root> to
	<ui> and make it optional in strings. Rename verb to action, <dockitem>
	to <toolbar>, <menu> to <menubar>, <submenu> to <menu>.

	* demos/gtk-demo/appwindow.c:
	* tests/testactions.c:
	* tests/testmerge.c:
	* tests/merge-1.ui:
	* tests/merge-2.ui:
	* tests/merge-3.ui: Adjust to the new XML format.
2003-08-26 00:13:59 +00:00
Owen Taylor
2be259b24a Since we add one to the layout's reported width to account for the cursor,
Mon Aug 25 19:55:55 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextview.c (gtk_text_view_update_layout_width):
        Since we add one to the layout's reported width to
        account for the cursor, we need to subtract one when
        setting the wrap width for the layout. (Fixes infinite
        loop (#120325, Federico Crozat)

        * gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
        Be a bit more careful about rounding when converting
        wrapped width from Pango units to pixels.
2003-08-26 00:06:18 +00:00
Matthias Clasen
77af2d637c Rename GtkMenuMerge to GtkUIManager. 2003-08-25 23:13:47 +00:00
Owen Taylor
9eb2d7c261 Don't include page->menu_label - causes various problems, including
Mon Aug 25 17:28:04 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_forall): Don't
        include page->menu_label - causes various problems,
        including #12047.
2003-08-25 21:34:49 +00:00
Kristian Rietveld
43d9992934 Merge from stable.
Mon Aug 25 23:21:43 2003  Kristian Rietveld  <kris@gtk.org>

	Merge from stable.

	Fixes #115871, reported by Michael Natterer.

	* gtk/gtktreeprivate.h: added GtkTreeSelectMode enum,
	added ctrl_pressed and shift_pressed bitfields,
	(_gtk_tree_selection_internal_select_node): replace GdkModifierType
	arg with GtkTreeSelectMode.

	* gtk/gtktreeselection.c (gtk_tree_selection_set_mode),
	(gtk_tree_selection_select_path), (gtk_tree_selection_unselect_path),
	(_gtk_tree_selection_internal_select_node): all updated for
	GdkModifierType -> GtkTreeSelectMode move.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): set ctrl_pressed
	and shift_pressed around selection handling block,
	(gtk_tree_view_real_select_cursor_row),
	(gtk_tree_view_real_toggle_cursor_row),
	(gtk_tree_view_real_selection_cursor_parent),
	(gtk_tree_view_real_set_cursor): use ctrl_pressed and shift_pressed,
	instead of checking the event state. And also updates for the
	GdkModifierType -> GtkTreeSelectMode move.
2003-08-25 21:33:00 +00:00
Owen Taylor
fb6914efe1 Send the focus on to the parent when there was no focus widget before and
Wed Aug 20 21:26:49 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkplug.c (gtk_plug_focus): Send the focus on
        to the parent when there was no focus widget before
        and no focus widget after - that is, when there are
        no focusable widgets. (#108678, help tracking it
        down from Padraig O'Briain, Federico Mena Quintero, )

        * gtk/gtkxembed.[ch]: Move various shared utilities
        for the XEMBED protocol eused by GtkPlug and GtkSocket
        here.

        * gtk/gtkxembed.[ch] gtkplug.c gtksocket.c: Implement
        a flag bit that is sent with focus mesages to indicate
        that the focus has wrapped around on the toplevel;
        use this bit to catch infinite loops when there is no
        focusable widget at ll in the entire toplevel.

        * tests/testsocket.c (child_read_watch): Remove an
        extraneous unref.

        * gtk/gtkplug.c gtk/gtksocket.c gtk/gtkxembed.h:
        Up XEMBED protocol version to 1, add logic for
        sending the right version in XEMBED_EMBEDDED_NOTIFY.

        * gtk/gtksocket.c (gtk_socket_add_window): Send
        the embedder window in the XEMBED_EMBEDDED_NOTIFY
        as the spec requires.
2003-08-25 21:16:25 +00:00
Owen Taylor
378005c65e Fix up CapsLock and NumLock handling for non-XKB. Add a special case hack
Mon Aug 25 16:15:41 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkkeys-x11.c: Fix up CapsLock and
        NumLock handling for non-XKB. Add a special case
        hack for NumLock on Sun servers. (Patch from
        Robert Basch, #115819)
2003-08-25 20:22:39 +00:00
Matthias Clasen
04a47f28c2 Remove C99isms. (Morten Welinder)
2003-08-25  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkactiongroup.c (gtk_action_group_add_actions): Remove C99isms. (Morten
	Welinder)
2003-08-25 18:43:14 +00:00
Matthias Clasen
bfa5c5aa4e Hooks for translation of label and tooltip in GtkActionGroupEntries.
2003-08-25  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkactiongroup.[hc] (gtk_action_group_set_translate_func,
	gtk_action_group_set_translation_domain): Hooks for translation of
	label and tooltip in GtkActionGroupEntries.  (#120620)
2003-08-24 23:11:14 +00:00
Matthias Clasen
32c6a944cf Namespace the enum values properly. Sorry about the resize grip trouble,
2003-08-25  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkactiongroup.h (GtkActionGroupEntryType): Namespace the enum
	values properly. Sorry about the resize grip trouble, Owen.  (#120621)

	* gtk/gtkactiongroup.c:
	* demos/gtk-demo/appwindow.c:
	* tests/testmerge.c:
	* tests/testactions.c: Use new GtkActionGroupEntryType enum.
2003-08-24 22:06:52 +00:00
Owen Taylor
b374ae3fb4 Remove reference to gtkresizegrip.h.
Sun Aug 24 17:14:44 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtk.h: Remove reference to gtkresizegrip.h.
2003-08-24 21:16:15 +00:00
Owen Taylor
d199f896cf Fix accidental commit of references to gtkresizegrip.[ch]
Sun Aug 24 17:03:44 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/Makefile.am: Fix accidental commit of references
        to gtkresizegrip.[ch]
2003-08-24 21:06:33 +00:00
Owen Taylor
02f3976e37 Fix some missing initializations of rc_file->directory.
Sun Aug 24 17:00:03 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkrc.c: Fix some missing initializations of
        rc_file->directory.
2003-08-24 21:03:39 +00:00
Matthias Clasen
e7e395652c A model-view separation for menus and toolbars, using the EggMenu code by
2003-08-24  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkaction.[ch]:
	* gtk/gtktoggleaction.[ch]:
	* gtk/gtktoggleactionprivate.h:
	* gtk/gtkradioaction.[ch]:
	* gtk/gtkactiongroup.[ch]:
	* gtk/gtkmenumerge.[ch]: A model-view separation for menus and
	toolbars, using the EggMenu code by James Henstridge.

	* gtk/gtk.h: Include new headers.
	* gtk/Makefile.am: Add new files.

	* tests/testactions.c: Test for actions.
	* tests/testmerge.c: Test for menu merging.
	* tests/merge-[123].ui: Test data for testmerge.
	* tests/Makefile.am: Add testactions and testmerge.

	* demos/gtk-demo/appwindow.c: Use GtkMenuMerge to construct the
	menubar and toolbar.
2003-08-24 19:58:30 +00:00
Owen Taylor
f977168c41 Fix problem where rc_file->directory wasn't always getting set. (#120549,
Sat Aug 23 21:40:18 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkrc.c (gtk_rc_context_parse_one_file): Fix
        problem where rc_file->directory wasn't always getting
        set. (#120549, Luis Villa)
2003-08-24 02:31:20 +00:00
Christian Rose
206dac1add Added "ne" to ALL_LINGUAS. Added Nepali translation by Pawan Chitrakar
2003-08-22  Christian Rose  <menthos@menthos.com>

	* configure.in: Added "ne" to ALL_LINGUAS.
	* po/ne.po: Added Nepali translation by
	Pawan Chitrakar <pawan@nplinux.org>.
2003-08-22 11:04:44 +00:00
Kristian Rietveld
91abb70b1e fix changelog 2003-08-21 20:15:44 +00:00
Owen Taylor
22a6d585c8 Keep a list of current GtkRcFiles being parsed, not just the directories
Thu Aug 21 16:00:36 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkrc.c: Keep a list of current GtkRcFiles
        being parsed, not just the directories for those
        files. Use that to catch recursion. (Part of
        #114988)
2003-08-21 20:06:17 +00:00
Kristian Rietveld
0321556d15 Thu Aug 21 21:27:45 2003 Kristian Rietveld <kris@gtk.org>A
Merge from stable.

	Fix option menu scrolling (#119821, Owen Taylor).

	* gtk/gtkmenu.c (gtk_menu_scroll_to): remove logic introduced
	by #80484 and the CLAMP,
	(get_menu_height): new function,
	(gtk_menu_real_move_scroll): sort of moved the CLAMP here to correct
	new_offset to handle page up/down right.
2003-08-21 19:42:44 +00:00
Owen Taylor
c7c5a7ddaa Change the interpretation of consumed_modifiers so that it contains: -
Thu Aug 21 15:17:42 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkkeys-x11.c: Change the interpretation
        of consumed_modifiers so that it contains:
         - Modifiers combinations actually found in
           state.
         - Single modifier modifier combinations.
        But not multi-modifier combinations that aren't
        in event->state. Document. (#100439)
2003-08-21 19:23:39 +00:00
Kristian Rietveld
28a466a69c Slightly modified patch from Yann Rouillard to improve selection behavior
Thu Aug 21 20:53:46 2003  Kristian Rietveld  <kris@gtk.org>

	Slightly modified patch from Yann Rouillard to improve selection
	behavior with the mouse. Fixes #120187.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): only
	select/deselect items on the first button press of button 1,
	expand checks for row_activated to include triple clicks.
2003-08-21 19:00:29 +00:00
Kristian Rietveld
5ff0e3fabe Merge from stable.
Thu Aug 21 01:33:51 2003  Kristian Rietveld  <kris@gtk.org>

	Merge from stable.

	* gtk/gtkspinbutton.c (gtk_spin_button_size_request): always round
	approximate digit widths up, to avoid truncation, convert to
	pango pixels when we have the full string width instead of converting
	the approx digit width to pango pixels, take inner border and
	interior focus into account correctly. (Fixes #116368, patch from
	Morten Welinder).
2003-08-20 23:47:19 +00:00
Søren Sandmann Pedersen
4983f3adc5 Add bugnumber to ChangeLog 2003-08-20 23:17:44 +00:00
Noah Levitt
6f1a9d469c Don't look at the same directory twice (in simple cases). (#120342)
2003-08-20  Noah Levitt  <nlevitt@columbia.edu>

	* gtk/queryimmodules.c: Don't look at the same directory twice (in
	simple cases). (#120342)
2003-08-20 22:05:24 +00:00
Soeren Sandmann
c8a9d2839c Make the layers in the paint stack have their own pixmap instead of
Wed Aug 20 22:04:47 2003  Soeren Sandmann  <sandmann@daimi.au.dk>

	* gdk/gdkwindow.c: Make the layers in the paint stack have their
	own pixmap instead of sharing one.

	* tests/testgtk.c (create_get_image): Fixes to make the window fit
	on an 800x600 screen
2003-08-20 21:11:25 +00:00
Kristian Rietveld
a36775060d Merged from stable.
Wed Aug 20 22:03:25 2003  Kristian Rietveld  <kris@gtk.org>

	Merged from stable.

	* gtk/gtkspinbutton.c (start_spinning): change the type of step
	to gdouble, since it gets it's data from a gdouble (Fixes #113547).
2003-08-20 20:20:00 +00:00
Owen Taylor
55b0689a1d Substantially rework the handling of status windows:
Mon Aug 18 17:19:12 2003  Owen Taylor  <otaylor@redhat.com>

        * modules/input/gtkimcontextxim.[ch]: Substantially
        rework the handling of status windows:

         - Store the current StatusWindow in the
           GtkIMContextXIM structure and vice-versa, so we
           don't have to hunt the window hierarchy on
           cleanup.
         - Use the Gtkidget hierarchy instead of/or as well
           as the GdkWindow hierarchy when finding the toplevel;
           this helps for things like GtkHandlebox
         - Watch GtkWidget::hierarchy_changed to catch
           changes in the toplevel without changes in the
           GdkWindow (reparenting)
         - Never create the GtkWindow for the status window
           unless we have text to display.
         - Various cleanups, add lots of comments.

        (#115077, much help from Takuro Ashie and Hidetoshi
        Tajima in tracking this down and figuring out a fix.)

        * modules/input/gtkimcontextxim.c (gtk_im_context_xim_focus_in):

        * modules/input/gtkimcontextxim.c: Track the current
        screen for each toplevel so that we show the status
        window on the right screen. (#116340, James Su)

        * modules/input/gtkimcontextxim.c: If create a new IC
        when we currently have the focus, call XSetICFocus()
        on it.

        * modules/input/gtkimcontextxim.c (get_im): Fix bug
        with multiple open screens.
2003-08-19 21:17:18 +00:00
Owen Taylor
f9063a1122 Replace client_window field with 'priv' pointer, retaining binary
Tue Aug 19 14:37:46 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkimmulticontext.[ch] (struct _GtkIMMulticontext):
        Replace client_window field with 'priv' pointer,
        retaining binary compatibility.

        * gtk/gtkimmulticontext.c (gtk_im_multicontext_set_slave):
        save use_preedit/cursor_location/focus status and set
        up the new slave appropriately. (#118651, Botond Botyanszki)
2003-08-19 19:24:39 +00:00
Owen Taylor
ccfd33c5a5 Don't use impl->position_info.clip_rect for toplevels. (#107068, reported
Tue Aug 19 13:58:50 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkgeometry-x11.c (gdk_window_scroll):
        Don't use impl->position_info.clip_rect for toplevels.
        (#107068, reported by Thomas Mirlacher)
2003-08-19 18:32:12 +00:00
Owen Taylor
df58bb7f8a Add a fallback for unaligned source data for FORMAT_ARGB_MASK. (#117217)
Mon Aug 18 11:48:51 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkdrawable-x11.c (convert_to_format):
        Add a fallback for unaligned source data for
        FORMAT_ARGB_MASK. (#117217)
2003-08-18 16:02:46 +00:00
Owen Taylor
7a3ce1dbf9 Rework handling of REBUILD_PNGS, so that we also don't try to REBUILD_PNGS
Mon Aug 18 10:51:57 2003  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Rework handling of REBUILD_PNGS,
        so that we also don't try to REBUILD_PNGS when
        cross-compiling and there is no gdk-pixbuf-csource.
        But give an error if gtk/stock-icons/gtkstockpixbufs.h
        is not in the source tree. (Note that REBUILDS_PNG
        was set backwards before, which is why you always
        had to manually recreate gtkstockpixbufs.h!)
2003-08-18 15:19:32 +00:00
Owen Taylor
e1700ed253 Add a missing gtk/ in the path to libgtk.la. (#120080, Benedikt Spranger)
Mon Aug 18 10:19:55 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk+-2.0-uninstalled.pc.in: Add a missing gtk/ in the
        path to libgtk.la. (#120080, Benedikt Spranger)
2003-08-18 14:23:14 +00:00
Owen Taylor
34c550243f Make the list of default languages more comprehensive. (Suggestion of Fco.
Sat Aug 16 10:34:49 2003  Owen Taylor  <otaylor@redhat.com>

        * modules/input/imcedilla.c: Make the list of default
        languages more comprehensive. (Suggestion of
        Fco. Javier F. Serrador)

Sat Aug  9 12:47:11 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/gdk.c (gdk_arg_context_parse): Fix broken
        parentheses when skipping args.
2003-08-16 14:44:00 +00:00
Kristian Rietveld
4e6ec12ec3 Fix major bug in row ref handling, so the new combo box will actually work
Sat Aug 16 16:22:23 2003  Kristian Rietveld  <kris@gtk.org>

	Fix major bug in row ref handling, so the new combo box
	will actually work right (:. Bug #107748. Patch written
	with help from Tim Janik.

	The basic idea is to update the row refs in a closure,
	before the actual signal is emitted (rather than having
	the model connect signal handlers).

	* gtk/gtktreemodel.c (gtk_tree_model_base_init): change
	g_signal_new calls for row_inserted, row_deleted and
	rows_reordered to use the new marshallers,
	(row_inserted_marshall), (row_deleted_marshall),
	(rows_reordered_marshall): the new marshallers,
	(gtk_tree_row_ref_inserted_callback): renamed to
	gtk_tree_row_ref_inserted since it isn't a callback
	anymore and gets called by the marshaller now,
	(gtk_tree_row_ref_deleted_callback): likewise,
	(gtk_tree_row_ref_reordered_callback): likewise,
	(connect_ref_callbacks), (disconnect_ref_callbacks):
	removed,
	(gtk_tree_row_reference_new_proxy),
	(gtk_tree_row_reference_free),
	(gtk_tree_row_reference_inserted),
	(gtk_tree_row_reference_deleted),
	(gtk_tree_row_reference_reordered): updated.
2003-08-16 14:39:33 +00:00
Owen Taylor
d270a00d21 Improve Cedilla handling - based on a patch from Gustavo De Nardin,
Fri Aug 15 16:54:39 2003  Owen Taylor  <otaylor@redhat.com>

        Improve Cedilla handling - based on a patch from Gustavo
        De Nardin, #111334

        * modules/input/imcedilla.c po/POTFILES.in: Input method that
        produces C_WITH_CEDILLA rather than C_WITH_ACUTE for
        dead_acute+c combinations. Make this the default for
        fr and pt.

        * gtk/gtkimmulticontext.c (gtk_im_multicontext_get_slave):
        Use LC_CTYPE instead of LC_MESSAGES to pick the default
        input method.

Fri Aug 15 17:00:19 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkimcontextsimple.c: Fix missing compose sequence
        for Multi_key+c+apostrophe.
2003-08-15 21:30:44 +00:00
Kristian Rietveld
4254bdbb67 Merged from stable.
Fri Aug 15 21:57:34 2003  Kristian Rietveld  <kris@gtk.org>

	Merged from stable.

	* gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): stop editing
	on vertical scrolling. (#108035, reported by Tim Janik).
2003-08-15 20:07:40 +00:00
Kristian Rietveld
15885321cb Merged from stable.
Fri Aug 15 20:06:42 2003  Kristian Rietveld  <kris@gtk.org>

	Merged from stable.

	* gtk/gtktreeview.c (gtk_tree_model_sort_row_changed),
	(gtk_tree_model_sort_level_find_insert),
	(gtk_tree_model_sort_insert_value): fix off-by-one error.
	(#109292 continued, patch from Yann Rouillard).
2003-08-15 18:13:54 +00:00
Kristian Rietveld
2e299387a7 (Note: This is not exactly the same as the patch which went in gtk-2-2).
Fri Aug 15 19:43:14 2003  Kristian Rietveld  <kris@gtk.org>

	(Note: This is not exactly the same as the patch which went in
	 gtk-2-2).

	* gtk/gtktreeview.c (gtk_tree_view_class_init),
	(gtk_tree_view_key_press), (gtk_tree_view_search_key_press_event):
	Also support the up, down, left, right, home, end, page up and
	page down keys on the numpad. (#119419, reported by Alex Larsson).
2003-08-15 17:47:18 +00:00
Owen Taylor
e44f6a8a00 Fixes for X/Cygwin builds of GTK+ (#107623, Masahiro Sakai):
Fri Aug 15 12:34:04 2003  Owen Taylor  <otaylor@redhat.com>

        Fixes for X/Cygwin builds of GTK+ (#107623, Masahiro Sakai):

        * configure.in (GDK_DEP_LIBS_FOR_X): Make sure that
        we link libgtk against X explicitely, since we
        make GTK+ calls for plug/socket.

        * gtk/queryimmodules.c: Use USE_LA_MODULES and
        G_MODULE_SUFFIX here.

        * gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_image): Protect
        XShmPutImage with #ifdef USE_SHM.
2003-08-15 16:50:57 +00:00
Owen Taylor
03813f369a Don't reposition the cursor when we aren't trying to complete. (Fixes
Thu Aug 14 18:25:39 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkfilesel.c (gtk_file_selection_populate):
        Don't reposition the cursor when we aren't trying
        to complete. (Fixes problems with selection on
        startup, #108433, reported by Mark Finlay.)

        * gtk/gtkfilesel.c (gtk_file_selection_populate): Remove
        code that tried to position the cursor after the common
        prefix when there was one, it wasn't working, and
        would be hard to fix. Just always put the cursor
        at the end when completing.
2003-08-14 22:30:28 +00:00
Owen Taylor
27be4e9b70 If getting the current directory fails because of encoding conversion
Thu Aug 14 17:58:23 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkfilesel.c (get_current_dir_utf8): If getting
        the current directory fails because of encoding
        conversion problems, walk up textually to parent
        directories until we can convert. (#113627)
2003-08-14 22:00:27 +00:00
Owen Taylor
a649119906 Remove usage of menu_shell->ignore leave which was to deal with stray
Wed Aug 13 17:01:49 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkmenushell.[ch] (gtk_menu_shell_enter_notify):
        Remove usage of menu_shell->ignore leave which was
        to deal with stray events we no longer get because
        we do grabbing differently. Comment it as unused in
        the header. (#115837, Keith Bissett)
2003-08-13 21:13:09 +00:00
Owen Taylor
91d3768017 Fix some places that weren't properly Xinerama-ified.
Wed Aug 13 16:32:43 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkmenu.c (gtk_menu_position, gtk_menu_window_size_request):
        Fix some places that weren't properly Xinerama-ified.

        * gtk/gtkmenu.c: Fix problem with windows that scroll
        at the top of the screen.
2003-08-13 20:45:37 +00:00
Owen Taylor
4001482cb5 connect_after() to key-press-event on the entry, so input methods get
Wed Aug 13 11:34:53 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcombo.c (gtk_combo_init): connect_after() to
        key-press-event on the entry, so input methods get access to
        key presses before GtkCombo customization.
        (#115451, Botond Botyanszki)
2003-08-13 16:34:35 +00:00
Anders Carlsson
296c4b41bf Add an important column.
2003-08-13  Anders Carlsson  <andersca@gnome.org>

	* tests/testtoolbar.c: (set_important_func), (important_toggled),
	(create_items_list):
	Add an important column.
2003-08-13 09:02:57 +00:00
Owen Taylor
b3bafcf180 Protect against reentrancy from ::focus-out handlers. (#118129, Felipe
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)
2003-08-12 19:16:06 +00:00
Owen Taylor
43811f5dc0 Remove GDK_LOCK_MASK before calling gdk_keymap_translate_keyboard_state so
Tue Aug 12 14:27:42 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkkeyhash.c (_gtk_key_hash_lookup): Remove
        GDK_LOCK_MASK before calling
        gdk_keymap_translate_keyboard_state so bindings
        and accelerators are independent of the Caps-lock
        key. (#115384, reported by Toni Willberg)
2003-08-12 18:38:16 +00:00
Matthias Clasen
506672298b Reformat all my entries to 80 columns. 2003-08-11 19:06:17 +00:00
Owen Taylor
35f964d54e Add missing break statements (#119494, Soeren Sandmann)
Mon Aug 11 12:07:14 2003  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkevents-x11.c (get_real_window): Add missing
        break statements (#119494, Soeren Sandmann)
2003-08-11 16:08:27 +00:00
Owen Taylor
370728f8bf Mark parent public as well; it's extensively accessed in existing code, so
Mon Aug 11 11:10:07 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkwidget.h: Mark parent public as well; it's
        extensively accessed in existing code, so there is
        no advantage in making people use get_parent().
        (Tweak to #119463 fix)
2003-08-11 15:18:27 +00:00
Matthias Clasen
424433f1a4 Add support for EWMH "Above" and "Below" window states. (105100, Manuel Clos) 2003-08-10 23:37:37 +00:00
Matthias Clasen
19d81dab2b Copy newer versions of JH_CHECK_XML_CATALOG and JH_PATH_XML_CATALOG from
* acinclude.m4: Copy newer versions of JH_CHECK_XML_CATALOG and JH_PATH_XML_CATALOG from
	gtk-doc to enable configuring without xmlcatalog in PATH.  (#119115)
2003-08-10 22:30:02 +00:00
Matthias Clasen
219ddba928 Mark some members as public. Document public GtkWidget members.
* gtk/gtkwidget.h (struct _GtkWidget): Mark some members as public.
	* gtk/tmpl/gtkwidget.sgml: Document public GtkWidget members.
2003-08-09 23:01:31 +00:00
Noah Levitt
005194bc4b Elaborate a bit more in the docs on GdkFilterFunc and GdkFilterReturn.
2003-08-09  Noah Levitt  <nlevitt@columbia.edu>

	* gdk/gdkevents.h:
	* docs/reference/gdk/tmpl/windows.sgml: Elaborate a bit more in the
	docs on GdkFilterFunc and GdkFilterReturn.
2003-08-09 06:19:43 +00:00
Matthias Clasen
e26259ddea Add DND support to GtkCalendar. The selected date is dragged as text,
* gtk/gtkcalendar.c: Add DND support to GtkCalendar. The selected date is dragged
	as text, formatted via strftime %x. Text drops are accepted if g_date_set_parse()
	can make sense of the text. A dedicated data format for date DND has not been
	introduced yet, since there didn't seem to be sufficient consensus on such a format
	on xdg-list.  (#117297)
2003-08-08 23:01:17 +00:00
Matthias Clasen
6e1e7d30fc Get the information about the first day of the week from the locale using
* gtk/gtkcalendar.c: Get the information about the first day of the week from
	the locale using another instance of the "magic translated string" technique.
	Ignore the display option GTK_CALENDAR_WEEK_START_MONDAY with a warning.  (#87977)
2003-08-08 22:44:14 +00:00
Matthias Clasen
40f0f447f7 Complete the RTL flipping support for GtkCalendar, make it possible to
* gtk/gtkcalendar.c: Complete the RTL flipping support for GtkCalendar, make it
	possible to flip the headings using the "magic translated string" technique.
	Translators, note the comment in gtk_calendar_init() explaining this.
2003-08-08 22:17:34 +00:00
Matthias Clasen
35b3fd8915 Add and hook in gtk_calendar_scroll, to let the mouse wheels select the
2003-08-09  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcalendar.c:  Add and hook in gtk_calendar_scroll,
	to let the mouse wheels select the month. Scrolling down
	moves forward in time. (#53134, Abigail Brady)
2003-08-08 22:03:25 +00:00
Matthias Clasen
699e1c74ef Fix a segfault. (#115284, Jan Kratochvil)
2003-08-08  Matthias Clasen  <maclas@gmx.de>

	* gdk/gdkregion-generic.c (gdk_region_spans_intersect_foreach): Fix a segfault.  (#115284,
	Jan Kratochvil)
2003-08-08 21:39:19 +00:00
Tor Lillqvist
ad24b9cad6 Print also the root coordinates for events that have such. Print
2003-08-08  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkevents-win32.c (print_event): Print also the root
	coordinates for events that have such. Print coordinates for enter
	and leave events.

	(gdk_event_translate): Don't use event uninitialixed in the
	return_exposes branch of the WM_PAINT handler.

	* gdk/win32/gdkwindow-win32.c (gdk_window_new,
	_gdk_windowing_window_get_pointer, _gdk_windowing_window_at_pointer):
	Must offset top-level window coordinates here, too.
2003-08-08 07:16:16 +00:00
Matthias Clasen
3d0b5b8d42 Hide the resize grip when maximized or fullscreen.
2003-08-08  Matthias Clasen  <maclas@gmx.de>

	* demos/gtk-demo/appwindow.c (do_appwindow): Hide the resize grip when maximized or fullscreen.
2003-08-07 23:03:41 +00:00
Tor Lillqvist
5155f3ca66 gdk/win32/gdkinput-win32.h Drop the GdkEvent* parameter, it wasn't used.
2003-08-07  Tor Lillqvist  <tml@iki.fi>

	* gdk/win32/gdkinput-win32.h
	* gdk/win32/gdkinput-win32.c (_gdk_input_configure_event,
	_gdk_input_enter_event): Drop the GdkEvent* parameter, it wasn't
	used.

	* gdk/win32/gdkevents-win32.c (gdk_event_translate): Adapt caller
	accordingly, in fact an uninitialised variable was dereferenced.


	[Win32] Add support for multiple monitors.

	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkglobals-win32.c: New global variables for
	multiple-monitor info: _gdk_num_monitors, _gdk_monitors, and
	_gdk_offset_x and _gdk_offset_y.

	* gdk/win32/gdkdisplay-win32.c (count_monitor, enum_monitor): New
	functions, enumeration functions passed to EnumDisplayMonitors().

	(gdk_display_open): If the EnumDisplayMonitors() and
	GetMonitorInfo() API is present (on Win98, Win2000 and newer), use
	if to find out monitor info.

	Calculate the offset between Win32 coordinates (relative to the
	primary monitor's origin (and thus negative on monitors to the
	left of or above it), and GDK's (visible coordinates should be
	non-negative).

	* gdk/win32/gdkscreen-win32 (gdk_screen_get_n_monitors,
	gdk_screen_get_monitor_geometry): Use information collected above.

	(gdk_window_move, gdk_window_move_resize_window_get_geometry):
	Subtract _gdk_offset_{x,y} from GDK root window coordinates.

	(gdk_window_get_geometry, gdk_window_get_origin,
	gdk_window_get_frame_extents): For top-level windows, add
	_gdk_offset_{x,y} to GDK root window coordinates

	Still need to handle multiple monitors in
	gdk_window_fullscreen(). Probably should make the window
	fullscreen on the monitor where the cursor is?

	* gdk/win32/gdkevents-win32.c: Add _gdk_offset_{x,y} to all GDK
	root window coordinates in GdkEvents.


	[Win32] Fix geometry hint handling. Add support for resize
	increment and base size, and aspect ratio geometry hints. The
	"gridded geometry" test in testgtk now works beautifully.

	* gdk/win32/gdkwindow-win32.c (gdk_window_set_geometry_hints):
	Turns out this function shouldn't actually ever modify the
	window's size, just store the hints. (Old code kept for a while
	inside #if 0.)

	(gdk_window_set_hints): Remove presumably broken code that handles
	the position hints, this function is obsolete anyway.

	* gdk/win32/gdkevents-win32.c: Drop the current_{x,y}_root
	variables, not used.

	(adjust_drag): New function, used to implement resize increment
	hints.

	(gdk_event_translate): Handle WM_SIZING, implement resize
	increment and base size, and aspect ratio geometry hints here. The
	WM_GETMINMAXINFO handler takes care of the minimum and maximum
	size hints as before. Fix the WM_GETMINMAXINFO handler to take
	into account window decorations. No need to modify the
	ptMaxPosition and ptMaxSize fields in the MINMAXINFO struct,
	the defaults are fine.

	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkwindow-win32.c (_gdk_win32_adjust_client_rect,
	_gdk_win32_get_adjusted_client_rect): New helper functions.
2003-08-07 22:17:18 +00:00
Matthias Clasen
9bfaab6e77 Reset the toplevel->have_* flags before iterating over the _NET_WM_STATE
2003-08-07  Matthias Clasen  <maclas@gmx.de>

	* gdk/x11/gdkevents-x11.c (gdk_check_wm_state_changed): Reset the toplevel->have_* flags before
	iterating over the _NET_WM_STATE atoms.  (#119217)
2003-08-07 21:11:35 +00:00
Owen Taylor
bccfe54807 Fix a bug where on theme change, resize/redraw wasn't properly getting
Thu Aug  7 16:49:29 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkwidget.c (gtk_widget_set_style_internal):
        Fix a bug where on theme change, resize/redraw wasn't
        properly getting queued on toplevel windows. (#116346,
        Rajkumar Siva)

        * gtk/gtkwidget.c (gtk_widget_invalidate_widget_windows):
        Fix bug where wrong coordinates were used for toplevel
        window.
2003-08-07 21:03:18 +00:00
Owen Taylor
6f627e53dc Remove leftover page_num variable (Archit Baweja)
Thu Aug  7 16:40:21 2003  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtknotebook.c (gtk_notebook_remove): Remove leftover
        page_num variable (Archit Baweja)
2003-08-07 20:41:11 +00:00
Matthias Clasen
5708dcee6c Use g_strtod() to cope with C libraries with crippled locale support.
2003-08-07  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkspinbutton.c (gtk_spin_button_default_input): Use g_strtod() to cope with C libraries with
	crippled locale support.  (#115293)
2003-08-07 18:54:51 +00:00
Hans Breuer
1ea3b45078 finally use TrackMouseEvent (only if the new window not known to Gdk) to
2003-08-07  Hans Breuer  <hans@breuer.org>

	* gdk/win32/gdkevents-win32.c : finally use TrackMouseEvent
	(only if the new window not known to Gdk) to get proper
	leave notification, and get rid of the wrong placed
	tooltips, bug #102283

	(gdk_event_translate) : small code reordering to not get
	GDK_MOTION_NOTIFY for still mouse and get back tooltips on
	menus, bug #117367
2003-08-07 15:10:16 +00:00
Tor Lillqvist
209dc33b3b gdk/gdk.def Add missing function, trivially implement.
2003-08-07  Tor Lillqvist  <tml@iki.fi>

	* gdk/gdk.def
	* gdk/win32/gdkfont-win32.c (gdk_fontset_load_for_display): Add
	missing function, trivially implement.
2003-08-07 03:30:38 +00:00
Matthias Clasen
6091eabc39 Don't cut descenders when rendering. (#118646, Charles Kerr)
2003-08-07  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkctree.c (draw_row): Don't cut descenders when rendering.  (#118646, Charles Kerr)
2003-08-06 22:56:50 +00:00
Hans Breuer
d3b962ce0f initialize bits to 0 (probably default on NT)
2003-08-06  Hans Breuer  <hans@breuer.org>

	* gdk/win32/gdkpixmap-win32.c (gdk_pixmap_new) :
	initialize bits to 0 (probably default on NT)
2003-08-06 22:08:33 +00:00