Tags give the ability to mark specific points in history as being important
  • 0.83.0   Version 0.83.0
    eb8696cc · Release 0.83.0 ·
    Release 0.83.0
    • Initialization:
      • Add hdy_init() back, with a different prototype. See its documentation to know how to use it.
      • Drop initializing the library via a constructor as it was causing many issues.
      • Drop the now useless Python override.
      • Directly update themes on changes.
    • Add HdySwipeTracker.
    • HdySwipeable:
      • Drop the begin_swipe(), update_swipe(), end_swipe() and get_range() virtual methods
      • Add the get_swipe_tracker() and get_swipe_area() virtual methods.
      • Add the …_switch_child(), …_emit_child_switched(), …_get_swipe_tracker(), …_get_distance(), …_get_snap_points(), …_get_progress(), …_get_cancel_progress(), and …_get_swipe_area() functions.
      • Make implementing get_snap_points() mandatory by dropping its default implementation, compensating the disparition of get_range().
      • Rename the switch-child signal to child-switched to avoid a naming collision with the switch_child() method.
    • HdyDeck and HdyLeaflet:
      • Add an outline to shadows to make them slightly more contrasted yet subtle.
      • Make shadows work over OpenGL content.
      • Cache shadows for child transitions.
      • Stop drawing invisible shadows when no transition is running.
      • Rewrite the transition code to give a window to all children, fixing numerous issues.
    • HdyExpanderRow:
      • Add hdy_expander_row_add_prefix().
    • Add libhandy.syms back to tarballs as it was mistakenly removed.
    • Translation updates:
      • Polish
      • Spanish
  • 0.82.0   Version 0.82.0
    cc833973 · Version 0.82.0 ·
    Release 0.82.0
    • Unblacklist run.in for inclusion into the tarball, fixing the build.
    • HdyClamp:
      • Rename HdyColumn as HdyClamp.
      • Make it implement GtkOrientable.
      • Rename its properties from maximum-width to maximum-size, and linear-growth-width to tightening-threshold.
      • Rename the style classes it sets on itself from .narrow, .medium and .wide style to .small, .medium and .large.
      • Set the default value of maximum-size to 600, and of tightening-threshold to 400.
      • Notify when changing size properties, and guard non-changes.
    • HdyCarousel, HdyDeck and HdyLeaflet:
      • Move the swipe tracker event handling to the bubble phase, giving the priority to the inner widget.
    • HdyDeck:
      • Avoid some useless allocation computations.
    • HdyLeaflet:
      • Don't count children of size 0 to compute the fold state.
      • Don't fold when there is only 1 visible size.
    • HdySwipeable:
      • Add the missing direct header inclusion guard.
    • HdyWindow and HdyApplicationWindow:
      • Implement destroy() to correctly destroy the internal widgets.
    • Drop hdy_list_box_separator_header().
    • Don't install Glade files outside prefix.
    • Update the project description.
    • Translation updates:
      • Spanish
      • Ukrainian
  • 0.81.0   Version 0.81.0
    4c9153ab · Version 0.81.0 ·
    Release 0.81.0
    • Migrated the project to https://gitlab.gnome.org/GNOME/libhandy/.
    • Make the reference manual and the Glade catalog parallel-installable with libhandy 0.0.
    • Add a Python override to ensure the library is initialized on import.
    • Themes:
      • Add the HighContrast theme.
      • Split the shared theme into the fallback theme whose style can be overridden by other themes, and the shared theme whose style overrides the themes.
      • Move window corners from the shared theme to Adwaita, so elementary can do what they want.
      • Make the leaflet and deck drop shadows darker for dark variants and HighContrast, to ensure it's visible.
      • Drop the .h4 fallback to avoid conflicts with .heading. Themes are now expected to implement .heading, or optionally .h4.
      • Fix list.preferences nested list bottom corner rounding issues.
    • CSS support:
      • Account for the CSS box-shadow property when clipping in HdyAvatar, HdyHeaderBar, and HdyTitleBar.
      • Support the CSS min-width and min-height properties in HdyHeaderBar, and HdyTitleBar.
    • HdyDeck and HdyLeaflet:
      • Add *_get_adjacent_child() to get the child a swipe or a call to *_navigate() would present.
      • Don't skip the swipes with a 0 (child for leaflet) transition duration.
      • Correctly cancel transitions when the duration is 0 or the transition is NONE.
    • HdyCarousel:
      • Allow mouse drag by default.
      • Add the 'reveal-duration' property.
      • Animate child addition and deletion.
    • HdyExpanderRow:
      • Move switch to the left of the arrow.
      • Add hdy_expander_row_add_action_widget() and the 'action' child type to allow adding widgets before the arrow and the switch.
    • HdyHeaderBar:
      • Add the .titlebar style class by default.
    • HdyKeypad:
      • Make it inherit from GtkBin instead of GtkGrid, contain one instead.
      • Add spacing properties to set the grid's spacing.
      • Don't make it visible by default.
    • HdyPreferencesGroup:
      • Use the .heading style class for the title in addition to .h4.
    • HdyPreferencesWindow:
      • Make clicking search rows work again.
    • HdySwipeable:
      • Add the get_distance(), get_range(), get_snap_points(), get_progress(), and get_cancel_progress() virtual methods.
    • HdyViewSwitcherTitle:
      • Remove the useless has-subtitle property.
      • Prevent gtk_widget_show_all() from modifying its internal state.
      • Make dispose() reentrant.
  • v0.80.0   libhandy 0.80.0
    b61eefde · Release libhandy 0.80.0 ·
    Release v0.80.0

    libhandy (0.80.0) amber-phone; urgency=medium

    [ Guido Günther ]

    • Bump API version to 1.0.0.

    [ Adrien Plazas ]

    • Release libhandy 0.80.0.
    • meson: Don't allow to build as a static library.
    • meson: Fix disabling the Glade catalog.
    • meson: Separate public and private enums.
    • doc: Add the Handy 0.0 to Handy 1 migration guide.
    • Document CSS nodes and style classes.
    • Rename HdyPaginator into HdyCarousel. Aslo rename HdyPaginatorBox into HdyCarouselBox.
    • Remove the deprecated widgets. Remove HdyArrows, HdyDialer, HdyDialerButton, and HdyDialerCycleButton.
    • Drop HdyDialog. It was deemed not the right way to implement the features we want from it.
    • Drop HdyFold. It has been replaced by a boolean.
    • Drop the hdy prefix from CSS node names. This matches what Adwaita does and will help better blend with it.
    • Drop UTF-8 string functions. They were unused and are not core to what libhandy wants to offer.
    • Add HdyViewSwitcherTitle. A view switcher designed to be used as a window title.
    • action-row: Widget overhaul. Drop the ability to add widgets below, and remove the 'action' buildable child type and hdy_action_row_add_action(), instead widgets are appended at the end of the row. Add the 'activated' signal, and automatically make the row activatable when is is given an activatable widget. Define the sizes with CSS, style the title and subtitle with CSS, and rename the .row-header style class to .header.
    • column: Add the .narrow, .medium and .wide style classes. Allow to easily update style based on the column's clamping state.
    • column: Ensure the column is at least as wide as its child.
    • combo-row: Make it activatable when it has a bound model.
    • combo-row: Popover style overhaul and add a checkmark to the selected row.
    • expander-row: Widget overhaul. Completely redesign the widget. Also prevent gtk_widget_show_all().
    • flatpak: Update the example command name and drop useless build options.
    • glade: Support Glade 3.36. Make the catalog support both 3.24 and 3.36, and add a Glade+libhandy flatpak manifest which uses glade 3.36.
    • icons: Add hdy-expander-arrow-symbolic.
    • leaflet: Add the .folded and .unfolded style classes. Allow to easily update style based on the leaflet's fold state.
    • leaflet: Default to the 'over' transition type. This better match the expected behavior or a leaflet.
    • leaflet: Avoid divisions by 0, don't implement the unused GtkBuildableIface and drop the deprecated transition props and types.
    • main: Automatically init libhandy. Add a library constructor to init on startup and remove hdy_init(). Initialize the global styles and icons when the main loop starts.
    • preferences-window: Add the 'search-enabled' property.
    • preferences-window: Hide filtered-out rows.
    • preferences-window: Use HdyViewSwitcherTitle.
    • style: Style overhaul. Use SASS to implement the styles, offer both a shared base theme used as a fallback and an Adwaita-specific theme, and offer a dark variant. Ship pre-compiled CSS and dynamically load it depending on the theme.
    • style: Add the button.list-button CSS style class.
    • style: Add the list.preferences CSS style class.
    • swipe-tracker: Fix a leak in …_confirm_swipe().
    • swipe-tracker: Use g_clear_pointer() where possible.
    • view-switcher-bar: Document relation with HdyViewSwitcherTitle.
    • view-switcher-bar: Don't reveal for less than two pages.
    • debian: Use HdyKeypad in the Python GI test.
    • examples: Add a dark theme toggle button.
    • examples: Add a HdyDeck example.
    • examples: Bind the switch-rows to their switches.
    • examples: Don't set action rows as unactivatable.
    • examples: Drop setting the header group focus.
    • examples: Give its own header to the search bar demo.
    • examples: Make the radio buttons non-focusable.
    • examples: Make the resource path match the app ID.
    • examples: Put the right header bar in a GtkStack.
    • examples: Use HdyViewSwitcherTitle.
    • examples: Use the button.list-button CSS style class.
    • examples: Vertically align the radio buttons.

    [ Alexander Mikhaylenko ]

    • Add HdyDeck. A swipeable container widget allowing to stack widgets.
    • Add HdyNavigationDirection.
    • Add HdyStackableBox. A private object easing the implementation of HdyDeck and HdyLeaflet.
    • Add HdyWindow. A free-form window widget with rounded corners.
    • Add HdyApplicationWindow. A free-form application window widget with rounded corners.
    • Add HdyWindowHandle. A bin widget allowing to control a window like with a titlebar.
    • Add HdyNothing. A private empty widget, easing the implementation of free-form window types.
    • Add HdyWindowMixin. A private object easing the implementation of free-form window types.
    • Add HdyWindowHandleController. A private object allowing a widget to control a window like with a titlebar.
    • action-row: Don't allow adding null prefixes, and implement remove().
    • column: Queue resize after changing maximum width.
    • expander-row: Fix forall(), and implement remove().
    • glade: Properly support all public widgets and objects. The glade catalog has been overhauled, fixing support of widgets and objects already included in the catalog, and adding the newly added ones.
    • gtk-window: Add hdy_gtk_window_get_state().
    • header-bar: Add a window handle controller. Also make it register its own window to get the needed events.
    • header-bar: Remove some unused variables.
    • Introduce hdy-cairo-private.h. This helps automatically cleanup up Cairo objects.
    • leaflet: Add a function for moving back/forward programmatically.
    • leaflet: Allow hdy_leaflet_navigate() regardless of swipe properties.
    • leaflet: Document visible child functions.
    • leaflet: Fix hdy_leaflet_get_can_swipe_forward() docs and some typos.
    • leaflet: Make HdyLeaflet a wrapper around HdyStackableBox.
    • leaflet: Remove 'todo' vfunc.
    • main: Don't use G_SOURCE_FUNC() macro.
    • preferences-group: Implement remove().
    • preferences-group: Subclass GtkBin instead of GtkBox.
    • preferences-page: Implement remove() and forall().
    • preferences-page: Subclass GtkBin instead of GtkScrolledWindow.
    • preferences-window: Add .titlebar to the headerbar.
    • preferences-window: Erase search terms after hiding search bar.
    • preferences-window: Implement remove() and forall().
    • preferences-window: Name signal callbacks _cb.
    • preferences-window: Port to HdyWindow.
    • preferences-window: Use crossfade transition.
    • preferences-window: Use GDK_EVENT_* constants.
    • preferences-window: Use gtk_search_entry_handle_event().
    • shadow-helper: Don't set style context parent.
    • stackable-box: Avoid use-after-free in remove().
    • stackable-box: Check is visible child exists in folded mode
    • stackable-box: Disconnect the signal handler after removing a child
    • stackable-box: Fix a typo in a comment
    • stackable-box: Only count allow-visible=true children for index
    • stackable-box: Only hide last visible child when folded
    • stackable-box: Remove an extra line in a doc comment
    • stackable-box: Skip mode transitions for deck
    • stackable-box: Unset last_visible_child after removing or hiding
    • swipeable: Use HdyNavigationDirection for begin_swipe() direction
    • swipe-tracker: Fix crash in confirm_swipe().
    • swipe-tracker: Reject drags in window's draggable areas.
    • view-switcher: Extend bin instead of box.
    • view-switcher-title: Unset stack before destroying.
    • glade: List all the missing public widgets. List HdyApplicationWindow, HdyAvatar, HdyDeck, HdyKeypad, HdyViewSwitcherTitle, HdyWindow, and HdyWindowHandle.
    • example: Add a HdyWindow demo.
    • example: Add .titlebar to all headerbars.
    • example: Don't leave an empty autoptr declaration.
    • example: Fix a typo on the HdyWindow page.
    • example: Fix leaflet/deck typos.
    • example: Make the "Go to the next page" row activatable.
    • example: Port main window to HdyApplicationWindow.
    • example: Port view switcher window to HdyWindow.
    • example: Stop using "fold" HdyLeaflet property.
    • example: Use a menu model for primary menu.
    • example: Use HdyDeck in complex dialog demo.
    • example: Use hdy_leaflet_navigate() for back button and clicking rows.

    [ Ujjwal Kumar ]

    • preferences-window: Cancel search from keyboard.
    • Return GtkWidget* with _new().
    • Coding style fixes.
    • doc: Tell about widget constructor changes.
    • example: Resize demo window.
    • example: Replace deprecated Dialer with Keypad in example.py.
    • example: Add some spacing between widgets.

    [ Julian Sparber ]

    • Add HdyAvatar. A widget to visually represent a contact.

    [ Felix Pojtinger ]

    • doc: Add macOS build instructions.

    [ louib ]

    • Fix acknowledge typo in build doc.
    • Adding new example apps using libhandy.

    [ Alberto Fanjul ]

    • glade: Adapt to Glade 3.36 API changes.

    -- Adrien Plazas adrien.plazas@puri.sm Tue, 19 May 2020 09:45:02 +0200

  • v0.0.13   libhandy v0.0.13
    7a193d76 · Release libhandy 0.0.13 ·
    Release v0.0.13

    libhandy (0.0.13) amber-phone; urgency=medium

    [ Alexander Mikhaylenko ]

    • paginator-box: Stop using gtk_widget_set_child_visible() This function is meant for widgets that don't need to be mapped along with parent widget, not for scrolled out widgets. Additionally, using it causes strange side effects with GtkOverlay window z-ordering. Stop using it and instead track visiblity manually. Also, clarify the code a bit.
    • leaflet: Correctly handle 0 duration for swipe snap-back
    • swipe-tracker: Don't animate when the distance is 0. Usually it makes sense to restrict the minimum animation duration. However, if the progress already matches the end progress, it just causes a delay, so skip it completely.

    [ Julian Sparber ]

    • Keypad: Do not show allow typing + when only_digits is true. The keypad shouldn't allow typing or show + when only_digits is set to true. Therefore this adds the correct behavior.

    [ Guido Günther ]

    • Release libhandy 0.0.13

    -- Guido Günther agx@sigxcpu.org Fri, 27 Dec 2019 12:22:18 +0100

  • v0.0.12   libhandy 0.0.12
    Release v0.0.12

    libhandy (0.0.12) amber-phone; urgency=medium

    [ Zander Brown ]

    • build: Don't install glade catalogue when used as submodule

    [ Alexander Mikhaylenko ]

    • swipe-tracker: Grab widget during the gesture
    • swipe-tracker: Animate when canceled. There are some cases where not animating the canceled gesture looks awkward. For example, when tapping a paginator while it animates.
    • swipe-tracker: Don't add GDK_ALL_EVENTS_MASK. That was a debugging leftover.
    • header-group: Fix a leftover GtkSizeGroup mention
    • paginator: Delegate hdy_paginator_scroll_to() to scroll_to_full() This will help to avoid duplicating code in later commits.
    • paginator-box: Add hdy_paginator_box_get_nth_child()
    • doc: Add 0.0.12 index
    • Add HdySwipeable. A common interface that swipeable widgets should implement and that HdySwipeGroup and HdySwipeTracker will use.
    • paginator: Implement HdySwipeable
    • swipe-tracker: Port to HdySwipeable. Use a HdySwipeable instead of GtkWidget. Remove 'begin', 'update' and 'end' signals and instead call HdySwipeable methods.
    • Add HdySwipeGroup. An object that allows to synchronize swipe animations of multiple widgets. This can be used to sync widgets between headerbar and window content area.
    • tests: Add HdySwipeGroup test
    • glade: Support HdySwipeGroup. Do the same thing as for HdyHeaderGroup.
    • leaflet: Fix the folding sliding children padding. Sets the children padding of the folding sliding animation depending on the surface they'll be drawn on. This doesn't change a thing for the sliding animation, but this will avoid the children to be moved when snapshotting them, which is needed for the over and under animations — which will be added in the next commit — to work correctly.
    • leaflet: Only clip visible area during transitions. Adjust width and height of the clip rectangle to avoid drawing areas outside of the widget.
    • Introduce HdyShadowHelper. This will be used in the following commits to add shadows to HeyLeaflet transitions.
    • leaflet: Dim bottom children during transitions. Draw a dimming layer and a drop shadow over bottom child during 'over' and 'under' mode and child transitions. The dimming, shadow and border styles are defined in CSS. The current style is based on the similar animation in WebKit.
    • swipe-tracker: Reduce base distance for vertical swipes. Use 300px instead of 400px, otherwise it can be hard to use on small touchpads.
    • paginator-box: Adjust index when removing pages. Prevent jumping when removing pages to the left of the current one.
    • paginator: Support discrete scrolling. Support scrolling on devices like mice. Switch a page when a scroll event arrives and add a delay to prevent too fast scrolling. Use animation duration as a delay, but don't let it go below 250ms, mainly to ensure it still works with animations disabled. Fixes https://source.puri.sm/Librem5/libhandy/issues/155
    • swipe-tracker: Stop handling trackpoint. Handle it like discrete scrolling instead.
    • leaflet: Mention replacements in deprecations. Have more useful warnings.
    • leaflet: Mark child-transition and mode-transition as deprecated. Properties are deprecated too, not just accessors.
    • leaflet: Ignore deprecations for transition type acccessor declarations. Since enums are deprecated now, these declarations trigger warnings in modules that use libhandy. Since these functions are already deprecated anyway, silence these warnings.
    • deprecation-macros: Stop referencing nonexistent macros. G_DEPRECATED_* and G_DEPRECATED_*_FOR aren't a thing.
    • swipe-tracker: Make dragging touch-only. Since HdyPaginator has mouse scrolling now, there's no need to have dragging available on non-touch devices, so drop it.
    • paginator-box: Wrap children into child info structs. This will allow to carry additional data for them later.
    • paginator-box: Put children into their own GdkWindows. This allows to stop doing size allocation on each frame, and will allow to implement drawing cache in the next commit.
    • paginator-box: Implement drawing cache. Keep a Cairo surface for each child. Paint children onto their surfaces, then compose the final image. Instead of painting the whole children, track invalidations and paint only changed parts. This means most paginator redraws don't involve any child redraws. This should significantly speed up scrolling when children are expensive to draw.
    • paginator-box: Add animation-stopped signal. This will be used in the next commit to add page-changed signal to HdyPaginator.
    • paginator: Add page-changed signal. Allows to know when the current page has changed, this can be used to implement "infinite scrolling" by connecting to this signal and amending the pages.
    • leaflet: Allocate last visible child during child transitions. Fixes one cause of https://source.puri.sm/Librem5/libhandy/issues/85
    • keypad: Immediately assign g_autoptrs to NULL. Avoid compile-time warnings.
    • paginator-box: Create window with correct dimensions. It doesn't matter because it gets overridden later, but still fix it.
    • example: Remove leftover adjustments. See aa7a4eca
    • paginator-box: Fix hdy_paginator_box_get_nth_child() Return the actual widget, not child info struct. A leftover from 710bcaac
    • leaflet: Use provided duration for child transitions. Actually use the value from the function argument.
    • swipeable: Provide swipe direction when preparing. This will allow to restrict the swipe to only one direction for leaflet.
    • swipeable: Distinguish direct and indirect swipes. Add "direct" parameter to hdy_paginator_begin_swipe() and the corresponding vfunc, providing a way to tell apart swipes started via HdySwipeGroup sync. This will be used to have leaflet in headerbar that's not swipeable, but can still animate along with leaflet in content area.
    • swipe-tracker: Skip swipes in wrong direction. Prevent swiping if the direction doesn't match tracker orientation. This allows to have GtkScrolledArea inside or around swipeable widgets without swipes taking over scrolling.
    • leaflet: Add allow-visible child property. This will be used to prevent swiping to widgets such as separators.
    • leaflet: Add properties for controlling swipes. This will allow to selectively enable back and/or forward swipes for HdyLeaflet. By default swipes are disabled.
    • leaflet: Implement back/forward swipe gesture. Implement HdySwipeable and use HdySwipeTracker to detect back/forward swipes. Use can-swipe-back and can-swipe-forward properties for controlling swipes, and use allow-visible child property to exclude certain widgets, such as separators, from the gesture. Multiple leaflets can be synced via HdySwipeGroup.
    • example: Enable back swipe in the leaflet. Set can-swipe-back=true on the content leaflet, allow-visible=false for separators and use HdySwipeGroup for syncing leaflets rather than binding visible child name.
    • leaflet: Queue relayout after child transition ends. Prevents close button from occasionally disappearing after swipes.
    • swipe-tracker: Add 'allow-mouse-drag' property
    • paginator: Add 'allow-mouse-drag' property. Usually we don't want this, because there's scrolling. However, phosh still needs this for lockscreen, hence optionally allow it.
    • paginator-box: Register window before setting parent. Prevents newly created widgets from reusing parent's window. Fixes a regression from e6a47749 Fixes https://source.puri.sm/Librem5/libhandy/issues/165
    • swipeable: Fix signal names for docs
    • swipe-group: Don't escape tag names for docs
    • leaflet: Deprecate old transition type properties. They did already have the deprecated flag, but weren't shown as deprecated in docs.
    • Update @See_also for swipeable widgets. Mention HdyLeaflet in HdySwipeable, HdySwipeGroup and HdySwipeTracker.

    [ louib ]

    • Fix typo in README.
    • Remove casts requiring increased alignment. Some casts were increasing the required alignment in callbacks, raising warnings when compiled on arm with gcc.

    [ Guido Günther ]

    • Add deprecation macros. The macros are libhandy internal (should not be used in application code) and are as such marked with a '_'. This also makes gtk-doc happy since it treats it as a public symbol otherwise.
    • Deprecate all hdy-dialer{-cycle}-button api. It's considered HdyDialer internal API
    • HdyDialer: Remove excessive '*'
    • build: Install new header file. Fixes: ac94e649
    • Release libhandy 0.0.12

    [ Adrien Plazas ]

    • leaflet: Clip children when drawing unfolded. This will clip children to ensure they don't get drawn on or under the visible child, which will allow to create mode transition animations where other children appear to be drawn under the visible child.
    • leaflet: Clip the end surface when drawing folded. This will clip the end surface to ensure it doesn't get drawn on or under the visible child, which will allow to create mode transition animations where other children appear to be drawn under the visible child.
    • leaflet: Add the over and under mode transition animations. This allows the mode transition animation to match the semantic of the over and under child transitions.
    • leaflet: Unify the transition types. Add the HdyLeafletTransitionType enumeration and the transition-type property to define both the mode and child transitions, as having them different makes no sense and could lead to spatialization issues. This new type doesn't offer a crossfade transition on purpose as it was deemed inappropriate for the leaflet, for which the position of the children is inherently important. This also deprecates the two previous properties and their respective types. Fixes https://source.puri.sm/Librem5/libhandy/issues/92.
    • leaflet: Remove the over and under mode transitions. There is no point in adding enum values and deprecating them in the same version, so let's just remove them. The animations are still available via the newly added HdyLeafletTransitionType type and the transition-type property, so this also encourages migrating to the new API.
    • examples: Add a Leaflet page. This adds a page to demo the leaflet transitions, drops usage of the deprecated leaflet transition types and properties, and defaults to the 'over' transition to demo it and its shadow effect.
    • Deprecate HdyArrows. As far as we know, nothing uses it anymore and it's not part of our latest designs. Fixes https://source.puri.sm/Librem5/libhandy/issues/126.
    • examples: Drop the Arrows page. HdyArrows is now deprecated, so we don't want to promote it.
    • leaflet: Drop some old TODOs. We just don't need them anymore.
    • leaflet: Add Alexander Mikhaylenko's copyright. His work on this class is far from negligeable, let's reflect that in the copyright.
    • view-switcher-button: Fix the action bar hover style. This makes the buttons out of a header bar slightly lighter when hovered and the window is focused. Previously they were the same color as the unfocused buttons and the action bar, making them look less good and harder to use. Fixes https://source.puri.sm/Librem5/libhandy/issues/147.

    [ Julian Sparber ]

    • Keypad: Add a general keypad. This is based on HdyDialer, but with more flexible API. The new Keypad allows to set a custom Widget to the left/right lower corner, replacing the original widget. The Keypad extents directly GtkGrid which exposes all grid properties. It also allows to replace/change every button in the Keypad, just like in GtkGrid. It also adds a GtkEntry which can be used as the focus widget, it has the key-press-event already connected and it grabs focus once it's mapped. The Entry isn't part of the keypad, it's just a convenienced way to create a Entry, you would expect to use with a keypad.
    • Tests: add keypad tests
    • Docs: add docs and demo for keypad
    • Dialer: deprecate hdydialer
    • HdyDialer: Remove it from the demo. Remove the dialer from the demo since it's deprecated.
    • HdyDialer: Deprecate objects related to dialer. HdyDialerButton, HdyDialerCycleButton and HdyDialer objects where not deprecated, only there methods were.

    [ Oliver Galvin ]

    • README: minor punctuation fixes, and update Fractal URL to GNOME namespace
    • docs: Consistently use full sentences in short descriptions.
    • docs: Add sections about building and bundling to the 'Compiling with libhandy' page, and generally tidy the page. * docs: Update copyright year range.
    • meson: fix configure-time warning - Use the 'pie' kwarg instead of passing '-fpie' manually. Also bump Meson to 0.49.0, when the pie kwarg was added.
    • meson: Tidy build files. Use / operator (added in Meson 0.49.0) instead of join_paths. Use package_api_name variable to avoid repetition.
    • style: Remove odd tabs as per 'Coding Style' in HACKING.md, and fix typo.

    [ Ting-Wei Lan ]

    • keypad: Fix compilation error for clang. Function hdy_keypad_button_get_digit is declared to return 'char' in src/hdy-keypad-button-private.h but defined to return 'const char' in src/hdy-keypad-button.c. This is not allowed by clang. Since it is unusual to mark a return value itself as const, just drop const here.

    -- Guido Günther agx@sigxcpu.org Thu, 12 Dec 2019 09:49:04 +0100

  • debian/0.0.11-1   libhandy Debian release 0.0.11-1
  • v0.0.11   libhandy 0.0.11
    f5909a89 · Release libhandy 0.0.11 ·
    Release v0.0.11

    [ Adrien Plazas ]

    • dialer: Work around GtkGrid row homogeneity. Puts the buttons into a vertical size group rather than making the rows homogeneous. This prevents a bug from GtkGrid to make the buttons too tall when the action buttons are hidden.
    • dialog: Don't warn if the titlebar isn't a GtkHeaderBar. Using another widget is perfectly valid, so we should just return instead.
    • dialog: Refactor the transient-for workaround. This will make introducing new properties simpler.
    • dialog: Add the narrow property.
    • header-bar: Show a back button in a narrow HdyDialog. If a header bar is in a narrow HdyDialog, it will display a back button at its start in place of its usual window decorations.
    • examples: Add a complex HdyDialog example. This shows how to use HdyHeaderBar and HdyDialog to create a more complex adaptive dialog.
    • header-bar: Show a back button on small non-sovereign windows. This will show the back button not only in small HdyDialog but in all small windows that are not sovereign.
    • meson: Set the log domain. This makes the log messages from libhandy look like Handy-Debug: … rather than ** Debug: …, making them easier to distinguish.
    • README.md: Update the documentation URL. It's on the developer.puri.sm now.
    • Add animation helpers. Add various animation helpers to avoid coyping them around.
    • squeezer: Support animation disablement. This will animate the child transitions only if animations are enabled.
    • preferences-group: Use the h4 style class. Use the h4 style class instead of hardcoding the bold style for the preferences group title, and implement a fallback making the font bold. This is needed by elementary to use their own style.
    • animation: Make some functions public. This makes hdy_get_enable_animations() and hdy_ease_out_cubic() public.
    • view-switcher-button: Don't make transparent on hover. This doesn't make the background transparent when hovering and apply the same style as non-hovered buttons on hovered buttons in a headerbar.

    [ Gabriele Musco ]

    • Added Unifydmin to Python 3 examples
    • Add HydraPaper to Python 3 examples

    [ Ting-Wei Lan ]

    • Don't require GNU sed

    [ Jeremy Bicha ]

    • Debian packaging improvements

    [ Guido Günther ]

    • debian: Ship example program and files
    • Release libhandy 0.0.11

    [ Alexander Mikhaylenko ]

    • search-bar: Hide start and end boxes instead of close button.
    • glade: Update catalog dtd.
    • Add new HdySwipeTracker widget. This will be used to implement swipes in new widgets.
    • Add new HdyPaginator widget. Display set of pages with swipe based navigation.

    [ David Boddie ]

    • Deploy documentation for the master branch

    [ Michael Catanzaro ]

    • glade: Don't install glade files outside build prefix.
  • debian/0.0.10-1   libhandy Debian release 0.0.10-1
  • v0.0.10   libhandy 0.0.10
    2d777677 · Release libhandy 0.0.10 ·
    Release v0.0.10

    [ Adrien Plazas ]

    • .editorconfig: Add CSS
    • arrows: Refresh HdyArrowsDirection docs. This moves the HdyArrowsDirection documentation to the C file and removes the final period from the values definitions, like for all other enums documentations.
    • docs: Add section for new symbols in 0.0.10
    • view-switcher: Fix stack children callbacks. This fixes the callbacks when a child is added or removed from the view switcher's stack.
    • view-switcher-button: Make an active button's label bold. This makes the view switcher easier to read. It uses multiple labels with or without the specific style rather than a single label with the style toggled on and off to ensure the size requests don't change depending on whether the button is active or not.
    • leaflet: Synchronize paired notifications. This ensures users can't react to a visible child change notification or a fold change notification before we finish emitting all related notifications.
    • Add HdySqueezer. This can be used to automatically hide a widget like a HdyViewSwitcher in a header bar when there is not enough space for it and show a title label instead. Fixes https://source.puri.sm/Librem5/libhandy/issues/100
    • examples: Use a HdySqueezer. Use a HdySqueezer in the view switcher window to show either the view switcher in the header bar, or a window title and a view switcher bar depending on the window's width.
    • view-switcher-button: Allow to elipsize in narrow mode. This will be used to let HdyViewSwitcherBar reach even narrower widths.
    • view-switcher: Allow to elipsize in narrow mode. This will be used to let HdyViewSwitcherBar reach even narrower widths.
    • view-switcher-bar: Ellipsize in narrow mode. This lets HdyViewSwitcherBar reach even narrower widths.
    • view-switcher-button: Use buttons borders in size. When computing the size of the button, take the button's border into account. Fixes https://source.puri.sm/Librem5/libhandy/issues/108
    • view-switcher-bar: Sort properties by alphabetical order. This fixes a code style error and will avoid to propagate it as the file gets edited.
    • view-switcher-bar: Add margins. Add margings around the view switcher to better match the mockups.
    • view-switcher: Define a minimum natural width. This prevents the buttons from looking terribly narrow in a wide bar by making them request a minimum good looking natural size.
    • Add HdyPreferencesRow. This will be used as the base row for the preferences window, offering data needed to search a preference entry.
    • action-row: Extend HdyPreferencesRow. This allows to use HdyActionRow and its derivatives as preferences rows.
    • Add HdyPreferencesGroup. This will be used to group preferences rows as a coherent group in a preferences page.
    • Add HdyPreferencesPage. This will be used to group preferences as pages in a preferences window.
    • Add HdyPreferencesWindow. This allows to easily create searchable preferences windows. Fixes https://source.puri.sm/Librem5/libhandy/issues/101
    • examples: Add a HdyPreferencesWindow example
    • Add private GtkWindow functions. Add the private GtkWindow functions _gtk_window_toggle_maximized() and gtk_window_get_icon_for_size() which will be used in the next commit by HdyHeaderBar.
    • Add HdyHeaderBar. Fork GtkHeaderBar to help fixing shortcomings caused by adaptive designs or coming from GtkHeaderBar itself as features are not accepted into GTK 3 anymore. Fixes https://source.puri.sm/Librem5/libhandy/issues/102
    • examples: Use HdyHeaderBar in the View Switcher page. This correctly centers the view switcher and demoes HdyHeaderBar.
    • view-switcher: Recommend to use a HdyHeaderBar. This will help users of HdyViewSwitcher to know how to make it look good in a header bar.
    • examples: Drop un unused signal connection. This avoids a run time warning.
    • docs: Add images for HdyViewSwitcher and HdyViewSwitcherBar
    • preferences-window: Strictly center the header bar. This makes the header bar's widgets look better by ensuring they are always centered, even if it means they will be narrower.
    • conbo-row: Make the popover relative to the arrow. Consistently point to the arrow rather than sometimes to the arrow and sometimes to the invisible box containing the current value.
    • combo-row: Add HdyComboRowGetName. Replace HdyComboRowCreateLabelData by HdyComboRowGetName and keep a reference to in the combo row to allow accessing it externally. It will be needed to automatically handle converting the value into a name to display as the subtitle of the row.
    • combo-row: Add the use-subtitle property. Allow to display the current value as the subtitle rather than at the end of the row. Fixes https://source.puri.sm/Librem5/libhandy/issues/95
    • header-bar: Render margins and borders. Fixes https://source.puri.sm/Librem5/libhandy/issues/121

    [ Zander Brown ]

    • Add HdyViewSwitcherButton. This will be used in the next commit by HdyViewSwitcher.
    • Add HdyViewSwitcher. This more modern and adaptive take on GtkStackSwitcher helps building adaptive UIs for phones. Fixes https://source.puri.sm/Librem5/libhandy/issues/64
    • Add HdyViewSwitcherBar. This action bar offers a HdyViewSwitcher and is designed to be put at the bottom of windows. It is designed to be revealed when the header bar doesn't have enough room to fit a HdyViewSwitcher, helping the windows to reach narrower widths.
    • examples: Add the View Switcher page. This example presents a HdyViewSwitcher and a HdyViewSwitcherBar in their own window. Currently both are visible at the same time, a later commit should make only one visible at a time, depending on the available width.

    [ Aearil ]

    • Update components list for the external projects in the README

    [ Mohammed Sadiq ]

    • dialog: Fix typos in documentation
    • demo-window: Fix typo in property name

    [ Oliver Galvin ]

    • Change GTK+ to GTK
    • Fix a few typos and grammatical mistakes
    • Expand the visual overview. Add more widgets and a comparison of HdyDialog

    [ Guido Günther ]

    • Release libhandy 0.0.10
    • HACKING:
      • Properly end emphasis
      • Document extra space after function calls
    • ci improvements
      • Split doc build to different stage
      • Split out unit tests to different stage
      • Drop coverage on Fedora. It's not evaulated anyway
      • Split out build commands
      • Drop tests from static build
      • Move Debian package to packaging stage
    • gitlab-ci: Archive the build debs
    • HdyArrows:
      • Fix obvious documentation errors
      • Only redraw widget if visible
      • Don't emit notify signals on unchanged properties
      • Redraw arrows on property changes
    • HdyDemoWindow: Don't schedule arrow redraws
    • Add suppression for ASAN
    • tests-dialer: cleanups
    • HdyDialer: Make show_action_buttons match the initial property default
  • debian/0.0.9-1   libhandy Debian release 0.0.9-1
  • v0.0.9   libhandy 0.0.9
    56b0aa62 · Release libhandy 0.0.9 ·
    Release v0.0.9

    libhandy (0.0.9) experimental; urgency=medium

    [ Benjamin Berg ]

    • glade: Mark ActionRow properties as translatable/icon. Without this, it is impossible to set the translatable flag in glade, making it hard to create proper UI definitions.

    [ Bastien Nocera ]

    • Use correct i18n include. From the Internationalization section of the GLib API docs: In order to use these macros in an application, you must include <glib/gi18n.h>. For use in a library, you must include <glib/gi18n-lib.h> after defining the GETTEXT_PACKAGE macro suitably for your library
    • Fix broken translations in all libhandy applications. Translations in all the applications using libhandy would be broken after a call to hdy_init() as it changed the default gettext translation domain. See gnome-control-center#393

    [ Adrien Plazas ]

    • examples: Update the Flatpak command. The command should changed with the demo application name.
    • leaflet: Improve the slide child transition description. This makes the slide child transition description match the one of the slide mode transition one.
    • action-row: Upcast self to check the activated row. Upcast the HdyActionRow rather than downcasting the activated row to compare their pointers. This prevents error messages when a sibbling row that isn't a HdyActionRow is activated. Also use a simple cast rather than a safe cast as it is there only to please the compiler and is useless for a pointer comparison and it's faster.
    • Drop 'dialer' from the UI resources path. This makes the UI file paths more correct and simpler.
    • leaflet: Add hdy_leaflet_stop_child_transition() This makes the code clearer by encapsulating child mode transition cancellation into its own function.
    • leaflet: Factorize bin window move and resize. This ensures we move or resize it consistently.
    • leaflet: Move the bin window on child transition cancellation. This avoids the children to be drawn out of place when a mode transition is triggered while a child transition was ongoing. Fixes https://source.puri.sm/Librem5/libhandy/issues/93
    • Add HDY_STYLE_PROVIDER_PRIORITY. Add and use HDY_STYLE_PROVIDER_PRIORITY to help ensuring custom styling is applied consistently and correctly accross all the library.
    • expander-row: Move the custom style to a resource. This makes the code cleaner, easier to read, and simnpler to modify.
    • combo-row: Move the custom style to a resource. This makes the code cleaner, easier to read, and simnpler to modify.
    • expander-row: Add the expanded property. This can be used to reveal external widgets depending on the state of the row.

    [ Guido Günther ]

    • debian: Test GObject introspection. This makes sure we have the typelib file installed correctly.
    • debian/tests: Drop API version from include. This makes sure we respect pkg-config's findings.
    • examples: Add API version to demo name. This makes different versions co-installable.
    • build: Don't hardcode API version
    • Release libhandy 0.0.9

    -- Guido Günther agx@sigxcpu.org Thu, 07 Mar 2019 12:37:34 +0100

  • debian/0.0.8-1   libhandy Debian release 0.0.8-1
  • v0.0.8   libhandy 0.0.8
    3721b490 · Release libhandy 0.0.8 ·
    Release v0.0.8

    libhandy (0.0.8) experimental; urgency=medium

    [ Adrien Plazas ]

    • examples: Use the "frame" stylesheet on listboxes. This avoids using GtkFrame where it's not relevant and shows the example.
    • examples: Refactor the Dialer panel. This makes it more in line with the other panels.
    • examples: Refactor the Arrows panel. This makes it more in line with the other panels.
    • examples: Fix the Lists panel column width. We were accidentally using the widths from the Column panel.
    • examples: Fix a typo
    • action-row: Add the row-header style class to the header box. This will allow to style the row's header separately.
    • expander-row: Add the expander style class. This will allow to style the row's padding appropriately to be used as an expander.
    • README.md: Add GNOME Settings and GNOME Web to users
    • meson: Don't install if it's a static subproject
    • title-bar: Drop useless definitions and inclusions. These were copy and paste errors.
    • README.md: Add gnome-bluetooth as a user
    • examples: Rename the example program to handy-demo. This also renames the type and files to match the new name. Fixes https://source.puri.sm/Librem5/libhandy/issues/81
    • meson: Fix the examples option description. Fixes https://source.puri.sm/Librem5/libhandy/issues/82
    • expander-row: Animate the arrow rotation. Because we can!
    • leaflet: Support RTL languages when unfolded. Fixes https://source.puri.sm/Librem5/libhandy/issues/86

    [ Benjamin Berg ]

    • Add -s -noreset to xvfb-run calls. Xvfb will close when the last client exists, which may be the cause of sporadic test failures. Add -s -noreset to the command line to prevent this from happening.
    • combo-row: Fix memory leak g_list_model_get_item returns a referenced GObject which needs to be unref'ed.
    • combo-row: Fix memory leak in set_for_enum
    • value-object: Add an object to stuff a GValue into a GListModel. This is useful to store arbitrary (but simple) values inside a HdyComboRow.
    • example: Use value object rather. The code was storing strings in labels, just to extract them again. Also, the code was leaking the labels as g_list_store_insert does not sink the reference of the passed object.
    • tests: Add tests for HdyValueObject
    • action-row: Destroy the contained widget. The GtkBox that contains everything is an internal child which must be destroyed explicitly.

    [ Guido Günther ]

    • run.in: Set GLADE_MODULE_SEARCH_PATH as well. This makes sure we're using the freshly built module when running from the source tree.
    • Release libhandy 0.0.8

    [ Pellegrino Prevete ]

    • README: added Daty to example apps
    • build: Force default libdir location for libhandy target on Windows to keep MinGW compatibility

    [ Alexander Mikhaylenko ]

    • leaflet: Add missing check for moving child window. Prevent child window from moving in transitions that don't require it, instead just resize it. Fixes https://source.puri.sm/Librem5/libhandy/issues/80
    • leaflet: Drop commented out 'under' child transition. It's going to be replaced with the actual implementation in the next commit.
    • leaflet: Make 'over' child transition symmetric. Implement 'under' child transition animation, use it for 'over' for right and down directions, matching 'over' description. Fixes https://source.puri.sm/Librem5/libhandy/issues/79
    • leaflet: Add 'under' child transition. Use same animations as 'over', but with reversed directions. Documentation descriptions by Adrien Plazas. Fixes https://source.puri.sm/Librem5/libhandy/issues/84
    • leaflet: Clip bottom child during child transitions. Prevents bottom child from being visible through the top one during 'over' and 'under' child transitions.

    [ maxice8 ]

    • meson: pass -DHANDY_COMPILATION to GIR compiler. Fixes cross compilation of GIR in Void Linux.
  • debian/0.0.7-1   libhandy Debian release 0.0.7-1
  • v0.0.7   libhandy 0.0.7
    fac9fa59 · Release libhandy 0.0.7 ·
    Release v0.0.7

    [ Adrien Plazas ]

    • glade: Add row widgets to the widget classes. They are missing and don't appear in Glade.
    • glade: Add that HdySearchBar. It's in libhandy since 0.0.6
    • action-row: Handle show_all() This avoids an empty image, an empty subtitle and an empty prefixes box to be visible when calling show_all(), as they are handled by the row itself.
    • action-row: Add the Since annotation to properties
    • example: Make the row with no action non-activatable
    • tests: Init libhandy. This ensures we run the test the same way applications are expected to run libhandy.
    • docs: Add section for new symbols in 0.0.7
    • action-row: Add the activatable-widget property. This allows to bind the activation of the row by a click or a mnemonic to the activation of a widget.
    • action-row: Chain up the parent dispose method
    • combo-row: Release the model on dispose. This avoids errors when trying to disconnect signals on finalization.
    • combo-box: Rename selected_position to selecxted_index. This will better match the name for its accessors which will be added in the next commit.
    • combo-row: Add the selected-index property. This allows to access the selected item.
    • main: Explicitely load the resources in hdy_init() This is mandatory to use resources of a static version of libhandy, and is hence mandatory to allow to build libhandy as a static library.
    • meson: Bump Meson to 0.47.0. This is required to use the feature option type in the next commit.
    • meson: Make introspection and the Glade catalog features. This avoids having to disable them when their dependencies aren't available and it will allow to disable them properly when libhandy will be allowed to be built as a static library in the next commit.
    • meson: Allow to build as a static library. This also disables the Glade catalog as it doesn't work with a static libhandy.
    • action-row: Drop pointers to internals on destruction. This avoids crashes when trying to access pointers to already dropped widgets. Fixes https://source.puri.sm/Librem5/libhandy/issues/69
    • expander-row: Drop pointers to internals on destruction. This avoids crashes when trying to access pointers to already dropped widgets. Fixes https://source.puri.sm/Librem5/libhandy/issues/69
    • examples: Make the Dialog section look nicer. This improves the spacing, adds and icon and adds a description to the Dialog section.
    • dialog: Close when pressing the back button. Close the dialog instead of destroying it when clicking the back button. This is the same behavior as when pressing escape or clicking the close button and allows the dialog to be reused as some applications like to do. Fixes https://source.puri.sm/Librem5/libhandy/issues/70

    [ louib ]

    • Add GNOME Contacts as example

    [ Guido Günther ]

    • HdyComboRow: Don't use g_autoptr for GEnumClass g_autoptr for GEnumClass was added post 2.56, so using it makes it harder for people to package for distros. Not using g_autoptr there doesn't make the code much less readable.
    • HdyDialer: Don't use class method slot for 'delete' We used the one of 'submit' so far due to a c'n'p error. (Closes: #67)
    • HdyComboRow: hdy_combo_row_get_model: Add missing scope annotation
    • gitlab-ci: Build static library. The library build is sufficiently different that we want to run the build and tests.
    • Release libhandy 0.0.7

    [ David Cordero ]

    • Update documentation regarding build dependencies

    [ Zander Brown ]

    [ Benjamin Berg ]

    • combo-row: Rework selected-index property setting and notification. The notify::selected-index signal was not selected in most cases. Rework the selection handling to ensure that it is always emited when it changes or if the module is replaced. Also fixed are a few checks on whether the selection index is valid.
  • debian/0.0.6-1   libhandy Debian release 0.0.6-1
  • v0.0.6   libhandy 0.0.6
    cfb1326f · Release libhandy 0.0.6 ·
    Release v0.0.6

    [ Adrien Plazas ]

    • Set relevant ATK roles. This will help the widgets to be more accessible.
    • doc: Rephrase the unstability ack section. Rephrase the documentation explaining how to include libhandy in a way that could include other languages such as Vala.
    • doc: Document the unstability ack for Vala
    • Guard header inclusions with #pragma once. This standardizes the header inclusion guards to #pragma once, which shouldn't be a problem as we already were using it in some files.
    • hacking: Document header inclusion guard preferences
    • example: Disable more libhandy options in Flatpak. Disable generation of the GObject Introspection files, the VAPI and the tests in the example Flatpak as they are not used by it.
    • arrow: Use a measure() method. This will simplify porting to GTK+ 4.
    • column: Use a measure() method. This will simplify porting to GTK+ 4.
    • dialer-button: Use a measure() method. This will simplify porting to GTK+ 4.
    • leaflet: Use a measure() method. This will simplify porting to GTK+ 4.
    • init: Make the arguments optional. Annotate the arguments of hdy_init() with (optional) to specify that NULL arguments are valid. This also replaces the deprecated (allow-none) by (nullable) to specify that the array pointed at by argv can be NULL.
    • init: Document that libhandy can't be reinitialized
    • Normalize and document private header guards
    • Add HdySearchBar. This is similar to GtkSearchBar except it allows the central widget (typically a GtkEntry) to fill all the available space. This is needed to manage an entry's width via a HdyColumn, letting the entry (and by extention the search bar) have a limited maximum width while allowing it to shrink to accomodate smaller windows.
    • example: Add the 'Search bar' page. This adds a demo of HdySearchBar.
    • example: Put the content in a scrolled window. This ensures the example can fit windows of any height. This also makes the stack containing the content non vertically homogeneous so the scrollbar appears only on examples needing it, while keeping it horizontally homogeneous for to keep when the leaflets will be folded consistent.
    • build: Set the shared object install directory. This is required for Meson subprojects to work as intended.
    • build: Do not install hdy-public-types.c. There is no point in installing this generated C file.
    • leaflet: Allow editing the children list when looping through it. This avoids potential crashes when destroying a leaflet and this avoids leaks as not all children where looped through as the children list was edited while being looped through when destroying the leaflet. This fixes https://source.puri.sm/Librem5/libhandy/issues/42.
    • Add hdy_list_box_separator_header() This list box header update function is commonly used by many applications and is going to be used by HdyComboRow which is going to be added to libhandy later.This makes it available for everyone.
    • examples: Use hdy_list_box_separator_header() This makes the code simpler.
    • Add HdyActionRow. This implements a very commonly used list box row pattern and make it convenient to use. It is going to be used as the base class for many other commonly used row types.
    • examples: Use HdyRow. This makes the code simpler and demoes the widget.
    • Add HdyExpanderRow
    • Add HdyEnumValueObject. This will be used in the next commit to use enumeration values in a GListModel.
    • Add HdyComboRow
    • examples: Add the Lists page. This page presents GtkListBox related widgets like HdyRow and its descendants.
    • examples: Put the scrolled window in the end pane size group. This fixes the fold synchronization of the leaflets in the example application's window.

    [ Guido Günther ]

    • hdy-enums: Make build reproducible. Use @basename@ instead of @filename@ since the later uses the full path which varies across builds.
    • HACKING: Clarify braces in if-else. Document common practice in the other files.
    • spec: Sort dependencies
    • spec: Build-depend on libgladeui-2.0
    • gitlab-ci: Deduplicate tags
    • gitlab-ci: Build on Fedora as well. This gives us more confidence that we build succesfully and without warnings on an OS much used by GNOME developers. It also makes sure we validate the spec file.
    • gitlab-ci: Switch to clang-tools clang-3.9 does not contain scan-build anymore.
    • HdyHeaderGroup: Cleanup references to header bars in dispose. The dispose heandler is meant to break refs to other objects, not finalize.
    • HdyHeaderGroup: Disconnect from header bar's signals during dispose. The header bars might still emit signals which leads to CRITICALS or actual crashes. Fixes parts of #56
    • docs: Add section for new symbols in 0.0.6
    • Annotate APIs new in 0.0.6
    • Release libhandy 0.0.6

    [ Alexander Mikhaylenko ]

    • init: Add (transfer none) to argv parameter. This allows to call the function from Vala more easily.
    • header-group: Ref itself instead of header bars. When adding a header bar, ref the header group and connect to 'destroy' signal of the header bar. When a header bar is destroyed or hdy_header_group_remove_header_bar() is called, unref the header bar and remove it from the list. This way, a non-empty header group is only destroyed after every header bar it contains has been removed from the group or destroyed. Fixes #56
    • Revert "HdyHeaderGroup: Disconnect from header bar's signals during dispose" Since commit c5bf27d4 header bars are destroyed before header group, so when destroying the header group, the list of header bars is always empty, so there's nothing to unref anymore. Reverts commit 14e5fc7b.

    [ tallero ]

    • build: Don't use -fstack-protector-strong on mingw64. This unbreaks compilation on that platform. (Closes: #64)
  • debian/0.0.5-2   libhandy Debian release 0.0.5-2
  • debian/0.0.5-1   libhandy Debian release 0.0.5-1