| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
The selector for matching GtkEntry has changed to `entry` after 3.20.
https://bugzilla.gnome.org/show_bug.cgi?id=766166
|
|
|
|
|
| |
relocate treview acceleditor > label in the treeview section and
add a comment for a testcase.
|
|
|
|
| |
...removing a double definition in the process.
|
|
|
|
|
|
|
| |
We were failing to take the widget allocation.x/y into account
when deciding whether we need to push in the mark.
https://bugzilla.gnome.org/show_bug.cgi?id=765922
|
|
|
|
|
|
|
| |
FTS5 has a complex enough syntax that it makes not much sense to wrap
in simple search boxes.
https://bugzilla.gnome.org/show_bug.cgi?id=765981
|
|
|
|
|
| |
No need to check for it, we set the css name on GtkWidgetClass
ourselves.
|
|
|
|
|
| |
As the documentation states, neither the switch nor the slider gadget
should be using any style classes.
|
|
|
|
|
|
| |
Instead of creating 2 pango layouts in every draw() and on in
_get_content_size (and calling into gettext twice in both cases), just
keep the layouts around and create them in only one place.
|
|
|
|
|
| |
So gtk_label_get_text returns the default value of "". Broke the
GtkModelButton default value test.
|
|
|
|
|
| |
It would just set up lots of things with the default values, but a
common case is that a few gtk_label_set_* calls follow.
|
|
|
|
| |
Stop comparing them to NULL.
|
|
|
|
|
| |
We set them later again when we calculate the vertical size, so just
move the general assignment to -1 into the horizontal branch.
|
|
|
|
|
| |
We are checking for allocation != NULL at the beginning of the function
already. This also means that the allocation parameter is not nullable.
|
| |
|
| |
|
|
|
|
|
|
|
| |
The fallback code for rendering builtin checks, radios
and expanders was using border parameters. With the generic
gadget borders using the same parameters, this was giving
double borders.
|
| |
|
|
|
|
|
| |
As pointed out in https://bugzilla.gnome.org/show_bug.cgi?id=765676,
we were failing to set position_set if the position did not change.
|
|
|
|
|
|
|
|
| |
Specifically, this URI is not supported on Windows, but GFile will
do its "best" and turn it into GLocalFile("$pwd/network"), with
spectacularly bad results.
https://bugzilla.gnome.org/show_bug.cgi?id=765858
|
|
|
|
| |
I am not sure if this happens in practice, but better to be safe.
|
|
|
|
| |
These events were never freed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We only keep one align flag per child, so it seems odd to
keep separate h/v expand flags. Just keep one expand flag
and interpret it according to orientation. Allow setting
the expand flag for child widgets too, though, so we can
make widget expand without interfering with the recursive
widget expand flag.
Update all callers.
Use the new possibility of expanding child widgets to make
the label of check and radio buttons expand. This fixes
unexpected behavior of these widgets in RTL in some places.
https://bugzilla.gnome.org/show_bug.cgi?id=765742
|
|
|
|
| |
Flip alignments of the title gadget children.
|
|
|
|
| |
Flip alignments for the box gadget children.
|
|
|
|
|
|
|
| |
In RTL, we want to interpret GTK_ALIGN_START and _END
in the opposite way. Since we don't give gadgets a text
direction, just allow setting an align_reverse flag
to the box gadget.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If there was a piece of text in the cell, then when the edit
entry is shown for that cell, it should have a piece of text
in it roughly at the same location.
Therefore, when child widget is enlarged (child preferred
size exceeds cell size), extra width should be added by
extending either left or right edge depending on text direction.
If after that the child sticks outside of the treeivew visible region,
try to push it back inside (breaking its alignment with the
cell), again, giving preference (i.e. adjusting it last)
to either left or right edge depending on text direction.
https://bugzilla.gnome.org/show_bug.cgi?id=765471
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This avoids the g_source_remove(), g_source_destroy(),
g_timer_source_new(), and g_source_set_name_by_id() in the common case.
Instead, we reuse our previous source and update the ready time to our
new deadline. We lose the coalescing with g_timeout_add_seconds(), but
that is not going to help in the common case anyway (unless you have
three hands and can scroll multiple pixelcached backed widgets at once).
https://bugzilla.gnome.org/show_bug.cgi?id=765640
|
|
|
|
|
|
|
|
| |
In non-composited environments, we were ending up with all-black
drag icons, because nothing was drawing the background of our new
toplevel. Fix this by drawing background when we are not composited.
We don't do this when composited, since we want to allow transparent
icons.
|
|
|
|
| |
There is nothing textview-specific here.
|
|
|
|
|
|
|
| |
When measuring gadgets, minimum must come out <= natural.
Make sure we don't fail this when measuring progressbar text.
https://bugzilla.gnome.org/show_bug.cgi?id=765644
|
|
|
|
|
|
|
|
|
| |
The documentation clearly says that the widget is not destroyed,
but we were in fact failing to keep it alive, since it was still
a child or the icon_window when we destroy that. Fix this by
reparenting the icon_widget out before. Also, deal with the
possibility that the application might destroy the widget
halfway through, for whatever reason.
|
|
|
|
|
| |
The default value should come out of regular translations, not
property translations.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=765496
|
|
|
|
|
|
|
|
| |
There are various functions to access links based on their index for
a11y. We can spare quite a few lines of code by just using
g_list_nth_data instead of iterating over the list ourselves.
https://bugzilla.gnome.org/show_bug.cgi?id=765496
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We perform lots of gadget allocations that require allocating a
GtkBuiltinIcon. One notable example is the scrollbar for a scrolled
window.
In the process of doing this, we often calculate baseline information that
isn't necessary. With how much this code path gets exercised, its worth
catching the result for the common case, which is that the font-description
has not changed and we are using the default language the application
was started with.
This simply caches the previous result and verifies that we can reuse it
with pango_font_description_hash() and a simple language check.
Numbers below are scrolling through a textview with GDK_KEY_Down.
Before:
SELF CUMULATIVE FUNCTION
[ 0.08%] [ 9.26%] gtk_builtin_icon_get_preferred_size
[ 0.01%] [ 8.82%] pango_context_get_metrics
[ 0.02%] [ 0.16%] gtk_widget_get_pango_context
[ 0.06%] [ 0.06%] pango_context_get_language
[ 0.01%] [ 0.02%] g_type_check_instance_cast
[ 0.02%] [ 0.02%] strlen
[ 0.02%] [ 0.02%] pango_context_get_font_description
[ 0.02%] [ 0.02%] g_list_foreach
[ 0.01%] [ 0.01%] gtk_css_style_get_value
[ 0.01%] [ 0.01%] itemize_with_font
[ 0.01%] [ 0.01%] pango_context_get_type
[ 0.01%] [ 0.01%] get_base_metrics
[ 0.00%] [ 0.01%] pango_font_metrics_unref
[ 0.01%] [ 0.01%] g_list_free
[ 0.01%] [ 0.01%] gtk_builtin_icon_get_type
After:
SELF CUMULATIVE FUNCTION
[ 0.08%] [ 0.18%] gtk_builtin_icon_get_preferred_size
[ 0.02%] [ 0.02%] pango_font_description_hash
[ 0.00%] [ 0.02%] gtk_widget_get_pango_context
[ 0.00%] [ 0.02%] g_object_get_qdata
[ 0.00%] [ 0.02%] g_datalist_id_get_data
[ 0.02%] [ 0.02%] gtk_builtin_icon_get_type
[ 0.01%] [ 0.01%] pango_context_get_font_description
[ 0.00%] [ 0.01%] - - kernel - -
[ 0.01%] [ 0.01%] pango_context_get_language
[ 0.00%] [ 0.01%] gtk_css_style_get_value
[ 0.00%] [ 0.01%] gtk_css_gadget_get_style
https://bugzilla.gnome.org/show_bug.cgi?id=765486
|
|
|
|
|
| |
Factor out an utility function for readability and free the string
with the list of capabilities
|
|
|
|
|
|
|
|
|
|
|
|
| |
When decelerating the kinetic scroll, we can get into a position where it
looks like we are stuttering. This happens because the amount we move is
so little that it takes multiple frames to make forward progress by one
pixel.
This prevents that by detecting when we have reached the slow stutter of
the deceleration and simply stops the deceleration phase immediately.
https://bugzilla.gnome.org/show_bug.cgi?id=765493
|
|
|
|
| |
The previous change was not quite using the right coding style.
|
|
|
|
|
|
|
|
|
| |
When the current cursor_row is taller than the page_size we get from the
GtkAdjustment, the previous code would not actually cause any scrolling,
so make sure we just take the row after or before the cursor_row in that
case.
https://bugzilla.gnome.org/show_bug.cgi?id=765261
|
| |
|
| |
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=749405
|
|
|
|
|
| |
Avoiding this sort of visual debugging in the inspector
is the main reason we have per-display debug flags now.
|
|
|
|
| |
We were not using the baseline that we're computing.
|
|
|
|
| |
This avoids some overhead.
|
|
|
|
|
| |
This got more expensive now that we store them per-display,
so don't get them twice in the same function.
|
|
|
|
|
|
|
|
|
|
|
|
| |
These runtime checks were being performed whether or not we were in a
debug build. Using GTK_DEBUG_CHECK() will compile out of production
builds, as it will result in something like:
if (G_UNLIKELY(0))
which the optimizer can prune.
https://bugzilla.gnome.org/show_bug.cgi?id=765284
|