diff --git a/data/granite.metainfo.xml.in b/data/granite.metainfo.xml.in index 493d0ace2..d1c1abc40 100644 --- a/data/granite.metainfo.xml.in +++ b/data/granite.metainfo.xml.in @@ -25,6 +25,16 @@ contact_at_elementary.io + + +

Improvements:

+
    +
  • Add close reasons for Granite.Toast
  • +
  • Updated translations
  • +
+
+
+

Improvements:

diff --git a/lib/Widgets/Toast.vala b/lib/Widgets/Toast.vala index 39b37109f..693fe8bf6 100644 --- a/lib/Widgets/Toast.vala +++ b/lib/Widgets/Toast.vala @@ -16,11 +16,21 @@ * {{../doc/images/Toast.png}} */ public class Granite.Toast : Gtk.Widget { + /** + * Reason why a Toast was closed + * @since 7.5.0 + */ + [Version (since = "7.5.0")] + public enum CloseReason { + EXPIRED = 1, + DISMISSED = 2, + WITHDRAWN = 3 + } /** - * Emitted when the Toast is closed by activating the close button + * Emitted when the Toast is closed */ - public signal void closed (); + public signal void closed (int reason_id); /** * Emitted when the default action button is activated @@ -100,7 +110,7 @@ public class Granite.Toast : Gtk.Widget { close_button.clicked.connect (() => { revealer.reveal_child = false; stop_timeout (); - closed (); + closed (CloseReason.DISMISSED); }); default_action_button.clicked.connect (() => { @@ -133,6 +143,7 @@ public class Granite.Toast : Gtk.Widget { timeout_id = GLib.Timeout.add (duration, () => { revealer.reveal_child = false; + closed (CloseReason.EXPIRED); timeout_id = 0; return GLib.Source.REMOVE; }); @@ -180,5 +191,6 @@ public class Granite.Toast : Gtk.Widget { public void withdraw () { stop_timeout (); revealer.reveal_child = false; + closed (CloseReason.WITHDRAWN); } } diff --git a/meson.build b/meson.build index d831ea8e4..e5e5fd425 100644 --- a/meson.build +++ b/meson.build @@ -2,7 +2,7 @@ project( 'granite-7', 'vala', 'c', meson_version: '>= 0.56.0', - version: '7.4.0' + version: '7.5.0' ) if meson.get_compiler('vala').version().version_compare('<0.48.0')