Commit Graph

337 Commits

Author SHA1 Message Date
Michael Natterer
42debff10d gtk/gtkcheckbutton.c gtk/gtkdnd.c gtk/gtkentry.c gtk/gtkmenu.c
2007-01-18  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkcheckbutton.c
	* gtk/gtkdnd.c
	* gtk/gtkentry.c
	* gtk/gtkmenu.c
	* gtk/gtktreeview.c
	* gtk/gtkviewport.c: pass more clip rectangles to gtk_paint_foo()
	functions. Based on a patch from maemo-gtk (bug #398023).


svn path=/trunk/; revision=17183
2007-01-18 17:30:10 +00:00
Michael Natterer
adcdfcd59f don't add entry->scroll_offset to entry->drag_start_y. Fixes the entry
2007-01-12  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkentry.c (gtk_entry_button_press): don't add
	entry->scroll_offset to entry->drag_start_y. Fixes the entry
	starting drags after ridiculously small mouse movements.


svn path=/trunk/; revision=17134
2007-01-12 11:56:57 +00:00
Matthias Clasen
014b276774 Work when the entry is not realized. (#392315, Yevgen Muntyan)
2007-01-03  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c (get_text_area_size): Work when the
        entry is not realized.  (#392315, Yevgen Muntyan)

        * gtk/gtkentry.c (gtk_entry_queue_draw): Use
        GTK_WIDGET_DRAWABLE() here.  (#392227, Chris Wilson)

        * gtk/gtkentry.c (cursor_blinks): Don't get settings
        unnecessarily.  (#392227)


svn path=/trunk/; revision=17030
2007-01-03 16:10:15 +00:00
Matthias Clasen
6f73a63532 Center in the frame. (#304482, Rob Staudinger, patch by Richard
2007-01-02  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c (get_text_area_size): Center in the frame.
        (#304482, Rob Staudinger, patch by  Richard Stellingwerff)



svn path=/trunk/; revision=17015
2007-01-02 14:23:33 +00:00
Matthias Clasen
571f4ff972 Don't install cursors on insensitive widgets. (#358864, Jan Schampera)
2006-12-30  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c:
        * gtk/gtklabel.c:
        * gtk/gtkpaned.c:
        * gtk/gtkstatusbar.c:
        * gtk/gtktextview.c: Don't install cursors on insensitive
        widgets.  (#358864, Jan Schampera)

svn path=/trunk/; revision=16983
2006-12-31 00:36:03 +00:00
Matthias Clasen
4193650dc9 Don't die in an assertion if focus went missing. Just warn, clean up and
2006-12-29  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c (blink_cb):
        * gtk/gtktextview.c (blink_cb): Don't die in an assertion
        if focus went missing. Just warn, clean up and continue.
        (#374378)
2006-12-29 19:26:34 +00:00
Behdad Esfahbod
ff3bfe96ea Use gtk_border_free when freeing border.
2006-12-24  Behdad Esfahbod  <behdad@gnome.org>

        * gtk/gtkentry.c (_gtk_entry_effective_inner_border):
        Use gtk_border_free when freeing border.
2006-12-24 09:54:56 +00:00
Matthias Clasen
a9d25d6235 When shift-clicking, keep the larger part of the selection selected.
2006-12-24  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c (gtk_entry_button_press): When
        shift-clicking, keep the larger part of the selection
        selected.  (#353709, Benjamin Otte)

        * gtk/gtkbutton.c (gtk_button_get_props): Use
        gtk_border_free when freeing borders.
2006-12-24 06:32:07 +00:00
Behdad Esfahbod
d698e3eaf2 Bug 340141 – Update to Pango 1.16 API
2006-12-24  Behdad Esfahbod  <behdad@gnome.org>

        Bug 340141 – Update to Pango 1.16 API

        * gdk/gdkpango.c (layout_iter_get_line_clip_region),
        (gdk_pango_layout_line_get_clip_region):
        * gtk/gtkcalendar.c (gtk_calendar_size_request):
        * gtk/gtkentry.c (gtk_entry_get_pixel_ranges),
        (get_layout_position), (gtk_entry_find_position),
        (gtk_entry_adjust_scroll):
        * gtk/gtkiconview.c (get_pango_text_offsets):
        * gtk/gtklabel.c (get_cursor_direction):
        * gtk/gtkstyle.c (get_insensitive_layout):
        * gtk/gtktextdisplay.c (render_para):
        * gtk/gtktextlayout.c (allocate_child_widgets),
        (find_display_line_below), (find_display_line_above),
        (gtk_text_layout_move_iter_to_previous_line),
        (gtk_text_layout_move_iter_to_next_line),
        (gtk_text_layout_move_iter_to_line_end),
        (gtk_text_layout_iter_starts_line),
        (gtk_text_layout_move_iter_to_x):
        * gtk/gtktextutil.c (limit_layout_lines):
        Use the _readonly version of pango_layout_iter_get_line(),
        pango_layout_iter_get_run(), pango_layout_get_line(), and
        pango_layout_get_lines().

        * gtk/gtkmain.c (gtk_get_default_language): Use
        pango_get_default_language().
2006-12-24 05:29:25 +00:00
Matthias Clasen
106ddae86d Emit changed and notify:text only once. The same fix was applied for
2006-12-24  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkentry.c (gtk_entry_set_text): Emit changed
        and notify:text only once. The same fix was applied
        for replacing the selection via DND or copy-and-paste.
        (#64998, Damon Chaplin, Sven Herzberg)
2006-12-24 05:18:25 +00:00
Matthias Clasen
721c3bc101 Replace a lot of idle and timeout calls by the new gdk_threads api.
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * *.c: Replace a lot of idle and timeout calls by
        the new gdk_threads api.
2006-12-22 19:10:43 +00:00
Paolo Maggi
4719b375cf Fixes bug #383407
2006-12-07  Paolo Maggi  <paolo@gnome.org>

	Fixes bug #383407

	* gtk/gtkentry.c (gtk_entry_set_text): check for
	completion->priv->changed_id > 0 before calling
	g_signal_handler_[un]block.
	(gtk_entry_completion_key_press): does not block/unblock the
"changed"
	signal before calling gtk_entry_set_text.
2006-12-07 17:01:16 +00:00
Michael Natterer
7f374a74ba Add new infrastructure for notifications of failed keyboard navigation and
2006-11-16  Michael Natterer  <mitch@imendio.com>

	Add new infrastructure for notifications of failed keyboard
	navigation and navigation with restricted set of keys.

	The patch handles configurable beeping, navigating the GUI with
	cursor keys only (as in phone environments), and configurable
	wrap-around. Fixes bugs #322640, #70986, #318827, #334726, #334742
	and #309291.

	* gtk/gtksettings.c: added properties gtk-keynav-cursor-only,
	gtk-keynav-wrap-around and gtk-error-bell.

	* gtk/gtkwidget.[ch]: added new signal "keynav-failed" and public
	API to emit it. Added New function gtk_widget_error_bell() which
	looks at the gtk-error-bell setting and calls gdk_window_beep()
	accordingly.

	* gtk/gtk.symbols: add the new widget symbols.

	* gtk/gtkcellrendereraccel.c
	* gtk/gtkimcontextsimple.c
	* gtk/gtkmenu.c
	* gtk/gtknotebook.c: use gtk_widget_error_bell() or look at the
	gtk-error-bell setting instead of calling gdk_display_beep()
	unconditionally.

	* gtk/gtkcombobox.c
	* gtk/gtkentry.c
	* gtk/gtkiconview.c
	* gtk/gtklabel.c
	* gtk/gtkmenushell.c
	* gtk/gtkspinbutton.c
	* gtk/gtktextview.c
	* gtk/gtktreeview.c: call gtk_widget_error_bell() on failed keynav.

	* gtk/gtkentry.c
	* gtk/gtklabel.c
	* gtk/gtkrange.c
	* gtk/gtktextview.c: consult gtk_widget_keynav_failed() on failed
	cursor navigation and leave the widget if it returns FALSE.

	* gtk/gtkmenushell.c
	* gtk/gtknotebook.c: only wrap around if gtk-keynav-wrap-around
	is TRUE.

	* gtk/gtkradiobutton.c: ask gtk_widget_keynav_failed() to decide
	whether to to wrap-around, and don't select active items on cursor
	navigation if gtk-keynav-cursor-only is TRUE. Should look at
	gtk-keynav-wrap-around too, will look into that.
2006-11-16 12:56:30 +00:00
Matthias Clasen
b46442a5a3 Fix interaction of GtkEntryCompletion with input methods. (#354495, Diego
2006-10-03  Matthias Clasen  <mclasen@redhat.com>

        Fix interaction of GtkEntryCompletion with input
        methods.  (#354495, Diego Escalante Urrelo)

        * gtk/gtkentry.c (gtk_entry_completion_key_press): Only reset
        the im context if we actually handle the key event.

        * gtk/gtkentrycompletion.c: Also propagate key release events
        to the entry.
2006-10-04 03:26:34 +00:00
Matthias Clasen
c2495e2d62 Don't unnecessarily reset the im context when deleting the selection.
2006-09-01  Matthias Clasen  <mclasen@redhat.com>
        * gtk/gtkentry.c: Don't unnecessarily reset the im context
        when deleting the selection.  (#353803, Alex Larsson)
2006-09-01 14:44:06 +00:00
Matthias Clasen
5b0de8d597 Stop cursor blinking after a configurable timeout. (#353670, #352442,
Stop cursor blinking after a configurable timeout.
	(#353670, #352442, Arjan van de Ven, Manu Cornet)

	* gtk/gtksettings.c (gtk_settings_class_init): Add a
	gtk-cursor-blink-timeout setting, which specifies the number
	of seconds that the cursor should blink after a user interaction.
	The default value is G_MAXINT to preserve the current behaviour.

	* gtk/gtkentry.c (blink_cb): Stop blinking after blink-timeout
	seconds.

	* gtk/gtkentry.c (gtk_entry_completion_key_press)
	(gtk_entry_button_press, gtk_entry_focus_in): Reset the
	blink timer.

	* gtk/gtktextview.c (blink_cb): Stop blinking after blink-timeout
	seconds.

	* gtk/gtktextview.c (gtk_text_view_key_press_event)
	(gtk_text_view_button_press_event, gtk_text_view_focus_in_event):
	Reset the blink timer.
2006-09-01 02:14:30 +00:00
Matthias Clasen
db9a5e3d24 Popup completion if paste is at the end (patch was already in 2.8.x).
2006-08-16  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentry.c (paste_received): Popup completion if paste
	is at the end (patch was already in 2.8.x).  (#165714,
	Christian Persch)
2006-08-16 17:42:54 +00:00
Matthias Clasen
83e9b96337 Export privately. Adjust all callers.
2006-08-15  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentryprivate.h:
	* gtk/gtkentry.c (_gtk_entry_effective_inner_border): Export
	privately. Adjust all callers.

	* gtk/gtkspinbutton.c (gtk_spin_button_size_request): Use it
	here to get the actual inner border.  (#349429, Benjamin Berg)
2006-08-15 18:52:14 +00:00
Matthias Clasen
8af7ea4ace Don't leak in the non-editable case. (#350258, Colin Leroy)
2006-08-14  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentry.c (gtk_entry_drag_data_received): Don't leak
	in the non-editable case.  (#350258, Colin Leroy)
2006-08-14 19:33:50 +00:00
Matthias Clasen
c8b214680d Export gtk_entry_reset_im_context privately.
2006-08-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentry.c:
	* gtk/gtkentryprivate.h: Export gtk_entry_reset_im_context
	privately.

	* gtk/gtkentrycompletion.c (gtk_entry_completion_action_button_press):
	* gtk/gtkentry.c (gtk_entry_completion_key_press): Reset the
	entry's im context here.  (#348478, Nguyen Thai Ngoc Duy, Christian
	Persch)
2006-08-06 03:32:59 +00:00
Matthias Clasen
f8f9384537 Documentation additions and fixes.
2006-06-28  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkprinter.c:
        * gtk/gtkprintunixdialog.c:
        * gtk/gtkprintoperationpreview.c:
        * gtk/gtkprintcontext.c (gtk_print_context_set_cairo_context):
        * gtk/gtklabel.c (gtk_label_set_line_wrap_mode):
        * gtk/gtkentry.c (gtk_entry_new):
        * gtk/gtkprintoperation.c (gtk_print_operation_set_custom_tab_label):
        * gtk/gtkclipboard.c (gtk_clipboard_wait_for_rich_text): Documentation
        additions and fixes.

        * gtk/gtkaspectframe.h:
        * gtk/gtkaboutdialog.c:
        * gtk/gtkcalendar.c:
        * gtk/gtkinputdialog.c:
        * gtk/gtk.symbols: Remove unnecessary includes.

        * gtk/gtkprogress.[hc]:
        * gtk/gtkitemfactory.[hc]: Don't unnecessarily use GTK_COMPILATION,
        remove unnecessary includes.
2006-06-29 09:18:07 +00:00
Matthias Clasen
d02831a46b make it compile 2006-06-08 04:10:09 +00:00
Matthias Clasen
6ea0b7d046 Adjust Delete insensitivity 2006-06-08 03:51:21 +00:00
Matthias Clasen
e1e8a9b504 Make drops end up at the right spot. (#342072, Yevgen Muntyan)
2006-05-18  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentry.c (gtk_entry_drag_data_received): Make drops
	end up at the right spot.  (#342072,  Yevgen Muntyan)
2006-05-18 16:42:56 +00:00
Matthias Clasen
113f364a37 More of the same 2006-05-14 04:25:34 +00:00
Matthias Clasen
f26aad1916 Boilerplate reduction 2006-05-02 23:56:43 +00:00
Matthias Clasen
660f089880 Improve positioning of the menu when popped up by keynav. (#334987,
2006-04-27  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentry.c (popup_position_func): Improve positioning
	of the menu when popped up by keynav.  (#334987, Christian
	Persch)
2006-04-27 18:50:39 +00:00
Matthias Clasen
adf11020fd Fix typos in property blurbs. (#338772, Clytie Siddall)
2006-04-17  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtksettings.c (gtk_settings_class_init):
	* gtk/gtkentry.c (gtk_entry_class_init): Fix typos
	in property blurbs.  (#338772, Clytie Siddall)
2006-04-17 12:59:01 +00:00
Michael Natterer
f98506b1f3 renamed last-char-timeout to password-hint-timeout and store all its data
2006-03-22  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkentry.c: renamed last-char-timeout to
	password-hint-timeout and store all its data in a struct attached
	as QData.

	* gtk/gtkcellrendererspin.c: fix typo in #include.
2006-03-22 16:17:52 +00:00
Michael Natterer
eb313fc8e4 applied modified patch from maemo-gtk which allows the most recently
2006-03-22  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkentry.c: applied modified patch from maemo-gtk which
	allows the most recently entered character in a hidden entry to be
	shown for a configurable period of time. Fixes bug #334560.
2006-03-22 14:06:40 +00:00
Michael Natterer
1d2bcff97d applied refactored patch from maemo-gtk that replaces the INNER_BORDER
2006-03-10  Michael Natterer  <mitch@gimp.org>

	* gtk/gtkentry.[ch]: applied refactored patch from maemo-gtk that
	replaces the INNER_BORDER define by an "inner-border" style
	property of type GtkBorder. Additionally, add an "inner-border"
	object property plus API which allows to override any theme
	border, to allow pixel-perfect positioning of entries for inline
	editing. Fixes bug #333922.

	* gtk/gtk.symbols: add the new public functions.
2006-03-10 10:30:36 +00:00
Michael Natterer
3961acfb68 make sure that the text_area_width is always >= 0. Fixes bug #316712 (Dan
2006-03-08  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkentry.c (gtk_entry_adjust_scroll): make sure that the
	text_area_width is always >= 0. Fixes bug #316712 (Dan Winship).
2006-03-08 14:04:53 +00:00
Matthias Clasen
ea6731b779 Remove an unused variable.
2006-01-14  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentry.c (gtk_entry_drag_data_received): Remove
	an unused variable.
2006-01-15 04:44:26 +00:00
Matthias Clasen
a7a85ac867 Shrink the private structs of these a bit.
2006-01-08  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentry.[hc]:
	* gtk/gtklabel.[hc]: Shrink the private structs of these a bit.
2006-01-08 07:54:43 +00:00
Matthias Clasen
438e7e9040 When deleting words, delete preceding whitespace as well. (#325358, Akkana
2006-01-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentry.c (gtk_entry_delete_from_cursor): When deleting
	words, delete preceding whitespace as well.  (#325358,  Akkana Peck)
2006-01-03 03:56:44 +00:00
Matthias Clasen
36a2bde0d1 Connect to notify instead of multiple detailed signals.
2005-12-31  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtkaction.c:
        * gtk/gtkentry.c: Connect to notify instead of multiple
        detailed signals.
2005-12-31 07:06:31 +00:00
Michael Natterer
f41db86239 implement boolean property "truncate-multiline" which, when enabled,
2005-12-19  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkentry.c: implement boolean property "truncate-multiline"
	which, when enabled, truncates multi-line pastes or drops to their
	first line. Fixes bug #322252.

	* gtk/gtkfilechooserentry.c (gtk_file_chooser_entry_init): enable
	truncate-multiline here.
2005-12-19 19:03:51 +00:00
Matthias Clasen
fce9359e47 Include gtkimcontextsimple.h (#322235, Kazuki IWAMOTO)
2005-11-23  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentry.c: Include gtkimcontextsimple.h  (#322235,
	Kazuki IWAMOTO)
2005-11-23 14:35:05 +00:00
Matthias Clasen
c8bab6c3d5 Turn off input methods in invisible entries, since they are confusing.
2005-11-18  Matthias Clasen  <mclasen@redhat.com>

	Turn off input methods in invisible entries, since
	they are confusing.  (#317002, James Su)

	* gtk/gtkentry.c (gtk_entry_set_visibility): Toggle input
	methods if visibility changes.
	(popup_targets_received): Don't show the input method
	menu if the entry is invisible.
2005-11-18 19:13:11 +00:00
Matthias Clasen
f2724a2515 Add settings to hide the input method and Unicode control character
2005-10-24  Matthias Clasen  <mclasen@redhat.com>

        Add settings to hide the input method and Unicode control character
        submenus in the context menus of GtkEntry and GtkTextView.

        * gdk/x11/gdkevents-x11.c: Map GTK+ settings to X settings.

        * gtk/gtksettings.c (gtk_settings_class_init): Declare GTK+ settings here.

        * gtk/gtktextview.c (popup_targets_received):
        * gtk/gtkentry.c (popup_targets_received): Use the settings here.
2005-10-24 20:01:57 +00:00
Johan Dahlin
a8a097c08f Mention NULL in documentation.
* gtk/gtkentry.c (gtk_entry_set_completion): Mention NULL in
    documentation.
2005-09-20 15:20:11 +00:00
Matthias Clasen
463aab93dd Various cleanups. (#315360, Kjartan Maraas)
2005-09-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/*.c: Various cleanups.  (#315360, Kjartan Maraas)
2005-09-13 19:57:42 +00:00
Matthias Clasen
4957e325c0 Let GDK_Return pass through in some more cases.
2005-09-13  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkimcontextsimple.c (gtk_im_context_simple_filter_keypress):
	Let GDK_Return pass through in some more cases.

	* gtk/gtkentry.c (gtk_entry_key_press): Reset the im context before
	activating the entry.
2005-09-13 18:50:39 +00:00
Matthias Clasen
af89d145f7 Use gdk_atom_intern_static_string() where appropriate.
* gtk/*.c:  Use gdk_atom_intern_static_string() where
	appropriate.
2005-09-11 05:48:27 +00:00
Matthias Clasen
a809ae2a81 Disconnect idle handlers on destroy to avoid problems when they are called
2005-09-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentry.c (gtk_entry_destroy): Disconnect idle handlers
	on destroy to avoid problems when they are called on a destroyed
	widget.  (#315135, John Cupitt)
2005-09-02 19:48:53 +00:00
Matthias Clasen
ade8ec4c4e Add bindings for Ctrl-Shift-A to unselect all. (#309301, Kathy Fernandes)
2005-09-02  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentry.c (gtk_entry_class_init):
	* gtk/gtktextview.c (gtk_text_view_class_init): Add bindings
	for Ctrl-Shift-A to unselect all.  (#309301, Kathy Fernandes)
2005-09-02 18:23:10 +00:00
Matthias Clasen
94eec04267 Intern some more strings.
2005-09-01  Matthias Clasen  <mclasen@redhat.com>

        * gdk/*.c: Intern some more strings.
        * gtk/gtkintl.h:
        * gtk/*.c: Define an I_() macro and use it instead of the
        bulky g_intern_static_string().
2005-09-01 05:11:46 +00:00
Matthias Clasen
f4bbe8f0de Also intern static strings passed to g_object_set_data() 2005-08-31 17:58:55 +00:00
Matthias Clasen
c09cc89317 Intern type names in code generated by glib-mkenums, too.
2005-08-31  Matthias Clasen  <mclasen@redhat.com>

	* gdk/Makefile.am:
	* gtk/Makefile.am: Intern type names in code generated by
	glib-mkenums, too.

	* gtk/*.c:
	* gdk/x11/*.c:
	* gdk/*.c: Intern type names before registering the type to avoid
	unnecessary copies.
2005-08-31 16:53:43 +00:00
Matthias Clasen
fc8d9dc2bd Add key bindings to make C-/ select all and C-\ unselect all. (#309301,
2005-08-30  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtkentry.c (gtk_entry_class_init): Add key bindings to
	make C-/ select all and C-\ unselect all.  (#309301,
	Kathy Fernandez)
2005-08-30 18:38:17 +00:00