adw.about_dialog
Module for [AboutDialog] class
Types 3
A dialog showing information about the application.
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 property@AboutDialog:application-icon, property@AboutDialog:application-name, property@AboutDialog:developer-name and property@AboutDialog:version respectively.
What's New
[adw.about_dialog.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:
- 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 property@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 property@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 property@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:
- Support Questions, set with the
property@AboutDialog:support-urlproperty, - Report an Issue, set with the
property@AboutDialog:issue-urlproperty.
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.about_dialog.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:
- Developers, set with the
property@AboutDialog:developersproperty, - Designers, set with the
property@AboutDialog:designersproperty, - Artists, set with the
property@AboutDialog:artistsproperty, - Documenters, set with the
property@AboutDialog:documentersproperty, - Translators, set with the
property@AboutDialog:translator-creditsproperty.
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:
Legal
The Legal page displays the copyright and licensing information for the application and other modules.
The copyright string is set with the property@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, property@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.
AboutDialog self()Returns `this`, for use in `with` statements.AboutDialogGidBuilder builder()Get builder for [adw.about_dialog.AboutDialog] Returns: New builder objectstring applicationIcon() @propertyGet `applicationIcon` property. Returns: The name of the application icon.void applicationIcon(string propval) @propertySet `applicationIcon` property. Params: propval = The name of the application icon.string applicationName() @propertyGet `applicationName` property. Returns: The name of the application.void applicationName(string propval) @propertySet `applicationName` property. Params: propval = The name of the application.void comments(string propval) @propertySet `comments` property. Params: propval = The comments about the application.void copyright(string propval) @propertySet `copyright` property. Params: propval = The copyright information.void debugInfo(string propval) @propertySet `debugInfo` property. Params: propval = The debug information.string debugInfoFilename() @propertyGet `debugInfoFilename` property. Returns: The debug information filename.void debugInfoFilename(string propval) @propertySet `debugInfoFilename` property. Params: propval = The debug information filename.void developerName(string propval) @propertySet `developerName` property. Params: propval = The developer name.string issueUrl() @propertyGet `issueUrl` property. Returns: The URL for the application's issue tracker.void issueUrl(string propval) @propertySet `issueUrl` property. Params: propval = The URL for the application's issue tracker.void licenseType(gtk.types.License propval) @propertySet `licenseType` property. Params: propval = The license type.string releaseNotes() @propertyGet `releaseNotes` property. Returns: The release notes of the application.void releaseNotes(string propval) @propertySet `releaseNotes` property. Params: propval = The release notes of the application.string releaseNotesVersion() @propertyGet `releaseNotesVersion` property. Returns: The version described by the application's release notes.void releaseNotesVersion(string propval) @propertySet `releaseNotesVersion` property. Params: propval = The version described by the application's release notes.string supportUrl() @propertyGet `supportUrl` property. Returns: The URL of the application's support page.void supportUrl(string propval) @propertySet `supportUrl` property. Params: propval = The URL of the application's support page.string translatorCredits() @propertyGet `translatorCredits` property. Returns: The translator credits string.void translatorCredits(string propval) @propertySet `translatorCredits` property. Params: propval = The translator credits string.void version_(string propval) @propertySet `version_` property. Params: propval = The version of the application.void website(string propval) @propertySet `website` property. Params: propval = The URL of the application's website.adw.about_dialog.AboutDialog newFromAppdata(string resourcePath, string releaseNotesVersion = null)Creates a new [adw.about_dialog.AboutDialog] using AppStream metadata.void addAcknowledgementSection(string name, string[] people)Adds a section to the Acknowledgements page.void addCreditSection(string name, string[] people)Adds an extra section to the Credits page.void addLegalSection(string title, string copyright, gtk.types.License licenseType, string license = null)Adds an extra section to the Legal page.void addLink(string title, string url)Adds an extra link to the Details page.string getApplicationIcon()Gets the name of the application icon for self. Returns: the application icon namestring getApplicationName()Gets the application name for self. Returns: the application namestring[] getArtists()Gets the list of artists of the application. Returns: The list of artistsstring getComments()Gets the comments about the application. Returns: the commentsstring getCopyright()Gets the copyright information for self. Returns: the copyright informationstring getDebugInfo()Gets the debug information for self. Returns: the debug informationstring getDebugInfoFilename()Gets the debug information filename for self. Returns: the debug information filenamestring[] getDesigners()Gets the list of designers of the application. Returns: The list of designersstring getDeveloperName()Gets the developer name for self. Returns: the developer_namestring[] getDevelopers()Gets the list of developers of the application. Returns: The list of developersstring[] getDocumenters()Gets the list of documenters of the application. Returns: The list of documentersstring getIssueUrl()Gets the issue tracker URL for self. Returns: the issue tracker URLstring getLicense()Gets the license for self. Returns: the licensegtk.types.License getLicenseType()Gets the license type for self. Returns: the license typestring getReleaseNotes()Gets the release notes for self. Returns: the release notesstring getReleaseNotesVersion()Gets the version described by the application's release notes. Returns: the release notes versionstring getSupportUrl()Gets the URL of the support page for self. Returns: the support page URLstring getTranslatorCredits()Gets the translator credits string. Returns: The translator credits stringstring getVersion()Gets the version for self. Returns: the versionstring getWebsite()Gets the application website URL for self. Returns: the website URLvoid setApplicationIcon(string applicationIcon)Sets the name of the application icon for self.void setApplicationName(string applicationName)Sets the application name for self.void setArtists(string[] artists = null)Sets the list of artists of the application.void setComments(string comments)Sets the comments about the application.void setCopyright(string copyright)Sets the copyright information for self.void setDebugInfo(string debugInfo)Sets the debug information for self.void setDebugInfoFilename(string filename)Sets the debug information filename for self.void setDesigners(string[] designers = null)Sets the list of designers of the application.void setDeveloperName(string developerName)Sets the developer name for self.void setDevelopers(string[] developers = null)Sets the list of developers of the application.void setDocumenters(string[] documenters = null)Sets the list of documenters of the application.void setIssueUrl(string issueUrl)Sets the issue tracker URL for self.void setLicense(string license)Sets the license for self.void setLicenseType(gtk.types.License licenseType)Sets the license for self from a list of known licenses.void setReleaseNotes(string releaseNotes)Sets the release notes for self.void setReleaseNotesVersion(string version_)Sets the version described by the application's release notes.void setSupportUrl(string supportUrl)Sets the URL of the support page for self.void setTranslatorCredits(string translatorCredits)Sets the translator credits string.void setVersion(string version_)Sets the version for self.void setWebsite(string website)Sets 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)Connect to `ActivateLink` signal.T applicationIcon(string propval)Set `applicationIcon` property. Params: propval = The name of the application icon.T applicationName(string propval)Set `applicationName` property. Params: propval = The name of the application.T comments(string propval)Set `comments` property. Params: propval = The comments about the application.T copyright(string propval)Set `copyright` property. Params: propval = The copyright information.T debugInfo(string propval)Set `debugInfo` property. Params: propval = The debug information.T debugInfoFilename(string propval)Set `debugInfoFilename` property. Params: propval = The debug information filename.T developerName(string propval)Set `developerName` property. Params: propval = The developer name.T issueUrl(string propval)Set `issueUrl` property. Params: propval = The URL for the application's issue tracker.T license(string propval)Set `license` property. Params: propval = The license text.T licenseType(gtk.types.License propval)Set `licenseType` property. Params: propval = The license type.T releaseNotes(string propval)Set `releaseNotes` property. Params: propval = The release notes of the application.T releaseNotesVersion(string propval)Set `releaseNotesVersion` property. Params: propval = The version described by the application's release notes.T supportUrl(string propval)Set `supportUrl` property. Params: propval = The URL of the application's support page.T translatorCredits(string propval)Set `translatorCredits` property. Params: propval = The translator credits string.T version_(string propval)Set `version_` property. Params: propval = The version of the application.T website(string propval)Set `website` property. Params: propval = The URL of the application's website.Fluent builder for [adw.about_dialog.AboutDialog]