Matthias Clasen
89d8ae0431
stack: Fix a crash
...
We need to remove the weak pointer, as the stack switcher can
keep the list model alive beyond the stack. This was observed
to cause crashes:
==16870== Invalid write of size 8
==16870== at 0x5168A4E: g_nullify_pointer (gutils.c:2284)
==16870== by 0x522C500: weak_refs_notify (gobject.c:2791)
==16870== by 0x50FE7BC: g_data_set_internal (gdataset.c:407)
==16870== by 0x50FECA7: g_datalist_id_set_data_full (gdataset.c:670)
==16870== by 0x5227EB4: g_object_real_dispose (gobject.c:1056)
==16870== by 0x522D295: g_object_unref (gobject.c:3309)
==16870== by 0x4AF849F: unset_stack (gtkstackswitcher.c:428)
==16870== by 0x4AF892E: gtk_stack_switcher_dispose (gtkstackswitcher.c:527)
2019-02-14 12:24:22 -05:00
Matthias Clasen
fb44491926
assistant: Add a pages property
...
This is mainly useful to make the page objects
accessible in the inspector.
2019-02-13 18:27:25 -05:00
Matthias Clasen
2866a13f30
inspector: Support list model properties
...
This is just a very quick hack for a property editor
that allows to drill down into list models.
2019-02-13 15:08:17 -05:00
Matthias Clasen
6ef775dbcb
stack: Add a pages property
...
This makes the list model available in the inspector.
2019-02-13 14:14:54 -05:00
Matthias Clasen
927e983ff8
inspector: Make object property inspection work again
...
This was lost when porting to GtkListView.
2019-02-13 13:41:15 -05:00
Matthias Clasen
fbe0db4007
inspector: Add an api to activate an object
...
This will be used to make object property inspection
work again.
This will be used to make object property inspection
work againn
2019-02-13 13:40:40 -05:00
Matthias Clasen
8de8b8eebc
inspector: Fix selecting objects with a next tab
...
This was causing criticals.
2019-02-13 13:04:00 -05:00
Matthias Clasen
82fdd483d2
Add a missing icon
...
The view-refresh-symbolic icon is used in the data list
of the inspector. So ship it in gtk. No need to have
it in the demos, then.
2019-02-13 12:49:31 -05:00
Matthias Clasen
8c0b70691b
stack: Don't emit bad ::selection-changed signals
...
We have to be careful to not pass bad numbers to
this signal, which was happening in cases where
we have on old or new selected item.
2019-02-13 09:01:07 -05:00
Matthias Clasen
1750922631
stack: Fix a corner-case
...
When the stack goes empty, we were failing to reset
the visible_child member to NULL, causing problems later
on, since we don't have a ref for it.
2019-02-13 09:00:00 -05:00
Matthias Clasen
2dd85b826f
stack: Don't leak a reference
...
The page holds a reference to the widget, so can't just clear
this pointer.
2019-02-13 08:42:58 -05:00
Matthias Clasen
c0c6c87781
stack: Avoid some ugly unrefs
...
Instead of using the list model api that forces us
to drop the ref, just work with the list we have.
2019-02-13 08:40:13 -05:00
Matthias Clasen
f4b26af255
selection model: Add sanity checks
...
It is easy to emit wrong ::selection-changed signals,
and then bad things will usually happen later. Add
some sanity checks to gtk_selection_model_selection_changed
to make this easier to track down.
2019-02-13 08:38:30 -05:00
Matthias Clasen
2bd93303c4
Merge branch 'included-icons' into 'master'
...
Included icons
See merge request GNOME/gtk!580
2019-02-13 03:33:16 +00:00
Matthias Clasen
16026b6898
page setup dialog: Use theme icons
...
We have non-gtk-specific icons in the icon theme for this
now, so drop the gtk-orientation icons and use the theme
ones instead.
2019-02-12 21:37:02 -05:00
Matthias Clasen
7207c82c39
spin button: Use guaranteed icons
...
We guarantee value-increase/decrease-symbolic now, no need
for fallback anymore.
2019-02-12 21:37:02 -05:00
Matthias Clasen
bcafd20529
resources: Include more icons
...
Include all the icons that gtk is using itself.
For now, we include size 16 and scalable, to keep
the size limited.
2019-02-12 21:37:02 -05:00
Matthias Clasen
6c4e088620
resources: Include more icon directories
...
We are going to include all the icons that are
used by gtk itself. Prepare for that by including
the necessary subdirectories from the icon theme.
2019-02-12 19:34:19 -05:00
Matthias Clasen
4df2a4c82c
icon theme: Remove fallbacks
...
We want to include all needed icons as resources,
so disable the fallbacks and see what comes up.
2019-02-12 17:34:43 -05:00
Matthias Clasen
92d6f5e8fd
Add image-missing to the internal icons
...
We assert if image-missing is missing,
so life is better if
we can guarantee that it is available.
2019-02-12 17:34:18 -05:00
Timm Bäder
aa71b6c405
Rever more of the icon shadow commit
...
Even adjusting the icon size is wrong for GTK4.
2019-02-12 06:33:41 +01:00
Matthias Clasen
2d57cb6ce3
Revert a non-working addition
...
Cell rendererers don't support <style> in ui files.
2019-02-12 06:20:14 +01:00
Jakub Steiner
756e8f3189
Theme: add helper class names for Adwaita
...
- helps legibility of app icons
Addresses https://gitlab.gnome.org/GNOME/gtk/issues/1434
2019-02-12 06:19:22 +01:00
Matthias Clasen
52b83ac553
about dialog: Adapt to new stack visiblity handling
...
We need to set the visible property of the stack pages
now.
2019-02-12 00:10:54 -05:00
Matthias Clasen
916508f3db
stack: Drop the position property
...
GtkStackSwitcher and GtkStackSidebar no longer
use the GtkStackPage::position property, so we
don't need to maintain it anymore.
2019-02-10 18:43:59 -05:00
Matthias Clasen
9255a12493
stack sidebar: Use the selection model
...
Make GtkStackSidebar and GtkStack communicate via
the selection model that GtkStack now exposes.
This is parallel to the GtkStackSwitcher changes
in the previous commit.
2019-02-10 18:43:59 -05:00
Matthias Clasen
8595665524
stack switcher: Use the selection model
...
Make GtkStackSwitcher and GtkStack communicate via
the selection model that GtkStack now exposes.
2019-02-10 18:43:59 -05:00
Matthias Clasen
7b08d13aea
stack: Provide a selection model
...
Make GtkStack expose a selection model for its pages.
The model can be used to track changes to the pages,
and to change what child is visible.
2019-02-10 18:43:59 -05:00
Matthias Clasen
dc0750f6ef
stack: Add a GtkStackPage::visible property
...
This will let GtkStackSwitcher track visibility
without having to interact with the widgets directly.
2019-02-10 18:43:59 -05:00
Benjamin Otte
30386bbaca
gtk: Add GtkSingleSelection
...
GtkSingleSelection is a GtkSelectionModel that allows selecting a single
item.
2019-02-10 18:43:59 -05:00
Benjamin Otte
16024fba7c
gtk: Add GtkSelectionModel
...
The selection model is a list model interface that takes care of
selections and is to be used by the list model widgets to manage their
selections.
2019-02-10 18:43:59 -05:00
Timm Bäder
14feafe3a9
window: Remove GList link directly
...
Instead of walking the list again and looking for the GList pointer we
already have.
2019-02-10 10:31:27 +01:00
Timm Bäder
d1ea591f18
rendericon: Ignore transparent icons
...
If the recoloring would end up multiplying the alpha component with 0
anyway, just skip drawing anything altogether.
This increases the icon count in the switch demo of the fishbowl from
~260 to ~280 on my system.
2019-02-10 10:31:27 +01:00
Carlos Garnacho
37d218b160
imwayland: Toggle OSK more sparingly
...
Specifically it is avoided to be toggled if:
- Just received focus (in order to preserve OSK state across focus changes)
- Moving cursor around. Still allow some jitter as perfect accuracy is not
possible.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1277
2019-02-09 01:08:35 +01:00
Matthias Clasen
7cb505a395
Avoid introspection warnings
...
Unless we keep the parameter names in headers sources and
docs the same, some tools will complain.
2019-02-08 13:49:17 -05:00
Piotr Drąg
cf5f577834
Use Unicode typography in new translatable strings
...
See https://developer.gnome.org/hig/stable/typography.html
2019-02-08 19:24:53 +01:00
Benjamin Otte
3f2934bff9
revealer: Use gtk_widget_set_overflow()
2019-02-08 18:26:43 +01:00
Benjamin Otte
3d05e6777a
treeview: Use gtk_widget_set_overflow()
...
We need to clip again so we don't overdraw the headers, but setting
overflow does the right thing with header widgetry.
2019-02-08 18:26:42 +01:00
Benjamin Otte
e522641920
textview: Use gtk_widget_set_overflow()
2019-02-08 18:26:42 +01:00
Benjamin Otte
3517eb7c54
magnifier: Use gtk_widget_set_overflow()
2019-02-08 18:26:42 +01:00
Benjamin Otte
b72ee00539
iconview: Use gtk_widget_set_overflow()
2019-02-08 18:26:42 +01:00
Benjamin Otte
c07cd23aa9
paned: Use gtk_widget_set_overflow()
2019-02-08 18:26:42 +01:00
Benjamin Otte
8ef417dad1
viewport: Use gtk_widget_set_overflow()
2019-02-08 18:26:42 +01:00
Benjamin Otte
49cbf2a16b
widget: Add gtk_widget_set_overflow()
...
This adds a simple abilities for widget implementations to clip their
content. See future commits for users of this.
2019-02-08 18:26:42 +01:00
Matthias Clasen
915acce470
builder-tool: Fix preserving properties
...
We were looking at the wrong class names here, we need
to look at the owner type to match against our list.
This fixes problems where gtk-builder-tool simplify
inadvertedly loses hexpand or vexpand settings, messing
up layout, as recently happend in gtk4-widget-factory.
2019-02-08 10:34:32 -05:00
Matthias Clasen
c16a861f68
assistant: Fix a refcounting oversight
...
The assistant needs to hold a ref on the pages.
2019-02-08 09:51:45 -05:00
Matthias Clasen
b8903a4aba
stack: Fix up property notification
...
This was showing up in testsuite failures.
2019-02-08 09:03:45 -05:00
Matthias Clasen
d8a5f41aab
assistant: Fix up property notification
...
This was showing up in testsuite failures.
2019-02-08 09:03:18 -05:00
Matthias Clasen
1632cc7929
stack: Make the child meta work without stack
...
We have tests that expect this to work, like defaultvalue.
2019-02-08 08:22:35 -05:00
Matthias Clasen
a7eae67228
shortcuts window: Fix a leftover use of child properties
...
These properties are gone, use the child meta here.
2019-02-08 08:22:06 -05:00