Commit Graph

3693 Commits

Author SHA1 Message Date
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
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
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
Bastien Nocera
52617a691a avoid crash when selecting a new filter and clicking a different directory
2003-09-15  Bastien Nocera  <hadess@hadess.net>

	* gtkfilefilter.c: (gtk_file_filter_filter): avoid crash when
	selecting a new filter and clicking a different directory
2003-09-15 10:27:05 +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
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
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
Federico Mena Quintero
9044d774bb Added an API point about needing a way to fetch the hpaned position so we
2003-09-10  Federico Mena Quintero  <federico@ximian.com>

	* TODO: Added an API point about needing a way to fetch the hpaned
	position so we can save it.

	* gtkfilechooser.c (_gtk_file_chooser_get_paths): Fixed API docs.
	(gtk_file_chooser_get_uris): Likewise.
	(gtk_file_chooser_get_filenames): Likewise.

	* gtkfilechooserdialog.c (file_chooser_widget_file_activated): New
	callback, calls gtk_window_activate_default().

	* testfilechooser.c (response_cb): Print the selected files if the
	user clicks OK.
2003-09-11 00:56:46 +00:00
Federico Mena Quintero
aa22566e6c Connect to "row_activated" on the file list. (list_row_activated): New
2003-09-10  Federico Mena Quintero  <federico@ximian.com>

	* gtkfilechooserimpldefault.c (create_file_list): Connect to
	"row_activated" on the file list.
	(list_row_activated): New function.  Changes to folders or emits
	the "file-activated" signal depending on what type of row was
	activated.
	(create_folder_tree): Renamed from create_directory_tree(), since
	"folder" is the new politically-correct name.

	* gtkfilechooserprivate.h (struct _GtkFileChooserIface): Added a
	file-activated signal.

	* gtkfilechooser.c (gtk_file_chooser_class_init): Register the
	signal.

	* gtkfilechooserutils.c (_gtk_file_chooser_set_delegate): Connect
	to "file-activated" on the delegate.
	(delegate_file_activated): New function.

	* TODO: Added an API item about Clipart-like folders provided by
	applications.
2003-09-11 00:33:28 +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
Federico Mena Quintero
3a28082114 Use the cell renderer's "text" and "weight" properties rather than
2003-09-09  Federico Mena Quintero  <federico@ximian.com>

	* gtkfilechooserimpldefault.c (set_cell_text_bold_if_folder): Use
	the cell renderer's "text" and "weight" properties rather than
	"markup".
2003-09-10 01:26:13 +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
Federico Mena Quintero
4b3e2d69a5 Make the list model read in directory information as well.
2003-09-09  Federico Mena Quintero  <federico@ximian.com>

	* gtkfilechooserimpldefault.c (tree_selection_changed): Make the
	list model read in directory information as well.
	(set_cell_text_bold_if_folder): New utility function.  Sets a
	cell's text, making it bold if the file info is a folder.
	(list_name_data_func): Use set_cell_text_bold_if_folder().
	(list_mtime_data_func): Use set_cell_text_bold_if_folder().
	(list_size_data_func): Don't set anything if the file info is a
	folder.
2003-09-09 17:50:23 +00:00
Owen Taylor
243256ad4e Small doc fix 2003-09-09 15:37:54 +00:00
Federico Mena Quintero
613b441b5b Free the display_key.
2003-09-08  Federico Mena Quintero  <federico@ximian.com>

	* gtkfilesystem.c (gtk_file_info_free): Free the display_key.

	* gtkfilechooserimpldefault.c (list_mtime_data_func): New
	function.
	(create_file_list): Add a modification time column; remove the
	size column.
	(mtime_sort_func): New callback.
	(tree_selection_changed): Add a sorting function for the mtime
	column.  Have the model fetch the modification time as well.
	(tree_selection_changed): Do allow the file list model to show
	directories.

	* testfilechooser.c (my_new_from_file_at_size): Do not try to read
	non-regular files.
2003-09-09 15:18:29 +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
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
Federico Mena Quintero
a9eaa49d88 New function. (create_directory_tree): New function. (create_file_list):
2003-09-05  Federico Mena Quintero  <federico@ximian.com>

	* gtkfilechooserimpldefault.c (create_filter): New function.
	(create_directory_tree): New function.
	(create_file_list): New function.
	(create_filename_entry): New function.
	(gtk_file_chooser_impl_default_constructor): Use the functions
	above rather than creating the whole file chooser megawidget here,
	for readability.  This will also let us rearrange the user
	interface more easily.
2003-09-06 00:50:33 +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
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
Owen Taylor
0089371123 Remove excess check that was breaking with current GObject.
Wed Sep  3 16:38:59 2003  Owen Taylor  <otaylor@redhat.com>

        * glib-interface-propreties-0.5.patch: Remove excess
        check that was breaking with current GObject.

        * gtkfilechooser.c (gtk_file_chooser_class_init):
        use the new ability to have a class_init function for
        interfaces to avoid the ugly static gboolean initialized
        hack.
2003-09-03 20:42:44 +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
eccc733f29 brooooooooken pipe. 2003-09-03 19:57:05 +00:00
Owen Taylor
a653ea3a18 Update.
Wed Sep  3 15:32:26 2003  Owen Taylor  <otaylor@redhat.com>

        * glib-interface-propreties-{0.4,0.5}.patch: Update.

        * gtkfilechooserutils.c prop-editor.c: Update for
        newer interface-properties API.
2003-09-03 19:37:01 +00:00
Federico Mena Quintero
36dfea8ece Removed the "extra widget" bit, implemented with the following:
2003-09-03  Federico Mena Quintero  <federico@ximian.com>

	* TODO: Removed the "extra widget" bit, implemented with the
	following:

	* gtkfilechooser.h: Added gtk_file_chooser_{set,get}_extra_widget().

	* gtkfilechooser.c (gtk_file_chooser_base_init): Install an
	"extra-widget" interface property.
	(gtk_file_chooser_set_extra_widget): Implemented.
	(gtk_file_chooser_get_extra_widget): Implemented.

	* gtkfilechooserutils.h (GtkFileChooserProp): Added
	GTK_FILE_CHOOSER_PROP_EXTRA_WIDGET.

	* gtkfilechooserutils.c (_gtk_file_chooser_install_properties):
	Added the "extra-widget" property.

	* gtkfilechooserimpldefault.c (struct _GtkFileChooserImplDefault):
	Added an extra_widget field.
	(gtk_file_chooser_impl_default_set_property): Handle the
	"extra-widget" property.
	(gtk_file_chooser_impl_default_get_property): Likewise.
	(set_preview_widget): Fix the call gtk_container_remove().  Also,
	we don't need to ref/sink/unref the preview widget, as that gets
	already done by container_add/remove.
	(set_extra_widget): New utility function.

	* testfilechooser.c (main): Add an extra widget.
2003-09-03 05:52:35 +00:00
Federico Mena Quintero
cc4836c90b s/nonexistant/nonexistent Likewise. Likewise. Likewise.
2003-09-02  Federico Mena Quintero  <federico@ximian.com>

	* gtkfilesystem.h: s/nonexistant/nonexistent
	* gtkfilesystem.c: Likewise.
	* gtkfilesystemgnomevfs.c: Likewise.
	* gtkfilesystemunix.c: Likewise.

2003-08-27  Federico Mena Quintero  <federico@ximian.com>

	* README: The required GtkTreeView patches are already on CVS.
	Removed the part that mentions them.
2003-09-02 20:20:46 +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
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
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
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
Søren Sandmann Pedersen
9542740711 Forgot to actually commit this file 2003-08-29 19:28:44 +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
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
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
Matthias Clasen
3cb958de19 Make the previous commit compile. 2003-08-25 22:56:02 +00:00
Owen Taylor
eb41026147 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:46:57 +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
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
a6781eb5ec Add a few forgotten Since: 2.4 markers. 2003-08-24 20:48:27 +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
Anders Carlsson
9897d659c0 Use gdk_draw_pixbuf.
2003-08-24  Anders Carlsson  <andersca@gnome.org>

	* libegg/iconlist/eggiconlist.c: (egg_icon_list_paint_item),
	(egg_icon_list_paint_rubberband):
	Use gdk_draw_pixbuf.

	(egg_icon_list_item_unref):
	Call destroy_notify on the list item. Reported by Edd Dumbill.
2003-08-24 17:28:23 +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
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
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
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
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
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
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