summaryrefslogtreecommitdiff
path: root/gtk/gtkflowbox.c
Commit message (Collapse)AuthorAgeFilesLines
* Use function setter for WidgetClass.activate_signalEmmanuele Bassi2020-12-051-2/+2
|
* docs: Fix the links for keybinding signalsMatthias Clasen2020-11-171-6/+6
| | | | | GtkBindingSignal does not exist anymore, so link to GtkSignalAction for an explanation of keybinding signals.
* docs: Document accessible roles of some classesMatthias Clasen2020-10-201-0/+5
| | | | GtkListBox and GtkFlowBox were missing this.
* flowbox: Keep widget orderBenjamin Otte2020-10-201-25/+13
| | | | ... instead of just ordering the CSS nodes.
* flowbox: Set accessible rolesMatthias Clasen2020-10-141-0/+2
| | | | | Use the GRID and GRID_CELL roles for GtkFlowBox and GtkFlowBoxChild.
* flowbox: Update accessible state for childrenMatthias Clasen2020-10-131-0/+21
| | | | | | | | | Set the SELECTED state to reflect whether the selected is selected, unselected, or unselectable. This is enough to make selection changes appear in Accerciser. While we are at it, also set the multi-selectable property for the flowbox itself.
* Clean up lots of GTK+ -> GTKMatthias Clasen2020-09-121-2/+0
| | | | | | Replace most remaining uses of GTK+ in the docs and user-visible strings by GTK. Also remove some leftover "Was added in 3.x" sentences from the docs.
* *: Fix spelling mistakes found by codespellBjörn Daase2020-08-211-7/+7
|
* Avoid refering to old GtkContainer API in the docsTimm Bäder2020-08-011-4/+3
|
* gdk: Conflate GDK devicesCarlos Garnacho2020-07-291-1/+1
| | | | | | | | | | 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.
* Remove ATKEmmanuele Bassi2020-07-261-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Replace "gdouble" with "double"Benjamin Otte2020-07-251-17/+17
|
* Replace "gchar" with "char"Benjamin Otte2020-07-251-2/+2
|
* Replace "gint" with "int"Benjamin Otte2020-07-251-118/+118
|
* Fix minor typosYuri Chornoivan2020-06-181-1/+1
|
* Move orientable style classes into GtkWidgetEmmanuele Bassi2020-06-051-13/+18
| | | | | | | | | It feels slightly wrong to have GtkOrientable operate on widgets, but at least what happens when an orientable widget changes orientation should be part of GtkWidget. This will allow to add more state changes without accessing widget state from the outside of gtkwidget.c.
* flowbox: Don't use a removed child after it has been unparentedKjell Ahlstedt2020-06-041-1/+1
| | | | | | In gtk_flow_box_remove(), call g_sequence_remove() before the child is unparented. See MR !2029
* flowbox: Avoid an assertion in snapshot()Matthias Clasen2020-05-131-1/+22
| | | | | | | | | | The api contract for size_allocate() vfuncs is that they must allocate all the children that are going to be snapshotted in snapshot(). The flowbox size_allocate() was just bailing out when the children request a size of 0x0, leading to an assertion in snapshot() vfunc later. Just allocate all children a size of 0x0 in this case.
* flowbox: Avoid a crash in measure()Matthias Clasen2020-05-131-0/+2
| | | | | | When the children request a height of zero, the flowbox measure() function was happily dividing by that zero, leading to badness.
* flowbox: Make the children focusable againMatthias Clasen2020-05-131-1/+2
| | | | | | This broke when the :focusable property was introduced. The symptom was that keynav in the Emoji chooser did not work anymore.
* flowbox: Derive from GtkWidgetMatthias Clasen2020-05-111-51/+76
|
* flowbox: Add gtk_flow_box_removeMatthias Clasen2020-05-111-4/+15
| | | | This is the replacement for gtk_container_remove.
* Replace gtk_widget_destroy everywhereMatthias Clasen2020-05-111-2/+4
| | | | | Replace all remaining uses of gtk_widget_destroy by gtk_container_remove or g_object_unref.
* Remove lots of focus vfuncsMatthias Clasen2020-05-111-1/+0
| | | | | In many cases, the default widget vfuncs work just fine, combined with setting focusable.
* flowboxchild: Derive from GtkWidgetMatthias Clasen2020-05-041-9/+165
| | | | | | | We want to remove GtkBin and GtkContainer as they don't provide much useful functionality anymore. See #2681
* Move the idle sizer to GtkWindowMatthias Clasen2020-04-201-1/+0
| | | | | | | | This was only living in gtkcontainer.c for historic reasons. Move it closer to where it belongs, and rename it from 'idle' to 'layout', since it is really about the layout phase of the frame clock, nowadays.
* flowbox: Stop setting focus adjustmentsMatthias Clasen2020-04-181-2/+0
|
* flowbox: Add a private api to disable move-cursorMatthias Clasen2020-04-141-0/+14
| | | | | | | | Without this, it seems impossible to make cross-section keynav in the Emoji chooser work. I've tried, but got lost between the focus, grab_focus, move_cursor and keynav-failed vfuncs and signals, and their competing implementations GtkFlowBox and GtkEmojiChooser.
* flowbox: Remove can-focus handlingMatthias Clasen2020-04-141-11/+0
| | | | | With the new meaning of can-focus, this doesn't make sense anymore.
* gtk: Port widgets away from gtk_get_current_ apisMatthias Clasen2020-04-111-52/+29
| | | | | | | This commit handles complicated cases where we selections. We handle this by adding extend and modify parameters to the ::move-cursor signals, and adjust the bindings accordingly.
* gtk: Stop using modifier intentsMatthias Clasen2020-04-061-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reviewing the existing settings, the only backend with some differences in the modifier intent settings is OS X, and we would rather have that implemented by interpreting the existing modifiers in the appropriate way. X11 Wayland Win32 OS X primary ctrl ctrl ctrl mod2 mnemonic alt alt alt alt context menu - - - ctrl extend sel shift shift shift shift modify sel ctrl ctrl ctrl mod2 no text alt|ctrl alt|ctrl alt|ctrl mod2|ctrl shift group varies - - alt GTK now uses the following modifiers: primary ctrl mnemonic alt extend sel shift modify sel ctrl no text alt|ctrl The context menu and shift group intents were not used in GTK at all. Update tests to no longer expect <Primary> to roundtrip through the accelerator parsing and formatting code.
* gtk: Stop using keymap apisMatthias Clasen2020-04-061-4/+4
| | | | | Stop using most keymap apis in GTK. Only a few calls related to virtual modifiers are left.
* gtkflowbox: Fix a minor typo in the documentationPhilip Withnall2020-04-011-1/+1
| | | | Signed-off-by: Philip Withnall <withnall@endlessm.com>
* flowbox: Port bindings to use shortcutsBenjamin Otte2020-03-251-50/+51
|
* Revert "Merge branch 'disable-window-test' into 'master'"Matthias Clasen2020-03-191-51/+50
| | | | | This reverts commit 3ac4c76b18cc89a841ce09f0943539f16988fd21, reversing changes made to 6ec96d2e989d029a303b8b20ec72b86f974c0e87.
* flowbox: Port bindings to use shortcutsBenjamin Otte2020-03-181-50/+51
|
* Strip const from GdkEventMatthias Clasen2020-02-211-1/+1
| | | | | Events are refcounted structs, and we generally don't pass these as const.
* stylecontext: Get rid of gtk_style_context_get()Benjamin Otte2020-01-281-3/+3
| | | | | | | ... and replace all the calls to it with gtk_style_context_peek_property(). All the calls are hacks that need to go away btw.
* cssnode: Convert name + id from interned string to GQuarkBenjamin Otte2020-01-281-1/+1
| | | | | | | | | | The reason for this is simply that I want to get hash functions that have their values close together, so they can fit in a smaller range (the goal here is 12 bits). By using GQuark, we get consecutive numbers starting with 1 (and applications have <1000 quarks usually), whereas interned strings can be all over the place. As a side effect we also save 64 bytes per declaration.
* Add missing (closure) GIR annotationsRobert Ancell2020-01-131-1/+1
|
* Fix incorrect use of GIR closure annotations.Robert Ancell2020-01-131-4/+4
| | | | | They were being applied to the callback function, not the data that is passed to that function.
* va_marshaller: add various va_marshallersChristian Hergert2019-06-061-0/+3
| | | | | | | | | We don't need to cover every case with a va_marshaller, but there are a number of them that are useful because they will often only be connected to by a single signal handler. Generally speaking, if I opened into a file to add a va_marshaller, I just set all of them.
* gtk: rely on default marshallersChristian Hergert2019-05-301-1/+1
| | | | | | | | | | Similar to previous removals of g_cclosure_marshal_VOID__VOID we can remove other marshallers for which are a simple G_TYPE_NONE with single parameter. In those cases, GLib will setup both a c_marshaller and va_marshaller for us. Before this commit, we would not get a va_marshaller because the c_marshaller is set. Related to GNOME/Initiatives#10
* marshallers: ensure g_cclosure_marshal_VOID__VOIDv is usedChristian Hergert2019-05-291-6/+6
| | | | | | | If we set c_marshaller manually, then g_signal_newv() will not setup a va_marshaller for us. However, if we provide c_marshaller as NULL, it will setup both the c_marshaller (to g_cclosure_marshal_VOID__VOID) and va_marshaller (to g_cclosure_marshal_VOID__VOIDv) for us.
* Rename GtkGestureMultiPress to GtkGestureClickMatthias Clasen2019-05-291-24/+24
| | | | | The name just made it hard for people to find the right gesture to use.
* flow box: Make finalMatthias Clasen2019-05-281-0/+23
| | | | We keep GtkFlowBoxChild subclassable, though.
* Remove gtk_widget_get/set_has_surfaceMatthias Clasen2019-05-281-2/+0
| | | | | These serve no purpose anymore - widgets don't have surfaces, unless they're a GtkNative.
* Rename thingsMatthias Clasen2019-04-081-1/+1
| | | | | Rename the can-pick property to can-target, and redo the pick flags with more descriptive names.
* Add a flags argument to gtk_widget_pickMatthias Clasen2019-04-071-1/+1
| | | | | | | This will be used to let the inspector and other users pick insensitive widgets again. For now, update all callers to pass no flags, preserving the current behavior.
* Fix up the border/background-color removalMatthias Clasen2019-03-311-2/+3
| | | | I overlooked one level of indirection here. Oops.