Matthias Clasen
4f50bf23d3
glarea: Add a pool for GL textures
...
Handle the situation that a GL texture might remain
in use (e.g. by a slow frame, or by the recorder)
In that case, we can't modify it but must use a
new one. Keep a pool of GL textures for this eventuality.
2018-01-17 19:15:14 -05:00
Matthias Clasen
18dc994de7
inspector: Don't leak recordings
...
g_list_model_get_item is transfer full, so we need
to drop the references we get from it. This was showing
up while testing the GL texture cache in GtkGLArea.
2018-01-17 19:12:55 -05:00
Timm Bäder
7c47c7cdaf
applicationwindow: Fix measure implementation
...
Really calculate the menubar height, not the width.
2018-01-17 21:57:20 +01:00
Timm Bäder
e7b3909fd1
sizerequest: Fix for_size adjustment
...
We need to pull the proper size from the size request cache and adjust
it accordingly.
2018-01-17 21:57:20 +01:00
Timm Bäder
27c76db956
box: Simplify some code
...
All out varibles in measure implementations must be non-null and -1 is
the default value for the baseline parameters.
2018-01-17 21:57:20 +01:00
Timm Bäder
e763dac72e
box: Remove self assignment
2018-01-17 21:57:19 +01:00
Timm Bäder
8ab2c79b77
box: Remove useless if statement
...
We already check right before this one whether child->pack != packing
and if so, we continue to the next iteration. So, no need to check again
whether the inverted condition child->pack == packing is true, because
it is.
2018-01-17 21:57:19 +01:00
Timm Bäder
12be5ccbb7
label: Update layout width directly form allocation
...
For the one update_layout_width call in size_allocate, we can just use
the passed-in allocation width instead of a separate (relatively slow)
gtk_widget_get_width call.
2018-01-17 21:57:19 +01:00
Timm Bäder
8ad1b09a3a
widget: Clip redrawn area to widget clip
...
The clip can already be modified in size_allocate, so we never want a
widget to invalidate more than its actual clip region.
2018-01-17 21:57:19 +01:00
Timm Bäder
c2d4f05ce0
box: Remove some unneeded checks
...
We only call this function from the measure implementation and we should
never get NULL pointers there.
2018-01-17 21:57:19 +01:00
Timm Bäder
c475047501
box: Remove an unnecessary local variable
2018-01-17 21:57:19 +01:00
Timm Bäder
3604816b9c
box: Use GtkWidget's widget list in get_size
2018-01-17 21:57:19 +01:00
Timm Bäder
cb0d2616ff
listbox: Don't assume that row child == focus widget
...
With widgets supporting child widgets and custom GtkListBoxRow
subclasses, this might not be true.
2018-01-17 21:57:19 +01:00
Timm Bäder
229ef9d776
widget: Remove reparent special case
...
Since gtk_widget_reparent doesn't exist anymore, we can also remove this
special case.
2018-01-17 21:57:19 +01:00
Timm Bäder
d3329bb36b
container: Remove some unused includes
2018-01-17 21:57:19 +01:00
Timm Bäder
5590a2a943
viewport: Remove some unused includes
2018-01-17 21:57:19 +01:00
Matthias Clasen
736ccd34f0
gl area: Avoid trivialities
...
If we have zero pixels, no need to snapshot anything,
and produce GL errors while doing so.
2018-01-17 14:43:50 -05:00
Matthias Clasen
f3927f1155
Drop GtkGLArea::has-alpha
...
We now always behave as if has-alpha is TRUE.
Update all callers.
2018-01-17 12:01:25 -05:00
Matthias Clasen
5711fb9b26
Convert gtkglarea to use snapshots
...
Just append a texture node.
Note that this is not 100% done yet. The GL area really
needs to keep a pool of textures, and only reuse them
once the GdkTexture object is gone.
2018-01-17 12:00:13 -05:00
Matthias Clasen
ab1f17cb9a
inspector: Stop using gdk_display_get_default_cursor_size
...
If the cursor theme size setting has no value, just hardcode 32.
Also, allow ridiculously large cursors, just for fun.
2018-01-16 23:25:50 -05:00
Matthias Clasen
35c78a995e
tooltip: Stop using gdk_display_get_default_cursor_size
...
It makes more sense to use the actual cursor theme size here.
2018-01-16 23:25:50 -05:00
Chris Lamb
edd1b0974c
gtk/queryimmodules.c: Make the output deterministic.
...
Whilst working on the Reproducible Builds effort [0], we noticed that
queryimmodules generates non-reproducible output as it iterates over the
filesystem without sorting.
Patch attached.
[0] https://reproducible-builds.org/
Signed-off-by: Chris Lamb <lamby@debian.org>
https://bugzilla.gnome.org/show_bug.cgi?id=786528
2018-01-16 22:38:32 -05:00
Matthias Clasen
e2f3b9b1cc
tree model sort: Fix set_sort_column
...
We were failing to change the sort order for the
default sort column in some cases. Fix that, and
add a testcase for this issue.
https://bugzilla.gnome.org/show_bug.cgi?id=792459
Add a testcase for the previous fix
2018-01-16 18:17:54 -05:00
Matthias Clasen
42369e31e2
tree model sort: Fix initial default sort func
...
gtk_tree_sortable_has_default_sort_func should return
FALSE initially.
2018-01-16 18:15:13 -05:00
Matthias Clasen
e8079df420
mountoperation: Fix a crash
...
We only create the gesture when the dialog is needed,
so don't free it unconditionally.
2018-01-16 14:50:25 -05:00
Matthias Clasen
e0990b2311
Drop ::button-press/release event
...
We are no longer using these, and there are several gestures
that can be used instead. If you need to catch raw button events,
use the ::event signal.
2018-01-16 14:14:11 -05:00
Matthias Clasen
fb2df00f15
popover: Stop using ::button-press/release-event
...
Just use a generic ::event handler.
2018-01-16 14:14:10 -05:00
Matthias Clasen
f768ae4281
menushell: Stop using ::button-press/release-event
...
Merge the handlers into the existing handler for ::event.
2018-01-16 14:14:10 -05:00
Matthias Clasen
e8dfbf35e8
menu: Remove stray references to 'button_press'
...
No code change, but this string was still used in
docs and comments.
2018-01-16 14:14:10 -05:00
Matthias Clasen
15e67e27ca
places sidebar: Stop using ::button-press/release-event
...
We'll use a generic ::event signal instead.
2018-01-16 14:14:10 -05:00
Matthias Clasen
64c3db931d
Drop ::motion-notify-event
...
We no longer emit this signal. You can use various gestures
and event controllers instead. If you need to catch raw
motion events, use the generic ::event signal.
2018-01-16 14:14:10 -05:00
Matthias Clasen
f90659cde8
places sidebar: Stop using ::motion-notify-event
...
We can use the generic ::event signal here.
2018-01-16 14:14:10 -05:00
Matthias Clasen
472f5e4b13
treeview: Stop using ::button-press-event
...
We can just use a gesture here.
2018-01-16 14:14:10 -05:00
Matthias Clasen
8dcafc597c
recent chooser: Stop using ::button-press-event
...
We can just use a multipress gesture here.
2018-01-16 14:14:10 -05:00
Matthias Clasen
ab283933be
mount operation: Stop using ::button-press-event
...
A multipress gesture does just fine here.
2018-01-16 14:14:10 -05:00
Matthias Clasen
fa0f637268
entry completion: Drop another ::button-press-event handler
...
This one will be replaced by a generic ::event handler.
2018-01-16 14:14:10 -05:00
Matthias Clasen
4b613c2f6a
docs: Stop referring to legacy event signals
...
These are going away.
2018-01-16 14:14:10 -05:00
Matthias Clasen
a94d2826ae
entry completion: Stop using ::button-press-event
...
Just use the existing ::row-activated signal on the treeviews.
2018-01-16 14:14:10 -05:00
Matthias Clasen
1818e7bed2
places view: Stop using ::button-press-event
...
Instead, use a multi-press gesture in the row widget,
and emit ::popup-menu from there.
2018-01-16 14:14:10 -05:00
Matthias Clasen
270b6d3a84
file chooser: Use a multipress gesture
...
This replaces the use of ::button-press-event. There's two
issues with this commit:
1) We don't have a good way to do the equivalent of
gdk_event_triggers_context_menu with gestures
2) We have to defer to and idle to avoid ordering
issues with the treeviews own gestures
2018-01-16 14:14:10 -05:00
Matthias Clasen
c8a6a1138b
Revert "file chooser: Allow activating without double-click"
...
This reverts commit fb0a13b7f0
.
It is getting in the way of gesture conversion, and didn't
really make anybody happy anyway.
2018-01-16 14:14:10 -05:00
Matthias Clasen
f042d7a9a8
app chooser: Use a gesture
...
Instead of connecting to ::button-press-event, use
a multipress gesture here.
2018-01-16 14:14:10 -05:00
Matthias Clasen
9ba5f053d9
Drop ::focus-in/out-event
...
These signals are no longer used in GTK+.
If you need to catch focus events, use the ::event signal.
2018-01-16 14:14:10 -05:00
Matthias Clasen
ad4287e338
treeview: Stop using ::focus-out-event
...
We can just use the generic ::event signal.
2018-01-16 14:14:10 -05:00
Matthias Clasen
7ae240199b
file chooser entry: Stop using ::focus-out-event
...
Just use the generic ::event signal.
2018-01-16 14:14:10 -05:00
Matthias Clasen
5cb1c606bb
spin button: Stop using ::focus-out-event
...
Just use the generic ::event signal.
2018-01-16 14:14:10 -05:00
Matthias Clasen
4f3065a5e8
calendar: Stop using ::focus-out-event
...
Use the generic ::event signal.
2018-01-16 14:14:10 -05:00
Matthias Clasen
e733aa43cf
color editor: stop using ::focus-out-event
...
Again, the has-focus property is sufficient.
2018-01-16 14:14:10 -05:00
Matthias Clasen
5d57f0be8a
text cell renderer: Stop using ::focus-out-event
...
The has-focus property works fine here.
2018-01-16 14:14:10 -05:00
Matthias Clasen
7af2f73608
spin cell renderer: Stop using ::focus-out-event
...
The has-focus property works fine here.
2018-01-16 14:14:10 -05:00
Matthias Clasen
04adcff624
combo cell renderer: Stop using ::focus-out-event
...
The has-focus property works fine here.
2018-01-16 14:14:10 -05:00
Matthias Clasen
e3e00a2673
popover: Stop using ::focus-in/out-event
...
We can use the is-active property of the window instead.
2018-01-16 14:14:10 -05:00
Matthias Clasen
b12371e1b0
application: Stop using ::focus-in-event
...
We are really interested in the active window, so use
that property directly.
2018-01-16 14:14:10 -05:00
Matthias Clasen
7277d657d9
window: Stop using ::focus-in/out-event
...
We can just use the generic ::event.
2018-01-16 14:14:10 -05:00
Matthias Clasen
327ec24e51
text view: Stop using ::focus-in/out-event
...
We can just use the generic ::event here.
2018-01-16 14:14:10 -05:00
Matthias Clasen
253ac15928
entry completion: Stop using ::focus-out-event
...
We can just use ::event.
2018-01-16 14:14:10 -05:00
Matthias Clasen
8c6c2be316
entry: Stop using ::focus-in/out-event
...
We can just use the generic ::event signal.
2018-01-16 14:14:10 -05:00
Matthias Clasen
144448d18b
a11y: Stop using ::focus-in/out-event
...
We can just use the generic ::event signal.
2018-01-16 14:14:10 -05:00
Matthias Clasen
5759bc59c9
Drop gtk_widget_hide_on_delete
...
This function is misnamed - it is only ever relevant for
windows. And with the ::hide-on-delete property , it is
no longer necessary to use the signal for this simple case.
2018-01-16 14:14:10 -05:00
Matthias Clasen
2b59917a9d
Drop ::event-after
...
This signal is not used in GTK+, and we are reducing the
amount of widget signals devoted to events in favor of
event controllers.
2018-01-16 14:14:10 -05:00
Matthias Clasen
1c2e09116a
Drop ::grab-broken-event
...
This signal is no longer used in GTK+. Grab broken events
can be handled with the generic ::event signal.
2018-01-16 14:14:10 -05:00
Matthias Clasen
0583b80d1b
button: Stop using ::grab-broken-event
...
The event-specific signals are going away. Just use ::event here.
2018-01-16 14:14:10 -05:00
Matthias Clasen
4bbda548b7
menushell: Stop using ::grab-broken
...
The event-specific signals are going away. Just use ::event here.
2018-01-16 14:14:10 -05:00
Matthias Clasen
fa07fe2124
notebook: some cleanup
2018-01-16 14:14:10 -05:00
Matthias Clasen
af8bf498e9
notebook: Use a motion event controller
...
This lets us avoid the ::motion-notify-event handler.
2018-01-16 14:14:10 -05:00
Matthias Clasen
7046463b88
textview: Use a motion event controller
...
This lets us replace the ::motion-notify-event handler.
2018-01-16 14:14:10 -05:00
Matthias Clasen
f594807c0a
Drop ::enter/leave-notify-event
...
These signals are no longer used in GTK+ and have a (not quite
perfect yet) replacement with GtkEventControllerMotion.
If you need to catch the raw events, the generic ::event
signal still works.
2018-01-16 14:14:10 -05:00
Matthias Clasen
06605d54f2
menu: Use a motion event controller
...
This lets us replace the ::enter/leave-notify-event handlers.
Not that there is a FIXME here - we currently can't get the
crossing mode from the event controller, so we have to fall
back to gtk_get_current_event().
2018-01-16 14:14:10 -05:00
Matthias Clasen
6acf276a1a
menuitem: Use a motion event controller
...
This lets us replace the ::enter/leave-notify-event handlers.
Not that there is a FIXME here - we currently can't get the
crossing mode from the event controller, so we have to fall
back to gtk_get_current_event().
2018-01-16 14:14:10 -05:00
Matthias Clasen
118424bd93
iconview: Use a motion event controller
...
This can replace ::motion-notify-event and ::leave-notify-event.
2018-01-16 14:14:10 -05:00
Matthias Clasen
ab4f4fb045
scrolled window: Use a motion event controller
...
This lets use replace one of the last uses of ::leave-notify-event.
2018-01-16 14:14:10 -05:00
Matthias Clasen
9ceafd7c38
entry completion: Drop initial selection avoidance
...
This is a minor thing, and it is hard to recreate
with event controllers, so drop it for now.
2018-01-16 14:14:10 -05:00
Matthias Clasen
a2a80f8a15
treeview: Use a motion event controller
...
This replaces handlers for ::enter/leave/motion-notify-event.
2018-01-16 14:14:10 -05:00
Matthias Clasen
cf9074a2e9
Add x/y to GtkEventControllerMotion::enter
...
We have this information available in enter events,
and having it in the controller signal as well makes
porting easier.
Update existing users.
2018-01-16 14:14:10 -05:00
Matthias Clasen
a9d468a4c8
Drop ::configure-event
...
This signal is unused in GTK+ and configure events are handled
internally by GtkWindow.
If you need to catch configure events, the generic ::event
signal still works.
2018-01-16 14:14:10 -05:00
Matthias Clasen
59572e5fcf
window: Stop using ::configure-event
...
We already have a generic ::event handler that we
can just press into service for this.
2018-01-16 14:14:10 -05:00
Matthias Clasen
fa885f437c
Drop ::touch-event
...
This signal is not used in GTK+, and has a suitable
replacement with GtkGesture and its subclasses.
If you need to catch the raw touch events, the generic ::event
signal still works, too.
2018-01-16 14:14:10 -05:00
Matthias Clasen
47712a826b
Drop ::scroll-event
...
This signal is not used in GTK+, and has a suitable
replacement with GtkEventControllerScroll.
If you need to catch these events, the generic ::event
signal still works, too.
2018-01-16 14:14:10 -05:00
Matthias Clasen
e93c2517e6
Drop ::proximity-in-event and ::proximity-out-event
...
These are unused in GTK+, and are not very common.
If you need to catch these events, the generic ::event
signal still works.
2018-01-16 14:14:09 -05:00
Matthias Clasen
fd2a3b602f
Drop ::map-event and ::unmap-event
...
These are unused in GTK+, and are not very common.
If you need to catch these events, the generic ::event
signal still works.
2018-01-16 14:14:09 -05:00
Matthias Clasen
ab53142c0f
window: Stop using ::map-event
...
Use ::event here, since we want to drop the event-specific
signals, and we already have a handler for the generic signal.
2018-01-16 14:14:09 -05:00
Matthias Clasen
1e0ae936fe
widget: Stop using ::map-event
...
Use ::event here, since we want to drop the event-specific
signals.
2018-01-16 14:14:09 -05:00
Matthias Clasen
7b581ca096
Drop GtkWidget::destroy-event
...
This signal is unused in GTK+, and is documented as
'hard to ever get', so there's no good reason for
keeping it.
2018-01-16 14:14:09 -05:00
Matthias Clasen
2b52b4be5d
Drop GtkWidget::delete-event
...
Nobody is using this signal anymore, and ::delete is there
for the few places where it is needed.
2018-01-16 14:14:09 -05:00
Matthias Clasen
a739ee6905
Replace GtkWidget::delete-event by GtkWindow::close-request
...
The event is not useful at all, so we are better off
with a signal that doesn't have it, and it is only
relevant on toplevel windows, so we don't need it on
GtkWidget.
With this commit, delete events no longer go through the
::event, ::delete-event, ::event-after widget signals,
but just cause the ::close-request signal on GtkWindow to be
emitted.
2018-01-16 14:14:09 -05:00
Matthias Clasen
76fea5c5fa
treeview: Don't handle ::delete-event
...
I don't think there is a way to get a delete event
on this popup - there's no window decorations, no close
button, etc. So no need to handle ::delete-event.
2018-01-16 14:14:09 -05:00
Matthias Clasen
7e491fd3fc
font chooser: Stop using ::scroll-event
...
We have an event controller for this purpose now.
2018-01-16 14:14:09 -05:00
Matthias Clasen
d2edcf489b
treeview: Use a scroll event controller
...
This is the recommended way to deal with scroll events
now.
2018-01-16 14:14:09 -05:00
Matthias Clasen
4923da3550
Drop gtk_true and gtk_false
...
These functions are entirely trivial, their documentation
is much longer than their implementation, and it contains
an example that is annotated as "don't do this"...
2018-01-16 14:14:09 -05:00
Matthias Clasen
75271c44c2
inspector: Stop using ::delete-event signal
...
We can just use GtkWindow::hide-on-close instead.
2018-01-16 14:14:09 -05:00
Matthias Clasen
e7bd666711
treeview: Stop using gtk_true
2018-01-16 14:14:09 -05:00
Matthias Clasen
c4513a6737
dialog: Stop using the ::delete-event signal
...
We can achieve the desired result with a class handler
and the ::hide-on-close property.
2018-01-16 14:14:09 -05:00
Matthias Clasen
d6e92cd984
file chooser native: Stop connecting to ::delete-event
...
We can just use GtkWindow::hide-on-close.
2018-01-16 14:14:09 -05:00
Matthias Clasen
d0f071aae9
file chooser button: Stop connecting to ::delete-event
...
We can just use GtkWindow::hide-on-close.
2018-01-16 14:14:09 -05:00
Matthias Clasen
a1b6bf19c1
applicationwindow: Stop connecting to ::delete-event
...
We can just use GtkWindow::hide-on-close.
2018-01-16 14:14:09 -05:00
Matthias Clasen
59878f281f
about dialog: Stop connecting to ::delete-event
...
We can just use GtkWindow::hide-on-close.
2018-01-16 14:14:09 -05:00
Matthias Clasen
c86e8d0e60
color button: Stop connecting to ::delete-event
...
We can just use GtkWindow::hide-on-close.
2018-01-16 14:14:09 -05:00
Matthias Clasen
b919c3348f
font button: Use GtkWindow::hide-on-close
...
Instead of the ::delete-event signal.
2018-01-16 14:14:09 -05:00
Matthias Clasen
c04f192113
window: Add a hide-on-close property
...
This lets us avoid ::delete-event signal handlers for just
this purpose.
2018-01-16 14:14:09 -05:00
Matthias Clasen
370d666406
inspector: Avoid a critical
...
I forgot to initialized the text field when I added
it back.
2018-01-15 08:01:54 -05:00