Emmanuele Bassi
6fa2c7e3b7
xim: Use NULL-safe string comparison
...
The locale string may be NULL.
2018-03-01 16:44:02 +07:00
Matthias Clasen
32873cc94b
Merge branch 'wip/matthiasc/immodule-cleanup' into 'master'
...
Convert immodules to use an extension point
See merge request GNOME/gtk!34
2018-03-01 06:38:39 +00:00
Timm Bäder
881046b46e
entry: Simplify cursor management
...
Since cursors are per-widget now and the icons are widgets, we can just
set the cursors once.
2018-02-28 10:35:31 +01:00
Timm Bäder
1355c9ae88
scale: Remove priv pointer
2018-02-27 12:39:04 +01:00
Timm Bäder
813ccb6378
emojichooser: Only measure reference emoji once
...
Doing that once for every emoji is pretty slow and unnecessary as the
width does not change.
2018-02-27 11:45:34 +01:00
Timm Bäder
3c33e541cd
entry: Add motion controller
...
Do the mouse cursor un-obscuring in the ::motion handler instead of in
the ->event handler. We don't get rid of the GtkWidgetClass::event
handler altogether that way, but it's a step in the right direction.
2018-02-27 11:05:04 +01:00
Timm Bäder
83c74ff7d0
spinbutton: Fold function into only caller
2018-02-27 10:30:14 +01:00
Timm Bäder
7c59ac2e4a
spinbutton: Remove unused macro
2018-02-27 10:30:14 +01:00
Timm Bäder
67258c69f0
checkbutton: Don't reorder non-existent indicator widget
2018-02-26 18:23:20 +01:00
Timm Bäder
9db76cebb4
entry: Check gdk_event_get_coords return value
...
We use the x/y values later on to decide what to do with the event.
2018-02-26 12:57:17 +01:00
Timm Bäder
354eab70da
entry: Allocate icons at full height
...
Makes for a larger hit area for pointing devices. If vertical centering
is still desired, GtkWidget:halign can be set on the icon widgets.
2018-02-26 12:53:49 +01:00
Timm Bäder
a9cd2d8181
widget: Simplify set_style_context
...
No need to use widget->priv later if we already define a priv pointer
before.
2018-02-26 08:42:38 +01:00
Timm Bäder
c7294ab90e
button: Remove priv pointer
...
This way we can also move the GtkButtonPrivate definition into
gtkbutton.c
2018-02-25 16:47:20 +01:00
Timm Bäder
94493414b5
filechooserwidget: Make the location entry hexpand
2018-02-25 16:47:20 +01:00
Timm Bäder
fef4f0704a
textview: Use content size when validating contents
2018-02-25 16:47:20 +01:00
Timm Bäder
7d7045bc35
widget: Remove some unneeded prototypes
2018-02-25 16:47:20 +01:00
Matthias Clasen
04cc589a61
fix the build
2018-02-24 21:44:03 -05:00
Matthias Clasen
15cc20e7b5
Always include platform immodules
...
No need to load these as gio modules, we just include
them in libgtk.
2018-02-24 21:34:40 -05:00
Matthias Clasen
29bcc38ae6
Convert immodules to use an extension point
...
Add an extension point called gtk-im-module, which requires
the type GtkIMContext. Simplify the loading by using GIO
infrastructure. Drop the locale filtering for now, I don't
think it is really necessary nowadays.
Convert existing platform modules to gio modules.
Sill to do: Drop the conditional build machinery.
Either always include them, or never.
2018-02-24 21:34:40 -05:00
Matthias Clasen
79bd123911
Add some debug output to print backend loading
2018-02-24 21:31:52 -05:00
Timm Bäder
4e23daa998
widget: Don't export propagate_hierarchy_changed
2018-02-23 22:14:38 +01:00
Timm Bäder
eb66d6bcc6
widget: Simplify _set_name
...
No need for a new_name local variable here.
2018-02-23 22:08:45 +01:00
Timm Bäder
f5afc17d26
button: Remove ::event handler
...
GRAB_BROKEN events cause the ::cancel handler of the gesture to be
emitted, which is where we also call gtk_button_do_release, so this
GtkWidget::event handler is unnecessary.
2018-02-23 21:57:49 +01:00
Timm Bäder
8720b2d8c5
widget: Correct translate_coordinate documentation
...
We write 0 to dest_x and dest_y nowadays if the two widgets do not have
a common ancestor.
2018-02-23 21:57:49 +01:00
Timm Bäder
a302fd34e8
Merge branch 'text-view-measure' into 'master'
...
text-view: make measure() use the layout height
See merge request GNOME/gtk!37
2018-02-23 16:03:53 +00:00
Timm Bäder
0b9dca3d55
placessidebar: Don't create a GtkWindow for drag icons
...
Just use the drag_widget we create before, since GtkWindow drag icons
are not allowed anymore.
2018-02-23 11:08:53 +01:00
Timm Bäder
fd20e42932
range: Fix typo in allocate_trough
...
lower - upper results in something negative of course.
2018-02-23 10:59:21 +01:00
Timm Bäder
94093fd18e
widget: Improve warning for negative size_allocate dimensions
...
Print widget class, css node name and address.
2018-02-23 10:47:19 +01:00
Timm Bäder
01d7ec2c83
range: Fix coord/value translation
...
Save the x/y we allocated the slider at, which is different than
the coordinates we get from any of the widget allocation accessors.
2018-02-23 10:47:18 +01:00
Timm Bäder
79426a0a50
range: Compute slider allocation in update_initial_slider_position
...
Instead of outside at every call-site.
2018-02-23 10:47:05 +01:00
Timm Bäder
4095cac75c
range: Remove GtkScale special casing
...
This is unnecessary these days due to the negative margins of the
slider.
2018-02-23 10:47:05 +01:00
Timm Bäder
af4474f752
range: Simplify allocate_trough
2018-02-23 10:47:05 +01:00
Timm Bäder
1fea980930
range: Simplify compute_slider_position
2018-02-23 10:47:05 +01:00
Timm Bäder
4c952da6cb
range: Fix coordinates in coord_to_value
...
The given coordinate needs to be trough-relative, since that's what the
slider is relative to. Also use the trough's content size and not the
outer size.
2018-02-23 10:47:05 +01:00
Timm Bäder
52f877d606
range: Remove some unneeded includes
2018-02-23 10:47:05 +01:00
Timm Bäder
82d459f015
range: Remove priv pointer
2018-02-23 10:47:05 +01:00
Timm Bäder
ece26b847b
range: Stop tracking mouse position
...
We have the mouse position available everywhere we want to use it
anyway, so use that instead.
2018-02-23 10:47:05 +01:00
Timm Bäder
e9ecfeaca6
range: Stop tracking mouse location
...
Instead, just use gtk_widget_pick() to get the widget at the pointer
position whenever we need it.
2018-02-23 10:47:05 +01:00
Timm Bäder
69fa3c4876
range: Don't call calc_slider() on value changes
...
calc_slider() updates the slider visibility, but that can only change if
the upper or lower change.
2018-02-23 10:47:05 +01:00
Timm Bäder
8a38f62915
range: Remove unnecessary queue_draw calls
2018-02-23 10:47:05 +01:00
Timm Bäder
c200758c26
range: Remove scale special case
...
This is done automatically nowadays since the value is shown in a
widget.
2018-02-23 10:47:05 +01:00
Peter Bloomfield
1828c6b1cd
text-view: make measure() use the layout height
...
GtkTextView::measure should include the height of the text-layout in its
minimum and natural heights. This fixes scrolling when a text-view has a
scrolled-window ancestor that is not its immediate parent.
2018-02-21 08:22:42 -05:00
Matthias Clasen
bfc81767ba
Drop no-longer existing im modules
...
This was just dead code. The actual modules have already
been removed.
2018-02-19 18:38:20 -05:00
Matthias Clasen
a7df2fe7f3
Merge branch 'gtk-debug-flags-with-open-display-master' into 'master'
...
gtk_init: Fix debug flags handling when a display is already open
See merge request GNOME/gtk!27
2018-02-19 18:35:21 +00:00
Matthias Clasen
4a0854484f
Merge branch 'tests-set-schema-dir' into 'master'
...
tests: Make GSETTINGS_SCHEMA_DIR point to the compiled schemas in the build dir
See merge request GNOME/gtk!21
2018-02-19 18:28:00 +00:00
Christoph Reiter
8ad81a35e1
gtk_init: Fix debug flags handling when a display is already open
...
The code assigning the display to the debug_flags struct gets only
called when the default display changes, which never happens
when there already is one.
This makes it call the change callback in case a display is already
there.
The same fix was applied to gtk3 in !26 where calling gdk_init()
before gtk_init() would trigger this case. With gdk_init() gone
in master this is less likely to happen, but still possible
if gdk_display_open() is called before gtk_init().
See https://gitlab.gnome.org/GNOME/pygobject/issues/166
2018-02-19 19:24:00 +01:00
Matthias Clasen
9ea80a7506
Remove some unused code
...
No more callers of _gtk_find_module.
2018-02-18 22:13:38 -05:00
Matthias Clasen
de0039546b
Convert print backends to use a GIOExtensionPoint
...
Use GIOModule and GIOExtensionPoint. This is the preferred
way to define extensions these days, instead of manually
implementing type modules.
2018-02-18 18:00:42 -05:00
Matthias Clasen
7272610a02
Move the mixed module check function
...
This is only called in one place, move the function there.
2018-02-18 09:41:29 -05:00
Matthias Clasen
5b4082ac87
Remove gtkmodules.h
...
We don't use these definitions anymore.
Also clean up the docs wrt to modules.
2018-02-18 09:41:29 -05:00