[gnome-dictionary/ebassi/for-master: 9/11] Add a development profile
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-dictionary/ebassi/for-master: 9/11] Add a development profile
- Date: Mon, 21 Sep 2020 21:02:29 +0000 (UTC)
commit d792ccf10bca5d2ab8e7e3c423daff0c39f21f19
Author: Emmanuele Bassi <ebassi gnome org>
Date: Mon Sep 21 21:24:59 2020 +0100
Add a development profile
We begin the GNOME 40 development cycle by adding the ability to define
a development build of Dictionary, with its own application identifier.
We use the same application identifier across the binary, so that the
shell can match our desktop file with it; and we use a different label
in the About dialog, depending on whether we are using a development
build or not.
It's possible to enable the development build by using a build option;
otherwise, we're going to check if the current version is one of the
three development stages of a GNOME release.
data/icons/meson.build | 6 +-
data/icons/scalable/org.gnome.Dictionary.Devel.svg | 98 ++++++++++++++++++++++
data/meson.build | 28 +++++--
...l.in => org.gnome.Dictionary.appdata.xml.in.in} | 6 +-
...sktop.in => org.gnome.Dictionary.desktop.in.in} | 2 +-
data/org.gnome.Dictionary.service.in | 2 +-
libgdict/meson.build | 4 +-
meson.build | 13 ++-
meson_options.txt | 1 +
po/POTFILES.in | 4 +-
src/gdict-about.c | 31 +++----
src/gdict-app.c | 4 +-
src/gdict-common.c | 10 +++
src/gdict-common.h | 4 +-
src/main.c | 2 +-
src/meson.build | 25 ++++--
16 files changed, 195 insertions(+), 45 deletions(-)
---
diff --git a/data/icons/meson.build b/data/icons/meson.build
index 7b04bb9..1e5ad69 100644
--- a/data/icons/meson.build
+++ b/data/icons/meson.build
@@ -1,5 +1,7 @@
-install_data(
- 'scalable/org.gnome.Dictionary.svg',
+install_data([
+ 'scalable/org.gnome.Dictionary.svg',
+ 'scalable/org.gnome.Dictionary.Devel.svg',
+ ],
install_dir: gdict_datadir / 'icons/hicolor/scalable/apps',
)
diff --git a/data/icons/scalable/org.gnome.Dictionary.Devel.svg
b/data/icons/scalable/org.gnome.Dictionary.Devel.svg
new file mode 100644
index 0000000..ab366be
--- /dev/null
+++ b/data/icons/scalable/org.gnome.Dictionary.Devel.svg
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg height="128px" viewBox="0 0 128 128" width="128px" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink">
+ <defs>
+ <linearGradient id="a" gradientUnits="userSpaceOnUse" x1="95.999944" x2="103.999944" y1="83" y2="83">
+ <stop offset="0" stop-color="#f6f5f4"/>
+ <stop offset="0.5" stop-color="#f6f5f4"/>
+ <stop offset="1" stop-color="#c0bfbc"/>
+ </linearGradient>
+ <filter id="b" height="100%" width="100%" x="0%" y="0%">
+ <feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1
0"/>
+ </filter>
+ <mask id="c">
+ <g filter="url(#b)">
+ <rect fill-opacity="0.3" height="128" width="128"/>
+ </g>
+ </mask>
+ <mask id="d">
+ <g filter="url(#b)">
+ <rect fill-opacity="0.1" height="128" width="128"/>
+ </g>
+ </mask>
+ <mask id="e">
+ <g filter="url(#b)">
+ <rect fill-opacity="0.3" height="128" width="128"/>
+ </g>
+ </mask>
+ <clipPath id="f">
+ <rect height="128" width="128"/>
+ </clipPath>
+ <g id="g" clip-path="url(#f)">
+ <path d="m 26 8 h 2 v 72 h -2 z m 0 0" fill="#ffffff"/>
+ </g>
+ <mask id="h">
+ <g filter="url(#b)">
+ <rect fill-opacity="0.1" height="128" width="128"/>
+ </g>
+ </mask>
+ <clipPath id="i">
+ <rect height="128" width="128"/>
+ </clipPath>
+ <g id="j" clip-path="url(#i)">
+ <path d="m 236.000225 223.5 h 104 m -128 -16 h 65.5 m -33.5 -16 h 128 m -152 -16 h 128"
stroke="#000000" stroke-linecap="round" stroke-width="8" transform="matrix(0.25 0 0 0.25 -0.000056 53.125)"/>
+ </g>
+ <clipPath id="k">
+ <rect height="128" width="128"/>
+ </clipPath>
+ <clipPath id="l">
+ <rect height="128" width="128"/>
+ </clipPath>
+ <mask id="m">
+ <g clip-path="url(#l)" filter="url(#b)">
+ <g clip-path="url(#k)">
+ <path d="m 24 28 v 92 h 72 c 4.433594 0 8 -3.566406 8 -8 v -76 c 0 -4.433594 -3.566406
-8 -8 -8 z m 0 0" fill="#26a269"/>
+ <path d="m 26 48 v 70 h 70 c 4.433594 0 8 -3.566406 8 -8 v -54 c 0 -4.433594 -3.566406
-8 -8 -8 z m 0 0" fill="url(#a)"/>
+ <path d="m 24 16 v 66 h 72 c 4.433594 0 8 -3.566406 8 -8 v -50 c 0 -4.433594 -3.566406
-8 -8 -8 z m 0 0" fill="#26a269"/>
+ <path d="m 24 8 v 72 h 72 c 4.433594 0 8 -3.566406 8 -8 v -56 c 0 -4.433594 -3.566406 -8
-8 -8 z m 0 0" fill="#2ec27e"/>
+ <path d="m 24 20.125 h 80 v 48 h -80 z m 0 0" fill="#57e389"/>
+ <use mask="url(#e)" xlink:href="#g"/>
+ <use mask="url(#h)" xlink:href="#j"/>
+ <path d="m 32 88.125 h 16 v 20 l -8 -7 l -8 7 z m 0 0" fill="#ed333b"/>
+ <path d="m 49.96875 44.40625 c -0.878906 0 -1.160156 -0.121094 -1.039062 -0.519531 l
3.558593 -8.960938 h 0.28125 l 3.28125 9.480469 z m -4.320312 8.160156 l 2.121093 -5.5625 c 0.199219
-0.519531 0.441407 -0.679687 1.398438 -0.679687 h 7.601562 l 2.238281 6.519531 c 0.5625 1.640625 -1.078124
1.480469 -2.957031 1.601562 c -0.242187 0.238282 -0.242187 1.121094 0 1.359376 c 1.480469 -0.039063 5.277344
-0.078126 6.839844 -0.078126 c 1.640625 0 3.878906 0.039063 5.359375 0.078126 c 0.238281 -0.238282 0.238281
-1.121094 0 -1.359376 c -1.558594 -0.121093 -2.878906 -0.121093 -3.601562 -2.160156 l -8.238282 -22.878906 c
-0.601562 0.359375 -3 1.757812 -4.441406 1.757812 l -8.640625 20.480469 c -1.039063 2.480469 -2.277344
2.679688 -4 2.800781 c -0.238281 0.238282 -0.238281 1.121094 0 1.359376 c 1.480469 -0.039063 2.203125
-0.078126 3.761719 -0.078126 c 1.640625 0 3.839844 0.039063 5.320312 0.078126 c 0.238282 -0.238282 0.238282
-1.121094 0 -1.359376 c -1.519531 -0.082031 -
3.402344 -0.242187 -2.761718 -1.878906 z m 0 0" fill="#1f8455"/>
+ <path d="m 79.992188 53.804688 c 0.277343 1.601562 1.359374 2.320312 3.117187 2.320312 c
2.199219 0 3.761719 -0.839844 5.242187 -2.238281 c -0.121093 -0.441407 -0.28125 -0.761719 -0.722656 -1.121094
c -0.519531 0.398437 -0.917968 0.558594 -1.679687 0.558594 c -0.878907 0 -1.117188 -0.71875 -1.117188
-2.679688 l 0.078125 -5.757812 c 0 -5.761719 -3.558594 -6.921875 -6.839844 -6.921875 c -2.921874 0 -7.441406
1.679687 -7.441406 4.320312 c 0 1.160156 0.480469 2.039063 2.082032 2.039063 c 1.398437 0 2.480468 -0.878907
2.480468 -1.878907 c 0 -0.519531 -0.28125 -1.199218 -0.199218 -1.878906 c 0.078124 -0.441406 0.359374
-0.921875 1.71875 -0.921875 c 1.679687 0 3.078124 0.71875 3.078124 5.800781 l -2.679687 0.839844 c -4.238281
1.320313 -7.160156 2.480469 -7.160156 5.640625 c 0 2.757813 1.519531 4.199219 5 4.199219 c 1.160156 0
3.480469 -1.28125 4.800781 -2.320312 z m -0.203126 -6.800782 v 5.28125 c -1 0.800782 -2 1.441406 -2.71875
1.441406 c -1.71875 0 -2.320312 -1.1601
56 -2.320312 -2.402343 c 0 -1.480469 0.121094 -2.679688 2.960938 -3.640625 z m 0 0" fill="#1f8455"/>
+ </g>
+ </g>
+ </mask>
+ <mask id="n">
+ <g filter="url(#b)">
+ <rect fill-opacity="0.8" height="128" width="128"/>
+ </g>
+ </mask>
+ <linearGradient id="o" gradientTransform="matrix(0 0.37 -0.98462 0 295.38501 -30.360001)"
gradientUnits="userSpaceOnUse" x1="300" x2="428" y1="235" y2="235">
+ <stop offset="0" stop-color="#f9f06b"/>
+ <stop offset="1" stop-color="#f5c211"/>
+ </linearGradient>
+ <clipPath id="p">
+ <rect height="128" width="128"/>
+ </clipPath>
+ <clipPath id="q">
+ <rect height="128" width="128"/>
+ </clipPath>
+ </defs>
+ <path d="m 24 28 v 92 h 72 c 4.433594 0 8 -3.566406 8 -8 v -76 c 0 -4.433594 -3.566406 -8 -8 -8 z m 0 0"
fill="#26a269"/>
+ <path d="m 26 48 v 70 h 70 c 4.433594 0 8 -3.566406 8 -8 v -54 c 0 -4.433594 -3.566406 -8 -8 -8 z m 0 0"
fill="url(#a)"/>
+ <path d="m 24 16 v 66 h 72 c 4.433594 0 8 -3.566406 8 -8 v -50 c 0 -4.433594 -3.566406 -8 -8 -8 z m 0 0"
fill="#26a269"/>
+ <path d="m 24 8 v 72 h 72 c 4.433594 0 8 -3.566406 8 -8 v -56 c 0 -4.433594 -3.566406 -8 -8 -8 z m 0 0"
fill="#2ec27e"/>
+ <path d="m 24 20.125 h 80 v 48 h -80 z m 0 0" fill="#57e389"/>
+ <use mask="url(#c)" xlink:href="#g"/>
+ <use mask="url(#d)" xlink:href="#j"/>
+ <path d="m 32 88.125 h 16 v 20 l -8 -7 l -8 7 z m 0 0" fill="#ed333b"/>
+ <path d="m 49.96875 44.40625 c -0.878906 0 -1.160156 -0.121094 -1.039062 -0.519531 l 3.558593 -8.960938
h 0.28125 l 3.28125 9.480469 z m -4.320312 8.160156 l 2.121093 -5.5625 c 0.199219 -0.519531 0.441407
-0.679687 1.398438 -0.679687 h 7.601562 l 2.238281 6.519531 c 0.5625 1.640625 -1.078124 1.480469 -2.957031
1.601562 c -0.242187 0.238282 -0.242187 1.121094 0 1.359376 c 1.480469 -0.039063 5.277344 -0.078126 6.839844
-0.078126 c 1.640625 0 3.878906 0.039063 5.359375 0.078126 c 0.238281 -0.238282 0.238281 -1.121094 0
-1.359376 c -1.558594 -0.121093 -2.878906 -0.121093 -3.601562 -2.160156 l -8.238282 -22.878906 c -0.601562
0.359375 -3 1.757812 -4.441406 1.757812 l -8.640625 20.480469 c -1.039063 2.480469 -2.277344 2.679688 -4
2.800781 c -0.238281 0.238282 -0.238281 1.121094 0 1.359376 c 1.480469 -0.039063 2.203125 -0.078126 3.761719
-0.078126 c 1.640625 0 3.839844 0.039063 5.320312 0.078126 c 0.238282 -0.238282 0.238282 -1.121094 0
-1.359376 c -1.519531 -0.082031 -3.402344 -0.2421
87 -2.761718 -1.878906 z m 0 0" fill="#1f8455"/>
+ <path d="m 79.992188 53.804688 c 0.277343 1.601562 1.359374 2.320312 3.117187 2.320312 c 2.199219 0
3.761719 -0.839844 5.242187 -2.238281 c -0.121093 -0.441407 -0.28125 -0.761719 -0.722656 -1.121094 c
-0.519531 0.398437 -0.917968 0.558594 -1.679687 0.558594 c -0.878907 0 -1.117188 -0.71875 -1.117188 -2.679688
l 0.078125 -5.757812 c 0 -5.761719 -3.558594 -6.921875 -6.839844 -6.921875 c -2.921874 0 -7.441406 1.679687
-7.441406 4.320312 c 0 1.160156 0.480469 2.039063 2.082032 2.039063 c 1.398437 0 2.480468 -0.878907 2.480468
-1.878907 c 0 -0.519531 -0.28125 -1.199218 -0.199218 -1.878906 c 0.078124 -0.441406 0.359374 -0.921875
1.71875 -0.921875 c 1.679687 0 3.078124 0.71875 3.078124 5.800781 l -2.679687 0.839844 c -4.238281 1.320313
-7.160156 2.480469 -7.160156 5.640625 c 0 2.757813 1.519531 4.199219 5 4.199219 c 1.160156 0 3.480469
-1.28125 4.800781 -2.320312 z m -0.203126 -6.800782 v 5.28125 c -1 0.800782 -2 1.441406 -2.71875 1.441406 c
-1.71875 0 -2.320312 -1.160156 -2.320312 -2.
402343 c 0 -1.480469 0.121094 -2.679688 2.960938 -3.640625 z m 0 0" fill="#1f8455"/>
+ <g clip-path="url(#q)" mask="url(#m)">
+ <g clip-path="url(#p)" mask="url(#n)">
+ <path d="m 128 80.640625 v 47.359375 h -128 v -47.359375 z m 0 0" fill="url(#o)"/>
+ <path d="m 13.308594 80.640625 l 47.355468 47.359375 h 21.214844 l -47.359375 -47.359375 z m
42.421875 0 l 47.363281 47.359375 h 21.214844 l -47.363282 -47.359375 z m 42.429687 0 l 29.839844 29.839844 v
-21.210938 l -8.628906 -8.628906 z m -98.160156 7.90625 v 21.214844 l 18.238281 18.238281 h 21.214844 z m 0
0"/>
+ </g>
+ </g>
+</svg>
diff --git a/data/meson.build b/data/meson.build
index 813ff7a..a143741 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -1,6 +1,13 @@
+desktop_conf = configuration_data()
+desktop_conf.set('icon', application_id)
+desktop_conf.set('application_id', application_id)
i18n.merge_file('desktop',
- input: 'org.gnome.Dictionary.desktop.in',
- output: 'org.gnome.Dictionary.desktop',
+ input: configure_file(
+ input: 'org.gnome.Dictionary.desktop.in.in',
+ output: 'org.gnome.Dictionary.desktop.in',
+ configuration: desktop_conf,
+ ),
+ output: application_id + '.desktop',
install: true,
install_dir: gdict_datadir / 'applications',
po_dir: po_dir,
@@ -11,14 +18,20 @@ desktop_file_validate = find_program('desktop-file-validate', required: false)
if desktop_file_validate.found()
test('validate-desktop',
desktop_file_validate,
- args: 'org.gnome.Dictionary.desktop',
+ args: application_id + '.desktop',
workdir: meson.current_build_dir(),
)
endif
+appdata_conf = configuration_data()
+appdata_conf.set('application_id', application_id)
i18n.merge_file('appdata',
- input: 'org.gnome.Dictionary.appdata.xml.in',
- output: 'org.gnome.Dictionary.appdata.xml',
+ input: configure_file(
+ input: 'org.gnome.Dictionary.appdata.xml.in.in',
+ output: 'org.gnome.Dictionary.appdata.xml.in',
+ configuration: appdata_conf,
+ ),
+ output: application_id + '.appdata.xml',
install: true,
install_dir: gdict_datadir / 'metainfo',
po_dir: po_dir,
@@ -28,15 +41,16 @@ appstream_util = find_program('appstream-util', required: false)
if appstream_util.found()
test('validate-appdata',
appstream_util,
- args: [ 'validate', '--nonet', 'org.gnome.Dictionary.appdata.xml' ],
+ args: [ 'validate', '--nonet', application_id + '.appdata.xml' ],
workdir: meson.current_build_dir(),
)
endif
service_conf = configuration_data ()
service_conf.set('bindir', gdict_bindir)
+service_conf.set('application_id', application_id)
configure_file(input: 'org.gnome.Dictionary.service.in',
- output: 'org.gnome.Dictionary.service',
+ output: application_id + '.service',
configuration: service_conf,
install_dir: gdict_servicedir,
)
diff --git a/data/org.gnome.Dictionary.appdata.xml.in b/data/org.gnome.Dictionary.appdata.xml.in.in
similarity index 95%
rename from data/org.gnome.Dictionary.appdata.xml.in
rename to data/org.gnome.Dictionary.appdata.xml.in.in
index 6ab2abd..4adfa79 100644
--- a/data/org.gnome.Dictionary.appdata.xml.in
+++ b/data/org.gnome.Dictionary.appdata.xml.in.in
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
- <id>org.gnome.Dictionary.desktop</id>
+ <id>@application_id@</id>
<metadata_license>CC0-1.0</metadata_license>
- <project_license>GPL-3.0+ AND LGPL-2.0+ AND GFDL-1.3</project_license>
+ <project_license>GPL-2.0+ AND LGPL-2.0+ AND GFDL-1.3</project_license>
<name>GNOME Dictionary</name>
<summary>Check word definitions and spellings in an online dictionary</summary>
<description>
@@ -14,7 +14,7 @@
needs.
</p>
</description>
- <url type="homepage">https://wiki.gnome.org/Dictionary</url>
+ <url type="homepage">https://wiki.gnome.org/Apps/Dictionary</url>
<url type="bugtracker">https://gitlab.gnome.org/GNOME/gnome-dictionary/issues</url>
<url type="donation">http://www.gnome.org/friends/</url>
<url type="help">https://help.gnome.org/users/gnome-dictionary/stable/</url>
diff --git a/data/org.gnome.Dictionary.desktop.in b/data/org.gnome.Dictionary.desktop.in.in
similarity index 95%
rename from data/org.gnome.Dictionary.desktop.in
rename to data/org.gnome.Dictionary.desktop.in.in
index 3694979..d1c97ae 100644
--- a/data/org.gnome.Dictionary.desktop.in
+++ b/data/org.gnome.Dictionary.desktop.in.in
@@ -7,7 +7,7 @@ Exec=gnome-dictionary
Terminal=false
Type=Application
# Translators: Do NOT translate or transliterate this text (this is an icon file name)!
-Icon=org.gnome.Dictionary
+Icon=@application_id@
StartupNotify=true
Categories=GNOME;GTK;Office;Dictionary;
NotShowIn=KDE;
diff --git a/data/org.gnome.Dictionary.service.in b/data/org.gnome.Dictionary.service.in
index e33fc01..9bf55d3 100644
--- a/data/org.gnome.Dictionary.service.in
+++ b/data/org.gnome.Dictionary.service.in
@@ -1,3 +1,3 @@
[D-BUS Service]
-Name=org.gnome.Dictionary
+Name=@application_id@
Exec=@bindir@/gnome-dictionary --gapplication-service
diff --git a/libgdict/meson.build b/libgdict/meson.build
index ce07079..18bd715 100644
--- a/libgdict/meson.build
+++ b/libgdict/meson.build
@@ -45,8 +45,8 @@ libgdict_marshal = gnome.genmarshal('gdict-marshal',
libgdict_version = meson.project_version().split('.')
libgdict_major = libgdict_version[0].to_int()
-libgdict_minor = libgdict_version[1].to_int()
-libgdict_micro = libgdict_version[2].to_int()
+libgdict_minor = libgdict_version[1] in ['alpha', 'beta', 'rc'] ? 0 : libgdict_version[1].to_int()
+libgdict_micro = 0
libgdict_cflags = [
'-D_GNU_SOURCE',
diff --git a/meson.build b/meson.build
index 9a3d52d..3be6c46 100644
--- a/meson.build
+++ b/meson.build
@@ -1,4 +1,4 @@
-project('gnome-dictionary', 'c', version: '3.26.2',
+project('gnome-dictionary', 'c', version: '40.alpha',
default_options: [
'buildtype=debugoptimized',
'c_std=c99',
@@ -7,6 +7,10 @@ project('gnome-dictionary', 'c', version: '3.26.2',
license: 'GPLv2+',
meson_version: '>= 0.54.0')
+gdict_version = meson.project_version().split('.')
+gdict_major_version = gdict_version[0].to_int()
+gdict_minor_version = gdict_version[1]
+
# Paths for the pkg-config file
gdict_prefix = get_option('prefix')
gdict_bindir = gdict_prefix / get_option('bindir')
@@ -70,11 +74,18 @@ endif
common_cflags = cc.get_supported_arguments(test_cflags)
+profile = get_option('profile')
debug = get_option('debug')
optimization = get_option('optimization')
buildtype = get_option('buildtype')
debug_cflags = []
+if profile == 'devel' or gdict_minor_version in ['alpha', 'beta', 'rc']
+ application_id = 'org.gnome.Dictionary.Devel'
+else
+ application_id = 'org.gnome.Dictionary'
+endif
+
if debug
debug_cflags += '-DGDICT_ENABLE_DEBUG'
elif optimization in ['2', '3', 's']
diff --git a/meson_options.txt b/meson_options.txt
index 4c1b206..9d1a5dd 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,2 +1,3 @@
option('use_ipv6', type: 'boolean', value: true, description: 'Enable IPv6 support')
option('build_man', type: 'boolean', value: true, description: 'Generate man page (requires xsltproc)')
+option('profile', type: 'combo', choices: ['stable', 'devel'], value: 'stable', description: 'The build
profile')
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 15574ac..95ada05 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -1,8 +1,8 @@
# List of source files containing translatable strings.
# Please keep this file sorted alphabetically.
data/default.desktop.in
-data/org.gnome.Dictionary.appdata.xml.in
-data/org.gnome.Dictionary.desktop.in
+data/org.gnome.Dictionary.appdata.xml.in.in
+data/org.gnome.Dictionary.desktop.in.in
data/org.gnome.dictionary.gschema.xml
data/spanish.desktop.in
data/thai.desktop.in
diff --git a/src/gdict-about.c b/src/gdict-about.c
index 689ca7c..3125487 100644
--- a/src/gdict-about.c
+++ b/src/gdict-about.c
@@ -28,6 +28,7 @@
#include <gdk-pixbuf/gdk-pixbuf.h>
#include "gdict-about.h"
+#include "gdict-common.h"
void
gdict_show_about_dialog (GtkWidget *parent)
@@ -49,21 +50,23 @@ gdict_show_about_dialog (GtkWidget *parent)
};
const gchar *translator_credits = _("translator-credits");
- const gchar *copyright = "Copyright \xc2\xa9 2005-2006 Emmanuele Bassi";
+ const gchar *copyright = "Copyright \xc2\xa9 2005 Emmanuele Bassi";
const gchar *comments = _("Look up words in dictionaries");
- g_return_if_fail (GTK_IS_WIDGET (parent));
+ g_return_if_fail (GTK_IS_WINDOW (parent));
- gtk_show_about_dialog (GTK_IS_WINDOW (parent) ? GTK_WINDOW (parent) : NULL,
- "program-name", _("Dictionary"),
- "version", VERSION,
- "copyright", copyright,
- "comments", comments,
- "authors", authors,
- "documenters", documenters,
- "translator-credits", translator_credits,
- "logo-icon-name", "org.gnome.Dictionary",
- "license-type", GTK_LICENSE_GPL_2_0,
- "screen", gtk_widget_get_screen (parent),
- NULL);
+ gtk_show_about_dialog (GTK_WINDOW (parent),
+ "program-name",
+ gdict_is_devel_build ()
+ ? _("Dictionary (development build)")
+ : _("Dictionary"),
+ "version", VERSION,
+ "copyright", copyright,
+ "comments", comments,
+ "authors", authors,
+ "documenters", documenters,
+ "translator-credits", translator_credits,
+ "logo-icon-name", APPLICATION_ID,
+ "license-type", GTK_LICENSE_GPL_2_0,
+ NULL);
}
diff --git a/src/gdict-app.c b/src/gdict-app.c
index 4189f88..12021f2 100644
--- a/src/gdict-app.c
+++ b/src/gdict-app.c
@@ -365,14 +365,14 @@ gdict_app_init (GdictApp *app)
g_application_add_main_option_entries (G_APPLICATION (app), gdict_app_goptions);
/* Set main application icon */
- gtk_window_set_default_icon_name ("org.gnome.Dictionary");
+ gtk_window_set_default_icon_name (APPLICATION_ID);
}
GApplication *
gdict_app_new (void)
{
return g_object_new (gdict_app_get_type (),
- "application-id", "org.gnome.Dictionary",
+ "application-id", APPLICATION_ID,
"resource-base-path", "/org/gnome/Dictionary",
"flags", G_APPLICATION_HANDLES_COMMAND_LINE,
NULL);
diff --git a/src/gdict-common.c b/src/gdict-common.c
index c9c788f..ad2e77a 100644
--- a/src/gdict-common.c
+++ b/src/gdict-common.c
@@ -241,3 +241,13 @@ gdict_show_gerror_dialog (GtkWindow *parent,
g_error_free (error);
error = NULL;
}
+
+gboolean
+gdict_is_devel_build (void)
+{
+#ifdef DEVELOPMENT_BUILD
+ return TRUE;
+#else
+ return FALSE;
+#endif
+}
diff --git a/src/gdict-common.h b/src/gdict-common.h
index 234ab1d..c9a646d 100644
--- a/src/gdict-common.h
+++ b/src/gdict-common.h
@@ -25,7 +25,7 @@
G_BEGIN_DECLS
-gchar * gdict_get_data_dir (void) G_GNUC_MALLOC;
+gchar * gdict_get_data_dir (void) G_GNUC_MALLOC;
gchar * gdict_get_old_data_dir (void) G_GNUC_MALLOC;
gchar * gdict_get_config_dir (void) G_GNUC_MALLOC;
@@ -39,6 +39,8 @@ void gdict_show_gerror_dialog (GtkWindow *parent,
const gchar *message,
GError *error);
+gboolean gdict_is_devel_build (void);
+
G_END_DECLS
#endif /* __GDICT_COMMON_H__ */
diff --git a/src/main.c b/src/main.c
index c7e36e6..da855f6 100644
--- a/src/main.c
+++ b/src/main.c
@@ -34,7 +34,7 @@ main (int argc, char *argv[])
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
- g_set_prgname ("gnome-dictionary");
+ g_set_prgname (APPLICATION_ID);
if (!gdict_create_config_dir ())
exit (1);
diff --git a/src/meson.build b/src/meson.build
index 8823968..915331a 100644
--- a/src/meson.build
+++ b/src/meson.build
@@ -17,18 +17,27 @@ resources = gnome.compile_resources ('gdict-resources',
c_name: 'gdict',
)
+gdict_cflags = [
+ '-DPREFIX="@0@"'.format(gdict_prefix),
+ '-DSYSCONFDIR="@0@"'.format(gdict_sysconfdir),
+ '-DLIBDIR="@0@"'.format(gdict_libdir),
+ '-DDATADIR="@0@"'.format(gdict_datadir),
+ '-DPKGDATADIR="@0@"'.format(join_paths(gdict_datadir, 'gnome-dictionary')),
+ '-DGNOMELOCALEDIR="@0@"'.format(join_paths(gdict_datadir, 'locale')),
+ '-DAPPLICATION_ID="@0@"'.format(application_id),
+]
+
+if profile == 'devel' or gdict_minor_version in ['alpha', 'beta', 'rc']
+ gdict_cflags += [
+ '-DDEVELOPMENT_BUILD',
+ ]
+endif
+
mathlib = cc.find_library('m', required: false)
executable('gnome-dictionary',
sources: app_sources + resources,
- c_args: [
- '-DPREFIX="@0@"'.format(gdict_prefix),
- '-DSYSCONFDIR="@0@"'.format(gdict_sysconfdir),
- '-DLIBDIR="@0@"'.format(gdict_libdir),
- '-DDATADIR="@0@"'.format(gdict_datadir),
- '-DPKGDATADIR="@0@"'.format(join_paths(gdict_datadir, 'gnome-dictionary')),
- '-DGNOMELOCALEDIR="@0@"'.format(join_paths(gdict_datadir, 'locale')),
- ],
+ c_args: gdict_cflags,
dependencies: [ libgdict_dep, mathlib ],
include_directories: root_inc,
install: true,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]