Convert GtkTreeView in status editor to GtkColumnView

Review Request #2199 — Created Jan. 17, 2023 and submitted — Latest diff uploaded

Information

pidgin/pidgin
default

Reviewers

There is a (big or small, up to you) hack in this implementation: PidginSavedStatus is a boxed type and so cannot be placed in a GListModel. Thus the model uses a dummy GObject instance for each row that works similar to each GtkTreeModel row. This is annoying, but means the rest of the .ui remains similar to how it would be with a non-boxed type.

Compared to before, this is only missing search.

Like the account manager, we might want to redesign this entirely, but this is just a straight move away from GtkTreeView due to its impending deprecation. Also, now I have some idea how GtkColumnView works at least.

Double-clicked a few saved statuses to confirm the editor dialogs opened, then clicked Modify to confirm that it opened the existing editor dialog.
Added a new saved status and confirmed that they were in the view.
Deleted a saved status and confirmed it was no longer in the view.
Closed the manager window with editor dialogs opened and confirmed all the editor dialogs closed as they used to.
Confirmed that Remove button was disabled when selecting an in-use status.
Clicked the column headers and confirmed that the statuses were sorted by them.

Commits

Files