Commit Graph

31451 Commits

Author SHA1 Message Date
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
Matthias Clasen
c7467b4e76 assistant: Fix the default value of has-padding
This was showing up in the defaultvalue test.
2019-02-08 08:21:42 -05:00
Matthias Clasen
81055ca7d9 Fix compiler warnings
Fallout from recent GtkStackPage changes.
2019-02-08 07:55:41 -05:00
Matthias Clasen
b675597075 builder-tool: Convert assistant pages too
Do the same transformation for GtkAssistantPage that
we already do for GtkStackPage, to transform GTK 3 .ui
files to GTK 4 ways of doing things.
2019-02-08 00:09:44 -05:00
Matthias Clasen
ce60089f46 assistant: Convert child properties to a child meta object
Turn GtkAssistantPage into a public object holding the
former child properties.
2019-02-08 00:09:44 -05:00
Matthias Clasen
4ace873046 Update ui files to new stack syntax
This conversion was done with the help of gtk4-builder-tool.
2019-02-08 00:09:44 -05:00
Matthias Clasen
72b6644223 builder tool: Operate on multiple files
There is no strong reason to disallow this, when
the --replace option is used.
2019-02-08 00:09:44 -05:00
Matthias Clasen
59152b8a8d builder tool: Rewrite the simplify command
Rewrite the builder-tool simplify command to have
a full parse tree around, and perform simplifications
on that tree. This lets us rewrite GtkStack and turn
child properties into child meta objects.
2019-02-08 00:09:44 -05:00
Matthias Clasen
addcf2e526 tools: Split gtk-builder-tool
Put each command into its own file. This is in
preparation for redoing the simplify command.
2019-02-08 00:09:44 -05:00
Matthias Clasen
ed3b9669b3 builder: Allow specifying objects inline
In addition to <property name="foo">bar</property> referring
to an object with ID bar, we now also parse
<property name="foo"><object>...
to specify a property 'inline'.
2019-02-08 00:09:44 -05:00
Matthias Clasen
ad9c2a624f stack: Convert child properties to a child meta object
Create a GtkStackPage public object which holds the former
child properties of GtkStack.

Adjust all callers.
2019-02-08 00:09:44 -05:00
Jakub Steiner
a3e517aa9c Adwaita: menu border-radius fix from gtk3
- avoid painting over the rounded corners with background
2019-02-06 14:34:55 +01:00
Jakub Steiner
8d537379ed Adwaita: sync with stable styling
- fold over changes in teh stable brnch to get the same look

fixes issue #1656
2019-02-06 14:01:38 +01:00
Emmanuele Bassi
1668496359 docs: Fix GTK links and locations 2019-02-06 10:39:27 +01:00
Rico Tzschichholz
d2d35e52c3 Adjust some more pkg-config references for gtk+ to gtk rename
See https://gitlab.gnome.org/GNOME/gtk/issues/1439
2019-02-06 09:56:08 +01:00
Matthias Clasen
e91144f6c9 Make GtkInvisible private
We can't quite get rid of its use in the inspector,
but we can make it private.
2019-02-06 02:06:19 -05:00
Matthias Clasen
a75dcce707 Make the invisible invisible
The change to make widgets visible by default broke GtkInvisibles
special-cased state handling and that in turn caused picking in
the inspector to break with another recent change.

This change makes the inspector pick button work again.
2019-02-05 16:55:07 -05:00
Matthias Clasen
785373ce2a printoperation-win32: Stop using an invisible
We can just as well use a GtkWindow here. We just need
a handle. Untested.
2019-02-05 10:56:40 -05:00
Matthias Clasen
aad44999f3 filechoosernativeportal: Stop using an invisible
A label works just as well here, it turns out.
2019-02-05 10:46:48 -05:00
Matthias Clasen
721e598e99 Reduce includes of gtkinvisible.h
We want to get rid of GtkInvisible.
2019-02-05 10:46:33 -05:00
Timm Bäder
9d950087ef inspector: Remove window icon
The property does not exist anymore and the window icon has never been
used on non-x11 backends.
2019-02-05 15:14:19 +01:00
Timm Bäder
1674b6e269 main: Prefer implicit grab widget to target widget for motion events
When an implcit grab is going on, we don't need to consider other
widgets for motion (etc.) events.
2019-02-05 15:13:01 +01:00
Timm Bäder
33ac41bc94 infobar: Remove an unused variable 2019-02-05 15:09:59 +01:00
Timm Bäder
057144cfdd window: Inline function into only caller 2019-02-05 08:11:43 -05:00
Timm Bäder
9b91041025 window: Remove remaining icon_list handling 2019-02-05 08:11:43 -05:00
Timm Bäder
b215384064 window: Remove default_icon_serial
Now unused.
2019-02-05 08:11:43 -05:00
Timm Bäder
e6c5b9348d window: Remove default icon list 2019-02-05 08:11:43 -05:00
Timm Bäder
55b99e9916 window: Remove icon list 2019-02-05 08:11:43 -05:00
Timm Bäder
131e8d8905 Remove some unnecessary gtkwindow.h includes 2019-02-05 08:11:43 -05:00
Timm Bäder
e82d97f069 window: Remove set_default_icon 2019-02-05 08:11:43 -05:00
Timm Bäder
490bb4c2ea window: Remove icon property 2019-02-05 08:11:43 -05:00
Timm Bäder
79664567c4 window: Remove _set_default_icon_from_file 2019-02-05 08:11:43 -05:00
Timm Bäder
7abcd5ba3b window: Remove set_icon_from_file
Not all backends support setting window icons from raw pixel data, so
remove the public API in GtkWindow for it.
2019-02-05 08:11:43 -05:00
Matthias Clasen
3489ed087d Merge branch 'kill-buttonbox' into 'master'
Drop GtkButtonBox

See merge request GNOME/gtk!554
2019-02-05 13:06:09 +00:00
Matthias Clasen
32e61b955a Drop gtkboxprivate.h
Not needed anymore.
2019-02-05 07:54:35 -05:00
Emmanuele Bassi
f6c07a0ddb glade: Drop the "plus"
From documentation and catalog description.
2019-02-05 11:26:54 +01:00
Emmanuele Bassi
25fd230327 gtk: Drop the "plus"
Source names should use "[gtk]" without the plus.
2019-02-05 11:26:20 +01:00
Emmanuele Bassi
866d0c4fb9 themes: Drop the "plus"
Comments and documentation.
2019-02-05 11:25:41 +01:00
Emmanuele Bassi
4569bc6358 inspector: Drop the "plus"
From user-visible strings, mostly.
2019-02-05 11:25:15 +01:00
Matthias Clasen
179e85f803 about dialog: Stop setting secondary
We no longer use a button box, so this is not available.
2019-02-05 03:46:31 -05:00
Matthias Clasen
99c5a3d72c gtk: Stop using deprecated pango api 2019-02-04 18:28:31 -05:00
Matthias Clasen
dbd360262c Add an explicit fribidi dep
We will use fribidi api to determine text direction.
2019-02-04 18:28:31 -05:00
Matthias Clasen
5120748981 Drop GtkButtonBox
This widget does not seem worth keeping,
and we want to get rid of child properties.
2019-02-04 12:44:55 -05:00
Timm Bäder
257df1d8b5 tooltip: Get the pointer position relative to the toplevel widget
Since we position the tooltip window relative to the toplevel widget and
not actually relative to the effective_toplevel, we shouldn't get the
pointer position relative to the effective_toplevel.

We previously used the pointer position (relative to the
effective_toplevel) and the anchor rect (relative to the toplevel
widget) together to calculate x_distance. This leads to wrong values in
cases where get_surface (new_tooltip_widget) != get_surface (toplevel)

Fixes #1427 in master
2019-02-04 17:05:30 +01:00
Timm Bäder
47ba423eca tooltip: Use gtk_widget_compute_bounds to get tootip widget anchor
Instead of using gtk_widget_get_allocated_width/height, which might
return the wrong box for the tooltip widget.
2019-02-04 17:05:30 +01:00
Timm Bäder
489e87baea main: Rename local variable
Make it a little clearer that this is the event widget and not just any
widget.
2019-02-04 17:05:30 +01:00
Timm Bäder
43234eec42 gtkmain: Rename event_widget to target_widget in do_event
The event_widget is the widget that the surface belongs to which got
this event. The target widget is the one that will receive the event.
The previous terminology was confusing.
2019-02-04 17:05:30 +01:00
Matthias Clasen
268fcbb838 Drop GtkPopoverMenu::position
This is another unnecessary position child property.
2019-02-04 10:47:18 -05:00
Emmanuele Bassi
4040f76529 Use @basename@ in enumeration type templates
The @filename@ directive will use the full path of the file being parsed
for enumeration types; we should use @basename@, instead, as it improves
the reproducibility of the build by using only the file name.
2019-02-04 14:02:45 +01:00
Timm Bäder
4dca2f9604 recorder: Don't try to print info about a NULL list model 2019-01-31 17:00:50 +01:00
Timm Bäder
5852a5ece8 switch: Notify :state by pspec 2019-01-30 17:46:08 +01:00
Emmanuele Bassi
a7fa1cf6f2 Merge branch '1480-critical-csd-close-button' into 'master'
gtkmain: Avoid critical messages on closing window

Closes #1480

See merge request GNOME/gtk!442
2019-01-30 11:53:12 +00:00
Timm Bäder
d9d4879623 Merge branch 'wip/carlosg/texthandles-position' into 'master'
gtkentry: Fix text handle coordinates calculation

See merge request GNOME/gtk!542
2019-01-29 13:36:43 +00:00
Carlos Garnacho
a15325ef44 gtkentry: Fix text handle coordinates calculation
The text allocation is already in widget-local coordinates, involving the
GtkAllocation here is not right.
2019-01-29 12:00:07 +01:00
Jakub Steiner
5765d47568 Merge branch 'expander-row-padding' into 'master'
adwaita: Fix the greediness of row:not(.expander)

See merge request GNOME/gtk!526
2019-01-29 09:46:34 +00:00
Jakub Steiner
7286ede490 Merge branch 'adwaita-osd-spinbutton-entry-fix-master' into 'master'
Horizontal OSD spinbutton entry fix

See merge request GNOME/gtk!332
2019-01-29 09:39:57 +00:00
Timm Bäder
4a333f826a Merge branch 'wip/matthiasc/event-signal' into 'master'
Remove vestigial ::event support

See merge request GNOME/gtk!538
2019-01-29 08:33:40 +00:00
Timm Bäder
8c4dc3de4d widget: Also propagate ACTIVE state when unsetting 2019-01-29 07:19:54 +01:00
Timm Bäder
0a5362a7d9 gtkmain: Remove comment mentioning GDK_PROPERTY_NOTIFY
... which doesn't exist anymore.
2019-01-29 07:19:54 +01:00
Timm Bäder
245cebec1d widget: Ignore events on unmapped widgets
There was a special case for GtkSearchBar, so remove that one.
2019-01-29 07:19:54 +01:00
Benjamin Otte
bde2332a1a main: Report correct target for button release events
Button release events should not go to the widget below the pointer, but
to the widget that received the original button press.

Fixes #24
2019-01-29 07:19:54 +01:00
Timm Bäder
20429f4764 Remove :active state handling on widgets 2019-01-29 07:19:54 +01:00
Timm Bäder
1b504a3303 Automatically set :active state on button press/release 2019-01-29 07:19:54 +01:00
Timm Bäder
61ec2ab5c9 widget: Propagate PRELIGHT state when unsetting it
Without this, disabling a widget that's being hovered and is a child
widget of the widget we're disabling (e.g. the GtkImage child of a
GtkButton) will retain its :hover state even though it should be
insensitive to any sort of input now.
2019-01-29 07:19:54 +01:00
Timm Bäder
611964d915 widget: Avoid some type checks when picking 2019-01-29 05:03:26 +01:00
Timm Bäder
16481734c1 csstransformvalue: Convert skew values to radians 2019-01-29 05:03:26 +01:00