about, appdata: Port to AdwAboutDialog.new_from_appdata
This removes a lot of duplicated code, as we can simply reuse the appdata file. It will also allow us to add release notes without needing to rewrite them. A simple update in the `adw_about_dialog_new_from_appdata` method will take care of displaying the release notes. This also renames the appdata file from `appdata.xml` to `metainfo.xml`, as `appdata.xml` is considered a legacy filename.
This commit is contained in:
committed by
Georges Basile Stavracas Neto
parent
704c0815a1
commit
0c8e1834f7
@@ -1,5 +1,4 @@
|
|||||||
subdir('icons')
|
subdir('icons')
|
||||||
subdir('appdata')
|
|
||||||
|
|
||||||
enum_headers = files(src_dir / 'gcal-enums.h')
|
enum_headers = files(src_dir / 'gcal-enums.h')
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -13,7 +13,7 @@ project(
|
|||||||
|
|
||||||
calendar_version = meson.project_version()
|
calendar_version = meson.project_version()
|
||||||
version_array = calendar_version.split('.')
|
version_array = calendar_version.split('.')
|
||||||
calendar_major_version = version_array[0].to_int()
|
calendar_major_version = version_array[0]
|
||||||
calendar_minor_version = version_array[1]
|
calendar_minor_version = version_array[1]
|
||||||
|
|
||||||
|
|
||||||
@@ -71,6 +71,7 @@ set_defines = [
|
|||||||
['PACKAGE_STRING', '@0@ @1@'.format(meson.project_name(), calendar_version)],
|
['PACKAGE_STRING', '@0@ @1@'.format(meson.project_name(), calendar_version)],
|
||||||
['PACKAGE_TARNAME', meson.project_name()],
|
['PACKAGE_TARNAME', meson.project_name()],
|
||||||
['PACKAGE_URL', 'https://apps.gnome.org/Calendar/'],
|
['PACKAGE_URL', 'https://apps.gnome.org/Calendar/'],
|
||||||
|
['MAJOR_VERSION', calendar_major_version + '.' + '0'],
|
||||||
['PACKAGE_VERSION', calendar_version + rev],
|
['PACKAGE_VERSION', calendar_version + rev],
|
||||||
['VERSION', calendar_version + rev],
|
['VERSION', calendar_version + rev],
|
||||||
['GETTEXT_PACKAGE', meson.project_name()],
|
['GETTEXT_PACKAGE', meson.project_name()],
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<gresources>
|
||||||
|
<gresource prefix="/org/gnome/calendar">
|
||||||
|
<file alias="appdata">@appid@.metainfo.xml</file>
|
||||||
|
</gresource>
|
||||||
|
</gresources>
|
||||||
@@ -2,11 +2,11 @@ appdata_conf = configuration_data()
|
|||||||
appdata_conf.set('appid', application_id)
|
appdata_conf.set('appid', application_id)
|
||||||
appdata = i18n.merge_file(
|
appdata = i18n.merge_file(
|
||||||
input: configure_file(
|
input: configure_file(
|
||||||
input: files('org.gnome.Calendar.appdata.xml.in.in'),
|
input: files('org.gnome.Calendar.metainfo.xml.in.in'),
|
||||||
output: 'org.gnome.Calendar.appdata.xml.in',
|
output: 'org.gnome.Calendar.metainfo.xml.in',
|
||||||
configuration: appdata_conf
|
configuration: appdata_conf
|
||||||
),
|
),
|
||||||
output: '@0@.appdata.xml'.format(application_id),
|
output: '@0@.metainfo.xml'.format(application_id),
|
||||||
po_dir: po_dir,
|
po_dir: po_dir,
|
||||||
install: true,
|
install: true,
|
||||||
install_dir: calendar_datadir / 'metainfo'
|
install_dir: calendar_datadir / 'metainfo'
|
||||||
@@ -22,3 +22,17 @@ if appstreamcli.found()
|
|||||||
depends: appdata,
|
depends: appdata,
|
||||||
)
|
)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
## GResource
|
||||||
|
gresource = configure_file(
|
||||||
|
input: 'appdata.gresource.xml.in',
|
||||||
|
output: 'appdata.gresource.xml',
|
||||||
|
configuration: appdata_conf,
|
||||||
|
)
|
||||||
|
|
||||||
|
built_sources += gnome.compile_resources(
|
||||||
|
'appdata-resources',
|
||||||
|
gresource,
|
||||||
|
c_name: 'appdata',
|
||||||
|
dependencies: [gresource, appdata],
|
||||||
|
)
|
||||||
+2
@@ -56,6 +56,8 @@
|
|||||||
<url type="vcs-browser">https://gitlab.gnome.org/GNOME/gnome-calendar</url>
|
<url type="vcs-browser">https://gitlab.gnome.org/GNOME/gnome-calendar</url>
|
||||||
<url type="translate">https://l10n.gnome.org/module/gnome-calendar/</url>
|
<url type="translate">https://l10n.gnome.org/module/gnome-calendar/</url>
|
||||||
<url type="contribute">https://welcome.gnome.org/app/Calendar/</url>
|
<url type="contribute">https://welcome.gnome.org/app/Calendar/</url>
|
||||||
|
<url type="contact">https://matrix.to/#/#gnome-calendar:gnome.org</url>
|
||||||
|
<url type="help">https://discourse.gnome.org/tag/calendar</url>
|
||||||
<project_group>GNOME</project_group>
|
<project_group>GNOME</project_group>
|
||||||
<developer_name>The GNOME Project</developer_name>
|
<developer_name>The GNOME Project</developer_name>
|
||||||
<developer id="org.gnome">
|
<developer id="org.gnome">
|
||||||
@@ -229,22 +229,14 @@ gcal_application_show_about (GSimpleAction *simple,
|
|||||||
copyright = build_about_copyright (self);
|
copyright = build_about_copyright (self);
|
||||||
troubleshooting = build_system_information ();
|
troubleshooting = build_system_information ();
|
||||||
|
|
||||||
about = g_object_new (ADW_TYPE_ABOUT_DIALOG,
|
about = adw_about_dialog_new_from_appdata ("/org/gnome/calendar/appdata", MAJOR_VERSION);
|
||||||
"application-name", _("Calendar"),
|
|
||||||
"application-icon", APPLICATION_ID,
|
adw_about_dialog_set_designers (ADW_ABOUT_DIALOG (about), designers);
|
||||||
"developer-name", _("The GNOME Project"),
|
adw_about_dialog_set_copyright (ADW_ABOUT_DIALOG (about), copyright);
|
||||||
"version", VERSION,
|
adw_about_dialog_set_developers (ADW_ABOUT_DIALOG (about), developers);
|
||||||
"copyright", copyright,
|
adw_about_dialog_set_debug_info (ADW_ABOUT_DIALOG (about), troubleshooting);
|
||||||
"website", "https://apps.gnome.org/Calendar/",
|
adw_about_dialog_set_debug_info_filename (ADW_ABOUT_DIALOG (about), "Calendar.txt");
|
||||||
"issue-url", "https://gitlab.gnome.org/GNOME/gnome-calendar/-/issues",
|
adw_about_dialog_set_translator_credits (ADW_ABOUT_DIALOG (about), _("translator-credits"));
|
||||||
"support-url", "https://discourse.gnome.org/tag/calendar",
|
|
||||||
"license-type", GTK_LICENSE_GPL_3_0,
|
|
||||||
"developers", developers,
|
|
||||||
"designers", designers,
|
|
||||||
"translator-credits", _("translator-credits"),
|
|
||||||
"debug-info", troubleshooting,
|
|
||||||
"debug-info-filename", "Calendar.txt",
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
weather_service = gcal_context_get_weather_service (self->context);
|
weather_service = gcal_context_get_weather_service (self->context);
|
||||||
adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about),
|
adw_about_dialog_add_legal_section (ADW_ABOUT_DIALOG (about),
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ calendar_incs = [
|
|||||||
###################
|
###################
|
||||||
|
|
||||||
sources = files()
|
sources = files()
|
||||||
|
subdir('appdata')
|
||||||
subdir('core')
|
subdir('core')
|
||||||
subdir('gui')
|
subdir('gui')
|
||||||
subdir('search')
|
subdir('search')
|
||||||
|
|||||||
Reference in New Issue
Block a user