Matthias Clasen
02d537834a
flowbox: don’t try to focus or draw NULL widgets
...
Rubberbanding over an empty area results in warnings, due to the code
trying to focus and queue a null pointer for drawing.
https://bugzilla.gnome.org/show_bug.cgi?id=780734
2017-04-06 15:12:33 +01:00
Ernestas Kulik
69234066a4
flowbox: don’t select when rubberbanding over nothing
...
When rubberbanding over an empty area, everything is selected on gesture
end, which is a bit counter-intuitive.
https://bugzilla.gnome.org/show_bug.cgi?id=780735
2017-03-31 07:27:05 +03:00
Debarshi Ray
8155c33d80
flowbox: Don't emit child-activated while dragging the pointer
...
https://bugzilla.gnome.org/show_bug.cgi?id=776306
2016-12-20 12:55:41 +01:00
Debarshi Ray
9679ef6b00
flowbox: Export gtk_flow_box_get_child_at_pos as public API
...
Bump the gtk+ version so that others can depend on this new API.
https://bugzilla.gnome.org/show_bug.cgi?id=776187
2016-12-20 00:35:48 +01:00
Debarshi Ray
3073419ff1
flowbox: Don't emit selected-children-changed during destruction
...
https://bugzilla.gnome.org/show_bug.cgi?id=776012
2016-12-19 18:06:41 +01:00
Debarshi Ray
bebcb5e094
flowbox: Rename gtk_flow_box_find_child_at_pos for consistency
...
... with gtk_list_box_get_row_at_y. It would be nice to avoid the
'find' versus 'get' discrepancy since we are planning to expose it as
public API.
https://bugzilla.gnome.org/show_bug.cgi?id=776187
2016-12-19 15:10:07 +01:00
Debarshi Ray
8952975304
flowbox: Fix get_child_at_index crash with an invalid index
...
https://bugzilla.gnome.org/show_bug.cgi?id=775525
2016-12-02 16:38:05 +01:00
Matthias Clasen
bbd94b5a9f
gtk: Strip newlines from g_warning and g_error
...
g_logv adds one for us already.
2016-02-28 12:23:12 -05:00
Timm Bäder
c360b5fb49
Remove more unnecessary redraws
...
The call to gtk_widget_set_state_flags immediately before these already
queues a redraw/allocate/resize in case they have to be queued.
2016-02-07 19:16:26 +01:00
Matt Watson
11ad60d386
flowbox: remove unused prelight code
...
It was causing needless redraws
https://bugzilla.gnome.org/show_bug.cgi?id=759757
2015-12-21 14:52:11 -08:00
Matthias Clasen
2f544655f9
Revise CSS node documentation
...
Clarify the use of brackets in the CSS node diagrams:
[] means optional nodes or classes, <> means child widgets.
2015-12-16 10:58:47 -05:00
Matthias Clasen
06b28a610b
flowbox: Don't render focus erroneously
...
The gadget render function should only return TRUE if the
widget has the focus, and wants it rendered.
2015-12-15 15:10:08 -05:00
Matthias Clasen
49e24b05b5
flowbox: convert to gadgets
2015-12-15 08:41:16 -05:00
Matthias Clasen
3b264ea555
flowbox: Convert child to gadgets
2015-12-15 08:41:16 -05:00
Timm Bäder
c3fd1b3b73
GtkFlowBox: Add missing nullable annotation
2015-12-12 09:29:08 +01:00
Timm Bäder
c02f68f0ba
GtkFlowBox: Fix copy/paste mistake in docs
2015-12-12 09:29:08 +01:00
Timm Bäder
2182fe7d9d
Don't pass widget state flags to GtkStyleContext API
2015-11-22 17:11:35 +01:00
Matthias Clasen
afc09d924e
flowbox: Add a diagram to CSS documentation
2015-11-10 07:39:40 -05:00
Matthias Clasen
6c7f4b78b5
flowbox: Use a CSS node for rubberband drawing
...
Use a CSS node with name rubberband to draw the rubberband
selection.
2015-11-10 00:51:48 -05:00
Matthias Clasen
ec60bd889c
flowbox: Add element names
...
The names used here are flowbox and flowboxchild.
2015-11-05 15:23:44 -05:00
Rafal Luzynski
3c253c46a5
flowbox: correct the behavior with "can-focus"==FALSE
...
In fact there were two issues:
1. GtkFlowBoxChild with "can-focus"==FALSE should pass the focus
to its child immediately.
2. GtkFlowBox with "can-focus"==FALSE should cease its custom keynav
implementation and fall back to the default GtkContainer behavior
which is more natural.
Thanks to these changes the flow box can act as a better replacement
for GtkGrid and similar containers.
https://bugzilla.gnome.org/show_bug.cgi?id=753371
2015-10-03 22:48:15 -04:00
Alexander Larsson
d5f1754981
gtk: Stop setting GDK_EXPOSURE_MASK on random widgets
...
These days exposure happens only on the native windows (generally the
toplevel window) and is propagated down recursively. The expose event
is only useful for backwards compat, and in fact, for double buffered
widgets we totally ignore the event (and non-double buffering breaks
on wayland).
So, by not setting the mask we avoid emitting these events and then
later ignoring them.
We still keep it on eventbox, fixed and layout as these are used
in weird ways that want backwards compat.
2015-09-14 11:01:13 +02:00
Matthias Clasen
66f0bdee0a
Intern all signal names beforehand
...
This avoids pointless allocations
2015-09-12 12:50:39 -04:00
Rafal Luzynski
7a676cdc14
flow box: Fix bad children allocation with RTL locales
...
If the position of the children is always relative to the box
then we should not take the allocation of the box into account
when flipping the children for RTL text direction.
This patch also removes unused assignments to child_allocation.
https://bugzilla.gnome.org/show_bug.cgi?id=754559
2015-09-04 09:23:52 -04:00
Matthias Clasen
692f60ebb0
flow box: Avoid a critical in keynav
...
We were not taking into account that gtk_flow_box_get_next_focusable
can return NULL, in all callers. Fix that.
2015-08-26 20:00:40 -04:00
Matthias Clasen
9cc41307d1
flow box: Document incompatible configurations
...
Explain in the docs that using a model is incompatible with
using filter or sort functions.
2015-08-25 15:54:58 -04:00
Matthias Clasen
c099859872
flow box: Warn for nonworking configurations
...
GtkFlowBox sort and filter functionality does not work with
models. Issue a warning in this case.
2015-08-25 15:54:58 -04:00
Emmanuele Bassi
3de1bd383a
flowbox: Sink the floating reference of model-based children
...
We don't want to leak references if the widget created to represent the
item in the model does not have a floating reference — which is usually
what happens in bindings, as they automatically sink references when
creating new instances.
See commit 6e03e7e8
for the similar change in GtkListBox.
2015-08-17 13:32:35 +01:00
Matthias Clasen
a777186785
Add gtk_flow_box_bind_model
2015-08-16 18:20:50 -04:00
Benjamin Otte
6e4f42f97e
cssnode: Change API of some functions
...
gtk_css_node_set_after/before() are now called
gtk_css_node_insert_after/before().
This brings them in line with other similar APIs (ie GtkListStore). And
it allows easier usage of the API (see changes to gtkbox.c).
2015-07-16 06:15:13 +02:00
Cosimo Cecchi
9696d1b4bb
flowbox: don't set gtk_style_context_set_background()
2015-07-01 16:09:22 -07:00
Benjamin Otte
5984bc78ee
flowbox: Fix compiler warnings
...
Introduced in e59e38b581
2015-05-30 06:00:14 +02:00
Matthias Clasen
e59e38b581
GtkFlowBox: support positional css selectors
...
As in the previous commit for GtkListBox, support :first-child,
:last-child, :nth-child() and :last-nth-child() selectors here.
2015-05-29 23:37:42 -04:00
Benjamin Otte
91467a45fc
stylecontext: Deprecate functions
...
- gtk_style_context_get_background_color()
- gtk_style_context_get_border_color()
Those functions shouldn't be used anymore, because they don't represent
anything from the CSS styling we support. The background color often
isn't used due to background images and there are actually 4 different
border colors (1 for each side) - if there isn't also a border image in
use.
2014-10-03 06:18:06 +02:00
Matthias Clasen
04c4e1963f
GtkFlowBox: Add a missing #include
2014-07-18 23:00:54 -04:00
Matthias Clasen
7ed133397a
GtkFlowBox: Set orientable style classes initially
...
This was an omission, horizontal/vertical would only be set
when the orientation is changed.
2014-07-18 19:38:16 -04:00
Matthias Clasen
6877253e14
GtkFlowBox: Explicitly notify orientation
2014-06-09 13:31:01 -04:00
Matthias Clasen
51d17910a1
GtkFlowBox: Use G_PARAM_EXPLICIT_NOTIFY
2014-06-09 13:30:50 -04:00
Matthias Clasen
b549e52c2c
GtkFlowBox: Convert to g_object_class_install_properties
2014-06-09 13:30:50 -04:00
Matthias Clasen
45801c8f2c
GtkFlowBox: Move overridden prop ids to the end
...
This makes it easier to convert to g_object_class_install_properties
in the next commit.
2014-06-09 13:30:50 -04:00
Matthias Clasen
ac08d6a421
GtkFlowBox: Drop unused prop ids
...
No h/valign properties here.
2014-06-09 13:30:50 -04:00
Carlos Garnacho
3ffb4fa699
flowbox: Use gestures for event management
...
A multipress gesture takes care of item selection/activation, and
a drag gesture is used to manage events when rubberbanding selection
is performed.
2014-06-05 16:15:54 +02:00
Cosimo Cecchi
57f4d3d78a
flowbox: don't use focus-line-width
2014-05-09 11:02:46 -07:00
Cosimo Cecchi
053b21cc1f
flowbox: don't use focus padding
2014-05-09 11:02:43 -07:00
Juan Pablo Ugarte
35df3bc182
GtkFlowBox: fixed NULL dereferencing segfaults
2014-05-01 20:31:59 -03:00
Benjamin Otte
43e470dad1
flowbox: Remove unneeded checks
...
Size vfuncs always get non-null out variables passed, so no need to
check for NULL.
2014-05-01 14:51:27 +02:00
Benjamin Otte
73aa7bd2f5
widgets: Remove (GtkTickCallback) casts
...
Instead, make the functions conform to the prototype, so that casting
isn't needed.
2014-04-29 19:35:29 +02:00
Matthias Clasen
7ac684e9e3
flow box: Avoid excessive signals
...
We were emitting the a11y ::selection-changed signal much more
often than ::selected-children-changed. Thats not necessary.
2014-03-29 00:46:51 -04:00
Matthias Clasen
3d0b7314cd
Trivial typo fix
2014-03-28 23:51:52 -04:00
William Jon McCann
469d333aa2
docs: use Returns: consistently
...
Instead of Return value:
2014-02-19 18:56:05 -05:00