class Adw::AboutDialog

Overview

A dialog showing information about the application.

about-dialog

an about dialog is typically opened when the user activates the About … item in the application's primary menu. All parts of the dialog are optional.

Main page

Adw::AboutDialog prominently displays the application's icon, name, developer name and version. They can be set with the [property@AboutDialog:application-icon], [property@AboutDialog:application-name], [property@AboutDialog:developer-name] and AboutDialog::version respectively.

What's New

Adw::AboutDialog provides a way for applications to display their release notes, set with the [property@AboutDialog:release-notes] property.

Release notes are formatted the same way as AppStream descriptions.

The supported formatting options are:

Within paragraphs and list items, emphasis (<em>) and inline code (<code>) text styles are supported. The emphasis is rendered in italic, while inline code is shown in a monospaced font.

Any text outside paragraphs or list items is ignored.

Nested lists are not supported.

Only one version can be shown at a time. By default, the displayed version number matches AboutDialog::version. Use [property@AboutDialog:release-notes-version] to override it.

Details

The Details page displays the application comments and links.

The comments can be set with the AboutDialog::comments property. Unlike Gtk::AboutDialog#comments, this string can be long and detailed. It can also contain links and Pango markup.

To set the application website, use AboutDialog::website. To add extra links below the website, use AboutDialog::add_link.

If the Details page doesn't have any other content besides website, the website will be displayed on the main page instead.

Troubleshooting

Adw::AboutDialog displays the following two links on the main page:

Additionally, applications can provide debugging information. It will be shown separately on the Troubleshooting page. Use the [property@AboutDialog:debug-info] property to specify it.

It's intended to be attached to issue reports when reporting issues against the application. As such, it cannot contain markup or links.

Adw::AboutDialog provides a quick way to save debug information to a file. When saving, [property@AboutDialog:debug-info-filename] would be used as the suggested filename.

Credits and Acknowledgements

The Credits page has the following default sections:

When setting translator credits, use the strings "translator-credits" or "translator_credits" and mark them as translatable.

The default sections that don't contain any names won't be displayed.

The Credits page can also contain an arbitrary number of extra sections below the default ones. Use AboutDialog::add_credit_section to add them.

The Acknowledgements page can be used to acknowledge additional people and organizations for their non-development contributions. Use AboutDialog::add_acknowledgement_section to add sections to it. For example, it can be used to list backers in a crowdfunded project or to give special thanks.

Each of the people or organizations can have an email address or a website specified. To add a email address, use a string like Edgar Allan Poe <edgar@poe.com>. To specify a website with a title, use a string like The GNOME Project https://www.gnome.org:

about-dialog-credits

Legal

The Legal page displays the copyright and licensing information for the application and other modules.

The copyright string is set with the AboutDialog::copyright property and should be a short string of one or two lines, for example: © 2022 Example.

Licensing information can be quickly set from a list of known licenses with the [property@AboutDialog:license-type] property. If the application's license is not in the list, AboutDialog::license can be used instead.

To add information about other modules, such as application dependencies or data, use AboutDialog::add_legal_section.

Other applications

Adw::AboutDialog can show links to your other apps at the end of the main page. To add them, use AboutDialog::add_other_app.

Constructing

To make constructing an Adw::AboutDialog as convenient as possible, you can use the function #show_about_dialog which constructs and shows a dialog.

WARNING ⚠️ The following code is in c ⚠️

static void
show_about (Gtk::Application *app)
{
  const char *developers[] = {
    "Angela Avery",
    NULL
  };

  const char *designers[] = {
    "GNOME Design Team",
    NULL
  };

  adw_show_about_dialog (GTK_WIDGET (gtk_application_get_active_window (app)),
                         "application-name", _("Example"),
                         "application-icon", "org.example.App",
                         "version", "1.2.3",
                         "copyright", "© 2022 Angela Avery",
                         "issue-url", "https://gitlab.gnome.org/example/example/-/issues/",
                         "license-type", GTK_LICENSE_GPL_3_0,
                         "developers", developers,
                         "designers", designers,
                         "translator-credits", _("translator-credits"),
                         NULL);
}

CSS nodes

Adw::AboutDialog has a main CSS node with the name dialog and the style class .about.

Included Modules

Defined in:

lib/gi-crystal/src/auto/adw-1/about_dialog.cr

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from module Gtk::ShortcutManager

to_unsafe to_unsafe

Constructor methods inherited from module Gtk::ShortcutManager

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::ShortcutManager

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from module Gtk::ConstraintTarget

to_unsafe to_unsafe

Constructor methods inherited from module Gtk::ConstraintTarget

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::ConstraintTarget

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from module Gtk::Buildable

buildable_id : String | Nil buildable_id, to_unsafe to_unsafe

Constructor methods inherited from module Gtk::Buildable

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::Buildable

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from module Gtk::Accessible

accessible_parent : Gtk::Accessible | Nil accessible_parent, accessible_role : Gtk::AccessibleRole accessible_role, accessible_role=(value : Gtk::AccessibleRole) : Gtk::AccessibleRole accessible_role=, announce(message : String, priority : Gtk::AccessibleAnnouncementPriority) : Nil announce, at_context : Gtk::ATContext at_context, bounds(x : Int32, y : Int32, width : Int32, height : Int32) : Bool bounds, first_accessible_child : Gtk::Accessible | Nil first_accessible_child, next_accessible_sibling : Gtk::Accessible | Nil next_accessible_sibling, platform_state(state : Gtk::AccessiblePlatformState) : Bool platform_state, reset_property(property : Gtk::AccessibleProperty) : Nil reset_property, reset_relation(relation : Gtk::AccessibleRelation) : Nil reset_relation, reset_state(state : Gtk::AccessibleState) : Nil reset_state, set_accessible_parent(parent : Gtk::Accessible | Nil, next_sibling : Gtk::Accessible | Nil) : Nil set_accessible_parent, to_unsafe to_unsafe, update_next_accessible_sibling(new_sibling : Gtk::Accessible | Nil) : Nil update_next_accessible_sibling, update_platform_state(state : Gtk::AccessiblePlatformState) : Nil update_platform_state, update_property(properties : Enumerable(Gtk::AccessibleProperty), values : Enumerable(_)) : Nil update_property, update_relation(relations : Enumerable(Gtk::AccessibleRelation), values : Enumerable(_)) : Nil update_relation, update_state(states : Enumerable(Gtk::AccessibleState), values : Enumerable(_)) : Nil update_state

Constructor methods inherited from module Gtk::Accessible

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::Accessible

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from class Adw::Dialog

==(other : self) ==, add_breakpoint(breakpoint : Adw::Breakpoint) : Nil add_breakpoint, can_close : Bool can_close, can_close=(can_close : Bool) : Nil can_close=, can_close? : Bool can_close?, child : Gtk::Widget | Nil child, child=(child : Gtk::Widget | Nil) : Nil child=, close : Bool close, close_attempt_signal close_attempt_signal, closed_signal closed_signal, content_height : Int32 content_height, content_height=(content_height : Int32) : Nil content_height=, content_width : Int32 content_width, content_width=(content_width : Int32) : Nil content_width=, current_breakpoint : Adw::Breakpoint | Nil current_breakpoint, default_widget : Gtk::Widget | Nil default_widget, default_widget=(default_widget : Gtk::Widget | Nil) : Nil default_widget=, focus : Gtk::Widget | Nil focus, focus=(focus : Gtk::Widget | Nil) : Nil focus=, focus_widget : Gtk::Widget | Nil focus_widget, focus_widget=(value : Gtk::Widget | Nil) : Gtk::Widget | Nil focus_widget=, follows_content_size : Bool follows_content_size, follows_content_size=(follows_content_size : Bool) : Nil follows_content_size=, follows_content_size? : Bool follows_content_size?, force_close : Nil force_close, hash(hasher) hash, present(parent : Gtk::Widget | Nil) : Nil present, presentation_mode : Adw::DialogPresentationMode presentation_mode, presentation_mode=(presentation_mode : Adw::DialogPresentationMode) : Nil presentation_mode=, title : String title, title=(title : String) : Nil
title=(value : Nil) : Nil
title=
, title? : String | Nil title?

Constructor methods inherited from class Adw::Dialog

new : self
new(*, accessible_role : Gtk::AccessibleRole | Nil = nil, can_close : Bool | Nil = nil, can_focus : Bool | Nil = nil, can_target : Bool | Nil = nil, child : Gtk::Widget | Nil = nil, content_height : Int32 | Nil = nil, content_width : Int32 | Nil = nil, css_classes : Enumerable(String) | Nil = nil, css_name : String | Nil = nil, current_breakpoint : Adw::Breakpoint | Nil = nil, cursor : Gdk::Cursor | Nil = nil, default_widget : Gtk::Widget | Nil = nil, focus_on_click : Bool | Nil = nil, focus_widget : Gtk::Widget | Nil = nil, focusable : Bool | Nil = nil, follows_content_size : Bool | Nil = nil, halign : Gtk::Align | Nil = nil, has_default : Bool | Nil = nil, has_focus : Bool | Nil = nil, has_tooltip : Bool | Nil = nil, height_request : Int32 | Nil = nil, hexpand : Bool | Nil = nil, hexpand_set : Bool | Nil = nil, layout_manager : Gtk::LayoutManager | Nil = nil, limit_events : Bool | Nil = nil, margin_bottom : Int32 | Nil = nil, margin_end : Int32 | Nil = nil, margin_start : Int32 | Nil = nil, margin_top : Int32 | Nil = nil, name : String | Nil = nil, opacity : Float64 | Nil = nil, overflow : Gtk::Overflow | Nil = nil, parent : Gtk::Widget | Nil = nil, presentation_mode : Adw::DialogPresentationMode | Nil = nil, receives_default : Bool | Nil = nil, root : Gtk::Root | Nil = nil, scale_factor : Int32 | Nil = nil, sensitive : Bool | Nil = nil, title : String | Nil = nil, tooltip_markup : String | Nil = nil, tooltip_text : String | Nil = nil, valign : Gtk::Align | Nil = nil, vexpand : Bool | Nil = nil, vexpand_set : Bool | Nil = nil, visible : Bool | Nil = nil, width_request : Int32 | Nil = nil)
new

Class methods inherited from class Adw::Dialog

g_type : UInt64 g_type

Instance methods inherited from module Gtk::ShortcutManager

to_unsafe to_unsafe

Constructor methods inherited from module Gtk::ShortcutManager

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::ShortcutManager

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from module Gtk::ConstraintTarget

to_unsafe to_unsafe

Constructor methods inherited from module Gtk::ConstraintTarget

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::ConstraintTarget

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from module Gtk::Buildable

buildable_id : String | Nil buildable_id, to_unsafe to_unsafe

Constructor methods inherited from module Gtk::Buildable

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::Buildable

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from module Gtk::Accessible

accessible_parent : Gtk::Accessible | Nil accessible_parent, accessible_role : Gtk::AccessibleRole accessible_role, accessible_role=(value : Gtk::AccessibleRole) : Gtk::AccessibleRole accessible_role=, announce(message : String, priority : Gtk::AccessibleAnnouncementPriority) : Nil announce, at_context : Gtk::ATContext at_context, bounds(x : Int32, y : Int32, width : Int32, height : Int32) : Bool bounds, first_accessible_child : Gtk::Accessible | Nil first_accessible_child, next_accessible_sibling : Gtk::Accessible | Nil next_accessible_sibling, platform_state(state : Gtk::AccessiblePlatformState) : Bool platform_state, reset_property(property : Gtk::AccessibleProperty) : Nil reset_property, reset_relation(relation : Gtk::AccessibleRelation) : Nil reset_relation, reset_state(state : Gtk::AccessibleState) : Nil reset_state, set_accessible_parent(parent : Gtk::Accessible | Nil, next_sibling : Gtk::Accessible | Nil) : Nil set_accessible_parent, to_unsafe to_unsafe, update_next_accessible_sibling(new_sibling : Gtk::Accessible | Nil) : Nil update_next_accessible_sibling, update_platform_state(state : Gtk::AccessiblePlatformState) : Nil update_platform_state, update_property(properties : Enumerable(Gtk::AccessibleProperty), values : Enumerable(_)) : Nil update_property, update_relation(relations : Enumerable(Gtk::AccessibleRelation), values : Enumerable(_)) : Nil update_relation, update_state(states : Enumerable(Gtk::AccessibleState), values : Enumerable(_)) : Nil update_state

Constructor methods inherited from module Gtk::Accessible

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::Accessible

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from class Gtk::Widget

==(other : self) ==, action_set_enabled(action_name : String, enabled : Bool) : Nil action_set_enabled, activate : Bool activate, activate_action(name : String, args : _ | Nil) : Bool activate_action, activate_default : Nil activate_default, add_controller(controller : Gtk::EventController) : Nil add_controller, add_css_class(css_class : String) : Nil add_css_class, add_mnemonic_label(label : Gtk::Widget) : Nil add_mnemonic_label, add_tick_callback(callback : Gtk::TickCallback) : UInt32 add_tick_callback, allocate(width : Int32, height : Int32, baseline : Int32, transform : Gsk::Transform | Nil) : Nil allocate, allocated_baseline : Int32 allocated_baseline, allocated_height : Int32 allocated_height, allocated_width : Int32 allocated_width, allocation : Gdk::Rectangle allocation, ancestor(widget_type : UInt64) : Gtk::Widget | Nil ancestor, baseline : Int32 baseline, can_focus : Bool can_focus, can_focus=(can_focus : Bool) : Nil can_focus=, can_focus? : Bool can_focus?, can_target : Bool can_target, can_target=(can_target : Bool) : Nil can_target=, can_target? : Bool can_target?, child_focus(direction : Gtk::DirectionType) : Bool child_focus, child_visible : Bool child_visible, child_visible=(child_visible : Bool) : Nil child_visible=, clipboard : Gdk::Clipboard clipboard, color : Gdk::RGBA color, compute_bounds(target : Gtk::Widget) : Graphene::Rect compute_bounds, compute_expand(orientation : Gtk::Orientation) : Bool compute_expand, compute_point(target : Gtk::Widget, point : Graphene::Point) : Graphene::Point compute_point, compute_transform(target : Gtk::Widget) : Graphene::Matrix compute_transform, contains(x : Float64, y : Float64) : Bool contains, create_pango_context : Pango::Context create_pango_context, create_pango_layout(text : String | Nil) : Pango::Layout create_pango_layout, css_classes : Enumerable(String) css_classes, css_classes=(classes : Enumerable(String)) : Nil css_classes=, css_name : String css_name, css_name=(value : String) : String
css_name=(value : Nil) : Nil
css_name=
, css_name? : String | Nil css_name?, cursor : Gdk::Cursor | Nil cursor, cursor=(cursor : Gdk::Cursor | Nil) : Nil cursor=, cursor_from_name=(name : String | Nil) : Nil cursor_from_name=, destroy_signal destroy_signal, direction : Gtk::TextDirection direction, direction=(dir : Gtk::TextDirection) : Nil direction=, direction_changed_signal direction_changed_signal, display : Gdk::Display display, dispose_template(widget_type : UInt64) : Nil dispose_template, drag_check_threshold(start_x : Int32, start_y : Int32, current_x : Int32, current_y : Int32) : Bool drag_check_threshold, error_bell : Nil error_bell, first_child : Gtk::Widget | Nil first_child, focus_child : Gtk::Widget | Nil focus_child, focus_child=(child : Gtk::Widget | Nil) : Nil focus_child=, focus_on_click : Bool focus_on_click, focus_on_click=(focus_on_click : Bool) : Nil focus_on_click=, focus_on_click? : Bool focus_on_click?, focusable : Bool focusable, focusable=(focusable : Bool) : Nil focusable=, focusable? : Bool focusable?, font_map : Pango::FontMap | Nil font_map, font_map=(font_map : Pango::FontMap | Nil) : Nil font_map=, font_options : Cairo::FontOptions | Nil font_options, font_options=(options : Cairo::FontOptions | Nil) : Nil font_options=, frame_clock : Gdk::FrameClock | Nil frame_clock, grab_focus : Bool grab_focus, halign : Gtk::Align halign, halign=(align : Gtk::Align) : Nil halign=, has_css_class(css_class : String) : Bool has_css_class, has_default : Bool has_default, has_default? : Bool has_default?, has_focus : Bool has_focus, has_focus? : Bool has_focus?, has_tooltip : Bool has_tooltip, has_tooltip=(has_tooltip : Bool) : Nil has_tooltip=, has_tooltip? : Bool has_tooltip?, has_visible_focus : Bool has_visible_focus, hash(hasher) hash, height : Int32 height, height_request : Int32 height_request, height_request=(value : Int32) : Int32 height_request=, hexpand : Bool hexpand, hexpand=(expand : Bool) : Nil hexpand=, hexpand? : Bool hexpand?, hexpand_set : Bool hexpand_set, hexpand_set=(set : Bool) : Nil hexpand_set=, hexpand_set? : Bool hexpand_set?, hide : Nil hide, hide_signal hide_signal, in_destruction : Bool in_destruction, init_template : Nil init_template, insert_action_group(name : String, group : Gio::ActionGroup | Nil) : Nil insert_action_group, insert_after(parent : Gtk::Widget, previous_sibling : Gtk::Widget | Nil) : Nil insert_after, insert_before(parent : Gtk::Widget, next_sibling : Gtk::Widget | Nil) : Nil insert_before, is_ancestor(ancestor : Gtk::Widget) : Bool is_ancestor, is_drawable : Bool is_drawable, is_focus : Bool is_focus, is_sensitive? : Bool is_sensitive?, is_visible? : Bool is_visible?, keynav_failed(direction : Gtk::DirectionType) : Bool keynav_failed, keynav_failed_signal keynav_failed_signal, last_child : Gtk::Widget | Nil last_child, layout_manager : Gtk::LayoutManager | Nil layout_manager, layout_manager=(layout_manager : Gtk::LayoutManager | Nil) : Nil layout_manager=, limit_events : Bool limit_events, limit_events=(limit_events : Bool) : Nil limit_events=, limit_events? : Bool limit_events?, list_mnemonic_labels : GLib::List list_mnemonic_labels, map : Nil map, map_signal map_signal, mapped : Bool mapped, margin_bottom : Int32 margin_bottom, margin_bottom=(margin : Int32) : Nil margin_bottom=, margin_end : Int32 margin_end, margin_end=(margin : Int32) : Nil margin_end=, margin_start : Int32 margin_start, margin_start=(margin : Int32) : Nil margin_start=, margin_top : Int32 margin_top, margin_top=(margin : Int32) : Nil margin_top=, measure(orientation : Gtk::Orientation, for_size : Int32) : Nil measure, mnemonic_activate(group_cycling : Bool) : Bool mnemonic_activate, mnemonic_activate_signal mnemonic_activate_signal, move_focus_signal move_focus_signal, name : String name, name=(name : String) : Nil
name=(value : Nil) : Nil
name=
, name? : String | Nil name?, native : Gtk::Native | Nil native, next_sibling : Gtk::Widget | Nil next_sibling, observe_children : Gio::ListModel observe_children, observe_controllers : Gio::ListModel observe_controllers, opacity : Float64 opacity, opacity=(opacity : Float64) : Nil opacity=, overflow : Gtk::Overflow overflow, overflow=(overflow : Gtk::Overflow) : Nil overflow=, pango_context : Pango::Context pango_context, parent : Gtk::Widget | Nil parent, parent=(parent : Gtk::Widget) : Nil parent=, pick(x : Float64, y : Float64, flags : Gtk::PickFlags) : Gtk::Widget | Nil pick, preferred_size : Gtk::Requisition preferred_size, prev_sibling : Gtk::Widget | Nil prev_sibling, primary_clipboard : Gdk::Clipboard primary_clipboard, query_tooltip_signal query_tooltip_signal, queue_allocate : Nil queue_allocate, queue_draw : Nil queue_draw, queue_resize : Nil queue_resize, realize : Nil realize, realize_signal realize_signal, realized : Bool realized, receives_default : Bool receives_default, receives_default=(receives_default : Bool) : Nil receives_default=, receives_default? : Bool receives_default?, remove_controller(controller : Gtk::EventController) : Nil remove_controller, remove_css_class(css_class : String) : Nil remove_css_class, remove_mnemonic_label(label : Gtk::Widget) : Nil remove_mnemonic_label, remove_tick_callback(id : UInt32) : Nil remove_tick_callback, request_mode : Gtk::SizeRequestMode request_mode, root : Gtk::Root | Nil root, scale_factor : Int32 scale_factor, sensitive : Bool sensitive, sensitive=(sensitive : Bool) : Nil sensitive=, sensitive? : Bool sensitive?, set_size_request(width : Int32, height : Int32) : Nil set_size_request, set_state_flags(flags : Gtk::StateFlags, clear : Bool) : Nil set_state_flags, settings : Gtk::Settings settings, should_layout : Bool should_layout, show : Nil show, show_signal show_signal, size(orientation : Gtk::Orientation) : Int32 size, size_allocate(allocation : Gdk::Rectangle, baseline : Int32) : Nil size_allocate, size_request : Nil size_request, snapshot_child(child : Gtk::Widget, snapshot : Gtk::Snapshot) : Nil snapshot_child, state_flags : Gtk::StateFlags state_flags, state_flags_changed_signal state_flags_changed_signal, style_context : Gtk::StyleContext style_context, tooltip_markup : String | Nil tooltip_markup, tooltip_markup=(value : String) : String
tooltip_markup=(value : Nil) : Nil
tooltip_markup=(markup : String | Nil) : Nil
tooltip_markup=
, tooltip_markup? : String | Nil tooltip_markup?, tooltip_text : String | Nil tooltip_text, tooltip_text=(value : String) : String
tooltip_text=(value : Nil) : Nil
tooltip_text=(text : String | Nil) : Nil
tooltip_text=
, tooltip_text? : String | Nil tooltip_text?, translate_coordinates(dest_widget : Gtk::Widget, src_x : Float64, src_y : Float64) : Bool translate_coordinates, trigger_tooltip_query : Nil trigger_tooltip_query, unmap : Nil unmap, unmap_signal unmap_signal, unparent : Nil unparent, unrealize : Nil unrealize, unrealize_signal unrealize_signal, unset_state_flags(flags : Gtk::StateFlags) : Nil unset_state_flags, valign : Gtk::Align valign, valign=(align : Gtk::Align) : Nil valign=, vexpand : Bool vexpand, vexpand=(expand : Bool) : Nil vexpand=, vexpand? : Bool vexpand?, vexpand_set : Bool vexpand_set, vexpand_set=(set : Bool) : Nil vexpand_set=, vexpand_set? : Bool vexpand_set?, visible : Bool visible, visible=(visible : Bool) : Nil visible=, visible? : Bool visible?, width : Int32 width, width_request : Int32 width_request, width_request=(value : Int32) : Int32 width_request=

Constructor methods inherited from class Gtk::Widget

new
new(*, accessible_role : Gtk::AccessibleRole | Nil = nil, can_focus : Bool | Nil = nil, can_target : Bool | Nil = nil, css_classes : Enumerable(String) | Nil = nil, css_name : String | Nil = nil, cursor : Gdk::Cursor | Nil = nil, focus_on_click : Bool | Nil = nil, focusable : Bool | Nil = nil, halign : Gtk::Align | Nil = nil, has_default : Bool | Nil = nil, has_focus : Bool | Nil = nil, has_tooltip : Bool | Nil = nil, height_request : Int32 | Nil = nil, hexpand : Bool | Nil = nil, hexpand_set : Bool | Nil = nil, layout_manager : Gtk::LayoutManager | Nil = nil, limit_events : Bool | Nil = nil, margin_bottom : Int32 | Nil = nil, margin_end : Int32 | Nil = nil, margin_start : Int32 | Nil = nil, margin_top : Int32 | Nil = nil, name : String | Nil = nil, opacity : Float64 | Nil = nil, overflow : Gtk::Overflow | Nil = nil, parent : Gtk::Widget | Nil = nil, receives_default : Bool | Nil = nil, root : Gtk::Root | Nil = nil, scale_factor : Int32 | Nil = nil, sensitive : Bool | Nil = nil, tooltip_markup : String | Nil = nil, tooltip_text : String | Nil = nil, valign : Gtk::Align | Nil = nil, vexpand : Bool | Nil = nil, vexpand_set : Bool | Nil = nil, visible : Bool | Nil = nil, width_request : Int32 | Nil = nil)
new

Class methods inherited from class Gtk::Widget

default_direction : Gtk::TextDirection default_direction, default_direction=(dir : Gtk::TextDirection) : Nil default_direction=, g_type : UInt64 g_type

Instance methods inherited from module Gtk::ConstraintTarget

to_unsafe to_unsafe

Constructor methods inherited from module Gtk::ConstraintTarget

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::ConstraintTarget

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from module Gtk::Buildable

buildable_id : String | Nil buildable_id, to_unsafe to_unsafe

Constructor methods inherited from module Gtk::Buildable

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::Buildable

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from module Gtk::Accessible

accessible_parent : Gtk::Accessible | Nil accessible_parent, accessible_role : Gtk::AccessibleRole accessible_role, accessible_role=(value : Gtk::AccessibleRole) : Gtk::AccessibleRole accessible_role=, announce(message : String, priority : Gtk::AccessibleAnnouncementPriority) : Nil announce, at_context : Gtk::ATContext at_context, bounds(x : Int32, y : Int32, width : Int32, height : Int32) : Bool bounds, first_accessible_child : Gtk::Accessible | Nil first_accessible_child, next_accessible_sibling : Gtk::Accessible | Nil next_accessible_sibling, platform_state(state : Gtk::AccessiblePlatformState) : Bool platform_state, reset_property(property : Gtk::AccessibleProperty) : Nil reset_property, reset_relation(relation : Gtk::AccessibleRelation) : Nil reset_relation, reset_state(state : Gtk::AccessibleState) : Nil reset_state, set_accessible_parent(parent : Gtk::Accessible | Nil, next_sibling : Gtk::Accessible | Nil) : Nil set_accessible_parent, to_unsafe to_unsafe, update_next_accessible_sibling(new_sibling : Gtk::Accessible | Nil) : Nil update_next_accessible_sibling, update_platform_state(state : Gtk::AccessiblePlatformState) : Nil update_platform_state, update_property(properties : Enumerable(Gtk::AccessibleProperty), values : Enumerable(_)) : Nil update_property, update_relation(relations : Enumerable(Gtk::AccessibleRelation), values : Enumerable(_)) : Nil update_relation, update_state(states : Enumerable(Gtk::AccessibleState), values : Enumerable(_)) : Nil update_state

Constructor methods inherited from module Gtk::Accessible

cast(obj : GObject::Object) : self cast

Class methods inherited from module Gtk::Accessible

cast?(obj : GObject::Object) : self | Nil cast?, g_type : UInt64 g_type

Instance methods inherited from class GObject::InitiallyUnowned

==(other : self) ==, hash(hasher) hash

Constructor methods inherited from class GObject::InitiallyUnowned

new new

Class methods inherited from class GObject::InitiallyUnowned

g_type : UInt64 g_type

Instance methods inherited from class GObject::Object

==(other : self) ==, bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding bind_property, bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding bind_property_full, data(key : String) : Pointer(Void) | Nil data, finalize finalize, freeze_notify : Nil freeze_notify, getv(names : Enumerable(String), values : Enumerable(_)) : Nil getv, hash(hasher) hash, notify(property_name : String) : Nil notify, notify_by_pspec(pspec : GObject::ParamSpec) : Nil notify_by_pspec, notify_signal notify_signal, property(property_name : String, value : _) : Nil property, qdata(quark : UInt32) : Pointer(Void) | Nil qdata, ref_count : UInt32 ref_count, run_dispose : Nil run_dispose, set_data(key : String, data : Pointer(Void) | Nil) : Nil set_data, set_property(property_name : String, value : _) : Nil set_property, steal_data(key : String) : Pointer(Void) | Nil steal_data, steal_qdata(quark : UInt32) : Pointer(Void) | Nil steal_qdata, thaw_notify : Nil thaw_notify, to_unsafe : Pointer(Void) to_unsafe, watch_closure(closure : GObject::Closure) : Nil watch_closure

Constructor methods inherited from class GObject::Object

cast(obj : GObject::Object) : self cast, new(pointer : Pointer(Void), transfer : GICrystal::Transfer)
new
new
, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv

Class methods inherited from class GObject::Object

cast?(obj : GObject::Object) : self | Nil cast?, compat_control(what : UInt64, data : Pointer(Void) | Nil) : UInt64 compat_control, g_type : UInt64 g_type, interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec interface_find_property, interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec) interface_list_properties

Macros inherited from class GObject::Object

previous_vfunc(*args) previous_vfunc, previous_vfunc!(*args) previous_vfunc!, signal(signature) signal

Constructor Detail

def self.new : self #

Creates a new Adw::AboutDialog.


def self.new(*, accessible_role : Gtk::AccessibleRole | Nil = nil, application_icon : String | Nil = nil, application_name : String | Nil = nil, artists : Enumerable(String) | Nil = nil, can_close : Bool | Nil = nil, can_focus : Bool | Nil = nil, can_target : Bool | Nil = nil, child : Gtk::Widget | Nil = nil, comments : String | Nil = nil, content_height : Int32 | Nil = nil, content_width : Int32 | Nil = nil, copyright : String | Nil = nil, css_classes : Enumerable(String) | Nil = nil, css_name : String | Nil = nil, current_breakpoint : Adw::Breakpoint | Nil = nil, cursor : Gdk::Cursor | Nil = nil, debug_info : String | Nil = nil, debug_info_filename : String | Nil = nil, default_widget : Gtk::Widget | Nil = nil, designers : Enumerable(String) | Nil = nil, developer_name : String | Nil = nil, developers : Enumerable(String) | Nil = nil, documenters : Enumerable(String) | Nil = nil, focus_on_click : Bool | Nil = nil, focus_widget : Gtk::Widget | Nil = nil, focusable : Bool | Nil = nil, follows_content_size : Bool | Nil = nil, halign : Gtk::Align | Nil = nil, has_default : Bool | Nil = nil, has_focus : Bool | Nil = nil, has_tooltip : Bool | Nil = nil, height_request : Int32 | Nil = nil, hexpand : Bool | Nil = nil, hexpand_set : Bool | Nil = nil, issue_url : String | Nil = nil, layout_manager : Gtk::LayoutManager | Nil = nil, license : String | Nil = nil, license_type : Gtk::License | Nil = nil, limit_events : Bool | Nil = nil, margin_bottom : Int32 | Nil = nil, margin_end : Int32 | Nil = nil, margin_start : Int32 | Nil = nil, margin_top : Int32 | Nil = nil, name : String | Nil = nil, opacity : Float64 | Nil = nil, overflow : Gtk::Overflow | Nil = nil, parent : Gtk::Widget | Nil = nil, presentation_mode : Adw::DialogPresentationMode | Nil = nil, receives_default : Bool | Nil = nil, release_notes : String | Nil = nil, release_notes_version : String | Nil = nil, root : Gtk::Root | Nil = nil, scale_factor : Int32 | Nil = nil, sensitive : Bool | Nil = nil, support_url : String | Nil = nil, title : String | Nil = nil, tooltip_markup : String | Nil = nil, tooltip_text : String | Nil = nil, translator_credits : String | Nil = nil, valign : Gtk::Align | Nil = nil, version : String | Nil = nil, vexpand : Bool | Nil = nil, vexpand_set : Bool | Nil = nil, visible : Bool | Nil = nil, website : String | Nil = nil, width_request : Int32 | Nil = nil) #

def self.new_from_appdata(resource_path : String, release_notes_version : String | Nil) : self #

Creates a new Adw::AboutDialog using AppStream metadata.

This automatically sets the following properties with the following AppStream values:

  • [property@AboutDialog:application-icon] is set from the <id>
  • [property@AboutDialog:application-name] is set from the <name>
  • [property@AboutDialog:developer-name] is set from the <name> within <developer>
  • AboutDialog::version is set from the version of the latest release
  • AboutDialog::website is set from the <url type="homepage">
  • [property@AboutDialog:support-url] is set from the <url type="help">
  • [property@AboutDialog:issue-url] is set from the <url type="bugtracker">
  • [property@AboutDialog:license-type] is set from the <project_license>. If the license type retrieved from AppStream is not listed in Gtk::License, it will be set to GTK_LICENCE_CUSTOM.

If release_notes_version is not NULL, [property@AboutDialog:release-notes-version] is set to match it, while [property@AboutDialog:release-notes] is set from the AppStream release description for that version.


Class Method Detail

def self.g_type : UInt64 #

Returns the type id (GType) registered in GLib type system.


Instance Method Detail

def ==(other : self) #
Description copied from class Reference

Returns true if this reference is the same as other. Invokes same?.


def activate_link_signal #

def add_acknowledgement_section(name : String | Nil, people : Enumerable(String)) : Nil #

Adds a section to the Acknowledgements page.

This can be used to acknowledge additional people and organizations for their non-development contributions - for example, backers in a crowdfunded project.

Each name may contain email addresses and URLs, see the introduction for more details.

See also:


def add_credit_section(name : String | Nil, people : Enumerable(String)) : Nil #

Adds an extra section to the Credits page.

Extra sections are displayed below the standard categories.

Each name may contain email addresses and URLs, see the introduction for more details.

See also:


def add_legal_section(title : String, copyright : String | Nil, license_type : Gtk::License, license : String | Nil) : Nil #

Adds an extra section to the Legal page.

Extra sections will be displayed below the application's own information.

The parameters copyright, license_type and license will be used to present the it the same way as AboutDialog::copyright, [property@AboutDialog:license-type] and AboutDialog::license are for the application's own information.

See those properties for more details.

This can be useful to attribute the application dependencies or data.

Examples:

WARNING ⚠️ The following code is in c ⚠️

adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about),
                                    _("Copyright and a known license"),
                                    "© 2022 Example",
                                    GTK_LICENSE_LGPL_2_1,
                                    NULL);

adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about),
                                    _("Copyright and custom license"),
                                    "© 2022 Example",
                                    GTK_LICENSE_CUSTOM,
                                    "Custom license text");

adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about),
                                    _("Copyright only"),
                                    "© 2022 Example",
                                    GTK_LICENSE_UNKNOWN,
                                    NULL);

adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about),
                                    _("Custom license only"),
                                    NULL,
                                    GTK_LICENSE_CUSTOM,
                                    "Something completely custom here.");

def add_link(title : String, url : String) : Nil #

Adds an extra link to the Details page.

Extra links are displayed under the comment and website.

Underlines in title will be interpreted as indicating a mnemonic.

See AboutDialog::website.


def add_other_app(appid : String, name : String, summary : String) : Nil #

Adds another application to self.

The application will be displayed at the bottom of the main page, in a separate section. Each added application will be presented as a row with title and summary, as well as an icon with the name appid. Clicking the row will show appid in the software center app.

This can be used to link to your other applications if you have multiple.

Example:

WARNING ⚠️ The following code is in c ⚠️

adw_about_dialog_add_other_app (ADW_ABOUT_DIALOG (about),
                                "org.gnome.Boxes",
                                _("Boxes"),
                                _("Virtualization made simple"));

def application_icon : String #

Gets the name of the application icon for self.


def application_icon=(application_icon : String) : Nil #

Sets the name of the application icon for self.

The icon is displayed at the top of the main page.


def application_icon=(value : Nil) : Nil #

Set #application_icon property to nil.


def application_icon? : String | Nil #

Same as #application_icon, but can return nil.


def application_name : String #

Gets the application name for self.


def application_name=(application_name : String) : Nil #

Sets the application name for self.

The name is displayed at the top of the main page.


def application_name=(value : Nil) : Nil #

Set #application_name property to nil.


def application_name? : String | Nil #

Same as #application_name, but can return nil.


def artists : Enumerable(String) | Nil #

Gets the list of artists of the application.


def artists=(value : Enumerable(String)) : Enumerable(String) #

def artists=(artists : Enumerable(String) | Nil) : Nil #

Sets the list of artists of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for more details.

See also:


def comments : String #

Gets the comments about the application.


def comments=(comments : String) : Nil #

Sets the comments about the application.

Comments will be shown on the Details page, above links.

Unlike Gtk::AboutDialog#comments, this string can be long and detailed. It can also contain links and Pango markup.


def comments=(value : Nil) : Nil #

Set #comments property to nil.


def comments? : String | Nil #

Same as #comments, but can return nil.


def copyright : String #

Gets the copyright information for self.


def copyright=(copyright : String) : Nil #

Sets the copyright information for self.

This should be a short string of one or two lines, for example: © 2022 Example.

The copyright information will be displayed on the Legal page, before the application license.

AboutDialog::add_legal_section can be used to add copyright information for the application dependencies or other components.


def copyright=(value : Nil) : Nil #

Set #copyright property to nil.


def copyright? : String | Nil #

Same as #copyright, but can return nil.


def debug_info : String #

Gets the debug information for self.


def debug_info=(debug_info : String) : Nil #

Sets the debug information for self.

Debug information will be shown on the Troubleshooting page. It's intended to be attached to issue reports when reporting issues against the application.

Adw::AboutDialog provides a quick way to save debug information to a file. When saving, [property@AboutDialog:debug-info-filename] would be used as the suggested filename.

Debug information cannot contain markup or links.


def debug_info=(value : Nil) : Nil #

Set #debug_info property to nil.


def debug_info? : String | Nil #

Same as #debug_info, but can return nil.


def debug_info_filename : String #

Gets the debug information filename for self.


def debug_info_filename=(filename : String) : Nil #

Sets the debug information filename for self.

It will be used as the suggested filename when saving debug information to a file.

See [property@AboutDialog:debug-info].


def debug_info_filename=(value : Nil) : Nil #

Set #debug_info_filename property to nil.


def debug_info_filename? : String | Nil #

Same as #debug_info_filename, but can return nil.


def designers : Enumerable(String) | Nil #

Gets the list of designers of the application.


def designers=(value : Enumerable(String)) : Enumerable(String) #

def designers=(designers : Enumerable(String) | Nil) : Nil #

Sets the list of designers of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for more details.

See also:


def developer_name : String #

Gets the developer name for self.


def developer_name=(developer_name : String) : Nil #

Sets the developer name for self.

The developer name is displayed on the main page, under the application name.

If the application is developed by multiple people, the developer name can be set to values like "AppName team", "AppName developers" or "The AppName project", and the individual contributors can be listed on the Credits page, with AboutDialog::developers and related properties.


def developer_name=(value : Nil) : Nil #

Set #developer_name property to nil.


def developer_name? : String | Nil #

Same as #developer_name, but can return nil.


def developers : Enumerable(String) | Nil #

Gets the list of developers of the application.


def developers=(value : Enumerable(String)) : Enumerable(String) #

def developers=(developers : Enumerable(String) | Nil) : Nil #

Sets the list of developers of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for more details.

See also:


def documenters : Enumerable(String) | Nil #

Gets the list of documenters of the application.


def documenters=(value : Enumerable(String)) : Enumerable(String) #

def documenters=(documenters : Enumerable(String) | Nil) : Nil #

Sets the list of documenters of the application.

It will be displayed on the Credits page.

Each name may contain email addresses and URLs, see the introduction for more details.

See also:


def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)


def issue_url : String #

Gets the issue tracker URL for self.


def issue_url=(issue_url : String) : Nil #

Sets the issue tracker URL for self.

The issue tracker link is displayed on the main page.


def issue_url=(value : Nil) : Nil #

Set #issue_url property to nil.


def issue_url? : String | Nil #

Same as #issue_url, but can return nil.


def license : String #

Gets the license for self.


def license=(license : String) : Nil #

Sets the license for self.

This can be used to set a custom text for the license if it can't be set via [property@AboutDialog:license-type].

When set, [property@AboutDialog:license-type] will be set to GTK_LICENSE_CUSTOM.

The license text will be displayed on the Legal page, below the copyright information.

License text can contain Pango markup and links.

AboutDialog::add_legal_section can be used to add license information for the application dependencies or other components.


def license=(value : Nil) : Nil #

Set #license property to nil.


def license? : String | Nil #

Same as #license, but can return nil.


def license_type : Gtk::License #

Gets the license type for self.


def license_type=(license_type : Gtk::License) : Nil #

Sets the license for self from a list of known licenses.

If the application's license is not in the list, AboutDialog::license can be used instead. The license type will be automatically set to GTK_LICENSE_CUSTOM in that case.

If license_type is GTK_LICENSE_UNKNOWN, no information will be displayed.

If license_type is different from GTK_LICENSE_CUSTOM. AboutDialog::license will be cleared out.

The license description will be displayed on the Legal page, below the copyright information.

AboutDialog::add_legal_section can be used to add license information for the application dependencies or other components.


def release_notes : String #

Gets the release notes for self.


def release_notes=(release_notes : String) : Nil #

Sets the release notes for self.

Release notes are displayed on the the What's New page.

Release notes are formatted the same way as AppStream descriptions.

The supported formatting options are:

  • Paragraph (<p>)
  • Ordered list (<ol>), with list items (<li>)
  • Unordered list (<ul>), with list items (<li>)

Within paragraphs and list items, emphasis (<em>) and inline code (<code>) text styles are supported. The emphasis is rendered in italic, while inline code is shown in a monospaced font.

Any text outside paragraphs or list items is ignored.

Nested lists are not supported.

Adw::AboutDialog displays the version above the release notes. If set, the [property@AboutDialog:release-notes-version] of the property will be used as the version; otherwise, AboutDialog::version is used.


def release_notes=(value : Nil) : Nil #

Set #release_notes property to nil.


def release_notes? : String | Nil #

Same as #release_notes, but can return nil.


def release_notes_version : String #

Gets the version described by the application's release notes.


def release_notes_version=(version : String) : Nil #

Sets the version described by the application's release notes.

The release notes version is displayed on the What's New page, above the release notes.

If not set, AboutDialog::version will be used instead.

For example, an application with the current version 2.0.2 might want to keep the release notes from 2.0.0, and set the release notes version accordingly.

See [property@AboutDialog:release-notes].


def release_notes_version=(value : Nil) : Nil #

Set #release_notes_version property to nil.


def release_notes_version? : String | Nil #

Same as #release_notes_version, but can return nil.


def support_url : String #

Gets the URL of the support page for self.


def support_url=(support_url : String) : Nil #

Sets the URL of the support page for self.

The support page link is displayed on the main page.


def support_url=(value : Nil) : Nil #

Set #support_url property to nil.


def support_url? : String | Nil #

Same as #support_url, but can return nil.


def translator_credits : String #

Gets the translator credits string.


def translator_credits=(translator_credits : String) : Nil #

Sets the translator credits string.

It will be displayed on the Credits page.

This string should be "translator-credits" or "translator_credits" and should be marked as translatable.

The string may contain email addresses and URLs, see the introduction for more details.

See also:


def translator_credits=(value : Nil) : Nil #

Set #translator_credits property to nil.


def translator_credits? : String | Nil #

Same as #translator_credits, but can return nil.


def version : String #

Gets the version for self.


def version=(version : String) : Nil #

Sets the version for self.

The version is displayed on the main page.

If [property@AboutDialog:release-notes-version] is not set, the version will also be displayed above the release notes on the What's New page.


def version=(value : Nil) : Nil #

Set #version property to nil.


def version? : String | Nil #

Same as #version, but can return nil.


def website : String #

Gets the application website URL for self.


def website=(website : String) : Nil #

Sets the application website URL for self.

Website is displayed on the Details page, below comments, or on the main page if the Details page doesn't have any other content.

Applications can add other links below, see AboutDialog::add_link.


def website=(value : Nil) : Nil #

Set #website property to nil.


def website? : String | Nil #

Same as #website, but can return nil.