Commit Graph

142 Commits

Author SHA1 Message Date
Matthias Clasen
633bc9cad5 Improve positioning of entry completion popup.
2004-09-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
	Improve positioning of entry completion popup.
2004-09-13 14:15:03 +00:00
Matthias Clasen
07b5626f00 Fix #150406, reported by Fernando San Martín Woerner, patch by Gustavo
Sun Aug 22 00:08:44 2004  Matthias Clasen  <maclas@gmx.de>

	Fix #150406, reported by Fernando San Martín Woerner, patch
	by Gustavo Carneiro.

	* gtk/gtkentrycompletion.c
	(gtk_entry_completion_default_completion_func): Check that
	column is of type G_TYPE_STRING before proceeding.
2004-08-22 04:11:14 +00:00
Matthias Clasen
3612aee585 Add hidden aliases for exported symbols which are used internally in order
Mon Aug  9 12:48:04 2004  Matthias Clasen  <maclas@gmx.de>

	Add hidden aliases for exported symbols which are
	used internally in order to get rid of many PLT
	entries.  (#145519, Arjan van de Ven)

	* gtk/Makefile.am: Add rules to generate gtk.def and
	from gtk.symbols, and make make check check the abi
	with abicheck.sh.
	(gtk_private_h_sources): Add gtkinternals.h
	(gtk_built_private_headers): Add gtkalias.h
	(gtk_extra_sources): Add gtk.symbols
	(EXTRA_DIST): Add makegtkalias.pl and abicheck.sh

	* gtk/gtk.symbols: New file. Definition of the GTK+ ABI.
	The file can be processed by cpp to filter out certain
	subsets of symbols.

	* gtk/abicheck.sh: New file. Script to check the actually
	symbols exported from libgtk-x11.2.0.so against the symbols
	found in gtk.symbols.

	* gtk/makegtkalias.pl: New file. Perl script to generate the
	header containing the alias definitions for internally used
	exported symbols from a list of symbols.

	* gtk/gtkinternals.h: New file. An uninstalled header listing
	symbols which must be exported for some reason and do not appear
	in any other header.

	* gtk/*.c: Include gtkalias.h
2004-08-09 16:59:53 +00:00
Matthias Clasen
02bd687e38 Don't steal the pointer grab from the context menu of the entry. (#148686,
Mon Aug  2 02:07:43 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_popdown):
	Don't steal the pointer grab from the context menu of the
	entry.  (#148686, Christian Persch)
2004-08-02 06:09:24 +00:00
Matthias Clasen
0d360a2af9 Fix the positioning of the popup.
Fri Jul 30 02:21:41 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
	Fix the positioning of the popup.
2004-07-30 06:22:26 +00:00
Matthias Clasen
d8a3d9de2f Typo fix. 2004-07-19 19:33:05 +00:00
Matthias Clasen
5351a4e444 Support inline autocompletion in entries (#135953)
2004-07-19  Matthias Clasen  <mclasen@redhat.com>

	Support inline autocompletion in entries  (#135953)

	* gtk/gtkentryprivate.h:
	* gtk/gtkentrycompletion.h:
	* gtk/gtkentrycompletion.c (gtk_entry_completion_class_init):
	Add a new signal ::insert-prefix which can be used to override
	the default inline-completion behaviour. Add two new boolean
	properties, :popup_completion and :inline_completion which
	determine how the possible completions should be presented.
	(gtk_entry_completion_insert_prefix): New function to request
	a prefix insertion.

	* gtk/gtkentry.c: Add the necessary glue for inline completion.
2004-07-19 18:15:48 +00:00
Matthias Clasen
d11ab53e6e Warning fixes. 2004-07-12 14:38:10 +00:00
Matthias Clasen
e1a243138a Reflect the last change in the docs.
Sat Jun 26 00:04:36 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_set_model):
	* gtk/gtkcombobox.c (gtk_combo_box_set_model): Reflect the
	last change in the docs.
2004-06-26 04:05:25 +00:00
Matthias Clasen
57e15782ff Allow passing NULL to unset the model. (#137211, patch by Mariano
Fri Jun 25 23:35:42 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_set_model):
	* gtk/gtkcombobox.c (gtk_combo_box_set_model): Allow passing
	NULL to unset the model.  (#137211, patch by  Mariano Suárez-Alvarez)

Fri Jun 25 23:33:05 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkcombobox.c (gtk_combo_box_menu_position_below): Fix the
	placement policy for GtkComboBoxEntry to be: if it fits below,
	place below, if it fits above place above, else place in the
	larger space and scroll so that the scroll arrow appear at the
	far end.  (#144362, David A. Knight)
2004-06-26 03:39:35 +00:00
Matthias Clasen
1640e34c8c Add an ignore_enter flag and use it as in the menu code to avoid the
Sat Jun  5 23:07:30 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkentrycompletion.c: (gtk_entry_completion_init),
	(gtk_entry_completion_list_enter_notify),
	(gtk_entry_completion_list_motion_notify),
	(_gtk_entry_completion_popup), (_gtk_entry_completion_popdown):
	* gtk/gtkentryprivate.h: Add an ignore_enter flag and
	use it as in the menu code to avoid the initial selection if
	the window pops up under the pointer.  (Anders Carlsson)
2004-06-06 03:17:45 +00:00
Matthias Clasen
d5f3cb1409 Rename function parameters from index to index_ to prevent clash with BSD
Tue Jun  1 23:14:46 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktoolbar.h:
	* gtk/gtktoolbar.c:
	* gtk/gtkentrycompletion.h:
	* gtk/gtkentrycompletion.c:
	* gtk/gtkcombobox.h:
	* gtk/gtkcombobox.c: Rename function parameters from
	index to index_ to prevent clash with BSD index().  (#143001)
2004-06-02 03:16:03 +00:00
Matthias Clasen
924ba34026 Add some docs. 2004-05-27 04:48:41 +00:00
Matthias Clasen
696f54a804 Make GtkEntryCompletion::text_column a property. 2004-05-27 04:46:42 +00:00
Matthias Clasen
460dfabb87 Restrict the width of the popup to be no larger than the monitor.
2004-05-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
	Restrict the width of the popup to be no larger than the
	monitor.  (#142678, DmD Ljungmark)
2004-05-18 18:31:54 +00:00
Matthias Clasen
e6a343408e Set the entry in the default handler of the ::match-selected signal.
2004-05-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_list_button_press):
	Set the entry in the default handler of the ::match-selected signal.
	(#137226)
2004-05-10 19:10:27 +00:00
Matthias Clasen
b301315706 Use hover selection mode. (#127648, Dave Bordoley)
2004-05-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_init):
	* gtk/gtkcombobox.c (gtk_combo_box_list_setup): Use hover selection
	mode.  (#127648, Dave Bordoley)

	* gtk/gtktreeview.h:
	* gtk/gtktreeview.c: Add a new property "hover_selection", which
	when TRUE makes the selection follow the mouse. Also add setter
	and getter for the fixed_height property.
2004-05-10 17:15:14 +00:00
Matthias Clasen
c4ed9dc78c Don't call gtk_tree_view_scroll_to_cell() on an empty tree view. It
2004-04-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
	Don't call gtk_tree_view_scroll_to_cell() on an empty tree view.
	It doesn't like that.  (#140642, Christian Persch)
2004-04-21 21:47:53 +00:00
Matthias Clasen
d7cb94614d Typo fix.
2004-04-12  Matthias Clasen  <mclasen@dhcp64-228.boston.redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_get_cell_area): Typo fix.

	* gtk/gtkentrycompletion.c (gtk_entry_completion_init): Don't add
	a shadow inside the scrolled window, add it around the vbox.

	* gtk/gtkentryprivate.h:
	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
	Return a boolean indicating whether the popup is positioned above
	or below. Scroll the completions to the beginning or the end,
	depending on the positioning.

	* gtk/gtkentry.c (gtk_entry_completion_key_press): Make keynav
	wrap around in the entry completion popup, and allow GDK_UP to
	enter the popup.  (#137440)

2004-04-12  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentry.c (gtk_entry_size_request): Make sure the style is
	there before using it.
2004-04-12 19:40:22 +00:00
Matthias Clasen
4036e7f5e6 Move the repositioning logic from _gtk_entry_completion() popup over here.
Wed Mar 17 01:20:28 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup):
	Move the repositioning logic from _gtk_entry_completion() popup
	over here. Fixes #137355, reported by Niklas Knutsson.
2004-03-17 00:17:07 +00:00
Matthias Clasen
bf86da9df0 Block the ::changed handler during the emission of ::match-selected.
Tue Mar 16 00:56:11 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_list_button_press):
	Block the ::changed handler during the emission of ::match-selected.
	Partial fix for #137226.

	* gtk/gtkfilechooserentry.c: Remove the no longer needed
	no_pop_down flag.
2004-03-15 23:56:44 +00:00
Matthias Clasen
f2e252a2c2 Add some docs. 2004-03-15 01:32:20 +00:00
Jonathan Blandford
74cf801f68 always use the match_func, even if text_column is set.
Sun Mar 14 15:38:39 2004  Jonathan Blandford  <jrb@gnome.org>

        * gtk/gtkentrycompletion.c (gtk_entry_completion_visible_func):
        always use the match_func, even if text_column is set.
2004-03-14 20:44:10 +00:00
Matthias Clasen
d96974454f Set the background on the action view cell renderer here, not in init, so
Wed Mar 10 23:40:15 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): Set the background
	on the action view cell renderer here, not in init, so that a) we catch
	style changes, and b) we get the real style, not the default one.
	Partial fix for #127648, reported by Dave Bordoley.
2004-03-10 22:42:48 +00:00
Federico Mena Quintero
80581c3011 Fixes #136082 and #135265, patch by Morten Welinder.
2004-03-05  Federico Mena Quintero  <federico@ximian.com>

	Fixes #136082 and #135265, patch by Morten Welinder.

	* configure.in: Use AC_SYS_LARGEFILE.

	* */*.c: #include <config.h>
2004-03-06 03:38:59 +00:00
Matthias Clasen
576ce8141b Doc update. 2004-03-03 22:55:46 +00:00
Matthias Clasen
f2cc9ae8a1 Avoid popping up the completions across the edge of the monitor. Part of
Tue Mar  2 23:08:12 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_popup): Avoid
	popping up the completions across the edge of the monitor.
	Part of #135561.
2004-03-02 22:20:04 +00:00
Matthias Clasen
a362428d2a Add chains to the parent's ::finalize() handler (#134901, Morten Welinder,
Sun Feb 22 03:03:29 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkaction.c: (gtk_action_finalize):
	* gtk/gtkclipboard.c: (gtk_clipboard_finalize):
	* gtk/gtkentrycompletion.c: (gtk_entry_completion_class_init),
	(gtk_entry_completion_finalize):
	* gtk/gtkfilechooserwidget.c: (gtk_file_chooser_widget_finalize):
	* gtk/gtkfilesystemmodel.c: (gtk_file_system_model_class_init),
	(gtk_file_system_model_finalize):
	* gtk/gtkicontheme.c: (gtk_icon_theme_class_init),
	(gtk_icon_theme_finalize):
	* gtk/gtktextchild.c: (gtk_text_child_anchor_finalize):
	* gtk/gtkuimanager.c: (gtk_ui_manager_class_init),
	(gtk_ui_manager_finalize):
	* modules/input/gtkimcontextxim.c: (gtk_im_context_xim_finalize):
	Add chains to the parent's ::finalize() handler  (#134901, Morten Welinder,
	patch by Jan Arne Petersen)
2004-02-22 02:06:49 +00:00
Matthias Clasen
8d4f4d5fde Don't crash if item is NULL. (#131542, Dan Damian)
Sun Feb 22 02:10:34 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_default_completion_func):
	Don't crash if item is NULL.  (#131542, Dan Damian)
2004-02-22 01:07:39 +00:00
Matthias Clasen
4f67285651 Don't leak string. (#132482, Christian Persch)
Wed Jan 28 21:40:47 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_action_data_func):
	Don't leak string.  (#132482, Christian Persch)
2004-01-28 20:39:46 +00:00
Anders Carlsson
42f1406dbf Check if the completion is the same one as the old one.
2004-01-23  Anders Carlsson  <andersca@gnome.org>

	* gtk/gtkentry.c: (gtk_entry_set_completion):
	Check if the completion is the same one as the old one.

	* gtk/gtkentrycompletion.c:
	* gtk/gtkentrycompletion.h:
	Move GET_PRIVATE macro into .c file, fix a trivial spelling
	error.
2004-01-23 08:38:47 +00:00
Matthias Clasen
07d4d314b6 The first part of the fix for #114351 (see also gdk-pixbuf/ChangeLog and
Fri Jan 16 23:59:01 2004  Matthias Clasen  <maclas@gmx.de>

	The first part of the fix for #114351 (see also
	gdk-pixbuf/ChangeLog and po/ChangeLog):

	* gtk/gtkintl.h:
	* gdk-pixbuf/gdk-pixbuf-i18n.h:
	* gdk/gdkintl.h: Define P_() for property blurbs and nicks.

	* gdk/gdkdisplaymanager.c:
	* gdk-pixbuf/gdk-pixbuf.c:
	* modules/input/gtkimcontextxim.c:
	* gtk/*.c:  Mark property blurbs and nicks with P_().

	* po/Makefile.in.in: Add --keyword=P_ to the xgettext
	invocation, since property blurbs and nicks are
	now marked with P_().
2004-01-16 23:10:05 +00:00
Kristian Rietveld
2f4326e406 Fixes #108458.
Fri Dec 19 23:36:00 2003  Kristian Rietveld  <kris@gtk.org>

	Fixes #108458.

	* gtk/gtkcelllayout.[ch]: added a reorder method.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_layout_init),
	(gtk_tree_view_column_cell_layout_reorder): implement reorder.

	* gtk/gtkcellview.c (gtk_cell_view_cell_layout_init),
	(gtk_cell_view_cell_layout_reorder): ditto.

	* gtk/gtkcombobox.c (gtk_combo_box_cell_layout_init),
	(gtk_combo_box_cell_layout_reorder): ditto.

	* gtk/gtkentrycompletion.c (gtk_entry_completion_cell_layout_init),
	(gtk_entry_completion_reorder): ditto.
2003-12-19 22:47:20 +00:00
Kristian Rietveld
720873b9cc always resize the popup when it is visible, popdown when there are less
Wed Nov 19 22:15:01 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkentry.c (gtk_entry_completion_timeout): always resize
	the popup when it is visible, popdown when there are less chars
	than the minimum key length in the entry,
	(gtk_entry_completion_changed): popdown when the entry is empty.

	* gtk/gtkentrycompletion.c (gtk_entry_completion_init): set the
	size request of the vscrollbar to (-1, 0), to get a nicely sized
	completion treeview (Fixes #126573, reported by Piers Cornwell),
	(_gtk_entry_completion_resize_popup): show/hide the action_view
	based on items.
2003-11-19 21:26:27 +00:00
Kristian Rietveld
ed77f62512 only unselect all items if the treeview has focus. (Fixes bug reported by
Wed Nov 19 00:06:04 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_selection_changed):
	only unselect all items if the treeview has focus. (Fixes bug
	reported by Marco Pesenti Gritti).
2003-11-18 23:12:10 +00:00
Kristian Rietveld
18154a2ea4 add _gtk_entry_completion_resize_popup.
Mon Nov 17 22:56:09 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkentryprivate.h: add _gtk_entry_completion_resize_popup.

	* gtk/gtkentry.c (gtk_entry_completion_timeout): popup when not
	mapped, else resize_popup.

	* gtk/gtkentrycompletion.c (_gtk_entry_completion_resize_popup),
	(_gtk_entry_completion_popup): moved all popup resizing code to
	_gtk_entry_completion_resize_popup, and show the window when there
	are more than zero items in the completion list again (sigh).
2003-11-17 22:02:21 +00:00
Kristian Rietveld
3a5b5a0f78 Fix includes.
Thu Oct 23 20:21:16 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkcelllayout.c, gtk/gtkcellview.c gtk/gtkcellviewmenuitem.c,
	gtk/gtkcombobox.c, gtk/gtkcomboboxentry.c, gtk/gtkentrycompletion.c,
	gtk/gtktreemodelfilter.c, gtk/gtkcellrenderertoggle.c: Fix includes.
2003-10-23 18:25:53 +00:00
Kristian Rietveld
027d69003e remove the reset of first_sel_changed, as after the first popup the
Mon Oct 13 21:01:43 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkentrycompletion.c (gtk_entry_completion_popup): remove
	the reset of first_sel_changed, as after the first popup the treeview
	will always have a row selected and will thus not focus_to_cursor.

	* gtk/gtkentry.c (keyval_is_cursor_move): new function to determine
	whether the keyval should move the completion selection cursor (used
	to avoid ending up with extreme cluttered code), also added
	all KP_ equivalents of the keys here,
	(gtk_entry_completion_key_press): Keynav tweaks based on comments
	from Dave Bordoley and Marco Pesenti Gritti; add the -1 state
	as possible current selection, implement Home/End keys, modified
	the down key to stop cycling. Maybe page up/down should be implemented
	at some later time.
2003-10-13 19:07:34 +00:00
Kristian Rietveld
761a6745c3 the gchar* parameters should be const (pointed out by both Marco Pesenti
Sat Oct 11 15:47:03 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkentrycompletion.[ch] (gtk_entry_completion_insert_action),
	(gtk_entry_completion_insert_action_text),
	(gtk_entry_completion_insert_action_markup): the gchar* parameters
	should be const (pointed out by both Marco Pesenti Gritti and
	Murray Cumming (#124356).
2003-10-11 13:49:22 +00:00
Kristian Rietveld
c3841e7019 Fixes based on comments from Marco Pesenti Gritti.
Sat Oct 11 15:23:27 2003  Kristian Rietveld  <kris@gtk.org>

	Fixes based on comments from Marco Pesenti Gritti.

	* gtk/gtkentry.c (gtk_entry_set_text): block the completion changed
	signal handler, avoids the completion popup to popup when text is
	set programmatically in most cases (we actually have to handle this
	in the _editable functions as well, but that will break popping up
	when the user actually typed something :),
	(gtk_entry_completion_key_press): when handling enter, bail out
	when nothing has been selected,
	(gtk_entry_completion_changed): don't popdown when the entry content
	changed.

	* gtk/gtkentrycompletion.c (gtk_entry_completion_init),
	(gtk_entry_completion_selected_changed): unselect_all on the
	first selected changed signal. Avoids having a default row selected,
	(_gtk_entry_completion_popup): don't select the first row by default.

	* gtk/gtkentryprivate.h (struct _GtkEntryCompletionPrivate): add a
	first_sel_changed field.
2003-10-11 13:32:16 +00:00
Kristian Rietveld
881df5c460 Add API doc comments.
Tue Sep 30 23:42:56 2003  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtkentry.c (gtk_entry_set_completion),
	(gtk_entry_get_completion): Add API doc comments.

	* gtk/gtkentrycompletion.c: Fix #includes and add API doc comments.
2003-09-30 21:44:39 +00:00
Kristian Rietveld
edef7d00d9 Landing GtkTreeModelFilter and the completion code. (Test program and
Fri Jul 11 14:32:43 2003  Kristian Rietveld  <kris@gtk.org>

	Landing GtkTreeModelFilter and the completion code. (Test program
	and documentation will follow next week).

	* gtk/gtkcellayout.[ch], gtk/gtkentrycompletion.[ch],
	gtk/gtktreemodelfilter.[ch], gtk/gtkentryprivate.h: new files.

	* gtkentry.[ch]: added gtk_entry_{get,set}_completion, wrote
	necessary code to hook up completion.

	* gtktreeviewcolumn.c: made GtkTreeViewColumn implement the new
	GtkCellLayout interface.

	* gtkmarshalers.list: added BOOLEAN:OBJECT,BOXED.

	* gtk/gtk.h, gtk/Makefile.am, po/POTFILES.in: all updated for the new
	source files.
2003-07-11 12:51:24 +00:00