Руслан Ижбулатов
27d9f233d4
GDK W32: use clock after_paint signal for timing updates
...
* Previous commit had misleading info. The code was
added to begin_paint() instead of end_paint(). Though
that did not affect its performance in any visible way.
* Company advised to move the code to an "after_paint" signal
handler, so that it works on all renderers, not just Cairo.
This change caused high fluctuation in FPS values in fishbowl
when it is put in a situation where it cannot achieve 60fps
(such as using Cairo renderer at ultra-high resolution).
This seems to be deliberate and not a bug.
2018-04-09 20:21:16 +00:00
Emmanuele Bassi
410b20f904
docs: Link to GResource
...
Since we're referring to GLib's functionality, might as well save some
time to the reader, and link to the GResource API reference page.
2018-04-09 20:55:51 +01:00
Daniel Boles
fae064d5f9
docs/reference/gtk/getting_started: cgit => GitLab
...
master version of b685eb1779
2018-04-09 20:55:14 +01:00
Руслан Ижбулатов
c7ef697029
GDK W32: set update frequency and timestamp
...
There is no easily apparent way of being notified when frame updates
happene exactly, so we just query frame info at the end of each paint.
If we query too often (faster than DWM refresh rate), we just get
the same values twice in a row, but that is, hopefully, highly unlikely.
2018-04-09 19:07:10 +00:00
Daniel Boles
b7291ce533
AccelGroup: Remove @See_also of deleted function
...
gtk_item_factory_new() is not a thing that exists.
Also, maybe the lack of space after the colon was what stopped the link
from rendering.
2018-04-09 19:45:10 +01:00
Benjamin Otte
0afdd84a2a
css: Clipping changes don't need a queue_allocate() anymore
...
Now that queue_draw() isn't restricted to clip anymore, we don't need to
care about clip in the CSS engine either.
We do keep GTK_CSS_AFFECTS_CLIP around though because GtkWindow does
care for the window's size.
2018-04-09 20:20:55 +02:00
Benjamin Otte
78a9b5d1ed
entry: Stop being activatable
...
Activating entries does not do anything.
Activate the default widget instead.
2018-04-09 20:20:55 +02:00
Daniel Boles
d77ede508c
Merge branch 'master' into 'master'
...
gdk_x11_display_get_monitor: fix monitor number test logic
See merge request GNOME/gtk!107
2018-04-09 17:25:08 +00:00
Sébastien Villemot
bb8debe925
gdk_x11_display_get_monitor: fix monitor number test logic
...
When asked for a nonexistent (positive) monitor number,
gdk_x11_display_get_monitor would (at best) return an uninitialized pointer,
instead of returning NULL.
2018-04-09 18:07:14 +02:00
Benjamin Otte
bb8f6f87ae
glcontext: Store the buffer age regions in the GL context
...
That way, we can store the right region there: The actual painted area
instead of the exposed area (which is way too small).
Also, the GL context is the only user of this data, so storing it there
seems way smarter.
2018-04-09 01:00:31 +02:00
Benjamin Otte
c8e38c6065
vulkan: Use new resize vfunc to recreate swapchain
...
... instead of checking sizes for every frame.
2018-04-09 01:00:31 +02:00
Benjamin Otte
a115f59950
drawcontext: Add a surface_resized() vfunc
...
Call this vfunc whenever the surface's size has changed.
2018-04-09 01:00:31 +02:00
Benjamin Otte
7ed0c85c61
surface: Track all draw contexts created for the surface
2018-04-09 01:00:31 +02:00
Benjamin Otte
e8fef1147f
widget: Don't do a 0-size check before snapshotting
...
Even widgets with an empty allocation may still want to draw stuff.
Examples include shadows or child widgets with negative margins.
Fixes GtkEntry's progressbar not showing up anymore.
2018-04-09 01:00:31 +02:00
Daniel Boles
8d8db89669
testmodelbutton: Test :centered, :icon, :inverted
...
Test more stuff.
2018-04-08 18:48:16 +01:00
Daniel Boles
15b569e64d
testmodelbutton: Fix wrongly overridding MB child
...
I was setting a GtkButton:label, which resulted in the ModelButton's own
custom children getting lost. That doesn't make for a useful test...
2018-04-08 18:48:16 +01:00
Daniel Boles
53a66c0f41
ModelButton: Use WARN_INVALID_PROPERTY, not assert
...
Do the same thing we do everywhere else for invalid properties.
2018-04-08 18:48:16 +01:00
Daniel Boles
7fd0d3ec51
ModelButton: Fix type Wether => Whether
2018-04-08 18:48:16 +01:00
Daniel Boles
08126ffdf2
testmodelbutton: Add explanatory comments to CSS
...
and load at an earlier, more sensible place, before creating any widgets
2018-04-08 18:48:16 +01:00
Daniel Boles
57c58f880b
ModelButton: Protect against nonsensical gbooleans
...
the same way we do normally.
2018-04-08 13:17:18 +01:00
Daniel Boles
5bbb185e14
tests/testmodelbutton: Add this
...
and test whether :action-name, :role, and CSS nodes work as expected
https://gitlab.gnome.org/GNOME/gtk/issues/163
2018-04-08 13:17:18 +01:00
Timm Bäder
6cd53fc491
Merge branch 'wip/sadiq/fixes' into 'master'
...
listbox: Fix signal name is documentation
See merge request GNOME/gtk!106
2018-04-08 07:30:24 +00:00
Mohammed Sadiq
5ad31616e8
listbox: Fix signal name in documentation
2018-04-08 11:02:23 +05:30
Rico Tzschichholz
ff738269b6
Fix some g-i annotation warnings
2018-04-06 16:26:17 +02:00
Timm Bäder
58aa93be41
menu: Avoid an invalid read
2018-04-06 08:24:19 +02:00
Timm Bäder
d4e4904604
lockbutton: Remove priv pointer
2018-04-06 08:24:19 +02:00
Timm Bäder
b7f98314a5
widgetbowl: Add switch demo
2018-04-06 08:24:19 +02:00
Benjamin Otte
fb33110fd1
gtk-demo: Redo viewing of resources
...
1. Don't rely on GtkImage as a detector of file type anymore.
Instead, hardcode all extensions that are in use.
2. Add a display method for videos.
2018-04-06 00:44:18 +02:00
Benjamin Otte
3eddbdc191
video: Add autoplay and loop boolean properties
2018-04-06 00:44:18 +02:00
Piotr Drąg
faaf828c74
Update POTFILES.in
2018-04-05 22:54:03 +02:00
Carlos Garnacho
acb950ffb5
gtkmenushell: Port to using GtkEventControllerKey
2018-04-05 19:26:55 +02:00
Carlos Garnacho
9a80b9e382
gtkcellrendereraccel: Port to using GtkEventControllerKey
2018-04-05 19:26:55 +02:00
Carlos Garnacho
362a6ca469
gtkentry: Use key controller to track focus changes
2018-04-05 19:26:55 +02:00
Carlos Garnacho
73fe140b10
gtkcalendar: Use key controller to track focus changes
2018-04-05 19:26:55 +02:00
Carlos Garnacho
b0cd5cd7c8
gtktextview: Use key controller for focus changes
2018-04-05 19:26:55 +02:00
Carlos Garnacho
3361fe1e62
gtkeventcontrollerkey: Add ::focus-in/out signals
...
And handle GDK_FOCUS_CHANGE events in order to emit those.
2018-04-05 19:26:55 +02:00
Carlos Garnacho
5a34d0f816
gtkeventcontrollerkey: Add get_group() call
...
Callers can use this function on a key-pressed/released signal
to find out the key event group, useful in a few places.
2018-04-05 19:26:55 +02:00
Carlos Garnacho
d724506abe
gtkmenu: Stop using ::key-press-event
...
Use GtkEventControllerKey for the task
2018-04-05 19:26:55 +02:00
Carlos Garnacho
d5e826a660
gtkiconview: Stop using ::key-press-event
...
Use GtkEventControllerKey for the task
2018-04-05 19:26:55 +02:00
Carlos Garnacho
f291541769
gtkcellrendererspin: Stop using ::key-press-event
...
Use GtkEventControllerKey for the task
2018-04-05 19:26:55 +02:00
Carlos Garnacho
1fa6239509
appchoooserdialog: use search bar key capture API
2018-04-05 19:26:54 +02:00
Carlos Garnacho
0b3b81a8bf
inspector: Use search bar API to capture key events from the toplevel
2018-04-05 19:26:54 +02:00
Carlos Garnacho
20c1e24b60
gtksearchbar/entry: Add [gs]et_key_capture_widget() API calls
...
This lets these widgets actively pull events from a widget, instead
of passively being fed events.
2018-04-05 19:26:54 +02:00
Carlos Garnacho
ad5f0a63a3
gtkwindow: Perform key activation in gtk_main_do_event()
...
In a similar spirit to the previous commit, make window shortcut
activation happen by default on toplevels, without relying on
legacy controllers.
2018-04-05 19:26:54 +02:00
Carlos Garnacho
6892b5c5ba
gtkwidget: Activate key bindings through run_controllers()
...
Deferring a bit further making those a standalone controller, make
binding activation happen on run_controllers(), so it happens by
default on widgets (unless the key event was consumed earlier)
without the need of a legacy event controller.
2018-04-05 19:26:54 +02:00
Carlos Garnacho
d74ecfb02e
gtkwidget: Break early if non-gesture controllers handle the event
...
Non gesture controllers have no means to collaborate with other
controllers, thus should be considered standalone entities. It makes
no sense to propagate any further if scroll/key controllers handled
the event.
2018-04-05 19:26:54 +02:00
Carlos Garnacho
695549d5a7
eventcontrollerkey: Add function to forward stuff elsewhere
2018-04-05 19:26:54 +02:00
Carlos Garnacho
b55696e551
gtkmain: Don't use special paths for key event propagation
...
Set the event_widget to the window focus, and let event capture/bubble
handling do the rest.
2018-04-05 19:26:54 +02:00
Carlos Garnacho
385fa18c27
gtkrange: Stop using ::key-press-event
...
Use GtkEventControllerKey for the task
2018-04-05 19:26:54 +02:00
Carlos Garnacho
cfdf4f650f
gtkcellrendereraccel: simplify grabbing code
2018-04-05 19:26:54 +02:00