Skip to content

Glade support (mostly)

Alexander Mikhaylenko requested to merge exalm/libhandy:wip/exalm/glade2 into master

This adds proper Glade support for most libhandy widgets and fixes a few bugs along the way.

More specifically:

General fixes:

  • HdyActionRow
    • Implement remove()
    • Fix an unrelated bug that allowed adding null prefixes
  • HdyExpanderRow
    • Implement remove()
    • Fix forall() so that it actually iterates children you add
  • HdyPreferencesWindow
    • Implement remove() and forall()
  • HdyPreferencesPage
    • Implement remove() and forall()
    • Subclass GtkBin instead of GtkScrolledWindow
  • HdyPreferencesGroup
    • Implement remove() and forall()
    • Subclass GtkBin instead of GtkBox
  • HdyStackableBox
    • Don't hide last visible child when unfolded, this obviously causes children to disappear :x
    • Unset last visible child after removing or hiding, this prevents some interesting crashes when removing multiple children in a row
    • Disconnect notify::visible signal handler after removing a child
  • HdyColumn
    • Queue resize after changing maximum width
  • HdyViewSwitcher
    • Subclass GtkBin instead of GtkBox, this fixes a crash in Glade

Glade:

  • Update the dtd, there are a bunch of elements that we didn't use previously
  • Add GladeHdyUtils to at least slightly reduce code duplication
  • HdyViewSwitcherTitle
    • Use proper display names for the policy enum
  • HdyCarousel
    • Use GladeHdyUtils
    • Add a synthetic position child property for reordering
  • HdyPreferencesGroup
    • Mark propeties as translatable
  • HdyHeaderBar
    • Copy GtkHeaderBar adaptor
  • HdySearchBar
    • Copy GtkSearchBar adaptor
  • HdyColumn
  • HdyLeaflet/HdyDeck
    • Add an adaptor based on GtkStack.
      • Add a synthetic position child property for reordering
  • HdyPreferencesWindow
    • Add an adaptor. Since we can't use placeholders, use an Add page action + create 3 pages by default + a synthetic position child property
  • HdyPreferencesPage
    • Same as HdyPreferencesWindow, except page -> group
  • HdyExpanderRow
    • Add an adaptor based on GtkListBox. Have a position child prop too.
Edited by Alexander Mikhaylenko

Merge request reports