Matthias Clasen
6280066207
testlistdnd: Add a tree
...
This lets us test auto-expand of tree expanders.
2020-06-19 15:26:47 -04:00
Matthias Clasen
5629ac3c63
Add a list dnd example
...
Add a test for dnd with listview, gridview and columnview.
2020-06-19 15:26:10 -04:00
Emmanuele Bassi
c7916c8e48
Use the appropriate name for Juneteenth
...
Juneteenth (a portmanteau of June and nineteenth)[2] (also known as
Freedom Day,[3] Jubilee Day,[4] and Liberation Day,[5]) is an unofficial
American holiday celebrated annually on the 19th of June in the United
States.
-- https://en.wikipedia.org/wiki/Juneteenth
2020-06-18 17:43:46 +01:00
Matthias Clasen
86718439be
testdropdown: Add some more tests
...
Add a homegrown combobox entry replacement that
combines a dropdown with a plain entry.
2020-06-12 08:49:01 -04:00
Matthias Clasen
8c670b3b5d
testcolumnview: Add recent file support
...
Use testcolumnview --recent to see recent files.
2020-06-11 16:14:47 -04:00
Emmanuele Bassi
6b096e5c5b
Make tooltip properties idiomatic
...
The tooltip handling in GtkWidget is "special":
- the string is stored inside the qdata instead of the private
instance data
- the accessors call g_object_set() and g_object_get(), and the
logic is all inside the property implementation, instead of
being the other way around
- the getters return a copy of the string
- the setters don't really notify all the involved properties
The GtkWidgetAccessible uses the (escaped) tooltip text as a source for
the accessible object description, which means it has to store the
tooltip inside the object qdata, and update its copy at construction and
property notification time.
We can simplify this whole circus by making the tooltip properties (text
and markup) more idiomatic:
- notify all side-effect properties
- return a constant string from the getter
- if tooltip-text is set:
- store the text as is
- escape the markup and store it separately for the markup getter
- if tooltip-markup is set:
- store the markup as is
- parse the markup and store it separately for the text getter
The part of the testtooltips interactive test that checks that the
getters are doing the right thing is now part of the gtk testsuite, so
we ensure we don't regress in behaviour.
2020-06-05 20:32:26 +01:00
Matthias Clasen
371dab51bb
Add GtkDropDown
...
This is a simple drop down control using list models.
2020-05-30 19:31:38 -04:00
Matthias Clasen
e3ce99988f
Add GtkTreeListRowSorter
...
This is a special-purpose sorter that can
apply the sorting of another sorter to the
levels of a GtkTreeListModel.
2020-05-30 19:30:14 -04:00
Benjamin Otte
fb78f1ef8e
testcolumnview: Add sorters
2020-05-30 19:28:30 -04:00
Benjamin Otte
9f19699806
tests: Add testcolumnview
2020-05-30 19:26:46 -04:00
Benjamin Otte
30f09ea10b
listitem: Make this a GObject
...
This splits GtkListItem into 2 parts:
1. GtkListItem
This is purely a GObject with public API for developers who want to
populate lists. There is no chance to cause conflict with GtkWidget
properties that the list implementation assumed control over and
defines a clear boundary.
2. GtkListItemWidget
The widget part of the listitem. This is not only fully in control of
the list machinery, the machinery can also use different widget
implementations for different list widgets like I inted to for
GtkColumnView.
2020-05-30 19:26:46 -04:00
Benjamin Otte
affd2737d5
gridview: Implement minimum row height
...
We only allocate a certain amount of widgets - and we don't want to run
out of them. So we make all widgets high enough for this to never
happen.
2020-05-30 19:26:46 -04:00
Benjamin Otte
7451e51619
Add GtkTreeExpander
...
This is a container widget that takes over all the duties of tree
expanding and collapsing.
It has to be a container so it can capture keybindings while focus is
inside the listitem.
So far, this widget does not allow interacting with it, but it shows the
expander arrow in its correct state.
Also, testlistview uses this widget now instead of implementing
expanding itself.
2020-05-30 19:26:45 -04:00
Benjamin Otte
626c525706
listview: Expose GtkListItemFactory APIs
...
Due to the many different ways to set factories, it makes sense to
expose them as custom objects.
This makes the actual APIs for the list widgets simpler, because they
can just have a regular "factory" property.
As a convenience function, gtk_list_view_new_with_factory() was added
to make this whole approach easy to use from C.
2020-05-30 19:26:45 -04:00
Benjamin Otte
360a728d77
tests: Add a rough form of multiselection
...
Just store a "filechooser::selected" attribute in the GFileInfo if
the file is meant to be selected.
2020-05-30 19:26:45 -04:00
Benjamin Otte
7c38ac1954
testlistview: Load icons async
...
Speeds up loading by 4x, because out of view icons aren't loaded
anymore.
2020-05-30 19:26:45 -04:00
Benjamin Otte
dbe802f685
testlistview: Port to directory list
2020-05-30 19:26:45 -04:00
Benjamin Otte
d8eec549f0
testlistview: Create widgets only once
...
Previously, we were recreating all widgets every time the list item was
rebound, which caused a lot of extra work every time we scrolled.
Now we keep the widgets around and only set their properties again when
the item changes.
2020-05-30 19:26:45 -04:00
Benjamin Otte
7389e704dc
testlistview: Show the row number
...
Always show the current row. This is mostly useful for debugging, not
for beauty.
2020-05-30 19:26:45 -04:00
Benjamin Otte
e5add36a17
listview: Change how binding is done
...
We now don't let the functions create widgets for the item from the
listmodel, instead we hand out a GtkListItem for them to add a widget
to.
GtkListItems are created in advance and can only be filled in by the
binding code by gtk_container_add()ing a widget.
However, they are GObjects, so they can provide properties that the
binding code can make use of - either via notify signals or GBinding.
2020-05-30 19:26:45 -04:00
Benjamin Otte
378a573cf4
tests: Make animating listview do random resorts
2020-05-30 19:26:45 -04:00
Benjamin Otte
d03a55599b
tests: Add a test for a permanently changing listview
...
This is mostly for dealing with proper anchoring and can be used to
check that things don't scroll or that selection and focus handling
properly works.
For comparison purposes, a ListBox is provided next to it.
2020-05-30 19:26:44 -04:00
Benjamin Otte
c835ae2a02
listview: Make widget actually do something
...
The thing we're actually doing is create and maintain a widget for every
row. That's it.
Also add a testcase using this. The testcase quickly allocates too many
rows though and then becomes unresponsive though. You have been warned.
2020-05-30 19:26:44 -04:00
Benjamin Otte
b1090ac8e2
tests: Remove testtreemodel test
...
testlistview does everything this test does.
2020-05-30 12:30:23 -04:00
Yuri Chornoivan
01bd4cc4e1
Fix minor typos
2020-05-28 11:00:03 +03:00
Timm Bäder
eebc2f20fa
testgtk: Add G_GNUC_NORETURN to usage()
2020-05-19 08:32:33 +02:00
Matthias Clasen
75d9310986
Change coordinate translation apis to take doubles
...
Change gtk_widget_translate_coordinates and
gtk_native_get_surface_transform to operate
on doubles. Update all callers.
2020-05-17 17:17:31 -04:00
Matthias Clasen
c0faf0c6b6
Merge branch 'toplevel-move-resize' into 'master'
...
Toplevel move resize
See merge request GNOME/gtk!1923
2020-05-17 19:15:46 +00:00
Benjamin Otte
b353221185
Merge branch 'wip/otte/monitors' into 'master'
...
various GDK cleanups
See merge request GNOME/gtk!1920
2020-05-17 16:57:52 +00:00
Matthias Clasen
f316fe0f58
window: Use toplevel begin_move/resize api
...
The GdkSurface api for this is going away.
2020-05-17 12:49:26 -04:00
Benjamin Otte
4c7914dc49
display: Remove unneeded getters
...
Applications can use the listmodel instead.
2020-05-17 07:32:37 +02:00
Timm Bäder
c4363e2706
showrendernode: Set widget overflow
2020-05-16 22:04:00 +02:00
Matthias Clasen
dcfb4690c3
tests: Drop testdnd3
...
This has been integrated in gtk4-demo as the
DND example.
See #2738
2020-05-14 20:32:53 -04:00
Matthias Clasen
9e8d845a61
tests: Rename testheaderbar2 to testheaderbar
...
There is only one headerbar test now.
2020-05-14 20:15:59 -04:00
Matthias Clasen
1e2b5a9c19
tests: Consolidate all headerbar tests
...
No need to have several binaries for this.
See #2738
2020-05-14 20:15:31 -04:00
Matthias Clasen
4079b782d6
tests: Drop testorientable
...
Not really that interesting, and it only
tests a single case of orientable, a box.
See #2738
2020-05-14 19:48:08 -04:00
Matthias Clasen
dca142d5d2
tests: Drop testemblems
...
We no longer support emblems on icons.
See #2738
2020-05-14 19:44:54 -04:00
Matthias Clasen
52c630d994
tests: Drop testgiconpixbuf
...
More a pixbuf test, and we don't support
emblems anymore.
See #2738
2020-05-14 19:44:08 -04:00
Matthias Clasen
aadd9ae201
tests: Drop testbuttons
...
This does not really add much. We have plenty
of different button styles in our demos and
tests.
See #2738
2020-05-14 19:44:05 -04:00
Matthias Clasen
c1658903b7
Merge branch 'tests-cleanup' into 'master'
...
Tests cleanup
See merge request GNOME/gtk!1894
2020-05-13 22:19:55 +00:00
Matthias Clasen
8e6ec0b8a3
tests: Fix scrolling performance test
...
Maybe this should be added to the benchmarks section
in gtk-demo. For now, fix it to work again.
2020-05-13 17:10:00 -04:00
Matthias Clasen
25577e4fbf
tests: Drop testnoscreen
...
It tests something that no longer works, and that
we probably don't want to guarantee anyway.
See #2738
2020-05-13 16:35:28 -04:00
Matthias Clasen
dc8c37120e
tests: Drop testexpander
...
This was copied into gtk4-demo at some point.
See #2738
2020-05-13 16:23:48 -04:00
Matthias Clasen
a375c41510
tests: Drop testfontchooser
...
This test adds nothing over the font choosers in
our various demos.
See #2738
2020-05-13 16:18:50 -04:00
Matthias Clasen
b8e905eae7
tests: Drop testcolorchooser
...
We have plenty of color choosers in demos.
This test doesn't add anything.
See #2738
2020-05-13 16:15:09 -04:00
Matthias Clasen
b0fcf64544
tests: Drop testbox
...
Not useful enough to keep.
See #2738
2020-05-13 16:04:00 -04:00
Matthias Clasen
604f4cf8bf
tests: Drop testcolorchooser2
...
This tests an embedded colorchooser. Just like we have in
widget-factory. And it doesn't work in !srcdir builds, so
it can go.
See: #2738
2020-05-13 15:55:29 -04:00
Matthias Clasen
1420e846b5
tests: Drop testicontheme
...
This is a command line utility for GtkIconTheme
that is probably not as useful as gtk4-icon-browser.
See: #2738
2020-05-13 15:55:21 -04:00
Matthias Clasen
c3aeac19bc
tests: Drop testpixbuf-scale
...
This looks like a GdkPixbuf utility, and we
are moving away from GdkPixbuf anyway.
See: #2738
2020-05-13 15:55:18 -04:00
Matthias Clasen
deef018c68
tests: Drop testtoolbar2
...
This is just a tool bar styling test; we have
the same in the widget factory.
See: #2738
2020-05-13 15:37:21 -04:00
Matthias Clasen
fe6238d1c4
tests: Drop the visuals test
...
This was just a different way to load a ui file
and try it with dark mode. This can be done
with gtk-builder-tool preview and GTK_THEME.
2020-05-12 15:56:46 -04:00
Matthias Clasen
e7bf4a3de8
tests: Move testcairo into gtk4-demo
...
Replace the boring checkboard pattern with this
exciting drawing, and save one test binary at the
same time!
2020-05-12 15:43:43 -04:00
Matthias Clasen
c133db4364
Drop the gtkgears test
...
This has recently been moved to gtk4-demo.
No need to duplicate it.
2020-05-12 15:43:43 -04:00
Matthias Clasen
694daa1d20
Move print-editor to demos
...
It is too demo-esque for languishing in tests/.
2020-05-12 15:43:43 -04:00
Emmanuele Bassi
2090dbb27d
tests: Remove gtk_dialog_run()
...
Either use the "response" signal for dialogs that are already modal, or
use an explicit nested loop for tests that rely on the response id being
available in sequence.
2020-05-12 13:45:15 +01:00
Matthias Clasen
2a24b8c653
Replace most remaining uses of container api
...
These are all on GtkBox or enumerating children.
2020-05-11 22:38:21 -04:00
Matthias Clasen
0daa1f3daa
Stop using container api on GtkNotebook
2020-05-11 22:38:21 -04:00
Matthias Clasen
88141103cd
Don't use container api on GtkListBox
2020-05-11 22:21:39 -04:00
Matthias Clasen
3bff7d3a37
Stop using container api on GtkFlowBox
...
GtkContainer is going away.
2020-05-11 22:21:39 -04:00
Matthias Clasen
932aa58237
Avoid container api on grids
...
GtkContainer is going away.
2020-05-11 22:21:39 -04:00
Matthias Clasen
bd843acde9
Use gtk_info_bar_add_child throughout
2020-05-11 22:21:39 -04:00
Matthias Clasen
bc6643f3c2
paned: Redo the api
...
This commit is porting GtkPaned to be derived
from GtkWidget instead of GtkContainer, while adding
start-child and end-child properties. The existing
properties are renamed to follow the start/end naming
scheme, and we add proper getters and setters.
Update all users.
See #2719
2020-05-11 22:21:33 -04:00
Matthias Clasen
1afc749443
Use gtk_expander_set_child throughout
...
Replace all uses of gtk_container_add on expanders
with gtk_expander_set_child.
2020-05-11 22:21:14 -04:00
Matthias Clasen
d62ad4e6df
Fix a leftover window
...
We were still using container api on a window here.
2020-05-11 15:42:52 -04:00
Matthias Clasen
ba0579c670
Merge branch 'matthiasc/for-master' into 'master'
...
print-editor: Bring back the menubar
See merge request GNOME/gtk!1875
2020-05-11 19:08:53 +00:00
Matthias Clasen
757c9675b0
Merge branch 'wip/exalm/2242-test' into 'master'
...
tests: Add a headerbar-in-window test case
See merge request GNOME/gtk!1878
2020-05-11 18:51:20 +00:00
Alexander Mikhaylenko
70d14f60b2
tests: Add a headerbar-in-window test case
...
See https://gitlab.gnome.org/GNOME/gtk/-/issues/2242
2020-05-11 22:37:58 +05:00
Matthias Clasen
c8a96d08a0
print-editor: Bring back the menubar
...
This was the one place where we relied on
the menubar fallback in GtkApplicationWindow.
So turn it on explicitly.
2020-05-11 12:55:15 -04:00
Matthias Clasen
025375ff5f
Replace gtk_widget_destroy everywhere
...
Replace all remaining uses of gtk_widget_destroy
by gtk_container_remove or g_object_unref.
2020-05-11 12:20:59 -04:00
Matthias Clasen
cd0081d08a
Use gtk_window_destroy
...
Replace calls to gtk_widget_destroy on windows
with gtk_window_destroy.
2020-05-11 12:20:57 -04:00
Matthias Clasen
8f9c3ed44a
Stop using gtk_widget_destroyed
...
Replace all internal use of gtk_widget_destroyed
by g_object_add_weak_pointer.
2020-05-11 12:19:37 -04:00
Matthias Clasen
9ce7b16dd8
Merge branch 'wip/exalm/test' into 'master'
...
Fix (most of the) tests
See merge request GNOME/gtk!1873
2020-05-11 15:52:24 +00:00
Alexander Mikhaylenko
228b3fc622
tests: Stop explicitly showing widgets
2020-05-11 20:15:57 +05:00
Alexander Mikhaylenko
ea9cea9be7
tests: Remove redundant image from testdialog
2020-05-11 20:04:23 +05:00
Alexander Mikhaylenko
56f56e6352
tests: Connect signal properly for testvolumebutton
2020-05-11 19:54:32 +05:00
Alexander Mikhaylenko
2323e8d77d
tests: Remove orientation from testvolumebutton
...
GtkVolumeButton isn't orientable anymore.
2020-05-11 19:53:31 +05:00
Alexander Mikhaylenko
531468cab6
test: Stop using stock-size for teestverticalcells
2020-05-11 19:51:18 +05:00
Alexander Mikhaylenko
58fcd09cff
tests: Fix testtreeelistmodel
...
Stop using GtkContainer API for GtkListBoxRow and GtkToggleButton.
2020-05-11 19:47:58 +05:00
Alexander Mikhaylenko
2940b17a8e
tests: Fix teststackedheader
...
Connect to signals programmatically.
2020-05-11 19:33:05 +05:00
Alexander Mikhaylenko
1d2af907fc
tests: Fix teststack "add icon" button
2020-05-11 19:27:41 +05:00
Matthias Clasen
329994291a
Merge branch 'wip/baedert/for-master' into 'master'
...
Wip/baedert/for master
See merge request GNOME/gtk!1867
2020-05-11 14:24:45 +00:00
Alexander Mikhaylenko
b2da99fd4e
tests: Fix testselectionmode
...
Stop using <packing/> and GtkContainer API for random widgets.
2020-05-11 19:21:03 +05:00
Alexander Mikhaylenko
4361a884bf
tests: Fix testoverlay
...
Stop using child properties and margin property.
2020-05-11 19:13:04 +05:00
Alexander Mikhaylenko
14dc92c747
tests: Simplify testorientable
...
Since GtkButtonBox is gone, remove the separator and change grid to box.
2020-05-11 19:08:56 +05:00
Alexander Mikhaylenko
c9760ed456
tests: Remove testmodelbutton
...
GtkModelButton is private now, so it can't work anymore.
2020-05-11 19:03:53 +05:00
Alexander Mikhaylenko
7c148bebef
tests: Remove use-popover from testmenubutton
...
The corresponding property doesn't exist anymore.
2020-05-11 18:55:15 +05:00
Alexander Mikhaylenko
7aeb504652
tests: Fix testlogout
...
Stop using GtkApplication::quit signal.
2020-05-11 18:54:53 +05:00
Alexander Mikhaylenko
e0d36d1f2d
tests: Fix testiconview
...
Stop using GtkContainer API for GtkPopover.
2020-05-11 18:54:23 +05:00
Alexander Mikhaylenko
68fb643a7e
tests: Fix testheightforwidth layout
...
Stop using child properties and setting visible=true everywhere.
2020-05-11 18:39:32 +05:00
Alexander Mikhaylenko
fb0dcaf066
tests: Expand content for testheaderbar
2020-05-11 18:31:59 +05:00
Alexander Mikhaylenko
4277eeee1b
tests: Fix testgtk
...
An assorted collection of fixes.
2020-05-11 18:12:18 +05:00
Matthias Clasen
756720fde4
print-editor: Cosmetics
...
Make the about dialog a bit less barren.
2020-05-11 08:15:55 -04:00
Matthias Clasen
2b920b22c1
print-editor: Fix a critical
...
GtkWindow is no longer a container, so don't call
gtk_container_add on it.
2020-05-11 08:15:55 -04:00
Alexander Mikhaylenko
99704248b7
tests: Fix testgmenu
...
GtkMenuButton isn't a GtkButton anymore.
2020-05-11 04:58:36 +05:00
Alexander Mikhaylenko
7a09143519
tests: Add missing margin for testglarea
2020-05-11 04:57:01 +05:00
Alexander Mikhaylenko
25295d1e17
tests: Fix testgiconpixbuf test
...
Don't use GtkContainer API on GtkWindow.
2020-05-11 04:55:22 +05:00
Alexander Mikhaylenko
6920fc3625
tests: Fix testfontchooser layout
...
Remove an extra box so that we don't need to expand the chooser.
2020-05-11 04:52:04 +05:00
Alexander Mikhaylenko
b2f2b3f169
tests: Fix testfilechooser test
...
Don't use GtkContainer API on GtkWindow.
2020-05-11 04:47:26 +05:00
Alexander Mikhaylenko
466e8a70e5
tests: Add missing margin for testentrycompletion
2020-05-11 03:47:39 +05:00
Alexander Mikhaylenko
f2542e95f9
tests: Fix testdnd popup
...
Don't use GtkContainer API for GtkWindow.
2020-05-11 03:38:10 +05:00
Alexander Mikhaylenko
02b27775d8
tests: Fix testdialogtest
...
Fix deprecations in UI files, add a missing expand.
2020-05-11 03:36:51 +05:00
Alexander Mikhaylenko
9af4a420a3
tests: Update testcombochange test
...
GtkComboBox doesn't have list mode anymore, remove that.
2020-05-11 03:23:12 +05:00
Alexander Mikhaylenko
9efdf3c65c
tests: Fix testcombo
...
Don't use GtkContainer API on GtkFrame.
2020-05-11 03:22:34 +05:00
Alexander Mikhaylenko
e162b3ee19
tests: Fix testcalendar layout
...
Add a missing expand.
2020-05-11 03:22:15 +05:00
Alexander Mikhaylenko
1fd75d0fa2
tests: Add missing margin to simple test
2020-05-11 02:49:09 +05:00
Alexander Mikhaylenko
de5939f319
tests: Fix testadjustsize test
...
Don't assume GtkWindow is a container, also add missing expand and margin.
2020-05-11 02:47:40 +05:00
Alexander Mikhaylenko
31e3c1e362
tests: Fix testappchooser test
...
Don't assume GtkWindow is a container.
2020-05-11 02:47:40 +05:00
Alexander Mikhaylenko
1c03745ee4
tests: Fix testaccel layout
...
hexpand doesn't matter there, set vexpand instead.
2020-05-11 02:47:40 +05:00
Alexander Mikhaylenko
778d3884e2
tests: Fix testaccel indentation
2020-05-11 02:47:32 +05:00
Alexander Mikhaylenko
0f57e6c3c0
tests: Fix syncscroll
...
Set expand for the scrolled windows.
2020-05-11 02:26:42 +05:00
Alexander Mikhaylenko
edfaa5fc36
tests: Fix overlayscroll
...
Set expand for the scrolled window.
2020-05-11 02:18:06 +05:00
Alexander Mikhaylenko
b7bfb29ae8
tests: Fix print-editor
...
Don't assume GtkWindow is a container.
2020-05-11 02:17:42 +05:00
Timm Bäder
57444f77f7
testtreeview: Properly annotate a switch fallthrough
2020-05-10 08:44:20 +02:00
Matthias Clasen
82e92582bd
tests: Stop using ::size-allocate
2020-05-06 14:27:45 -04:00
Matthias Clasen
cac514f647
testtooltips: Derive demo from GtkWidget
2020-05-04 22:53:08 -04:00
Matthias Clasen
ec394e805b
Use gtk_combo_box_set_child throughout
2020-05-04 22:53:08 -04:00
Matthias Clasen
44f9a51827
testkineticscrolling: Make this work again
...
There was an errant g_free here, and lots of
redundant gtk_widget_show.
2020-05-04 22:53:08 -04:00
Matthias Clasen
e2781af16f
testgtk: Fix g_object_new use
...
This is the kind of thing that happens with varargs apis.
2020-05-04 22:53:08 -04:00
Matthias Clasen
77af8e303d
Use gtk_overlay_set_child throughout
...
Replace all uses of gtk_container_add on overlays
by gtk_overlay_set_child.
2020-05-04 22:53:08 -04:00
Matthias Clasen
12ecbd1508
listboxrow: Derive from GtkWidget
...
We want to remove GtkBin and GtkContainer as they don't
provide much useful functionality anymore.
See #2681
2020-05-04 22:53:08 -04:00
Matthias Clasen
b8d1a9eb0d
flowboxchild: Derive from GtkWidget
...
We want to remove GtkBin and GtkContainer as they don't
provide much useful functionality anymore.
See #2681
2020-05-04 22:53:08 -04:00
Matthias Clasen
649ae635a7
Use gtk_revealer_set_child throughout
...
Replace all uses of gtk_container_add on revealers
with gtk_revealer_set_child.
2020-05-04 22:53:08 -04:00
Matthias Clasen
f59f355190
Use gtk_window_set_child throughout
...
Replace all uses of gtk_container_add on windows
by gtk_window_set_child.
2020-05-04 22:53:08 -04:00
Matthias Clasen
af6e0ee2b3
Use gtk_button_set_child throughout
...
Replace all uses of gtk_container_add on buttons
by gtk_button_set_child.
2020-05-04 22:53:07 -04:00
Matthias Clasen
67759d4c3e
Use gtk_scrolled_window_set_child throughout
...
Replace all uses of gtk_container_add on popovers
by gtk_scrolled_window_set_child.
2020-05-04 22:53:07 -04:00
Matthias Clasen
8e261056b9
Use gtk_popover_set_child throughout
...
Replace all uses of gtk_container_add on popovers
by gtk_popover_set_child.
2020-05-04 22:53:07 -04:00
Matthias Clasen
e9ddf0fda5
Use gtk_viewport_set_child throughout
...
Replace all uses of gtk_container_add on viewports
by gtk_viewport_set_child.
2020-05-04 17:01:18 -04:00
Matthias Clasen
1706b80815
Use gtk_frame_set_child throughout
...
Replace all uses of gtk_container_add for
frames with gtk_frame_set_child.
2020-05-04 17:01:18 -04:00
Matthias Clasen
92ac66f16a
testframe: Drop padding
...
No need to emulate features that GtkFrame no longer has.
2020-05-04 07:37:38 -04:00
Alexander Mikhaylenko
c2e4e1af73
headerbar: Remove user-settable title
...
Use window title, or custom title widget if it's set. Remove 'title'
property.
Update demos and tests to set the title on the window instead of
headerbar.
2020-05-01 19:48:05 +05:00
Alexander Mikhaylenko
35d50f88c8
headerbar: Remove subtitle
...
Also remove the box containing title and subtitle, as there's only one
label now.
2020-05-01 19:48:05 +05:00
Matthias Clasen
f8ef15b555
Add a quick sound test
...
Just to show that our media infrastructure is up
to playing little beeps and bings.
2020-04-29 10:54:40 -04:00
Matthias Clasen
8c0fbb2294
tests: Stop using focus adjustments
...
Set scroll-to-focus instead, in testgtk.
2020-04-18 14:52:50 -04:00
Matthias Clasen
b315dce757
Add a test for scroll-to-focus
2020-04-18 14:43:48 -04:00
Matthias Clasen
df1816a29c
button: Drop relief
...
We are only using this as a boolean, so change it
to a boolean property named has-frame.
2020-04-17 10:57:36 -04:00
Matthias Clasen
edae2a8dc5
frame: Drop shadow-type
...
Frames that don't draw frames are not very useful,
so just drop the shadow-type property.
2020-04-17 10:57:36 -04:00
Matthias Clasen
285aa226e5
scrolledwindow: Drop shadow-type
...
We were only using this as a boolean, so change it
to a boolean property named has-frame.
2020-04-17 10:57:36 -04:00
Timm Bäder
4851081a77
label: Remove public pattern API
2020-04-17 15:21:00 +02:00
Matthias Clasen
03080f29b9
css: use :focus-visible instead of :focus(visible)
...
This is aligning our language with
https://www.w3.org/TR/selectors-4/
2020-04-15 23:09:36 -04:00
Matthias Clasen
443fd4d63d
tests: Stop using gtk_get_current_ apis
...
Replace these by equivalent event controller
apis where needed.
2020-04-11 17:29:27 -04:00
Matthias Clasen
394ea32e93
Use gtk_widget_add/remove_css_class more
...
Replace most uses of gtk_style_context_add/remove_class
by the new APIs. The only remaining uses of the old API
are in save/restore situations.
2020-04-10 12:09:57 -04:00
Matthias Clasen
e8f30c836d
tests: Stop using gtk_accelerator_set_default_mod_mask
...
This is not doing anything useful here.
2020-04-06 01:40:49 -04:00
Olivier Fourdan
3e1f59af61
gdk: Add gdk_toplevel_inhibit_system_shortcuts API
...
With the removal of grabs from the public API, we need a replacement API
to let applications bypass system keyboard shortcuts.
A typical use case for this API is remote desktop or virtual machine
viewers which need to inhibit the default system keyboard shortcuts so
that the remote session or virtual host gets those instead of the local
environment.
Close: https://gitlab.gnome.org/GNOME/gtk/issues/982
2020-03-30 18:25:36 +02:00
Emmanuele Bassi
6e8c78714d
Turn GtkShortcutAction into a GObject
...
Just like we did for GtkShortcutTrigger.
This allows language bindings to properly deal with all the actions.
2020-03-25 23:14:45 -04:00
Benjamin Otte
7c4d8d49b6
testmenubutton: Don't create a GtkAccelGroup
...
It's unused.
2020-03-25 23:14:28 -04:00
Emmanuele Bassi
541c478eeb
testgtk: Port keyval example to shortcut controllers
2020-03-25 23:14:28 -04:00
Benjamin Otte
580863b112
accelerators: Make gtk_accelerator_parse() return TRUE/FALSE
...
A parse function should return success or not. So do that.
2020-03-25 23:14:28 -04:00
Benjamin Otte
9a03c8b4d8
gtk: Remove bindings
...
The whole binding functionality is now handled by shortcuts.
2020-03-25 23:14:27 -04:00
Matthias Clasen
31db615885
Revert "Merge branch 'disable-window-test' into 'master'"
...
This reverts commit 3ac4c76b18
, reversing
changes made to 6ec96d2e98
.
2020-03-19 18:03:16 -04:00
Benjamin Otte
e944514664
testmenubutton: Don't create a GtkAccelGroup
...
It's unused.
2020-03-18 23:00:51 -04:00
Emmanuele Bassi
1a55f59f23
testgtk: Port keyval example to shortcut controllers
2020-03-18 23:00:51 -04:00
Benjamin Otte
87df17e4ce
accelerators: Make gtk_accelerator_parse() return TRUE/FALSE
...
A parse function should return success or not. So do that.
2020-03-18 23:00:51 -04:00
Benjamin Otte
fb99f834e6
gtk: Remove bindings
...
The whole binding functionality is now handled by shortcuts.
2020-03-18 23:00:50 -04:00
Matthias Clasen
103ef3c195
tests: Stop using keep above/below
2020-03-14 15:16:56 -04:00
Matthias Clasen
d4f49a8cb9
tests: Stop sticking windows
2020-03-14 14:34:39 -04:00
Matthias Clasen
66a0a8d53e
Merge branch 'wip/baedert/test-cflags' into 'master'
...
Pass (almost) all our cflags to tests, testsuite, examples, demos, ...
See merge request GNOME/gtk!1516
2020-03-13 18:40:46 +00:00
Matthias Clasen
a79b6fbf35
testgtk: Stop setting decorations and functions
2020-03-12 14:56:20 -04:00
Matthias Clasen
496bd5783c
tests: Stop using gdk_surface_fullscreen
2020-03-12 14:56:20 -04:00
Matthias Clasen
8ea80801b4
testgtk: Stop using gdk_surface_set_icon_name
...
Its not useful api, and will disappear.
2020-03-12 14:56:20 -04:00
Matthias Clasen
8e0ad72875
testgtk: Stop using gdk_surface_get_state
2020-03-12 14:56:20 -04:00
Matthias Clasen
78d71eb439
Simplify surface move/drag api
...
Drop the with_device variants, and always pass a device.
2020-03-11 19:35:55 -04:00
Timm Bäder
d1cd6aacba
tests: Add common_cflags to build
...
And fix all the errors and warnings resulting from that
See #2491
2020-03-06 18:21:58 +01:00
Benjamin Otte
3b8d9dbd28
testtreeview: Fix 19 year old use-after-free
2020-03-06 05:43:56 +01:00
Benjamin Otte
18b011a717
tests: Add a test for changing the hovered widget
...
The add/remove one crashes after a few enter/leave events.
2020-03-05 07:05:48 +01:00
Benjamin Otte
a411959c91
droptarget: Redo
...
This is a huge reorganization of GtkDropTarget. I did not know how to
split this up, so it's unfortunately all one commit.
Highlights:
- Split GtkDropTarget into GtkDropTarget and GtkDropTargetAsync
GtkDropTarget is the simple one that only works with GTypes and offers
a synchronous interface.
GtkDropTargetAsync retains the full old functionality and allows
handling mime types.
- Drop events are handled differently
Instead of picking a single drop target and sending all DND events to
it, every event is sent to every drop target. The first one to handle
the event gets to call gdk_drop_status(), further handlers do not
interact with the GdkDrop.
Of course, for the ultimate GDK_DROP_STARTING event, only the first
one to accept the drop gets to handle it.
This allows stacking DND event controllers that aren't necessarily
interested in handling the event or that might decide later to drop
it.
- Port all widgets to either of those
Both have a somewhat changed API due to the new event handling.
For the ones who should use the sync version, lots of cleanup was
involved to operate on a sync API.
2020-03-02 03:18:55 +01:00
Matthias Clasen
37a2cae10e
Small fixups
...
Trying to get the ci style test to pass.
2020-02-26 08:13:45 -05:00
Matthias Clasen
b5bacb3be6
Drop the margin property
...
Replace it with margin-start, -end, -top, -bottom throughout.
2020-02-25 20:59:04 -05:00
Matthias Clasen
9d80db29de
Merge branch 'spinning-spinner' into 'master'
...
Rename GtkSpinner::active to ::spinning
See merge request GNOME/gtk!1475
2020-02-25 04:04:46 +00:00
Matthias Clasen
e73a40733f
Rename GtkSpinner::active to ::spinning
...
And add a setter and getter. The old name was
confusing with the widget state of the same
name. 'Active' is just too overloaded.
2020-02-24 22:37:02 -05:00
Matthias Clasen
a43d13aa74
popover: Drop ::relative-to
...
It is enough to just set the parent (and make the parent
call gtk_native_check_resize in size_allocate).
This commit removes the relative_to argument to the
constructors of GtkPopover and GtkPopoverMenu, and
updates all callers.
2020-02-24 20:46:41 -05:00
Emmanuele Bassi
ff6772fd98
Remove preview widget from GtkFileChooser
...
The preview widget harks from a platform before time, when we didn't
have GIO, or a thumbnail specification.
Very few applications use it correctly, if at all; it has an horrid hack
to deal with the ownership of the widget's instance when accessed
through the getter function; it messes up the layout of the widget and
its label is less than useful when it comes to file names longer than a
dozen characters; it's a poor substitute for a proper thumbnail view.
2020-02-22 16:39:01 +00:00
Emmanuele Bassi
4a3742979d
Remove GTK_FILE_CHOOSER_ACTION_CREATE_FOLDER
...
We don't need a whole separate action, now that the file chooser widget
can create folders; we can create use SELECT_FOLDER and create one.
2020-02-22 15:22:06 +00:00
Emmanuele Bassi
b09e7df81b
Remove GtkFileChooser:local-only
...
Now that the whole API goes through GFile we don't have the weird split
between local-only and non-local-only modes.
2020-02-22 15:22:06 +00:00
Emmanuele Bassi
063ad28b1a
Remove overwrite confirmation machinery from GtkFileChooser
...
Overwrite confirmation should not be optional, and it should not loop
into application code to create their own dialog and user response.
2020-02-22 15:22:06 +00:00
Emmanuele Bassi
d505573ee6
Drop GtkFileChooser:extra-widget
...
We have "choices" as a more rational (and portable) API; additionally,
the ownership semantics of the extra widget property getter are a hack.
2020-02-22 15:22:06 +00:00
Emmanuele Bassi
5f070ff233
Remove filename/URI API from GtkFileChooser
...
GtkFileChooser's API predates GIO by a few years, so it started off with
filenames and URI as character arrays. After introducing GIO as a
dependency, the API included GFile-based entry points.
It's much more appropriate to use GFile everywhere, as we want to
encourage people to use GIO instead of passing random bytes to low level
POSIX API.
See: #2455
2020-02-22 15:22:06 +00:00
Benjamin Otte
8a098b1343
tests: Guard variables with necessary macros
2020-02-22 07:44:52 +01:00
Matthias Clasen
b1eaa502df
events: reorganize getters
...
Restructure the getters for event fields to
be more targeted at particular event types.
Update all callers, and replace all direct
event struct access with getters.
As a side-effect, this drops some unused getters.
2020-02-21 00:51:03 -05:00
Benjamin Otte
9660ae5556
Merge branch 'wip/xdg-popup-async-relayout' into 'master'
...
Synchronous popup layout
See merge request GNOME/gtk!1241
2020-02-19 18:57:14 +00:00
Jonas Ådahl
6eaeadb3b9
tests/popover: Add check box for switching autohide prop
2020-02-19 09:47:18 +01:00
Matthias Clasen
66307f00f1
icontheme: Update the api
...
Add properties, and use string arrays instead of lists.
Among other things, this renames gtk_icon_theme_list_icons
to gtk_icon_theme_get_icon_names.
Fixes: https://gitlab.gnome.org/GNOME/gtk/issues/2410
2020-02-18 20:32:17 -05:00
Benjamin Otte
7ae5fd357c
tests: Modernize testdnd2
2020-02-18 02:40:00 +01:00
Benjamin Otte
b8cf7ea1c6
dnd: Port the TreeModel machinery to GValue DND
2020-02-18 02:40:00 +01:00
Benjamin Otte
80ba7fd682
dragdest: Make gtk_drop_target_new() args be transfer full
...
Saves tons of code.
2020-02-17 04:04:21 +01:00
Benjamin Otte
e1f8c1430f
dnd: simplify code
...
The old code did mimetype checks everywhere when type compatibility has
since been moved to the GtkDropTarget::accept signal.
So the code can now just assume a compatible mime type exists.
2020-02-17 04:04:21 +01:00
Benjamin Otte
dbad440468
testdnd3: Use GValue dnd
2020-02-16 20:10:30 +01:00
Benjamin Otte
8d2ed36a1b
contentprovider: Add gdk_content_provider_new_typed()
...
Gets around the boilerplate required to create and initialize a GValue
by having this function doing it via G_VALUE_COLLECT().
2020-02-16 20:10:30 +01:00
Benjamin Otte
47c8026e38
Merge branch 'wip/otte/dnd' into 'master'
...
some DND fixes
See merge request GNOME/gtk!1440
2020-02-15 23:45:25 +00:00
Benjamin Otte
b844f34cda
tests: Do proper local DND
...
Just transfer GValues.
2020-02-15 22:33:57 +01:00
Timm Bäder
8612a8a39f
testinfobar: Stop using gtk_info_bar_get_content_area()
...
We have an easier way of adding widgets to the content area of an
infobar: Just gtk_container_add() them like usual.
2020-02-15 17:18:26 +01:00
Benjamin Otte
c1f71ee3e8
window: Remove GtkWindowType and window->type
...
And remove code that was making decisions on the type and just use
the part for toplevels.
2020-02-14 21:18:49 +01:00
Benjamin Otte
a278edab22
window: Remove type argument from gtk_window_new()
2020-02-14 21:18:49 +01:00
Emmanuele Bassi
cdd7e4c5ec
Add a notify function to GdkContentProvider
...
The callback-based content providers need a GDestroyNotify function to
free the data passed to them on construction, otherwise they are going
to leak.
2020-02-13 14:53:25 +00:00
Chun-wei Fan
6ec546be02
tests/frame-stats.c: Include stdlib.h
...
It is used for exit().
2020-02-11 20:59:04 +08:00
Matthias Clasen
59b935af38
Merge branch 'mainloop-cleanup' into 'master'
...
Mainloop cleanup
See merge request GNOME/gtk!1404
2020-02-10 14:32:09 +00:00
Alexander Larsson
1698369d52
Merge branch 'icon-theme-api-rework' into 'master'
...
Icon theme api rework
See merge request GNOME/gtk!1390
2020-02-10 12:45:56 +00:00
Alexander Larsson
904eecd1ed
icon paintable: Replace get_filename and get_resource_path with get_file()
...
This returns a GFile which can represent both the above.
2020-02-10 12:33:17 +01:00
Matthias Clasen
a6c5466900
Stop using gtk_main and gtk_main_quit
...
Replace these calls with direct use of GMainContext api.
2020-02-09 23:12:32 -05:00
Timm Bäder
b9b5cae6d2
calendar: Remove day-selected-double-click signal
...
It doesn't really make sense to treat double clicks here different than
single clicks (and is bad UX), and it also breaks switching months by
quickly trying to single-click the last/first days in the calendar.
2020-02-07 13:16:32 -05:00
Timm Bäder
8ef9009bde
calendar: Remove month-changed signal
...
Listen to notify::month instead.
2020-02-07 13:16:32 -05:00