| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
| |
Apply the necessary directional variants for asymmetric
css padding.
https://bugzilla.gnome.org/show_bug.cgi?id=751084
|
|
|
|
|
|
|
| |
The API to access this functionality will be the setter we just added in
the previous commit.
https://bugzilla.gnome.org/show_bug.cgi?id=750568
|
|
|
|
|
|
| |
This will make the API easier to use from bindings too.
https://bugzilla.gnome.org/show_bug.cgi?id=750568
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=750568
|
| |
|
| |
|
|
|
|
|
|
| |
Use a revealer to manage the visibility of the header area where
we show the pathbar, the location entry or search. This is a bit
smoother, and makes search more similar to a search bar.
|
|
|
|
|
| |
gtk_render_handle() already renders background/frame itself, avoid
doing this twice.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Popovers may be spawn when there's GTK+ grabs somewhere else (eg.
text selection popover/handles in an entry in a modal popover). When
this happens, events go to the grab widget (in this case the modal
popover) and are effectively ignored by the event widget, even though
it's can be conceptually a child of the grab widget.
To get away with this, tweak a bit gtk_main_do_event(), so events going
to popovers that are related to grab_widget or a child of it are received,
as it would happen with regular children of grab_widget.
https://bugzilla.gnome.org/show_bug.cgi?id=750993
|
|
|
|
|
|
|
|
|
|
|
| |
This will be the widget that the popover relates to (::pointing-to in
GtkPopover, ::parent in GtkTextHandle).
Additional API to check the popover/parent relationship between widgets
has been added, which will be useful wherever this is necessary in a
generic manner.
https://bugzilla.gnome.org/show_bug.cgi?id=750993
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=751099
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A subsurface positioning operation only takes effect when the parent
surfaces state is applied. If a subsurface is mapped and positioned, but
the parent surface state is not immediately committed, the relative
position of the subsurface is undefined and may be placed incorrectly.
To avoid this undefined state, always request that the parent surface
should be committed after mapping a subsurface so that the position
operation will take effect.
https://bugzilla.gnome.org/show_bug.cgi?id=751098
|
|
|
|
|
|
|
|
|
| |
GtkTreeView has a particularly expensive drawing path. This can cause
issues when part of animated widget sequences. Caching the content while
a model is attached helps reduce the number of full redraws during
exposure greatly.
https://bugzilla.gnome.org/show_bug.cgi?id=751082
|
|
|
|
|
|
|
|
|
|
| |
Some widgets have very expensive drawing paths. So caching the content
can be useful even when not scrolling.
This can help speed up widgets that are part of animation sequences and
thereby go through spurious expose events.
https://bugzilla.gnome.org/show_bug.cgi?id=751082
|
| |
|
|
|
|
|
|
| |
Background patterns are often updated when style changes. In many cases,
the new pattern will match the previous. We can optimize out the
invalidation that will occur upon resetting the same pattern.
|
| |
|
|
|
|
|
|
| |
We didn't made up our minds until now from some of them, and for
the others no progress has been made or bugs reported, so probably
they are fine.
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were using GTkTreeView in a simple list. Also, as we know,
GtkCellRenderers are not the best way to theme and manipulate
widgets.
So instead use a GtkListBox to modernize the GtkPlacesSidebar,
and in the way clean up some parts of the code (like headings)
which were not used anymore.
Also we don't use a model anymore, since the data is simple
enough to manage it in a subclass of the row itself.
|
|
|
|
|
| |
It was somewhat annoying given the "trace" of it. Decrease
the time to avoid too much "trace"
|
|
|
|
|
|
|
| |
Now with the API addition on gtkplacessidebar, we can show some
hints for the drop targets.
https://bugzilla.gnome.org/show_bug.cgi?id=747793
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=747793
|
|
|
|
|
|
| |
Following design mockups
https://bugzilla.gnome.org/show_bug.cgi?id=747793
|
|
|
|
| |
We didn't use those for some time now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is convenient to allow applications to show all the drop
targets at once. This improves the user experience with drag
an drop.
The new API allows the application to set the gtkplacessidebar
in a mode where invalid drop targets are insensitive and it
adds a "new bookmark" row. This mode is intended to be set
when the application is aware of a dnd operation and needs to
be stopped kwhen the application is aware that dnd operation
was cancelled or ended in a different part than gtkplacesisdebar.
The context parameter is unused in this patch, but will be
used in next patches when the sidebar will use a GtkListBox.
The reason of being unused now is just convenience.
https://bugzilla.gnome.org/show_bug.cgi?id=747793
|
|
|
|
|
|
|
| |
Following the new mockups, put the new bookmark row always
in the first position, so it's easier to drop an item.
https://bugzilla.gnome.org/show_bug.cgi?id=747793
|
|
|
|
|
|
| |
GtkInspector is opening a separate display connection, which makes
it more likely that gtk_get_current_event() returns an event from
the "wrong" display.
|
|
|
|
|
|
| |
This was broken in 0796d7b6ff9393746d.
https://bugzilla.gnome.org/show_bug.cgi?id=751018
|
|
|
|
|
|
|
|
|
| |
We were getting ourselves in trouble by casting touch events
to GdkEventButton and poking directly at their internals. Instead,
use GdkEvent API to get what we need.
This fixes a crash when using the gear menu in epiphany with
touch. The same crash also occurred in testmenubutton.
|
|
|
|
|
| |
The iteration now progresses past a delete, so make sure we iterate
safely. Also, don't chain up if we removed a child.
|
| |
|
|
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=750568
https://bugs.freedesktop.org/show_bug.cgi?id=90917
|
|
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=750568
https://bugs.freedesktop.org/show_bug.cgi?id=90917
|
|
|
|
|
|
|
|
|
|
| |
For these widgets we set pass-through on the child window so that
input over these widgets (that are not on a child input window) goes
to the window below the overlay.
https://bugzilla.gnome.org/show_bug.cgi?id=750568
https://bugs.freedesktop.org/show_bug.cgi?id=90917
|
|
|
|
|
|
|
|
| |
This allows you to control the z-ordering of overlay children
https://bugzilla.gnome.org/show_bug.cgi?id=750568
https://bugs.freedesktop.org/show_bug.cgi?id=90917
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An pass_through window is something you can draw in but does not
affect event handling. Normally if a window has with no event mask set
for a particular event then input events in it go to its parent window
(X11 semantics), whereas if pass_through is enabled the window below
the window will get the event. The later mode is useful when the
window is partially transparent. Note that an pass-through windows can
have child windows that are not pass-through so they can still get events
on some parts.
Semantically, this behaves the same as an regular window with
gdk_window_set_child_input_shapes() called on it (and re-called any
time a child is changed), but its far more efficient and easy to use.
This allows us to fix the testoverlay input stacking test.
https://bugzilla.gnome.org/show_bug.cgi?id=750568
https://bugs.freedesktop.org/show_bug.cgi?id=90917
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In this case we have a bunch of interactive main children
of the overlay, and then a centered overlay that contains both
non-interactive (labels) and interactive (entry) widgets.
This shows off a problem where the non-interactive parts (the labels)
steals input from the overlay main children (breaks button click and
hover effects).
https://bugzilla.gnome.org/show_bug.cgi?id=750568
https://bugs.freedesktop.org/show_bug.cgi?id=90917
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For functions that take state flags as an argument we need to special
case the situation where the passed in flags don't match the current
state.
Previously we would create a copy of the style info, change its state
and do the lookup from there.
Now that GtkCssNode has replaced style infos, this doesn't work as well
anymore as copying a GtkCssNode is not possible.
However, unike style infos, GtkCssNodes are instant-apply, so we don't
need to copy anymore, we can just change the state of the node.
This causes some invalidations to be queued, but we can take that
performance hit as this is fallback code.
https://bugzilla.redhat.com/show_bug.cgi?id=1228852
|
| |
|
|
|
|
|
| |
This tests the new assistant api to remove padding from
pages.
|
|
|
|
|
|
|
| |
This can be useful when embedding complex widgets like
a file chooser as a page.
https://bugzilla.gnome.org/show_bug.cgi?id=750631
|
|
|
|
|
| |
This is one of the cases where one wants a page without
any padding.
|
|
|
|
|
|
|
| |
Instead of having padding outside the notebook containing
all pages, put each page in an extra box and add the padding
there. This is in preparation for allowing pages without
padding.
|
|
|
|
|
|
|
| |
This means the pages themselves will be responsible for setting
suitable padding.
https://bugzilla.gnome.org/show_bug.cgi?id=750631
|
| |
|
|
|
|
|
|
|
|
| |
We are using this to test pango functionality that
uses fontconfig apis, so this doesn't build on OS X
or Windows anymore.
https://bugzilla.gnome.org/show_bug.cgi?id=750892
|