gtk4.git
3 years agolistbase: Split scroll_to_item for reuse
Corey Berla [Wed, 14 Dec 2022 17:51:22 +0000 (07:51 -1000)]
listbase: Split scroll_to_item for reuse

3 years agoMerge branch 'gbsneto/filechooser-column-view' into 'main'
Matthias Clasen [Fri, 21 Oct 2022 19:42:24 +0000 (19:42 +0000)]
Merge branch 'gbsneto/filechooser-column-view' into 'main'

Port filechooser to GtkColumnView

See merge request GNOME/gtk!5108

3 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Fri, 21 Oct 2022 16:26:57 +0000 (16:26 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

Bump the GLib requirement

See merge request GNOME/gtk!5158

3 years agofilesystemmodel: Fix a compiler warning
Matthias Clasen [Fri, 21 Oct 2022 14:40:51 +0000 (10:40 -0400)]
filesystemmodel: Fix a compiler warning

3 years agotheme: Fix up padding for the file chooser
Matthias Clasen [Fri, 21 Oct 2022 11:55:15 +0000 (07:55 -0400)]
theme: Fix up padding for the file chooser

We need the padding inside the filelistcell, so that
its event controllers cover the whole area.

Introduce a .complex style class for columnviews that
achieves that, and make the filechooser use it.

3 years agoBump the GLib requirement
Matthias Clasen [Fri, 21 Oct 2022 11:59:47 +0000 (07:59 -0400)]
Bump the GLib requirement

We now use GSignalGroup, which was introduced
in GLib 2.72.

3 years agofilesystemmodel: Fix a compiler warning
Matthias Clasen [Fri, 21 Oct 2022 11:44:13 +0000 (07:44 -0400)]
filesystemmodel: Fix a compiler warning

3 years agoMerge branch 'gtkcompostable-c-fix-c4013' into 'main'
Matthias Clasen [Fri, 21 Oct 2022 11:40:52 +0000 (11:40 +0000)]
Merge branch 'gtkcompostable-c-fix-c4013' into 'main'

gtkcomposetable.c: Fix build on non-X11

See merge request GNOME/gtk!5156

3 years agogtkcomposetable.c: Fix build on non-X11
Chun-wei Fan [Fri, 21 Oct 2022 04:15:29 +0000 (12:15 +0800)]
gtkcomposetable.c: Fix build on non-X11

The build breaks with a C4013 warning/error on Visual Studio because we don't
have a prototype defined for _gtk_get_datadir(), so include gtkprivate.h.

The vs2017-x64 CI did not catch this error because it is building GLib as a
fallback subproject, causing the msvc_recommended_pragmas.h header not to be
found, which is used to detect problems like this.

3 years agofilechooser: Make search results show up
Matthias Clasen [Fri, 21 Oct 2022 01:14:29 +0000 (21:14 -0400)]
filechooser: Make search results show up

The tracker search engine implementation was not
setting all the custom attributes that we require
now.

The quartz search engine will need similar fixes.

3 years agofilechooserwidget: Remember sort columns and order
Matthias Clasen [Thu, 20 Oct 2022 19:11:49 +0000 (15:11 -0400)]
filechooserwidget: Remember sort columns and order

These settings existed before, we keep using them.
This loses some information about sorting by multiple
columns, but it is sufficient to get the same primary
sort column back.

3 years agofilechooserwidget: Fix time_sort_func
Corey Berla [Wed, 19 Oct 2022 20:57:20 +0000 (13:57 -0700)]
filechooserwidget: Fix time_sort_func

3 years agofilechooser: Add show-time property
Corey Berla [Wed, 19 Oct 2022 19:42:56 +0000 (12:42 -0700)]
filechooser: Add show-time property

The "Show Time" setting does not take immediate effect (only after
changing folders) because it's set as a single call to
column_view_get_time_visible() on the FileChooserCell creation.
Instead create a bind a show-time property that gets updated
as the setting is changed.

3 years agofilechoosercell: Add a GtkDragSource
Corey Berla [Wed, 19 Oct 2022 16:20:53 +0000 (09:20 -0700)]
filechoosercell: Add a GtkDragSource

Allow dragging one or more items.  If the item dragged is not part of
the current selection, only drag that item.

3 years agofilechoosercell: Bind "item" and "selected" to cell
Corey Berla [Wed, 19 Oct 2022 16:19:47 +0000 (09:19 -0700)]
filechoosercell: Bind "item" and "selected" to cell

3 years agofilechooserwidget: Expose selection model
Corey Berla [Wed, 19 Oct 2022 16:17:39 +0000 (09:17 -0700)]
filechooserwidget: Expose selection model

FileChooserCell may need to change the selection during a DND.

3 years agofilechooserwidget: Rename and expose get_selected_files()
Corey Berla [Wed, 19 Oct 2022 16:16:45 +0000 (09:16 -0700)]
filechooserwidget: Rename and expose get_selected_files()

GtkFileChooserCell will need this function

3 years agofilechooserwidget: Make rename popover work
Matthias Clasen [Mon, 17 Oct 2022 01:40:00 +0000 (21:40 -0400)]
filechooserwidget: Make rename popover work

Make the rename popover operate on the file that
the context menu was opened for, and pop up at
the same position.

3 years agofilechooserwidget: Make context menus mostly work
Matthias Clasen [Fri, 14 Oct 2022 04:01:02 +0000 (00:01 -0400)]
filechooserwidget: Make context menus mostly work

Move the gestures to the individual cells, and
make them trigger the context menu via an action
that takes item position and coordinates.

The semantics are changed slightly: the menu actions
now operate on the clicked item, not on the selection.

Still to do: Fix up keyboard activation.

3 years agofilesystemmodel: Drop the model types
Matthias Clasen [Wed, 12 Oct 2022 12:18:39 +0000 (08:18 -0400)]
filesystemmodel: Drop the model types

We are no longer storing extra values, so no need
to take their types in the api.

3 years agofilesystemmodel: Drop unused arguments
Matthias Clasen [Wed, 12 Oct 2022 11:54:00 +0000 (07:54 -0400)]
filesystemmodel: Drop unused arguments

Drop the unused get_func arguments in constructors.

Update all callers.

3 years agofilechooserentry: Simplify model construction
Matthias Clasen [Wed, 12 Oct 2022 11:44:45 +0000 (07:44 -0400)]
filechooserentry: Simplify model construction

Don't pass a get_value callback when creating the
filesystem model. It isn't called anymore, and things
continue to work.

3 years agofilesystemmodel: Drop more unused api
Matthias Clasen [Wed, 12 Oct 2022 04:38:42 +0000 (00:38 -0400)]
filesystemmodel: Drop more unused api

Drop all apis that operate on tree iters.
We are no longer a tree model.

3 years agofilesystemmodel: Drop _gtk_file_system_model_get_value
Matthias Clasen [Wed, 12 Oct 2022 04:34:18 +0000 (00:34 -0400)]
filesystemmodel: Drop _gtk_file_system_model_get_value

This function is unused, so drop it, and its callback.

3 years agofilechooser: Some work on popup menus
Matthias Clasen [Wed, 12 Oct 2022 04:24:15 +0000 (00:24 -0400)]
filechooser: Some work on popup menus

This is a start towards placing menus properly.

We once again center keyboard-triggered menus
on the file list.

3 years agofilechooser: Drop deprecated includes
Matthias Clasen [Wed, 12 Oct 2022 04:07:31 +0000 (00:07 -0400)]
filechooser: Drop deprecated includes

We no longer use cell renderers and tree models
here. Yay.

3 years agofilesystemmodel: Fix a possible problem
Matthias Clasen [Wed, 12 Oct 2022 03:32:35 +0000 (23:32 -0400)]
filesystemmodel: Fix a possible problem

If the async query fails to reproduce a file info,
we still need to thaw the model, otherwise it ends
up frozen forever.

This was deduced by reading the code, I haven't
actually seen it happen.

3 years agofilechooserwidget: Use a string sorter for names
Matthias Clasen [Wed, 12 Oct 2022 03:30:43 +0000 (23:30 -0400)]
filechooserwidget: Use a string sorter for names

We can use the new collation property of GtkStringSorter,
and get the benefit of sort key caching. This commit
also fixes an accidental leak of all sorters, and
removes the sorter from the location column - we never
show that column when individual colummns are sortable.

3 years agofilechooser: Drop unnecessary theme tracking
Matthias Clasen [Tue, 11 Oct 2022 15:30:36 +0000 (11:30 -0400)]
filechooser: Drop unnecessary theme tracking

The widgets we are using handle theme changes
themselves, so there is no need for the filechooser
to do anything.

3 years agofilechooser: Bring back sorting
Matthias Clasen [Tue, 11 Oct 2022 15:02:07 +0000 (11:02 -0400)]
filechooser: Bring back sorting

Add a sort model between the filter model and the
file system model, and set it up to sort according
to the circumstances.

3 years agofilechooserwidget: Reimplement DnD Drop Target
Corey Berla [Tue, 11 Oct 2022 04:20:07 +0000 (21:20 -0700)]
filechooserwidget: Reimplement DnD Drop Target

This reverts commit 34752a15a71597d00a8d08befc545ac1c178b81b.

Leaving out the drag source portion as that needs a total
reimplementation.  The GtkDropTarget only required minor
modifications.

3 years agofilechooserwidget: Reinstate show_and_select_files
Matthias Clasen [Tue, 11 Oct 2022 02:36:35 +0000 (22:36 -0400)]
filechooserwidget: Reinstate show_and_select_files

Now that we have information about visible and
filtered-out status of items, we can make this
function work again.

3 years agofilechooserwidget: Add a filter model
Matthias Clasen [Tue, 11 Oct 2022 02:21:39 +0000 (22:21 -0400)]
filechooserwidget: Add a filter model

Put a filter model between the selection model and
the filesystem model, and make it filter on the
filechooser::visible attribute. This makes the filer
combo in the filterchooser and the 'show hidden files'
item work. But we need to prod the filter to trigger
a refiltering every now and then.

3 years agofilesystemmodel: Make filtering info available
Matthias Clasen [Tue, 11 Oct 2022 02:19:40 +0000 (22:19 -0400)]
filesystemmodel: Make filtering info available

Provide the filtered-out and visible bits as a file attributes
under the names filechooser::filtered-out and filechooser::visible,
so that we can filter on it.

3 years agofilechooserwidget: Connect to the right model
Georges Basile Stavracas Neto [Tue, 11 Oct 2022 02:19:14 +0000 (23:19 -0300)]
filechooserwidget: Connect to the right model

When recreating the browse_files_model model, connect to that
model's item-changed signal, instead of connecting to the selection
model.

3 years agofilechooserwidget: Connect to items-changed when changing model
Georges Basile Stavracas Neto [Tue, 11 Oct 2022 02:18:00 +0000 (23:18 -0300)]
filechooserwidget: Connect to items-changed when changing model

Just like previous commit, we need to call list_items_changed()
even if we change from single selection to multi selection or
vice-versa.

3 years agofilesystemmodel: Drop an unused include
Matthias Clasen [Mon, 10 Oct 2022 23:59:47 +0000 (19:59 -0400)]
filesystemmodel: Drop an unused include

3 years agofilechooserwidget: Listen to items-changed too
Matthias Clasen [Mon, 10 Oct 2022 23:53:36 +0000 (19:53 -0400)]
filechooserwidget: Listen to items-changed too

To track changes of the selected items in a selection
model, we need to listen to both ::selection-changed
and ::items-changed.

This fixes the open button not turning sensitive
when initially loading a new folder.

3 years agofilechooser: Prevent recursion when activating items
Matthias Clasen [Mon, 10 Oct 2022 23:25:45 +0000 (19:25 -0400)]
filechooser: Prevent recursion when activating items

When a list item is activated, we activate the default widget.
Unfortunately, due to some other bug, sometimes the open button
is not made sensitive, and then default.activate falls back
to activating the focus widget (which is the item we are just
coming from). Boom

3 years agoactionmuxer: Add debug spew for action activation
Matthias Clasen [Mon, 10 Oct 2022 23:25:20 +0000 (19:25 -0400)]
actionmuxer: Add debug spew for action activation

This helps tracking down whe activation goes wrong.

3 years agofilesystemmodel: Drop the tree model implementation
Matthias Clasen [Mon, 10 Oct 2022 19:47:45 +0000 (15:47 -0400)]
filesystemmodel: Drop the tree model implementation

This is no longer used.

3 years agofilechooserwidget: Use GListModel API for post-renaming selection
Georges Basile Stavracas Neto [Mon, 10 Oct 2022 14:28:50 +0000 (11:28 -0300)]
filechooserwidget: Use GListModel API for post-renaming selection

3 years agofilechooserentry: Use separate GtkTreeStore for completion
Georges Basile Stavracas Neto [Mon, 10 Oct 2022 14:09:33 +0000 (11:09 -0300)]
filechooserentry: Use separate GtkTreeStore for completion

Soon GtkFileSystemModel will not be a GtkTreeModel implementation,
so preemptively remove any usage of this interface. Populate the
list store using the GListModel's 'items-changed' signal.

3 years agofilesystemmodel: Retire GtkFileSystemItem
Georges Basile Stavracas Neto [Sun, 9 Oct 2022 21:52:12 +0000 (18:52 -0300)]
filesystemmodel: Retire GtkFileSystemItem

This has to be the shortest-living object in GTK history!

It helped us greatly during the transition to GtkColumnView, but
now we can remove it in favour of GFileInfo directly. Perhaps I
could have never introduced GtkFileSystemItem in the first place,
but we're 30 commits deep and it's too late to just redo the whole
thing that will get us exactly here anyway.

3 years agofilesystemmodel: Always set standard::file attribute
Georges Basile Stavracas Neto [Sun, 9 Oct 2022 21:50:23 +0000 (18:50 -0300)]
filesystemmodel: Always set standard::file attribute

This will help us greatly when porting GtkFileSystemModel to
GtkDirectoryList.

3 years agofilesystemmodel: Trivial cleanup
Georges Basile Stavracas Neto [Sun, 9 Oct 2022 21:49:37 +0000 (18:49 -0300)]
filesystemmodel: Trivial cleanup

Use g_set_object() which does exactly what the code there does.

3 years agofilechooserutils: Add helper to get GFile from info
Georges Basile Stavracas Neto [Sun, 9 Oct 2022 20:41:33 +0000 (17:41 -0300)]
filechooserutils: Add helper to get GFile from info

This will be used extensively starting from next commit!

3 years agofilechooserentry: Trivial cleanups
Georges Basile Stavracas Neto [Sun, 9 Oct 2022 20:25:09 +0000 (17:25 -0300)]
filechooserentry: Trivial cleanups

Use g_clear_object() in a couple of places. No functional changes.

3 years agosearchenginemodel: Use GListModel API to filter
Georges Basile Stavracas Neto [Sun, 9 Oct 2022 20:21:29 +0000 (17:21 -0300)]
searchenginemodel: Use GListModel API to filter

We now start a mini-series of commits that will ultimately remove
the GtkTreeModel implementation of GtkFileSystemModel.

As a first step, port GtkSearchEngineModel iter through the files
using GListModel API.

3 years agofilechooserwidget: Remove treeview
Georges Basile Stavracas Neto [Sun, 9 Oct 2022 17:16:06 +0000 (14:16 -0300)]
filechooserwidget: Remove treeview

Now that most of the treeview usage is gone, remove the remaining
code that uses it - mostly event handling code, which for now won't
work, but will be fixed by next commits - and drop the tree view
entirely.

3 years agofilechooserwidget: Use GtkSelectionModel for selection
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 23:12:20 +0000 (20:12 -0300)]
filechooserwidget: Use GtkSelectionModel for selection

So far, GtkFileChooserWidget has relied on GtkTreeView's selection
management. This commit moves it away from GtkTreeView, and that's
a massive surgery - sorry :(

The most important aspect of this commit is that 'selection_model'
is now the main model we deal with. Changing between directories,
recent files, and search, all sets the selection_model's model.

Selections are entirely handled by GtkSelectionModel now.

3 years agofilesystemmodel: Add more GtkFileSystemItem getters
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 22:42:12 +0000 (19:42 -0300)]
filesystemmodel: Add more GtkFileSystemItem getters

They'll help us further remove GtkTreeModel code.

3 years agofilechooserwidget: Stop centering on selected files
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 18:18:13 +0000 (15:18 -0300)]
filechooserwidget: Stop centering on selected files

3 years agofilechooserwidget: Don't queue redraw / resize on tree view
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 17:50:18 +0000 (14:50 -0300)]
filechooserwidget: Don't queue redraw / resize on tree view

3 years agofilechooserwidget: Compare focus against column view
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 17:49:35 +0000 (14:49 -0300)]
filechooserwidget: Compare focus against column view

This effectively doesn't work, but focus will be reworked at some
point, and this gets us a tiny bit closer to that.

3 years agogtkfilechooserwidget: Don't set size request
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 17:11:53 +0000 (14:11 -0300)]
gtkfilechooserwidget: Don't set size request

3 years agofilesystemmodel: Don't implement GtkTreeDragSource
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 15:32:48 +0000 (12:32 -0300)]
filesystemmodel: Don't implement GtkTreeDragSource

3 years agofilechooserwidget: Remove DnD code
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 15:32:19 +0000 (12:32 -0300)]
filechooserwidget: Remove DnD code

Another case where we'll reimplement it later.

3 years agofilesystemmodel: Drop GtkTreeSortable interface
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 15:25:10 +0000 (12:25 -0300)]
filesystemmodel: Drop GtkTreeSortable interface

Stop implementing this interface. We'll be able to reimplement
sorting once we fully transition to GListModel.

3 years agofilechooserwidget: Remove sorting
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 15:11:51 +0000 (12:11 -0300)]
filechooserwidget: Remove sorting

This will be reimplemented later using list models. For now, let's
remove it so we can untangle all this code properly.

3 years agofilechooserwidget: Stop autosizing treeview
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 15:10:55 +0000 (12:10 -0300)]
filechooserwidget: Stop autosizing treeview

3 years agofilechooserwidget: Use column view scrolled window
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 15:04:25 +0000 (12:04 -0300)]
filechooserwidget: Use column view scrolled window

One less hook to treeview widgetry.

3 years agofilechooserwidget: Move tooltip text to column view
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 15:02:20 +0000 (12:02 -0300)]
filechooserwidget: Move tooltip text to column view

Use a closure binding to query the tooltip.

3 years agofilechooserwidget: Move folder navigation to column view
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 13:51:14 +0000 (10:51 -0300)]
filechooserwidget: Move folder navigation to column view

React to column view's 'activate' signal, instead of treeview's
'row-activated'. It doesn't handle file sensitivity yet, but that
will probably be dropped later.

3 years agofilechooserwidget: Move keynav handling to column view
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 13:24:04 +0000 (10:24 -0300)]
filechooserwidget: Move keynav handling to column view

3 years agofilechooserwidget: Set rubberbanding on column view
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 13:20:14 +0000 (10:20 -0300)]
filechooserwidget: Set rubberbanding on column view

And stop setting it on the tree view.

3 years agofilesystemmodel: Don't expose cache
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 13:12:41 +0000 (10:12 -0300)]
filesystemmodel: Don't expose cache

With this commit we start slowly cleaning up the sattelite code
surrounding GtkFileChooserWidget, so that we eventually drop it
all.

3 years agofilechooserwidget: Remove extra action bar
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 13:09:42 +0000 (10:09 -0300)]
filechooserwidget: Remove extra action bar

3 years agofilechooserwidget: Move date and time to column view
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 13:03:05 +0000 (10:03 -0300)]
filechooserwidget: Move date and time to column view

Because this is the last treeview column, some pending tasks
are marked as TODO. We're getting close to dropping the tree
view!

3 years agofilechooserwidget: Move file type to column view
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 12:29:15 +0000 (09:29 -0300)]
filechooserwidget: Move file type to column view

3 years agofilechooserwidget: Move size to column view
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 12:13:01 +0000 (09:13 -0300)]
filechooserwidget: Move size to column view

This was one of the easier ones. We merely delegate the hard work
to g_format_size(), like we already do for treeview.

3 years agofilechooserwidget: Move location to column view
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 12:01:42 +0000 (09:01 -0300)]
filechooserwidget: Move location to column view

Move the entire location column, which only contains the location
renderer, to the column view. The code to generate locations from
the current folder is essentially intact.

3 years agofilechooserwidget: Drop name column from treeview
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 11:22:53 +0000 (08:22 -0300)]
filechooserwidget: Drop name column from treeview

It is now entirely handled by the column view.

3 years agofilechooserwidget: Move file icon to column view
Georges Basile Stavracas Neto [Sat, 8 Oct 2022 11:15:09 +0000 (08:15 -0300)]
filechooserwidget: Move file icon to column view

This commit moves the icon loading code into a new private
widget called GtkFileThumbnail, which is bound to the GFileInfo
of the model, and asynchronously loads the file icon from that.

3 years agofilechooserwidget: Move file name to column view
Georges Basile Stavracas Neto [Fri, 7 Oct 2022 21:11:06 +0000 (18:11 -0300)]
filechooserwidget: Move file name to column view

And remove it from the tree view. Next commits will look a lot like
this, until all columns are moved.

3 years agofilechooserwidget: Replace 'list' page with column view
Georges Basile Stavracas Neto [Fri, 7 Oct 2022 20:48:26 +0000 (17:48 -0300)]
filechooserwidget: Replace 'list' page with column view

Replace the 'list' page of the main stack with another page, this
one containing a GtkColumnView. This, again, is the very minimal
code to achieve a column view - and validate the GListModel code
introduced in the previous commit - but there's a long way until
this column view covers the full range of features of the file
chooser.

The tree view still lives in an unused 'list2' page. From now on,
commits will "cannibalize" the treeview, each commit porting any
particular feature - be it a column, an event controller, etc -
to the column view, and dropping the corresponding feature from
the treeview.

3 years agofilesystemmodel: Implement GListModel
Georges Basile Stavracas Neto [Fri, 7 Oct 2022 19:52:56 +0000 (16:52 -0300)]
filesystemmodel: Implement GListModel

This is a trivial implementation of the GListModel interface. It
does not do anything fancy, like filtering out hidden files, nor
sorting.

The purpose of this minimal implementation is to bootstrap the
initial work to port GtkFileChooserWidget to GtkColumnView.

3 years agofilesystemmodel: Use g_clear_* on finalize
Georges Basile Stavracas Neto [Fri, 7 Oct 2022 20:12:05 +0000 (17:12 -0300)]
filesystemmodel: Use g_clear_* on finalize

Trivial cleanup, no functional changes.

3 years agoMerge branch 'matthiasc/for-main' into 'main'
Matthias Clasen [Fri, 21 Oct 2022 02:28:02 +0000 (02:28 +0000)]
Merge branch 'matthiasc/for-main' into 'main'

inspector: Fix accessibility calls

See merge request GNOME/gtk!5154

3 years agoMerge branch 'completion' into 'main'
Matthias Clasen [Fri, 21 Oct 2022 02:13:42 +0000 (02:13 +0000)]
Merge branch 'completion' into 'main'

entrycompletion: Fix inserted-text handler

See merge request GNOME/gtk!4892

3 years agofilechooserentry: Fix completions
Matthias Clasen [Fri, 21 Oct 2022 01:41:18 +0000 (21:41 -0400)]
filechooserentry: Fix completions

Before we can drop them, lets make them work.

This was broken since 4.0, I assume :(

3 years agoinspector: Fix accessibility calls
Matthias Clasen [Fri, 21 Oct 2022 01:13:46 +0000 (21:13 -0400)]
inspector: Fix accessibility calls

The argument list of gtk_accessible_update_property
is -1-terminated, not NULL-terminated.

3 years agoMerge branch 'columnview-sorter-api' into 'main'
Matthias Clasen [Thu, 20 Oct 2022 19:18:26 +0000 (19:18 +0000)]
Merge branch 'columnview-sorter-api' into 'main'

gtk-demo: Add more sort columns

Closes #5149

See merge request GNOME/gtk!5152

3 years agoMerge branch 'fix-wayland-keycode-mapping' into 'main'
Matthias Clasen [Thu, 20 Oct 2022 19:15:38 +0000 (19:15 +0000)]
Merge branch 'fix-wayland-keycode-mapping' into 'main'

wayland: Fix keycode->keyval mapping

Closes #5277

See merge request GNOME/gtk!5147

3 years agoMerge branch 'ebassi/tree-deprecation-docs' into 'main'
Matthias Clasen [Thu, 20 Oct 2022 18:39:29 +0000 (18:39 +0000)]
Merge branch 'ebassi/tree-deprecation-docs' into 'main'

docs: Add deprecation messages to GtkTreeStore

See merge request GNOME/gtk!5115

3 years agoMerge branch 'wip/jtojnar/compose-consistent-system' into 'main'
Matthias Clasen [Thu, 20 Oct 2022 18:28:47 +0000 (18:28 +0000)]
Merge branch 'wip/jtojnar/compose-consistent-system' into 'main'

Improve composetable inclusions

See merge request GNOME/gtk!5150

3 years agocolumnviewtitle: Clean up interactions
Matthias Clasen [Thu, 20 Oct 2022 17:37:26 +0000 (13:37 -0400)]
columnviewtitle: Clean up interactions

Separate the apis we use for updating title,
menu and sort indicator.

3 years agocolumnviewsorter: Add public API
Matthias Clasen [Thu, 20 Oct 2022 14:33:57 +0000 (10:33 -0400)]
columnviewsorter: Add public API

This API should be sufficient to serialize
a columnviews sort configuration.

Fixes: #5149
3 years agoMake GtkColumnViewSorter public
Matthias Clasen [Thu, 20 Oct 2022 14:05:13 +0000 (10:05 -0400)]
Make GtkColumnViewSorter public

API is yet to come.

3 years agocolumnviewsorter: Cosmetics
Matthias Clasen [Thu, 20 Oct 2022 13:59:28 +0000 (09:59 -0400)]
columnviewsorter: Cosmetics

3 years agocolumnviewcolumn: Add an ID
Matthias Clasen [Thu, 20 Oct 2022 13:50:14 +0000 (09:50 -0400)]
columnviewcolumn: Add an ID

This string can be used when storing columnview
configuration.

3 years agocolumnviewcolumn: Remove some unused code
Matthias Clasen [Thu, 20 Oct 2022 13:52:54 +0000 (09:52 -0400)]
columnviewcolumn: Remove some unused code

3 years agocolumnviewcolumn: Cosmetics
Matthias Clasen [Thu, 20 Oct 2022 13:40:39 +0000 (09:40 -0400)]
columnviewcolumn: Cosmetics

3 years agogtk-demo: Add more sort columns
Matthias Clasen [Thu, 20 Oct 2022 15:38:40 +0000 (11:38 -0400)]
gtk-demo: Add more sort columns

Add a second sort column to the Settings demo,
to make it easier to test column view sorting.

3 years agoAdd more messages to the deprecation warnings
Emmanuele Bassi [Thu, 20 Oct 2022 11:42:27 +0000 (12:42 +0100)]
Add more messages to the deprecation warnings

Point to replacement types for the old GtkTree* API.

3 years agoMark GtkStyleContext type as deprecated
Emmanuele Bassi [Thu, 20 Oct 2022 11:36:32 +0000 (12:36 +0100)]
Mark GtkStyleContext type as deprecated

Add the Deprecated tag to the type docblock

3 years agoMark GtkEntryCompletion type as deprecated
Emmanuele Bassi [Thu, 20 Oct 2022 11:36:08 +0000 (12:36 +0100)]
Mark GtkEntryCompletion type as deprecated

Add the Deprecated tag to the type docblock.

3 years agoMark GtkTreeView-related types as deprecated
Emmanuele Bassi [Thu, 20 Oct 2022 11:35:31 +0000 (12:35 +0100)]
Mark GtkTreeView-related types as deprecated

Add the Deprecated annotation to the type docblock.

3 years agoimcontextsimple: Document that Compose file support is incomplete
Jan Tojnar [Thu, 20 Oct 2022 14:19:13 +0000 (16:19 +0200)]
imcontextsimple: Document that Compose file support is incomplete

And that `include "%L"` does something different as introduced in
https://gitlab.gnome.org/GNOME/gtk/-/commit/3b4b1c68781aad61fc6b91c9dff75b5790b4d8e4

Note that user can still use `include "/.%L"` as a workaround.

3 years agoMark GtkAppChooser-related types as deprecated
Emmanuele Bassi [Thu, 20 Oct 2022 11:23:58 +0000 (12:23 +0100)]
Mark GtkAppChooser-related types as deprecated

The type docblock needs a Deprecated annotation.