nixpkgs/pkgs/desktops/pantheon/granite/02-datetime-clock-format-gsettings.patch
2019-02-16 05:13:35 -05:00

129 lines
4 KiB
Diff

From 61e0d02c054367007e156c9ac3a084dbd6de8278 Mon Sep 17 00:00:00 2001
From: Fabio Valentini <decathorpe@gmail.com>
Date: Fri, 15 Feb 2019 13:53:11 +0100
Subject: [PATCH] DateTime: include "clock-format" gsettings key here
---
data/io.elementary.granite.gschema.xml | 15 +++++++++++++++
data/meson.build | 4 ++++
lib/DateTime.vala | 4 ++--
meson.build | 11 +++++++++++
meson/post_install.py | 5 +++++
5 files changed, 37 insertions(+), 2 deletions(-)
create mode 100644 data/io.elementary.granite.gschema.xml
create mode 100644 data/meson.build
diff --git a/data/io.elementary.granite.gschema.xml b/data/io.elementary.granite.gschema.xml
new file mode 100644
index 0000000..1540fb0
--- /dev/null
+++ b/data/io.elementary.granite.gschema.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<schemalist>
+ <enum id="io.elementary.granite.clock-formats">
+ <value nick="12h" value="0" />
+ <value nick="24h" value="1" />
+ <value nick="ISO8601" value="2" />
+ </enum>
+ <schema id="io.elementary.granite" path="/io/elementary/granite/">
+ <key name="clock-format" enum="io.elementary.granite.clock-formats">
+ <default>"12h"</default>
+ <summary>Whether the clock displays in 12h or 24h format</summary>
+ <description>Whether the clock displays in 12h or 24h format</description>
+ </key>
+ </schema>
+</schemalist>
diff --git a/data/meson.build b/data/meson.build
new file mode 100644
index 0000000..96cc3b1
--- /dev/null
+++ b/data/meson.build
@@ -0,0 +1,4 @@
+install_data(
+ rdnn + '.gschema.xml',
+ install_dir: schema_dir
+)
diff --git a/lib/DateTime.vala b/lib/DateTime.vala
index 2069e1f..5e9075d 100644
--- a/lib/DateTime.vala
+++ b/lib/DateTime.vala
@@ -104,13 +104,13 @@ namespace Granite.DateTime {
}
/**
- * Gets the //clock-format// key from //org.gnome.desktop.interface// schema
+ * Gets the //clock-format// key from //io.elementary.granite// schema
* and determines if the clock format is 12h based
*
* @return true if the clock format is 12h based, false otherwise.
*/
private static bool is_clock_format_12h () {
- var h24_settings = new Settings ("io.elementary.desktop.wingpanel.datetime");
+ var h24_settings = new Settings ("io.elementary.granite");
var format = h24_settings.get_string ("clock-format");
return (format.contains ("12h"));
}
diff --git a/meson.build b/meson.build
index 8c886be..5f95055 100644
--- a/meson.build
+++ b/meson.build
@@ -5,6 +5,8 @@ project(
version: '5.2.3'
)
+rdnn = 'io.elementary.' + meson.project_name()
+
if meson.get_compiler('vala').version().version_compare('<0.40.0')
error('vala compiler version 0.40.0 or newer is required.')
endif
@@ -53,10 +55,18 @@ icons_dir = join_paths(
'hicolor'
)
+schema_dir = join_paths(
+ get_option('prefix'),
+ get_option('datadir'),
+ 'glib-2.0',
+ 'schemas'
+)
+
pkgconfig = import('pkgconfig')
i18n = import('i18n')
subdir('lib')
+subdir('data')
subdir('demo')
subdir('icons')
subdir('po')
@@ -69,5 +79,6 @@ endif
meson.add_install_script(
join_paths(meson.current_source_dir(), 'meson', 'post_install.py'),
'--iconsdir', icons_dir,
+ '--schemadir', schema_dir,
)
diff --git a/meson/post_install.py b/meson/post_install.py
index 1864515..5313f96 100755
--- a/meson/post_install.py
+++ b/meson/post_install.py
@@ -6,11 +6,16 @@ import subprocess
parser = argparse.ArgumentParser()
parser.add_argument("--iconsdir", action="store", required=True)
+parser.add_argument("--schemadir", action="store", required=True)
args = vars(parser.parse_args())
icons_dir = args["iconsdir"]
+schema_dir = args["schemadir"]
if not os.environ.get('DESTDIR'):
print('Compiling icon cache ...')
subprocess.run(['gtk-update-icon-cache', icons_dir])
+ print('Compiling GSettings schemas ...')
+ subprocess.run(['glib-compile-schemas', schema_dir])
+
--
2.20.1