Commit Graph

888 Commits

Author SHA1 Message Date
020c1846b7 Use the workarea when placing popups
This uses the new workarea API to avoid placing popups underneath
panels, docks, etc.
2011-12-18 14:29:16 -05:00
92a72ce3e5 entry: Move freeze/thaw into begin/end_change 2011-12-16 20:09:11 +01:00
cf8f3c07f2 entry: Don't try to handle Tab in entry completions
Instead, fall through to the default handler after closing the
completion. This has the advantage of letting the file chooser entry
capture the tab key properly, so one can't accidentally move out of the
entry by pressing tab while the completion is popped up.

I also suspect it fixes bugs with weird tab keys and shift/ctrl
oddities. But who knows...
2011-12-16 20:09:11 +01:00
2bf765ab49 entry: avoid a mismatched cairo_save/restore
Leftover from GtkIconHelper migration.
2011-12-04 19:58:28 -05:00
2ef5844bac Introduce gtk_render_insertion_cursor
The new function provides an API that takes the PangoLayout and index
as input params, this way it handles strong and weak cursors internally
factoring out all code duplicated in the widgets that need to render
cursors.

https://bugzilla.gnome.org/show_bug.cgi?id=640317
2011-12-01 01:22:39 +01:00
f18bbdff53 Remove draw_insertion_cursor in label and entry
Remove the the draw_insertion_cursor wrapper which just converts from
GtkTextDir to PangoDirection

https://bugzilla.gnome.org/show_bug.cgi?id=640317
2011-12-01 01:22:38 +01:00
d47e82ffdd entry: simplify code
We can unconditionally call into the icon helper methods now that we
removed the g_return_val_if_fail() checks.
2011-11-30 19:05:34 -05:00
5224302a30 entry: always prepare the style context when using it for entry icons
Make sure to always prepare the entry's style context for the entry icon
style when passing it to GtkIconHelper.
2011-11-30 16:39:59 -05:00
a4d6505cb3 entry: port to GtkIconHelper 2011-11-30 16:39:59 -05:00
ca829b484c Add pulse style class and use in progress bar and entry
This is used for indeterminate progress reporting.
2011-11-18 10:15:04 +01:00
41d4229155 Pop up context menus at the right device
When multiple pointers are in play, we need to be careful
not to loose track of the device between receiving a button
press and popping up a menu.

https://bugzilla.gnome.org/show_bug.cgi?id=663396
2011-11-05 01:24:17 -04:00
2d3db3421f Bug 659406 - Abstract what triggers a context menu
Add gdk_event_triggers_context_menu(), using the new modifier
abstraction API. Remove _gtk_button_event_triggers_context_menu()
and port all callers.
2011-09-27 15:45:18 +02:00
11f8c1ba6f gtk: remove the private GTK_EXTEND/MODIFY_SELECTION_MOD_MASK
and use the new public modifier abstraction API instead.
2011-09-27 12:06:10 +02:00
b663f3a00b Bug 659406 - Abstract what triggers a context menu
Add _gtk_button_event_triggers_context_menu() and use it instead
of checking for event->button == 3, so context menus are invoked
correctly on the Mac.
2011-09-26 16:01:50 +02:00
0955a59563 app: abstract which modifiers are used for extending and modifying selections
which are SHIFT and MOD2 on the Mac, and SHIFT and CONTROL otherwise.
Use the new define all over the place and rename variables and
members to not say "shift" or "control".
2011-09-26 16:01:50 +02:00
22d046d7fe Add a note about placeholder text use
Explain how this is really not such a great feature...
2011-09-02 00:35:38 -04:00
2ba9c4b4a7 Make focus rectangles optional
This commit introduces a new setting, gtk-visible-focus, backed
by the Gtk/VisibleFocus X setting. Its three values control how
focus rectangles are displayed.

'always' is equivalent to the traditional GTK+ behaviour of always
rendering focus rectangles.

'never' does what it says, and is intended for keyboardless
situations, e.g. tablets.

'automatic' hides focus rectangles initially, until the user
interacts with the keyboard, at which point focus rectangles
become visible.

https://bugzilla.gnome.org/show_bug.cgi?id=649567
2011-08-10 16:34:20 +02:00
d324a99454 Fix entry drawing in the presence of margins
Margins need to be taken into account when comparing requisitions
and allocations, which GtkEntry (and subclasses) do for some reason.
2011-08-09 15:12:21 +02:00
a1cf2315a0 Fix up signal ordering issues in GtkEntry
Ensure that text and selection boundaries are in a
consistent state when we emit notifications, that ::insert-text
and ::delete-text are emitted before any changes, and that
::changed is emitted after property notifications when inserting
or deleting text.
2011-07-05 16:08:08 -04:00
918514d51d First cut at GailEntry -> GtkEntryAccessible
Replace the factory for entry and spin button with
gtk_widget_class_set_accessible_type() calls, and move then
to the GtkAccessible namespace.
2011-07-05 16:08:08 -04:00
ca801abb4c Use a PAGE_STEP macro instead of a magic number
Helps to understand the code.

https://bugzilla.gnome.org/show_bug.cgi?id=653512
2011-06-28 09:47:44 +03:00
bf0d8402f5 gtk: Use const instead G_CONST_RETURN 2011-06-10 13:07:54 +01:00
aa37e7323f entry: use the current state when rendering symbolic icons
Make sure the current state is picked up when rendering symbolic icons
too.
2011-06-09 23:17:09 +02:00
8efa8a067e entry: use GTK_STYLE_CLASS_IMAGE when rendering the entry icon 2011-06-09 23:17:09 +02:00
02e82d69b8 entry: use gtk_render_icon() 2011-06-09 23:17:09 +02:00
d2c682c9e9 Remove an unneeded include 2011-06-07 13:04:22 -04:00
0705474be6 GtkEntry: don't forget to disconnect idles
As pointed out by John Lindgren in bug 650114, GtkEntry forgets
to disconnect an idle source when the completion is set to NULL.
2011-05-31 20:11:28 -04:00
54c3f05848 Desensitize "Select All" when GtkEntry is empty
This avoids possible confusion in some situations, and
selecting an empty string is not very useful.

https://bugzilla.gnome.org/show_bug.cgi?id=647962
2011-04-26 07:56:09 -04:00
7d3693b82b GtkEntry: Explicitly disconnect keymap signals
Might fix https://bugzilla.gnome.org/show_bug.cgi?id=648419
2011-04-26 07:48:27 -04:00
da1f618b09 entry: Translate progress region properly when drawing text 2011-04-19 22:18:19 +02:00
76294fcf1d entry: No need to queue a redraw on state changes
GtkWidget already does that.
2011-04-19 22:18:19 +02:00
2d58625e02 entry: Also update cached style values when the state changes 2011-04-19 22:18:19 +02:00
66dc6ea150 entry: Initialize cached values 2011-04-19 22:18:19 +02:00
a9a2a08162 entry: g_object_notify*( when we change the invisible char 2011-04-19 22:18:19 +02:00
0aae66c15e entry: Split out style-updating things into their own function 2011-04-19 22:18:19 +02:00
72ebc788a6 entry: Move cairo_save() call for clarity
We want save, clip, draw1, restore, save, clip, draw2, restore
and not save, save, clip, draw1, restore, clip, draw2, restore

Functionally the same thing, but not as obvious
2011-04-19 22:18:19 +02:00
6fee78341a entry: Omit useless clip
We do the same clip further above, so no need to repeat it
2011-04-19 22:18:19 +02:00
033d204b9e entry: Guard clipping with a save/restore
Just t be sure, so people don't get bugs later when they refactor code.
2011-04-19 22:18:18 +02:00
c70698084c entry: Remove needless check
The only window we're ever called to draw is our own window. D'oh.
2011-04-19 22:18:18 +02:00
49c7869582 docs fix typo
Was accidentally introduced in 1351d40cfe

Thanks Paolo for noticing.
2011-04-17 12:49:58 +02:00
1351d40cfe entry: Fix gtk_entry_get_icon_at_pos()
The passed in coordinates are widget-relative, not window-relative.
2011-04-16 22:31:24 +02:00
f2a20cd9fd entry: Use the new get_frame_size() argument in gtk_entry_draw_frame() 2011-04-16 22:31:24 +02:00
fd9aac8225 entry: Add the ability to query frame size in two ways
TRUE: relative to widget->window
FALSE: relative to widget

For now, no caller has beeen changed.
2011-04-16 22:31:24 +02:00
a77e6b1593 Added GtkEntry:completion property 2011-04-01 19:35:32 -03:00
ef061c4e96 gtkentry: Add hinting to GtkEntry
gtk_entry_set_placeholder_text() makes the entry display the given text
when it is empty and unfocused. Based on previous patch by Alberto
Garcia.

https://bugzilla.gnome.org/show_bug.cgi?id=440963
2011-03-21 09:37:37 +01:00
b93a2ebeed entry: Do not clobber state when rendering the default icons.
Use lower level methods that just require changing the state in the
GtkStyleContext instead. Fixes a problem where the insensitive state
was being set to the entry becasuse a parent was insensitive, spotted
by Alex Larsson.
2011-03-07 12:48:31 +01:00
cdf69b4bed [gi] add missing annotations for signals that emit Gdk.Events 2011-03-03 16:05:28 -05:00
63c7701ca3 Don't use GDK_NONE when GDK_SELECTION_CLIPBOARD is meant 2011-02-28 19:25:35 -05:00
f91c04e284 Minor documentation improvements
Mostly correcting it's to its and changing some , to .
2011-02-23 10:26:21 +01:00
beb8c290d1 Always chain up in ::style-updated
This was not handled consistently, but the default handler
does useful things, so we should always chain up.
2011-02-07 07:30:37 -05:00