1
0
Fork 0
mirror of https://gitlab.gnome.org/GNOME/calls.git synced 2024-12-04 20:07:36 +00:00

main-window: Add the 'about' action

This will be needed by the next commit to display an "About" dialog via
the corresponding entry in the app menu that will be added.

This also adds the PACKAGE_URL, PACKAGE_VERSION and VCS_TAG
configuration data.
This commit is contained in:
Adrien Plazas 2018-08-30 08:50:37 +02:00
parent 65d7943e88
commit e58ce3f08d
3 changed files with 79 additions and 0 deletions

View file

@ -27,6 +27,8 @@ project('call', 'c',
)
calls_id = 'sm.puri.Calls'
calls_homepage = 'https://source.puri.sm/Librem5/calls'
calls_version = meson.project_version()
subdir('libgdbofono')
subdir('src')

View file

@ -27,6 +27,7 @@
#include "calls-call-holder.h"
#include "calls-call-selector-item.h"
#include "calls-new-call-box.h"
#include "config.h"
#include "util.h"
#include <glib/gi18n.h>
@ -75,6 +76,56 @@ enum {
static guint signals [SIGNAL_LAST_SIGNAL];
static void
about_action (GSimpleAction *action,
GVariant *parameter,
gpointer user_data)
{
CallsMainWindow *self = user_data;
const gchar *version = NULL;
static const gchar *authors[] = {
"Adrien Plazas <kekun.plazas@laposte.net>",
"Bob Ham <rah@settrans.net>",
"Guido Günther <agx@sigxcpu.org>",
NULL
};
static const gchar *artists[] = {
"Tobias Bernard <tbernard@gnome.org>",
NULL
};
static const gchar *documenters[] = {
"Heather Ellsworth <heather.ellsworth@puri.sm>",
NULL
};
version = g_str_equal (VCS_TAG, "") ? PACKAGE_VERSION:
PACKAGE_VERSION "-" VCS_TAG;
gtk_show_about_dialog (GTK_WINDOW (self),
"artists", artists,
"authors", authors,
"copyright", "Copyright © 2018 Purism",
"documenters", documenters,
"license-type", GTK_LICENSE_GPL_3_0,
"logo-icon-name", APP_ID,
"program-name", _("Calls"),
"translator-credits", _("translator-credits"),
"version", version,
"website", PACKAGE_URL,
NULL);
}
static const GActionEntry window_entries [] =
{
{ "about", about_action },
};
CallsMainWindow *
calls_main_window_new (GtkApplication *application, CallsProvider *provider)
{
@ -424,6 +475,28 @@ set_property (GObject *object,
}
static void
constructed (GObject *object)
{
GObjectClass *parent_class = g_type_class_peek (GTK_TYPE_APPLICATION_WINDOW);
CallsMainWindow *self = CALLS_MAIN_WINDOW (object);
GSimpleActionGroup *simple_action_group;
/* Add actions */
simple_action_group = g_simple_action_group_new ();
g_action_map_add_action_entries (G_ACTION_MAP (simple_action_group),
window_entries,
G_N_ELEMENTS (window_entries),
self);
gtk_widget_insert_action_group (GTK_WIDGET (self),
"win",
G_ACTION_GROUP (simple_action_group));
g_object_unref (simple_action_group);
parent_class->constructed (object);
}
static void
calls_main_window_init (CallsMainWindow *self)
{
@ -463,6 +536,7 @@ calls_main_window_class_init (CallsMainWindowClass *klass)
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
object_class->set_property = set_property;
object_class->constructed = constructed;
object_class->dispose = dispose;
props[PROP_PROVIDER] =

View file

@ -60,6 +60,9 @@ calls_dummy_sources = ['calls-dummy-call.c', 'calls-dummy-call.h',
config_data = configuration_data()
config_data.set_quoted('APP_ID', calls_id)
config_data.set_quoted('PACKAGE_URL', calls_homepage)
config_data.set_quoted('PACKAGE_VERSION', calls_version)
config_data.set_quoted('VCS_TAG', '@VCS_TAG@')
config_h_in = configure_file(
output: 'config.h.in',