adw.about_dialog

Module for [AboutDialog] class

Types 3

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.about_dialog.AboutDialog prominently displays the application's icon, name, developer name and version. They can be set with the adw.about_dialog.AboutDialog.applicationIcon, adw.about_dialog.AboutDialog.applicationName, adw.about_dialog.AboutDialog.developerName and adw.about_dialog.AboutDialog.version_ respectively.

What's New

adw.about_dialog.AboutDialog provides a way for applications to display their release notes, set with the adw.about_dialog.AboutDialog.releaseNotes property.

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.

Only one version can be shown at a time. By default, the displayed version number matches adw.about_dialog.AboutDialog.version_. Use adw.about_dialog.AboutDialog.releaseNotesVersion to override it.

Details

The Details page displays the application comments and links.

The comments can be set with the adw.about_dialog.AboutDialog.comments property. Unlike gtk.about_dialog.AboutDialog.comments, this string can be long and detailed. It can also contain links and Pango markup.

To set the application website, use adw.about_dialog.AboutDialog.website. To add extra links below the website, use adw.about_dialog.AboutDialog.addLink.

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

Troubleshooting

adw.about_dialog.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 adw.about_dialog.AboutDialog.debugInfo 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.about_dialog.AboutDialog provides a quick way to save debug information to a file. When saving, adw.about_dialog.AboutDialog.debugInfoFilename 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 adw.about_dialog.AboutDialog.addCreditSection to add them.

The Acknowledgements page can be used to acknowledge additional people and organizations for their non-development contributions. Use adw.about_dialog.AboutDialog.addAcknowledgementSection 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 adw.about_dialog.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 adw.about_dialog.AboutDialog.licenseType property. If the application's license is not in the list, adw.about_dialog.AboutDialog.license can be used instead.

To add information about other modules, such as application dependencies or data, use adw.about_dialog.AboutDialog.addLegalSection.

Constructing

To make constructing an adw.about_dialog.AboutDialog as convenient as possible, you can use the function func@show_about_dialog which constructs and shows a dialog.

static void
show_about (GtkApplication *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/new",
                         "license-type", GTK_LICENSE_GPL_3_0,
                         "developers", developers,
                         "designers", designers,
                         "translator-credits", _("translator-credits"),
                         NULL);
}

CSS nodes

adw.about_dialog.AboutDialog has a main CSS node with the name dialog and the style class .about.

Methods
GType _getGType() static nothrow
GType _gType() @property nothrow
AboutDialog self() nothrowReturns `this`, for use in `with` statements.
AboutDialogGidBuilder builder() static nothrowGet builder for [adw.about_dialog.AboutDialog] Returns: New builder object
string applicationIcon() @property nothrowGet `applicationIcon` property. Returns: The name of the application icon.
void applicationIcon(string propval) @property nothrowSet `applicationIcon` property. Params: propval = The name of the application icon.
string applicationName() @property nothrowGet `applicationName` property. Returns: The name of the application.
void applicationName(string propval) @property nothrowSet `applicationName` property. Params: propval = The name of the application.
string comments() @property nothrowGet `comments` property. Returns: The comments about the application.
void comments(string propval) @property nothrowSet `comments` property. Params: propval = The comments about the application.
string copyright() @property nothrowGet `copyright` property. Returns: The copyright information.
void copyright(string propval) @property nothrowSet `copyright` property. Params: propval = The copyright information.
string debugInfo() @property nothrowGet `debugInfo` property. Returns: The debug information.
void debugInfo(string propval) @property nothrowSet `debugInfo` property. Params: propval = The debug information.
string debugInfoFilename() @property nothrowGet `debugInfoFilename` property. Returns: The debug information filename.
void debugInfoFilename(string propval) @property nothrowSet `debugInfoFilename` property. Params: propval = The debug information filename.
string developerName() @property nothrowGet `developerName` property. Returns: The developer name.
void developerName(string propval) @property nothrowSet `developerName` property. Params: propval = The developer name.
string issueUrl() @property nothrowGet `issueUrl` property. Returns: The URL for the application's issue tracker.
void issueUrl(string propval) @property nothrowSet `issueUrl` property. Params: propval = The URL for the application's issue tracker.
string license() @property nothrowGet `license` property. Returns: The license text.
void license(string propval) @property nothrowSet `license` property. Params: propval = The license text.
gtk.types.License licenseType() @property nothrowGet `licenseType` property. Returns: The license type.
void licenseType(gtk.types.License propval) @property nothrowSet `licenseType` property. Params: propval = The license type.
string releaseNotes() @property nothrowGet `releaseNotes` property. Returns: The release notes of the application.
void releaseNotes(string propval) @property nothrowSet `releaseNotes` property. Params: propval = The release notes of the application.
string releaseNotesVersion() @property nothrowGet `releaseNotesVersion` property. Returns: The version described by the application's release notes.
void releaseNotesVersion(string propval) @property nothrowSet `releaseNotesVersion` property. Params: propval = The version described by the application's release notes.
string supportUrl() @property nothrowGet `supportUrl` property. Returns: The URL of the application's support page.
void supportUrl(string propval) @property nothrowSet `supportUrl` property. Params: propval = The URL of the application's support page.
string translatorCredits() @property nothrowGet `translatorCredits` property. Returns: The translator credits string.
void translatorCredits(string propval) @property nothrowSet `translatorCredits` property. Params: propval = The translator credits string.
string version_() @property nothrowGet `version_` property. Returns: The version of the application.
void version_(string propval) @property nothrowSet `version_` property. Params: propval = The version of the application.
string website() @property nothrowGet `website` property. Returns: The URL of the application's website.
void website(string propval) @property nothrowSet `website` property. Params: propval = The URL of the application's website.
adw.about_dialog.AboutDialog newFromAppdata(string resourcePath, string releaseNotesVersion = null) static nothrowCreates a new [adw.about_dialog.AboutDialog] using AppStream metadata.
void addAcknowledgementSection(string name, string[] people) nothrowAdds a section to the Acknowledgements page.
void addCreditSection(string name, string[] people) nothrowAdds an extra section to the Credits page.
void addLegalSection(string title, string copyright, gtk.types.License licenseType, string license = null) nothrowAdds an extra section to the Legal page.
void addLink(string title, string url) nothrowAdds an extra link to the Details page.
string getApplicationIcon() nothrowGets the name of the application icon for self. Returns: the application icon name
string getApplicationName() nothrowGets the application name for self. Returns: the application name
string[] getArtists() nothrowGets the list of artists of the application. Returns: The list of artists
string getComments() nothrowGets the comments about the application. Returns: the comments
string getCopyright() nothrowGets the copyright information for self. Returns: the copyright information
string getDebugInfo() nothrowGets the debug information for self. Returns: the debug information
string getDebugInfoFilename() nothrowGets the debug information filename for self. Returns: the debug information filename
string[] getDesigners() nothrowGets the list of designers of the application. Returns: The list of designers
string getDeveloperName() nothrowGets the developer name for self. Returns: the developer_name
string[] getDevelopers() nothrowGets the list of developers of the application. Returns: The list of developers
string[] getDocumenters() nothrowGets the list of documenters of the application. Returns: The list of documenters
string getIssueUrl() nothrowGets the issue tracker URL for self. Returns: the issue tracker URL
string getLicense() nothrowGets the license for self. Returns: the license
gtk.types.License getLicenseType() nothrowGets the license type for self. Returns: the license type
string getReleaseNotes() nothrowGets the release notes for self. Returns: the release notes
string getReleaseNotesVersion() nothrowGets the version described by the application's release notes. Returns: the release notes version
string getSupportUrl() nothrowGets the URL of the support page for self. Returns: the support page URL
string getTranslatorCredits() nothrowGets the translator credits string. Returns: The translator credits string
string getVersion() nothrowGets the version for self. Returns: the version
string getWebsite() nothrowGets the application website URL for self. Returns: the website URL
void setApplicationIcon(string applicationIcon) nothrowSets the name of the application icon for self.
void setApplicationName(string applicationName) nothrowSets the application name for self.
void setArtists(string[] artists = null) nothrowSets the list of artists of the application.
void setComments(string comments) nothrowSets the comments about the application.
void setCopyright(string copyright) nothrowSets the copyright information for self.
void setDebugInfo(string debugInfo) nothrowSets the debug information for self.
void setDebugInfoFilename(string filename) nothrowSets the debug information filename for self.
void setDesigners(string[] designers = null) nothrowSets the list of designers of the application.
void setDeveloperName(string developerName) nothrowSets the developer name for self.
void setDevelopers(string[] developers = null) nothrowSets the list of developers of the application.
void setDocumenters(string[] documenters = null) nothrowSets the list of documenters of the application.
void setIssueUrl(string issueUrl) nothrowSets the issue tracker URL for self.
void setLicense(string license) nothrowSets the license for self.
void setLicenseType(gtk.types.License licenseType) nothrowSets the license for self from a list of known licenses.
void setReleaseNotes(string releaseNotes) nothrowSets the release notes for self.
void setReleaseNotesVersion(string version_) nothrowSets the version described by the application's release notes.
void setSupportUrl(string supportUrl) nothrowSets the URL of the support page for self.
void setTranslatorCredits(string translatorCredits) nothrowSets the translator credits string.
void setVersion(string version_) nothrowSets the version for self.
void setWebsite(string website) nothrowSets the application website URL for self.
gulong connectActivateLink(T)(T callback, Flag!"After" after = No.After) if (isCallable!T && is(ReturnType!T == bool) && (Parameters!T.length < 1 || (ParameterStorageClassTuple!T[0] == ParameterStorageClass.none && is(Parameters!T[0] == string))) && (Parameters!T.length < 2 || (ParameterStorageClassTuple!T[1] == ParameterStorageClass.none && is(Parameters!T[1] : adw.about_dialog.AboutDialog))) && Parameters!T.length < 3) nothrowConnect to `ActivateLink` signal.
Constructors
this(void * ptr, Flag!"Take" take)
this()Creates a new [adw.about_dialog.AboutDialog]. Returns: the newly created [adw.about_dialog.AboutDialog]

Fluent builder implementation template for adw.about_dialog.AboutDialog

Methods
T applicationIcon(string propval) nothrowSet `applicationIcon` property. Params: propval = The name of the application icon.
T applicationName(string propval) nothrowSet `applicationName` property. Params: propval = The name of the application.
T comments(string propval) nothrowSet `comments` property. Params: propval = The comments about the application.
T copyright(string propval) nothrowSet `copyright` property. Params: propval = The copyright information.
T debugInfo(string propval) nothrowSet `debugInfo` property. Params: propval = The debug information.
T debugInfoFilename(string propval) nothrowSet `debugInfoFilename` property. Params: propval = The debug information filename.
T developerName(string propval) nothrowSet `developerName` property. Params: propval = The developer name.
T issueUrl(string propval) nothrowSet `issueUrl` property. Params: propval = The URL for the application's issue tracker.
T license(string propval) nothrowSet `license` property. Params: propval = The license text.
T licenseType(gtk.types.License propval) nothrowSet `licenseType` property. Params: propval = The license type.
T releaseNotes(string propval) nothrowSet `releaseNotes` property. Params: propval = The release notes of the application.
T releaseNotesVersion(string propval) nothrowSet `releaseNotesVersion` property. Params: propval = The version described by the application's release notes.
T supportUrl(string propval) nothrowSet `supportUrl` property. Params: propval = The URL of the application's support page.
T translatorCredits(string propval) nothrowSet `translatorCredits` property. Params: propval = The translator credits string.
T version_(string propval) nothrowSet `version_` property. Params: propval = The version of the application.
T website(string propval) nothrowSet `website` property. Params: propval = The URL of the application's website.

Fluent builder for adw.about_dialog.AboutDialog

Methods
AboutDialog build() nothrowCreate object from builder. Returns: New object