summaryrefslogtreecommitdiff
path: root/gtk
Commit message (Collapse)AuthorAgeFilesLines
* Adwaita: tooltip stylingwip/jimmac/tooltipsJakub Steiner2020-11-131-3/+2
| | | | | | | | - balance padding - increase border radius, yuck - get rid of text shadow Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/3352
* Adwaita: rounded submenusJakub Steiner2020-11-131-3/+1
| | | | | | - all corners have rounded corners See https://gitlab.gnome.org/GNOME/gtk/-/issues/2745
* Adwaita: double declated $button_fillJakub Steiner2020-11-131-3/+0
| | | | - this was already in place in _common, no need to have it in _colors
* Merge branch 'wip/exalm/window' into 'master'Jakub Steiner2020-11-131-21/+20
|\ | | | | | | | | Round window corners See merge request GNOME/gtk!1952
| * theme: Round all window cornerswip/exalm/windowAlexander Mikhaylenko2020-11-121-2/+1
| |
| * theme: Restructure window styleAlexander Mikhaylenko2020-11-121-20/+20
| |
* | gtk/main: Stack ::active callsCarlos Garnacho2020-11-133-2/+33
| | | | | | | | | | | | | | We may have the situation of multiple touchpoints in the same widget, or combinations with other devices. Stack those ::active states are preserved on widgets on all but the last pointer/touch going away.
* | gtk/main: Toggle active flag with touch eventsCarlos Garnacho2020-11-131-2/+7
| | | | | | | | | | | | | | This went missing at some point, add the missing toggling of active state with GDK_TOUCH_BEGIN/END/CANCEL events. Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/3348
* | a11y: Use GROUP role for ShortcutsShortcutEmmanuele Bassi2020-11-121-0/+2
| | | | | | | | And hide the image from the accessible tree.
* | a11y: Implement atspi.Text.ScrollSubstringTo for GtkTextViewEmmanuele Bassi2020-11-122-1/+101
| | | | | | | | We reuse the existing implementation in GTK3.
* | a11y: Document GtkRevealer's accessible stateEmmanuele Bassi2020-11-121-0/+8
| | | | | | | | | | | | Use the GROUP role, and make sure to note that the child is always revealed. Unlike GtkExpander, GtkRevealer can only be programmatically toggled, so we cannot turn it into a "button" object.
* | a11y: Add more accessible data to GtkTreeExpanderEmmanuele Bassi2020-11-121-0/+15
| | | | | | | | | | | | | | | | | | Document the role of the GtkTreeExpander, and the behaviour of the expander button. Additionally, improve the label of the expander button, by adding a fixed "Expand" label, and setting the "labelled-by" relation to the child of the GtkTreeExpander.
* | a11y: Add accessible actions to GtkSearchEntryEmmanuele Bassi2020-11-121-0/+90
| | | | | | | | | | Just like GtkPasswordEntry, GtkSearchEntry should have its set of accessible actions.
* | a11y: Mark SearchEntry icons as presentationalEmmanuele Bassi2020-11-121-2/+6
| | | | | | | | | | While the "clear the search entry" icon behaves like a button, we don't have any actual action that can trigger it, so let's ignore it.
* | a11y: Set the role on GtkSearchBarEmmanuele Bassi2020-11-121-0/+5
| | | | | | | | | | | | | | | | The search bar widget has a "SEARCH" landmark role, which is described as: A landmark region that contains a collection of items and objects that, as a whole, combine to create a search facility.
* | a11y: Icons in buttons are presentationalEmmanuele Bassi2020-11-122-2/+8
| | | | | | | | Buttons are described by text, and the icon child can be safely ignored.
* | a11y: Add more accessibility labels to GtkNotebookEmmanuele Bassi2020-11-121-2/+17
| | | | | | | | | | | | | | | | Label the various components: - the tab list - the tab widget - the arrow widgets
* | a11y: Use the stack page title as its accessible labelEmmanuele Bassi2020-11-121-0/+4
| |
* | a11y: GtkStack is a group of stack pagesEmmanuele Bassi2020-11-121-0/+1
| |
* | Handle empty stack pages when creating an ATContextEmmanuele Bassi2020-11-121-1/+6
| | | | | | | | | | If we don't have a widget inside GtkStackPage, we should use the default GdkDisplay.
* | Unrealize the ATContext in StackPage on disposeEmmanuele Bassi2020-11-121-0/+12
| | | | | | | | | | Otherwise we're going to try to unrealize it during the GtkStack destruction, which will emit warnings.
* | a11y: Icons in WindowControls are presentational onlyEmmanuele Bassi2020-11-121-9/+19
| | | | | | | | They don't contribute anything to the accessible description.
* | a11y: Ignore more structural roles when computing labelsEmmanuele Bassi2020-11-121-0/+4
| | | | | | | | These roles should not have a fallback name when explicitly unlabelled.
* | a11y: Add role exception for GtkScrolledWindowEmmanuele Bassi2020-11-121-0/+6
| | | | | | | | ARIA does not have a "scroll pane" role, but AT-SPI does.
* | searchbar: Fix clearing search entry on hideFlorian Müllner2020-11-121-1/+1
|/ | | | | | | Commit fa3d1940bf2b36 added separate grab handling for GtkSearchEntry, but didn't consider whether the bar was revealed or concealed. The expected behavior for the latter is that the entry is cleared rather than focused, fix the condition accordingly.
* Merge branch 'ebassi/for-master' into 'master'Matthias Clasen2020-11-1223-154/+334
|\ | | | | | | | | | | | | ATContext lifetime fixes Closes #3341 See merge request GNOME/gtk!2811
| * docs: Add "Accessibility" section to various widgetsEmmanuele Bassi2020-11-1211-22/+58
| | | | | | | | | | There are a few widgets that gained an accessible role, which means adding an "Accessibility" section in their description.
| * a11y: Simplify GtkModelButtonEmmanuele Bassi2020-11-111-41/+16
| | | | | | | | | | Instead of recreating GtkATContexts in order to change their role, we can simply unrealize and realize them back.
| * a11y: Add missing fallback for accessible-role getterEmmanuele Bassi2020-11-111-1/+7
| | | | | | | | If the per-instance accessible role is unset, use the class role.
| * a11y: Rework ownership and lifetime of GtkATContextEmmanuele Bassi2020-11-113-50/+123
| | | | | | | | | | | | | | | | | | Now that GtkATContext is explicitly realized and unrealized, we should always create an instance at widget initialization time, and drop it during the widget finalization. This should make it easier to set up the initial accessible state of a widget during the instance initialization, as well as reduce the chances of accidental creation of GtkATContext instances during the destruction sequence.
| * a11y: Defer to the GtkAccessible's implementationEmmanuele Bassi2020-11-112-10/+8
| | | | | | | | | | | | Since GtkATContexts are now lazily realized, we need to go through the GtkAccessible's implementation to access the :accessible-role property, in case there are fallbacks.
| * a11y: Create AtSpiRoot on realizationEmmanuele Bassi2020-11-111-15/+35
| | | | | | | | | | | | | | | | There's no need to do a lot of work on construction, if we're delaying all remote work after the GtkATContext is realized. The GtkAtSpiContext should also keep a reference on the root, and drop it at unrealize time.
| * a11y: Use GROUP role for GtkNotebookEmmanuele Bassi2020-11-111-0/+1
| | | | | | | | A notebook is a grouping of a tab list, tabs, and tab pages.
| * a11y: Protect should_present() from empty contextsEmmanuele Bassi2020-11-111-3/+4
| | | | | | | | | | If the GtkAccessible implementation returns a NULL context, we should not be calling methods on it.
| * a11y: Do not leak the ATContext in GtkStackPageEmmanuele Bassi2020-11-111-0/+2
| | | | | | | | | | GtkStackPage is not a widget, so it must release the reference on the ATContext it owns.
| * a11y: Mark more containers as structural elementsEmmanuele Bassi2020-11-119-1/+9
| | | | | | | | | | Widgets that just provide grouping and layout to other widgets should not be relevant to the accessible tree.
| * a11y: Use the window title as its labelEmmanuele Bassi2020-11-111-0/+4
| |
| * a11y: Skip unlabelled structural rolesEmmanuele Bassi2020-11-111-1/+23
| | | | | | | | If a structural role is left unlabelled, just leave it unnamed.
| * a11y: Translate ARIA windows to AT-SPI framesEmmanuele Bassi2020-11-111-1/+2
| | | | | | | | For backward compatibility with GTK3.
| * a11y: Add more ARIA/AT-SPI role translationsEmmanuele Bassi2020-11-111-5/+5
| |
| * a11y: Realize parent ATContext for the stack pageEmmanuele Bassi2020-11-111-1/+5
| | | | | | | | | | Just like for popovers, the stack page is not directly connected on the widget's DOM, so we need to realize the parent ATContext ourselves.
| * a11y: Implement missing atspi.Component gettersEmmanuele Bassi2020-11-112-3/+28
| | | | | | | | | | Some of them are entirely innocuous, and we can easily provide values that match what GTK3 provides.
| * a11y: Unrealize ATContext on dispose()Emmanuele Bassi2020-11-111-2/+6
| | | | | | | | | | | | | | | | | | | | By unrealizing the context we avoid additional work during the dispose phase, in case widget code updates the accessible state. We use GtkAccessible's API, to ensure we unrealize the right ATContext, instead of the one we store inside GtkWidgetPrivate. We drop the ATContext instance inside GtkWidget during finalization, to mop up eventual vivifications there.
* | Adwaita: avoid !globalJakub Steiner2020-11-122-18/+20
| | | | | | | | | | - Work around having !global variables as sassc will no longer support it
* | Adwaita: Don't do n-th child things for list rowsMatthias Clasen2020-11-111-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Making the list row child css depend on the position is very expensive, and does not acutally work correctly (since we don't have widgets for all children, so the position of the child widget does not reflect the actual model item position). To make this more palatable, use the bottom border instead of the top border, since most lists have a natural border at the top (with headers), and may end up with empty space at the bottom.
* | label: Avoid a needless strdupMatthias Clasen2020-11-111-13/+10
| | | | | | | | | | Don't duplicate the string before we know if it has actually changed.
* | label: Optimize GtkLabel settersMatthias Clasen2020-11-111-32/+35
| | | | | | | | | | | | | | | | The overarching goal here is to not queue a resize unless something has actually changed. In columnview scenarios, we often deal with hundreds of labels. Labels are cattle, not pets.
* | Don't hide widgets in dispose()Matthias Clasen2020-11-111-2/+0
|/ | | | | | | | | | | This is leftover code from when widgets were hidden by default, and was setting them back to their initial state. This is getting in the way now, as hiding the widget updates the HIDDEN accessible state, which ends up re-creating the at context that we've already disposed of, leading to memory leaks.
* Merge branch 'matthiasc/builder-requires' into 'master'Matthias Clasen2020-11-115-7/+37
|\ | | | | | | | | Matthiasc/builder requires See merge request GNOME/gtk!2806
| * buildertool: Supplant a requiresMatthias Clasen2020-11-101-1/+19
| | | | | | | | | | When we convert a ui file to GTK 4 syntax, we *know* that it requires GTK 4, so put that in the output.