Carlos Garnacho
96452a2e46
gdk: Rename gdk_seat_get_physical_devices() to gdk_seat_get_devices()
...
We don't want to tell what they are, and the distinction is now less
clear. Remove the adjective from the function name.
2020-07-30 18:44:40 +02:00
Carlos Garnacho
46eb054337
gdk: Drop gdk_device_get_device_type()
...
There is no longer a hierarchy of devices, or none that is seen
on the outside.
2020-07-30 18:44:40 +02:00
Carlos Garnacho
3c68db8e47
gdk: Make gdk_device_list_physical_devices() private
...
Physical devices should probably be accounted internally in gdk/x11,
make this out of private API so at least the implementation details
don't leak.
2020-07-30 18:30:13 +02:00
Carlos Garnacho
9912c80d70
gdk: Drop gdk_device_get_associated_device()
...
Devices are no longer associated like this, the seat should be used
to resolve queries on other devices.
2020-07-30 18:30:13 +02:00
Matthias Clasen
0b11e78064
Merge branch 'display-cleanup' into 'master'
...
Display cleanup
See merge request GNOME/gtk!2319
2020-07-30 03:55:23 +00:00
Matthias Clasen
e8026e29b6
Merge branch 'surface-cleanup' into 'master'
...
Surface cleanup
See merge request GNOME/gtk!2317
2020-07-30 03:43:30 +00:00
Matthias Clasen
7df070d681
gdk: Move default group api to the X11 backend
...
This is the only place where it is implemented.
2020-07-29 22:58:37 -04:00
Matthias Clasen
abf8cbeaea
a11y: Set an accessible role for GtkLevelBar
...
Use the 'meter' role for GtkLevelBar, and set the
appropriate properties.
Update the docs and add a test.
2020-07-29 22:46:00 -04:00
Matthias Clasen
c0de580d46
a11y: Set an accessible role for GtkExpander
...
Use the button accessible role for GtkExpander
and set attributes as appropriate.
Update the documentation and add a test.
2020-07-29 22:46:00 -04:00
Matthias Clasen
144114bf40
a11y: Set accessible role for GtkLinkButton
...
Set the accessible role for GtkLinkButton to button.
We don't use the 'link' role since ARIA says "if it
behaves like a button, use 'button'".
Update docs and add a test.
This changes should not be neccessary, since
GtkLinkButton derives from GtkButton, see #2965 .
2020-07-29 22:46:00 -04:00
Matthias Clasen
c68fe1053a
a11y: Set an accessible role for GtkTextView
...
Use the text-box accessible role for GtkTextView
and set properties as appropriate.
Update the documentation and add a test.
2020-07-29 22:46:00 -04:00
Matthias Clasen
4d012a6d95
Rename gdk_surface_queue_expose
...
We don't have expose events anymore; instead, there
is a ::render signal. So rename queue_expose to
queue_render to match.
Update all callers.
2020-07-29 22:40:01 -04:00
Matthias Clasen
c1eedf6845
gdk: Stop exporting gdk_surface_freeze_updates
...
The only legitimate use for freezing the frame clock
is in GDK backends. Exporting this function for
applications makes no sense.
2020-07-29 22:30:44 -04:00
Matthias Clasen
7e355cbe1e
docs: Mention workarea in the migration guide
2020-07-29 12:39:57 -04:00
Jonas Ådahl
c7c71137b2
gdk/monitor: Remove gdk_monitor_work_area and GdkMonitor::work-area
...
It's not a portable API, so remove it. The corresponding backend
specific functions are still available, if they were implemented, e.g.
gdk_macos_monitor_get_workarea() and gdk_x11_monitor_get_workarea().
2020-07-29 17:57:30 +02:00
Matthias Clasen
85fb015b45
docs: Fix links in markdown content differently
...
pandoc insists on using the xlink namespace for hrefs,
and the namespace setup doesn't carry over xi:includes.
My first fix was to tell pandoc to generate standalone
docbook documents, which makes it insert the xlink
namespace. But it also makes it wrap all sections and
chapters in articles, and that messes up our toc structure.
So, patch things up differently by stripping the xlink:
from hrefs via regex.
Yay for XML!
2020-07-29 07:47:59 -04:00
Matthias Clasen
d40b1d31b5
Merge branch 'doc-fixes' into 'master'
...
Doc fixes
See merge request GNOME/gtk!2314
2020-07-29 11:24:48 +00:00
Matthias Clasen
5fd03f3297
Merge branch 'a11y-work' into 'master'
...
A11y work
See merge request GNOME/gtk!2312
2020-07-29 11:19:22 +00:00
Matthias Clasen
3b35ae870c
docs: Add a missing symbol
2020-07-28 22:40:10 -04:00
Matthias Clasen
e4a3746755
docs: Update the symbols list
...
Make sure the sections file is in sync with what
we actually export.
2020-07-28 22:40:10 -04:00
Matthias Clasen
1772d23f8e
docs: Update private headers list
2020-07-28 22:40:10 -04:00
Matthias Clasen
b5f256937f
Merge branch 'wip/carlosg/device-api-cleanup' into 'master'
...
Cleanups to device/event API
See merge request GNOME/gtk!2313
2020-07-28 23:49:35 +00:00
Carlos Garnacho
cab1dcb696
gdk: Conflate GDK devices
...
Make GdkEvents hold a single GdkDevice. This device is closer to
the logical device conceptually, although it must be sufficient for
device checks (i.e. GdkInputSource), which makes it similar to the
physical devices.
Make the logical devices have a more accurate GdkInputSource where
needed, and conflate the event devices altogether.
2020-07-29 01:27:51 +02:00
Carlos Garnacho
7629f6d533
gdk: Make GdkDevice axis API internal
...
All outside interaction happens through gdk_event_get_axis(), no
device poking is necessary, nor axis to array index translations.
2020-07-29 01:27:51 +02:00
Carlos Garnacho
230ce9bfde
gdk: Remove gdk_device_get_axes()
...
Besides the implicit x/y assumptions, devices don't have axes. Those
are actually provided by the GdkDeviceTool driving the device, and
different tools may have different axes.
It does not make sense to offer this API that can change beneath
someone's feet, we now have gdk_device_tool_get_axes() which is static
to the tool.
2020-07-29 01:27:51 +02:00
Matthias Clasen
1755e07af7
a11y: Set an accessible role for GtkPasswordEntry
...
Use the text-box accessible role for GtkPasswordEntry.
And set properties as appropriate.
Update the documentation and add a test.
2020-07-28 18:23:57 -04:00
Matthias Clasen
a610bb89a0
a11y: Set an accessible role for GtkSearchEntry
...
Use the searchbox accessible role for GtkSearchEntry.
And set properties as appropriate.
Update the documentation and add a test.
2020-07-28 18:16:37 -04:00
Matthias Clasen
2040b7ecdf
a11y: Set an accessible role for GtkLabel
...
Use the label accessible role for GtkLabel. ARIA has some
ominous wording about it going way, but while we have it,
GtkLabel is the obvious candidate for carrying it.
Update the documentation and add a test.
2020-07-28 18:16:37 -04:00
Matthias Clasen
9a82aadca7
a11y: Set an accessible role for GtkEntry
...
Use the text-box accessible role for GtkEntry and
set the placeholder and read-only accessible properties.
Update the documentation and add tests.
2020-07-28 18:16:37 -04:00
Matthias Clasen
efd4169fa2
a11y: Set accessible roles for GtkImage and GtkPicture
...
Use the img accessible role for these.
Also update the documentation and add tests.
2020-07-28 18:16:37 -04:00
Carlos Garnacho
b52ad33031
gdk: Add gdk_seat_get_tools() API call
...
There's GdkSeat::tool-added and ::tool-removed, but there's no
API to query the known tools. Add this call.
2020-07-29 00:11:34 +02:00
Emmanuele Bassi
470349c902
a11y: Add an explicit "reset to default" method
...
In some cases we explicitly want to unset an accessible attribute; for
instance, an accessible property is gated on a widget property, and if
the widget property gets unset, the accessible property should be reset.
2020-07-28 16:49:13 +01:00
Carlos Garnacho
254007a142
gdk: Add gdk_device_tool_get_axes()
...
Axes are actually a per-tool property, we just adapt devices to the
current tool.
2020-07-28 17:37:09 +02:00
Carlos Garnacho
1b846e29c7
docs: Correct migration note
...
A mentioned API call is now internal.
2020-07-28 17:36:18 +02:00
Carlos Garnacho
a2876b5cb4
gdkdevice: Remove gdk_device_get_state()
...
This is not needed nor recommended anymore, all reasons to maybe
need this were all kept within gdk.
2020-07-28 17:36:18 +02:00
Matthias Clasen
29cf11fb6e
a11y: Set an accessible role for GtkWindow
...
Use the window accessible role for GtkWindow, and
set the modal accessible property.
2020-07-27 21:18:10 -04:00
Matthias Clasen
6266bcafee
docs: Flesh out the role table in the a11y intro
...
Add cross-references for all the widgets currently
implementing non-default roles.
2020-07-27 11:10:58 -04:00
Emmanuele Bassi
b7be6ee00d
docs: Document a11y attributes
2020-07-27 14:26:19 +01:00
Matthias Clasen
bc0182fa3e
Merge branch 'ebassi/new-a11y' into 'master'
...
Accessibility rework
See merge request GNOME/gtk!2239
2020-07-27 11:55:19 +00:00
Matthias Clasen
29abefbe61
docs: Fix up some issues in the a11y docs
...
Fix up syntax errors and links in the introductory
section about accessibility.
2020-07-26 21:23:48 -04:00
Matthias Clasen
81c8a2bb4b
docs: Update a11y docs
...
Add some missing functions.
2020-07-26 21:23:48 -04:00
Matthias Clasen
d187ff858c
Merge branch 'drop-down-constructor' into 'master'
...
GtkDropDown api revisions
See merge request GNOME/gtk!2286
2020-07-26 23:57:48 +00:00
Matthias Clasen
f7ab6f665d
dropdown: Revise constructors
...
A dropdown without a model is useless, so accept a model
and expression in the constructor. Allow them to be NULL,
but consume them if given. This makes chained constructors
convenient without breaking language bindings.
Drop gtk_drop_down_set_from_strings() and instead add
gtk_drop_down_new_from_strings().
Update all users.
2020-07-26 18:09:54 -04:00
Emmanuele Bassi
5a173df3da
Start documenting the Accessibility API
...
Add the introductory text from #2833 , and the various types to the API
reference.
2020-07-26 20:31:14 +01:00
Emmanuele Bassi
c63087a563
Remove ATK
...
To build a better world sometimes means having to tear the old one down.
-- Alexander Pierce, "Captain America: The Winter Soldier"
ATK served us well for nearly 20 years, but the world has changed, and
GTK has changed with it. Now ATK is mostly a hindrance towards improving
the accessibility stack:
- it maps to a very specific implementation, AT-SPI, which is Linux and
Unix specific
- it requires implementing the same functionality in three different
layers of the stack: AT-SPI, ATK, and GTK
- only GTK uses it; every other Linux and Unix toolkit and application
talks to AT-SPI directly, including assistive technologies
Sadly, we cannot incrementally port GTK to a new accessibility stack;
since ATK insulates us entirely from the underlying implementation, we
cannot replace it piecemeal. Instead, we're going to remove everything
and then incrementally build on a clean slate:
- add an "accessible" interface, implemented by GTK objects directly,
which describe the accessible role and state changes for every UI
element
- add an "assistive technology context" to proxy a native accessibility
API, and assign it to every widget
- implement the AT context depending on the platform
For more information, see: https://gitlab.gnome.org/GNOME/gtk/-/issues/2833
2020-07-26 20:31:14 +01:00
Benjamin Otte
2f27d29247
Add GtkBoolFilter
...
Takes a boolean GtkExpression (like a boolean object property) to run a
filter with.
2020-07-26 20:43:08 +02:00
Benjamin Otte
3078b180fe
Replace "gdouble" with "double"
2020-07-25 00:47:36 +02:00
Benjamin Otte
556997f9df
Replace "gfloat" with "float"
2020-07-25 00:47:36 +02:00
Benjamin Otte
d375dce9f5
Replace "gchar" with "char"
2020-07-25 00:47:36 +02:00
Benjamin Otte
d7266b25ba
Replace "gint" with "int"
2020-07-25 00:47:36 +02:00
Florian Müllner
b146c48e23
menubutton: Remove align-widget property
...
The property has been unused since commit 8701e34f74
. That was four
years ago, so it's safe to say that nobody has been missing it terribly.
2020-07-24 13:55:06 +02:00
Matthias Clasen
561d3c68a0
docs: Pass --standalone to pandoc
...
This flag causes pandoc to emit a proper doctype
declaration and, crucially, namespace declarations
for the xlink namespace that it insists on using
for href attributes. Without this, putting external
links in md documents doesn't survive the journey
through xml.
2020-07-23 18:24:18 -04:00
Matthias Clasen
2160f52cbf
migration guide: Add some tables
...
Add a table mapping event signals to their event controller
replacements, and a table mapping former GtkContainer
subclasses to their gtk_container_add replacement.
2020-07-22 19:38:58 -04:00
Benjamin Otte
2b19e2fc1f
sortlistmodel: Add progress estimation
2020-07-22 14:30:49 +02:00
Benjamin Otte
283c3b70dd
sortlistmodel: Add an incremental property
...
Also refactor a large part of the sortmodel to make this convenient.
A large amount of time has been spent on getting items-changed regions
minimized.
2020-07-22 14:30:49 +02:00
Matthias Clasen
86c7fceb09
Merge branch 'list-model-docs' into 'master'
...
List model docs
See merge request GNOME/gtk!2182
2020-07-19 23:50:09 +00:00
Timm Bäder
de0547ede7
migration guide: Remove a stray html tag
2020-07-17 06:27:23 +02:00
Matthias Clasen
ec10857b84
docs: Move columns below columnview
2020-07-16 22:14:39 -04:00
Matthias Clasen
72d66dfcdd
docs: Revise sorter docs a bit
2020-07-16 21:45:11 -04:00
Matthias Clasen
8f7c207c7c
docs: Add more GtkExpression
...
Make GtkExpression show up in the object
hierarchy, and add the param spec and GValue
support to the docs.
2020-07-16 21:02:33 -04:00
Matthias Clasen
a8d433dd26
docs: Link to GtkTreeRowReference
...
The list overview cross-reference table links
to all objects, except for this one.
2020-07-16 19:53:47 -04:00
Matthias Clasen
ecaf6fced0
docs: Add GtkTreeExpander
...
We want to link to it from various places, so it needs
to be present in the docs.
2020-07-16 19:53:47 -04:00
Matthias Clasen
7b36b339aa
expression: Add some introspection
...
Add a few apis to peek inside expressions, mainly
for the benefit of GtkInspector and similar uses.
2020-07-13 20:19:07 -04:00
Matthias Clasen
dcee15c0f1
filechooser: Drop gtk_file_chooser_[un]select_file
...
Most use cases for these apis can be handled with
gtk_file_chooser_set_file and/or
gtk_file_chooser_set_current_folder.
2020-07-09 00:50:03 -04:00
Matthias Clasen
2321e9de05
filechooser: Drop gtk_file_chooser_[un]_select_all
...
For now, we just remove them as public api, they are
still used internally.
2020-07-09 00:50:03 -04:00
Matthias Clasen
0f8bc67a98
docs: Add gtk_file_chooser_get_shortcut_folders
2020-07-09 00:50:03 -04:00
Matthias Clasen
463f3d3a52
directorylist: Add monitoring
...
Add a GtkDirectoryList:monitored property, and
keep a file monitor if it is set to TRUE. To ensure
that the list reflects reality, we reload the directory
when monitoring is turned on after the fact. This means
that turning monitoring is expensive, while turning it
off is cheap, so we default to monitoring being on.
2020-07-07 21:21:41 -04:00
Matthias Clasen
729ba44297
Merge branch 'wip/otte/filterlistmodel' into 'master'
...
Improve GtkFilterListModel
See merge request GNOME/gtk!2199
2020-07-06 15:42:44 +00:00
Matthias Clasen
76290e8ddb
filechooser: Add gtk_file_chooser_get_filters
...
Replace gtk_file_chooser_list_filters with a new
api that returns a list model.
Update all callers.
2020-07-06 10:36:35 -04:00
Benjamin Otte
3162e25671
bitset: Fix typo: gtk_bitset_slice() => gtk_bitset_splice()
2020-07-06 03:42:43 +02:00
Benjamin Otte
9b2d8ac362
filterlistmodel: Add gtk_filter_list_model_get_pending()
...
This allows tracking if the model is busy filtering.
2020-07-06 03:42:43 +02:00
Benjamin Otte
2a90bc1a9b
filterlistmodel: Add incremental filtering
2020-07-06 03:42:43 +02:00
Matthias Clasen
286a00a1db
docs: Cleanups for the file filter docs
...
Now that GtkFileFilter is a GtkFilter, move it to the
filter section of the docs. While we are at it, touch
up the docs in some places.
2020-07-05 15:10:18 -04:00
Matthias Clasen
11dd602b28
Drop gtk_file_filter_filter
...
It has been superseded by gtk_filter_match.
2020-07-05 15:10:18 -04:00
Matthias Clasen
2d8fddc1e9
filefilter: Drop GtkFileFilterFlags
...
Replace gtk_file_filter_get_needed by gtk_file_filter_get_attributes,
which directly returns the attributes that are needed.
Update all callers.
2020-07-05 15:10:13 -04:00
Matthias Clasen
644d522d19
filefilter: Drop custom filters
...
These don't work with native file choosers.
2020-07-05 14:34:33 -04:00
Matthias Clasen
a8b0125da1
filefilter: Drop GtkFileFilterInfo
...
We can just make the filter operate on GFileInfo.
This is in preparation for making GtkFileFilter a
GtkFilter.
Update all users.
2020-07-05 13:55:42 -04:00
Benjamin Otte
1dbb8df95f
stringlist: Export gtk_string_object_new()
...
There are various use cases where it makes sense to construct these -
from our internal testing to using them in flatten- or mapmodels.
2020-07-05 02:59:21 +02:00
Benjamin Otte
6099fbafc1
bitset: Add gtk_bitset_new_range()
...
It's a common use.
2020-07-05 02:59:21 +02:00
Benjamin Otte
795d3122cc
selectionmodels: Add set_model() support
...
Now that we don't care about item types anymore, we can make the child
models settable.
We try to retain the selection, even when the model changes.
2020-07-05 02:59:21 +02:00
Benjamin Otte
5080730728
listmodels: Stop respecting item-type
...
Simplify all view model APIs and always return G_TYPE_OBJECT as the
item-type for every model.
It turns out nobody uses item-type anyway.
So instead of adding lots of APIs, forcing people to think about it and
trying to figure out how to handle filter or map models that modify item
types, just having an easy life is a better approach.
All the models need to be able to deal with any type of object going
through anyway.
2020-07-05 02:59:21 +02:00
Matthias Clasen
130bd5937c
docs: Add guidance about list model performance
...
Add a section about the performance tradeoffs between
different list model implementations.
2020-07-03 09:29:19 -04:00
Matthias Clasen
cc18191a8e
Merge branch 'wip/exalm/show-title-buttons' into 'master'
...
headerbar: Show title buttons by default
See merge request GNOME/gtk!2175
2020-07-03 05:05:24 +00:00
Matthias Clasen
76533513c2
Add a selection filter model
...
This model presents the selection of a GtkSelectionModel
as its own list model.
2020-07-02 22:59:03 -04:00
Benjamin Otte
0966636803
bitset: Add APIs needed for a filterlistmodel
2020-07-02 17:19:16 -04:00
Alexander Mikhaylenko
7c3b30036e
headerbar: Show title buttons by default
...
Most of the time show-title-buttons is set to TRUE. Go ahead and make that
the default.
2020-07-02 23:51:16 +05:00
Matthias Clasen
d0068a036f
Add gtk_multi_selection_get_model
...
This getter was missing.
2020-06-30 20:47:03 -04:00
Matthias Clasen
6819c7c792
docs: Update environment sections
...
Fix links in markdown, and add details about
Wayland environment variables.
2020-06-28 13:42:01 -04:00
Matthias Clasen
7047d68404
gtk: Add some missing symbols to the docs
2020-06-28 12:43:16 -04:00
Matthias Clasen
4d7d031ee0
gdk: Small documentation fixes
...
Make sure gdk_event_get_seat shows up.
2020-06-28 12:24:03 -04:00
Matthias Clasen
66bce08d10
docs: Migration guide additions
2020-06-27 17:38:10 -04:00
Matthias Clasen
3f55bfe2cb
Merge branch 'matthiasc/for-master' into 'master'
...
main: Avoid a warning
Closes #2894
See merge request GNOME/gtk!2153
2020-06-26 14:31:20 +00:00
Matthias Clasen
4185ba242b
docs: Some tweaks to the list widget overview
2020-06-26 09:05:56 -04:00
Benjamin Otte
488b0cbb69
gtk: Remove GtkPropertySelection
...
GtkMultiSelection is so much faster than this that it isn't needed.
2020-06-26 07:13:32 +02:00
Benjamin Otte
58d3213eef
Remove GtkSet
...
It's been superceded by GtkBitset.
2020-06-26 07:13:32 +02:00
Benjamin Otte
006dfdc55a
selectionmodel: Remove select_callback() functions
...
gtk_selection_model_set_selection() takes care of those now.
2020-06-26 07:13:32 +02:00
Benjamin Otte
fa0295629b
selectionmodel: Add gtk_selection_model_set_selection()
...
Also port the testsuite.
2020-06-26 07:13:32 +02:00
Benjamin Otte
8395698090
selectionmodel: Replace query_range() with get_selection()
2020-06-26 07:13:32 +02:00
Benjamin Otte
db452f0c45
Add GtkBitset
2020-06-26 07:13:32 +02:00
Benjamin Otte
d830724d4f
Add amalgamated roaring bitmaps source code
...
Taken from https://github.com/RoaringBitmap/CRoaring and fixed to
not spew warnings.
2020-06-26 06:19:56 +02:00