summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Typo fixmatthiasc/sectionsMatthias Clasen2023-04-121-1/+1
|
* Typo fixMatthias Clasen2023-04-121-1/+1
|
* Typo fixMatthias Clasen2023-04-121-1/+1
|
* gtk-demo: Add columview header demoMatthias Clasen2023-04-121-8/+33
| | | | This does not work yet.
* columnview: Add a header factoryMatthias Clasen2023-04-122-0/+71
|
* gtk-demo: Change the settings demoBenjamin Otte2023-04-122-321/+113
| | | | | | | Now it displays a long list of all settings with sections and allows filtering the list to quickly search keys. We might want to keep the old example, too, maybe?
* theme: Add some random CSS for section headersBenjamin Otte2023-04-121-1/+9
|
* listitemmanager: Create header items for sectionsBenjamin Otte2023-04-122-65/+155
| | | | | Now, finally, listitemmanager has all the necessary support to make section headers work.
* listview: GtkListHeader and gtk_list_view_set_header_factory()Benjamin Otte2023-04-1211-32/+999
| | | | | | Adds infrastructure for handling factories for list headers. For now, listitemmanager doesn't instantiate them, so they aren't used.
* listitemmanager: Add GtkListItemChangeBenjamin Otte2023-04-111-256/+148
| | | | | | | ... for tracking widgets during changes. This just pulls all the different disjointed parts into one struct with a sensible API.
* listitemmanager: Add GtkListHeaderBase and vfuncsBenjamin Otte2023-04-118-10/+229
| | | | | | This is plumbing for section handling. The vfuncs don't do anything, this is just the infrastructure.
* listitembase: exit earlyBenjamin Otte2023-04-111-0/+5
| | | | When update() is called but no values are changed, exit early.
* listitemmanager: Make sections configurableBenjamin Otte2023-04-113-2/+93
| | | | | | Add a gtk_list_item_manager_set_has_sections() (default: FALSE) that requires explicit turning on for the listitemmanager to gain section support.
* listitemmanager: Add/remove sections as neededBenjamin Otte2023-04-111-44/+165
| | | | | | | When ensuring widgets, ensure that their section is known. This will be relevant when we use section widgets. Also ensure that sections that don't cover any widget get destroyed.
* testsuite: assert widgets are in matched sectionsBenjamin Otte2023-04-111-0/+1
| | | | | All widgets that we display should have their sections known, so assert that that is the case.
* testsuite: Add a print function for the listitemmanagerBenjamin Otte2023-04-111-0/+55
| | | | This is very useful when debugging.
* listitemmanager: Add gtk_list_tile_get_next_skip()Benjamin Otte2023-04-111-25/+32
| | | | | | | ... and gtk_list_tile_get_previous_skip() and use them. Allows skipping over REMOVED and FILLER tiles which makes the code a lot more readable.
* listitemmanager: Add gtk_list_tile_set_type()Benjamin Otte2023-04-111-10/+16
|
* testsuite: Add verbose output to listitemmanager testBenjamin Otte2023-04-111-4/+33
|
* listitemmanager: Properly handle sections during add/removeBenjamin Otte2023-04-111-21/+233
| | | | | We don't insert sections ourselves yet, but we handle the existing one when items get added or removed.
* listitemmanager: Augment header/footer infoBenjamin Otte2023-04-112-0/+31
|
* listitemmanager: Add section tilesBenjamin Otte2023-04-113-0/+82
| | | | | For now, we just have a HEADER at the start and a FOOTER at the end. That's hard enough to get right.
* testsuite: Improve listitemmanager testBenjamin Otte2023-04-111-14/+117
| | | | It now has trackers!
* listitemmanager: Add tile typesBenjamin Otte2023-04-113-13/+76
| | | | | | We have a FILLER and a REMOVED type now. Also makes gc() more sensitive to types.
* listitemmanager: Add a type to tilesBenjamin Otte2023-04-112-1/+11
| | | | There's only one type for now, but hey, you have to start somewhere.
* testsuite: Add tests for sections to filterlistmodelBenjamin Otte2023-04-111-0/+18
|
* Add a test for filterlistmodel sectionsMatthias Clasen2023-04-111-1/+90
|
* filterlistmodel: Support sectionsMatthias Clasen2023-04-111-4/+64
| | | | | Propagate sections from the child model to the filter model.
* sortlistmodel: add a fast path for get_section()Benjamin Otte2023-04-111-19/+99
|
* testsuite: Add section tests to sortlistmodel testBenjamin Otte2023-04-111-1/+270
|
* Add a test for sortlistmodel sectionsMatthias Clasen2023-04-111-5/+58
|
* sortlistmodel: Implement GtkSectionModelBenjamin Otte2023-04-112-15/+210
| | | | | | The get_section() implementation is a slow and steady implementation that has to be careful to not screw up when an incremental sort is only partially sorted.
* flattenlistmodel: Implement GtkSectionModelBenjamin Otte2023-04-112-4/+35
| | | | Each child model is reported as one section.
* Implement GtkSectionModel for all selection modelsBenjamin Otte2023-04-115-1/+118
|
* Add GtkSectionModelBenjamin Otte2023-04-114-0/+257
| | | | | Prototyping the interface to be used for sections in listview, so people can review and play with it.
* testsuite: Add a listitemmanager testBenjamin Otte2023-04-112-0/+207
|
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2023-04-111-6/+6
|\ | | | | | | | | filechooser: Fix the gridview See merge request GNOME/gtk!5817
| * filechooser: Fix the gridviewMatthias Clasen2023-04-111-6/+6
|/ | | | | | 2a70093a309481cf6 was a bit overeager in its porting to GtkColumnViewCell. The gridview needs to keep its list items.
* Merge branch 'wip/corey/file-chooser-widget' into 'main'Matthias Clasen2023-04-115-72/+107
|\ | | | | | | | | More fixes to filechooserwidget See merge request GNOME/gtk!5815
| * filechooser: Set date and time after cell is a child of filechooserwidgetCorey Berla2023-04-104-19/+51
| | | | | | | | | | | | | | | | | | | | | | The date/time column relies on the filechooserwidget to format the date properly. During bind, the filechoosercell, get the filechooserwidget ancestor, but now due to changes in the listview, the cell isn't a child of the filechooserwidget at that point. Since this is deeply ingrained into the filechooserwidget, let's keep the same behavior, but move it to filechoosercell in realize. Alternatively, we could have used a signal factory (with the file chooser widget as the user data), but that would have been a major overhaul.
| * filechoosercell: Store type_format in filechoosercellCorey Berla2023-04-103-13/+27
| | | | | | | | | | | | | | | | | | The format of the type column depends on the the type_format, which is stored in the filechooserwidget. We get that setting by looking for the filechooserwidget ancestor, which no longer works after recent changes to the list views (it was fragile to begin with). At one point, the setting appears to have been dynamic, but now it is only loading from GSettings, so let's simply do the same within FileChooserCell.
| * filechooserwidget: Finish port to GtkColumnViewCellCorey Berla2023-04-103-44/+33
| | | | | | | | Some missing updates from f5dea9a3c217c49f44eedb18822be080d2451dc0
* | Merge branch 'wip/corey/filesystemmodel' into 'main'Matthias Clasen2023-04-111-3/+1
|\ \ | |/ |/| | | | | filesystemmodel: Notify correct position removed in remove_file() See merge request GNOME/gtk!5814
| * filesystemmodel: Notify correct position removed in remove_file()Corey Berla2023-04-101-3/+1
|/ | | | | | | 32247bc50e63b709ae738a95a2ec71345b5fad75 made several changes to account for the fact that we no longer have a NULL editable at the beginning of the list model. The commit mistakenly left out one change in remove_file(), which causes the wrong file to be removed.
* Merge branch 'matthiasc/for-main' into 'main'Matthias Clasen2023-04-101-2/+2
|\ | | | | | | | | node-editor: Typo fixes See merge request GNOME/gtk!5812
| * node-editor: Typo fixesMatthias Clasen2023-04-101-2/+2
|/ | | | Fix some typos in the node format documentation.
* Merge branch 'scrolled-window-critical' into 'main'Matthias Clasen2023-04-102-3/+5
|\ | | | | | | | | scrolledwindow: Avoid a critical See merge request GNOME/gtk!5809
| * testsuite: Check widget properties betterMatthias Clasen2023-04-101-0/+3
| | | | | | | | | | | | Check that setting a property after resetting it works. An instance of this was fixed in the previous commit.
| * scrolledwindow: Avoid a criticalMatthias Clasen2023-04-101-3/+2
|/ | | | | | When setting the child property to NULL, we also need to unset auto_added_viewport, to avoid triggering a critical when setting it again.
* Merge branch 'warn-show-destoyed-window' into 'main'Matthias Clasen2023-04-091-0/+3
|\ | | | | | | | | Show a warning when a destroyed window is shown See merge request GNOME/gtk!5122