summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorVivien Kraus <vivien@planete-kraus.eu>2023-03-08 16:31:00 +0100
committerVivien Kraus <vivien@planete-kraus.eu>2023-03-08 21:10:05 +0100
commit3271e1c11a923a4e97f6657665f522344c61737f (patch)
tree963f3b9ea383fde2f4ddabd1f2f910d3fe48f1d9 /src
parentbb8c88486cfebd2bf583bbb870f16ba455eaade8 (diff)
Generate the appstream news.
Diffstat (limited to 'src')
-rw-r--r--src/adwaita/disfluid-about.c97
-rw-r--r--src/libdisfluid.c12
-rw-r--r--src/libdisfluid/disfluid-version.h22
3 files changed, 85 insertions, 46 deletions
diff --git a/src/adwaita/disfluid-about.c b/src/adwaita/disfluid-about.c
index c54b085..ac860d3 100644
--- a/src/adwaita/disfluid-about.c
+++ b/src/adwaita/disfluid-about.c
@@ -27,29 +27,29 @@ some_developers (void)
for (size_t i = 0; i < disfluid_count_authors (); i++)
{
if (disfluid_author_is_developer (i))
- {
- if (first_developer == NULL)
- {
- first_developer = g_strdup (disfluid_author_name (i));
- }
- else
- {
- and_others = true;
- }
- }
+ {
+ if (first_developer == NULL)
+ {
+ first_developer = g_strdup (disfluid_author_name (i));
+ }
+ else
+ {
+ and_others = true;
+ }
+ }
}
char *ret = NULL;
if (first_developer != NULL)
{
if (and_others)
- {
- asprintf (&ret, _ ("%s and others"), first_developer);
- free (first_developer);
- }
+ {
+ asprintf (&ret, _("%s and others"), first_developer);
+ free (first_developer);
+ }
else
- {
- ret = first_developer;
- }
+ {
+ ret = first_developer;
+ }
}
return ret;
}
@@ -67,28 +67,30 @@ enumerate_credits (int (*check) (size_t))
for (size_t i = 0; i < n; i++)
{
if (check (i))
- {
- if (disfluid_author_uri (i))
- {
- asprintf (& (ret[n_relevant]), "%s %s", disfluid_author_name (i), disfluid_author_uri (i));
- }
- else if (disfluid_author_email (i))
- {
- asprintf (& (ret[n_relevant]), "%s <%s>", disfluid_author_name (i), disfluid_author_email (i));
- }
- else
- {
- asprintf (& (ret[n_relevant]), "%s", disfluid_author_name (i));
- }
- n_relevant++;
- }
+ {
+ if (disfluid_author_uri (i))
+ {
+ asprintf (&(ret[n_relevant]), "%s %s", disfluid_author_name (i),
+ disfluid_author_uri (i));
+ }
+ else if (disfluid_author_email (i))
+ {
+ asprintf (&(ret[n_relevant]), "%s <%s>",
+ disfluid_author_name (i), disfluid_author_email (i));
+ }
+ else
+ {
+ asprintf (&(ret[n_relevant]), "%s", disfluid_author_name (i));
+ }
+ n_relevant++;
+ }
}
ret[n_relevant] = NULL;
return ret;
}
void
-disfluid_adw_show_about (GtkApplication *app)
+disfluid_adw_show_about (GtkApplication * app)
{
char *developer = some_developers ();
char **developers = enumerate_credits (disfluid_author_is_developer);
@@ -96,18 +98,21 @@ disfluid_adw_show_about (GtkApplication *app)
char **artists = enumerate_credits (disfluid_author_is_artist);
char **documenters = enumerate_credits (disfluid_author_is_documenter);
adw_show_about_window (gtk_application_get_active_window (app),
- "application-name", _ ("Experiences"),
- "application-icon", "eu.planete_kraus.Disfluid",
- "version", disfluid_version (),
- "copyright", _ ("Copyright © 2023 Vivien Kraus"),
- "developer-name", developer,
- "website", disfluid_website (),
- "developers", developers,
- "designers", designers,
- "artists", artists,
- "documenters", documenters,
- "translator-credits", disfluid_translation_credits (),
- "license-type", GTK_LICENSE_AGPL_3_0,
- NULL);
+ "application-name", _("Experiences"),
+ "application-icon", "eu.planete_kraus.Disfluid",
+ "version", disfluid_version (),
+ "copyright", _("Copyright © 2023 Vivien Kraus"),
+ "developer-name", developer,
+ "website", disfluid_website (),
+ "developers", developers,
+ "designers", designers,
+ "artists", artists,
+ "documenters", documenters,
+ "translator-credits",
+ disfluid_translation_credits (), "license-type",
+ GTK_LICENSE_AGPL_3_0,
+ "release-notes", disfluid_whats_new (),
+ "release-notes-version", disfluid_major_version (),
+ NULL);
free (developer);
}
diff --git a/src/libdisfluid.c b/src/libdisfluid.c
index e0b87ea..c34ad50 100644
--- a/src/libdisfluid.c
+++ b/src/libdisfluid.c
@@ -31,6 +31,18 @@ disfluid_website (void)
return website ();
}
+const char *
+disfluid_whats_new (void)
+{
+ return whats_new ();
+}
+
+const char *
+disfluid_major_version (void)
+{
+ return major_version ();
+}
+
char *
disfluid_run_tests (size_t *n_tests, size_t *n_errors)
{
diff --git a/src/libdisfluid/disfluid-version.h b/src/libdisfluid/disfluid-version.h
index b37d3b4..5690a4b 100644
--- a/src/libdisfluid/disfluid-version.h
+++ b/src/libdisfluid/disfluid-version.h
@@ -1,10 +1,16 @@
#ifndef DISFLUID_VERSION_INCLUDED
# define DISFLUID_VERSION_INCLUDED
+# include "disfluid-init.h"
+
static inline const char *version (void);
static inline const char *website (void);
+static inline const char *whats_new (void);
+
+static inline const char *major_version (void);
+
static inline const char *
version (void)
{
@@ -18,4 +24,20 @@ website (void)
return "https://labo.planete-kraus.eu/disfluid.git";
}
+static inline const char *
+whats_new (void)
+{
+ ensure_init ();
+ /* Updated for NEWS hash d41d8cd98f00b204e9800998ecf8427e */
+ return _("<p>The Experiences app has been started.</p>");
+}
+
+static inline const char *
+major_version (void)
+{
+ ensure_init ();
+ static const char *major_version = LATEST_MAJOR_VERSION;
+ return major_version;
+}
+
#endif /* DISFLUID_VERSION_INCLUDED */