384 lines
12 KiB
Diff
384 lines
12 KiB
Diff
Description: Port to GSettings.
|
|
Bug-Debian: https://bugs.debian.org/885817
|
|
Author: Yavor Doganov <yavor@gnu.org>
|
|
Forwarded: gnomint-devel@lists.sourceforge.net
|
|
Last-Update: 2019-10-15
|
|
---
|
|
|
|
--- gnomint-1.3.0.orig/configure.ac
|
|
+++ gnomint-1.3.0/configure.ac
|
|
@@ -61,7 +61,6 @@
|
|
GNUTLS_ADVANCED_FEATURES_MINIMUM_VERSION=2.7.4
|
|
SQLITE_REQUIRED=3.0
|
|
GLIB_REQUIRED=2.6.0
|
|
-GCONF_REQUIRED=2.0
|
|
GTK_REQUIRED=2.12.0
|
|
ISO_CODES_REQUIRED=0.35
|
|
|
|
@@ -84,7 +83,6 @@
|
|
PKG_CHECK_MODULES(GNOMINT,
|
|
glib-2.0 >= $GLIB_REQUIRED \
|
|
gthread-2.0 >= $GLIB_REQUIRED \
|
|
- gconf-2.0 >= $GCONF_REQUIRED \
|
|
gtk+-2.0 >= $GTK_REQUIRED \
|
|
gdk-pixbuf-2.0 \
|
|
gnutls >= $GNUTLS_REQUIRED \
|
|
@@ -111,8 +109,7 @@
|
|
AC_SUBST(READLINE_LIBS)
|
|
|
|
PKG_CHECK_MODULES(GNOMINTCLI,
|
|
- glib-2.0 >= $GLIB_REQUIRED \
|
|
- gconf-2.0 >= $GCONF_REQUIRED \
|
|
+ gio-2.0 >= $GLIB_REQUIRED \
|
|
gnutls >= $GNUTLS_REQUIRED \
|
|
)
|
|
AC_SUBST(GNOMINTCLI_CFLAGS)
|
|
@@ -150,17 +147,7 @@
|
|
GLIB_GENMARSHAL=`$PKG_CONFIG --variable=glib_genmarshal glib-2.0`
|
|
AC_SUBST(GLIB_GENMARSHAL)
|
|
|
|
-dnl The following conditional is set in AM_GCONF_SOURCE_2.
|
|
-dnl Because we may skip its execution, we have to set a default here.
|
|
-m4_pattern_allow([^AM_GCONF_SOURCE_2$])
|
|
-AM_CONDITIONAL([GCONF_SCHEMAS_INSTALL], [false])
|
|
-GCONFTOOL=""
|
|
-AC_CHECK_PROG(GCONFTOOL, gconftool-2, gconftool-2)
|
|
-if test x"$GCONFTOOL" = x; then
|
|
- AC_MSG_ERROR([gconftool-2 executable not found in your path - should be installed with GConf])
|
|
-fi
|
|
-AM_GCONF_SOURCE_2
|
|
-
|
|
+GLIB_GSETTINGS
|
|
|
|
dnl
|
|
dnl Check if src should be build with the debug mode
|
|
--- gnomint-1.3.0.orig/gconf/Makefile.am
|
|
+++ gnomint-1.3.0/gconf/Makefile.am
|
|
@@ -1,21 +1,5 @@
|
|
-schemasdir = @GCONF_SCHEMA_FILE_DIR@
|
|
-schemas_in_files = gnomint.schemas.in
|
|
-schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
|
|
+gsettings_SCHEMAS = net.sf.gnomint.gschema.xml
|
|
|
|
-@INTLTOOL_SCHEMAS_RULE@
|
|
+@GSETTINGS_RULES@
|
|
|
|
-EXTRA_DIST = $(schemas_in_files)
|
|
-
|
|
-CLEANFILES = $(schemas_DATA)
|
|
-
|
|
-if GCONF_SCHEMAS_INSTALL
|
|
-# don't do this if we are building in eg. rpm
|
|
-install-data-local: $(schemas_DATA)
|
|
- if test -z "$(DESTDIR)" ; then \
|
|
- for p in $(schemas_DATA) ; do \
|
|
- GCONF_CONFIG_SOURCE=$(GCONF_SCHEMA_CONFIG_SOURCE) $(GCONFTOOL) --makefile-install-rule $$p; \
|
|
- done \
|
|
- fi
|
|
-else
|
|
-install-data-local:
|
|
-endif
|
|
+EXTRA_DIST = $(gsettings_SCHEMAS)
|
|
--- gnomint-1.3.0.orig/src/preferences-gui.h
|
|
+++ gnomint-1.3.0/src/preferences-gui.h
|
|
@@ -20,6 +20,8 @@
|
|
#ifndef _PREFERENCES_H_
|
|
#define _PREFERENCES_H_
|
|
|
|
+#include <gio/gio.h>
|
|
+
|
|
typedef void (* PreferencesGuiChangeCallback) (gboolean, gboolean);
|
|
|
|
void preferences_gui_set_csr_visible_callback (PreferencesGuiChangeCallback callback);
|
|
@@ -43,10 +45,8 @@
|
|
void preferences_deinit (void);
|
|
|
|
|
|
-#include <gconf/gconf-client.h>
|
|
-void preferences_changed_callback(GConfClient* client,
|
|
- guint cnxn_id,
|
|
- GConfEntry *entry,
|
|
+void preferences_changed_callback(GSettings* settings,
|
|
+ gchar *key,
|
|
gpointer user_data);
|
|
|
|
|
|
--- gnomint-1.3.0.orig/src/preferences-gui.c
|
|
+++ gnomint-1.3.0/src/preferences-gui.c
|
|
@@ -18,7 +18,6 @@
|
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
#include <string.h>
|
|
-#include <gconf/gconf-client.h>
|
|
|
|
|
|
#include "preferences-gui.h"
|
|
@@ -26,7 +25,7 @@
|
|
#include <glib/gi18n.h>
|
|
|
|
|
|
-static GConfClient * preferences_client;
|
|
+static GSettings * preferences;
|
|
|
|
PreferencesGuiChangeCallback csr_visible_callback = NULL;
|
|
PreferencesGuiChangeCallback revoked_visible_callback = NULL;
|
|
@@ -42,18 +41,19 @@
|
|
}
|
|
|
|
|
|
-void preferences_changed_callback(GConfClient* client,
|
|
- guint cnxn_id,
|
|
- GConfEntry *entry,
|
|
+void preferences_changed_callback(GSettings* settings,
|
|
+ gchar *key,
|
|
gpointer user_data)
|
|
{
|
|
|
|
- gboolean value = gconf_value_get_bool (gconf_entry_get_value(entry));
|
|
- if (! strcmp (gconf_entry_get_key(entry), "/apps/gnomint/crq_visible") && csr_visible_callback)
|
|
- csr_visible_callback (value, TRUE);
|
|
-
|
|
- if (! strcmp (gconf_entry_get_key(entry), "/apps/gnomint/revoked_visible") && revoked_visible_callback)
|
|
- revoked_visible_callback (value, TRUE);
|
|
+ if (! strcmp (key, "crq-visible") && csr_visible_callback)
|
|
+ csr_visible_callback (g_settings_get_boolean (settings, key),
|
|
+ TRUE);
|
|
+
|
|
+ if (! strcmp (key, "revoked-visible") && revoked_visible_callback)
|
|
+ revoked_visible_callback (g_settings_get_boolean
|
|
+ (settings, key),
|
|
+ TRUE);
|
|
|
|
}
|
|
|
|
@@ -61,72 +61,62 @@
|
|
|
|
void preferences_init (int argc, char ** argv)
|
|
{
|
|
- gconf_init(argc, argv, NULL);
|
|
-
|
|
- preferences_client = gconf_client_get_default();
|
|
-
|
|
- gconf_client_add_dir(preferences_client,
|
|
- "/apps/gnomint",
|
|
- GCONF_CLIENT_PRELOAD_NONE,
|
|
- NULL);
|
|
-
|
|
- gconf_client_notify_add (preferences_client, "/apps/gnomint/revoked_visible",
|
|
- preferences_changed_callback,
|
|
- NULL, NULL, NULL);
|
|
-
|
|
- gconf_client_notify_add (preferences_client, "/apps/gnomint/crq_visible",
|
|
- preferences_changed_callback,
|
|
- NULL, NULL, NULL);
|
|
-
|
|
+ preferences = g_settings_new ("net.sf.gnomint");
|
|
|
|
+ g_signal_connect (preferences, "changed",
|
|
+ G_CALLBACK (preferences_changed_callback), NULL);
|
|
}
|
|
|
|
|
|
gchar * preferences_get_size ()
|
|
{
|
|
- return gconf_client_get_string (preferences_client, "/apps/gnomint/size", NULL);
|
|
+ return g_settings_get_string (preferences, "size");
|
|
}
|
|
|
|
void preferences_set_size (const gchar *new_value)
|
|
{
|
|
- gconf_client_set_string (preferences_client, "/apps/gnomint/size", new_value, NULL);
|
|
+ g_settings_set_string (preferences, "size", new_value);
|
|
+ /* Make sure the backend manages to write the setting,
|
|
+ otherwise the program exits too quickly and a garbage value
|
|
+ gets written, leading to a crash on next startup. */
|
|
+ g_settings_sync ();
|
|
}
|
|
|
|
|
|
gboolean preferences_get_revoked_visible ()
|
|
{
|
|
- return gconf_client_get_bool (preferences_client, "/apps/gnomint/revoked_visible", NULL);
|
|
+ return g_settings_get_boolean (preferences, "revoked-visible");
|
|
}
|
|
|
|
void preferences_set_revoked_visible (gboolean new_value)
|
|
{
|
|
- gconf_client_set_bool (preferences_client, "/apps/gnomint/revoked_visible", new_value, NULL);
|
|
+ g_settings_set_boolean (preferences, "revoked-visible", new_value);
|
|
}
|
|
|
|
gboolean preferences_get_crq_visible ()
|
|
{
|
|
- return gconf_client_get_bool (preferences_client, "/apps/gnomint/crq_visible", NULL);
|
|
+ return g_settings_get_boolean (preferences, "crq-visible");
|
|
}
|
|
|
|
void preferences_set_crq_visible (gboolean new_value)
|
|
{
|
|
- gconf_client_set_bool (preferences_client, "/apps/gnomint/crq_visible", new_value, NULL);
|
|
+ g_settings_set_boolean (preferences, "crq-visible", new_value);
|
|
}
|
|
|
|
gboolean preferences_get_gnome_keyring_export ()
|
|
{
|
|
- return gconf_client_get_bool (preferences_client, "/apps/gnomint/gnome_keyring_export", NULL);
|
|
+ return g_settings_get_boolean (preferences, "gnome-keyring-export");
|
|
}
|
|
|
|
void preferences_set_gnome_keyring_export (gboolean new_value)
|
|
{
|
|
- gconf_client_set_bool (preferences_client, "/apps/gnomint/gnome_keyring_export", new_value, NULL);
|
|
+ g_settings_set_boolean (preferences, "gnome-keyring-export", new_value);
|
|
}
|
|
|
|
|
|
void preferences_deinit ()
|
|
{
|
|
- g_object_unref (preferences_client);
|
|
- preferences_client = NULL;
|
|
+ g_object_unref (preferences);
|
|
+ preferences = NULL;
|
|
}
|
|
|
|
--- gnomint-1.3.0.orig/src/preferences.c
|
|
+++ gnomint-1.3.0/src/preferences.c
|
|
@@ -18,36 +18,35 @@
|
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
|
|
#include <libintl.h>
|
|
-#include <gconf/gconf-client.h>
|
|
+#include <gio/gio.h>
|
|
|
|
#include <glib/gi18n.h>
|
|
|
|
#include "preferences.h"
|
|
|
|
|
|
-static GConfEngine * preferences_engine;
|
|
+static GSettings * preferences;
|
|
|
|
void preferences_init (int argc, char **argv)
|
|
{
|
|
- gconf_init (argc, argv, NULL);
|
|
- preferences_engine = gconf_engine_get_default ();
|
|
+ preferences = g_settings_new ("net.sf.gnomint");
|
|
}
|
|
|
|
|
|
gboolean preferences_get_gnome_keyring_export ()
|
|
{
|
|
- return gconf_engine_get_bool (preferences_engine, "/apps/gnomint/gnome_keyring_export", NULL);
|
|
+ return g_settings_get_boolean (preferences, "gnome-keyring-export");
|
|
}
|
|
|
|
void preferences_set_gnome_keyring_export (gboolean new_value)
|
|
{
|
|
- gconf_engine_set_bool (preferences_engine, "/apps/gnomint/gnome_keyring_export", new_value, NULL);
|
|
+ g_settings_set_boolean (preferences, "gnome-keyring-export", new_value);
|
|
}
|
|
|
|
|
|
void preferences_deinit ()
|
|
{
|
|
- gconf_engine_unref (preferences_engine);
|
|
- preferences_engine = NULL;
|
|
+ g_object_unref (preferences);
|
|
+ preferences = NULL;
|
|
}
|
|
|
|
--- gnomint-1.3.0.orig/gconf/gnomint.schemas.in
|
|
+++ /dev/null
|
|
@@ -1,58 +0,0 @@
|
|
-<gconfschemafile>
|
|
- <schemalist>
|
|
- <schema>
|
|
- <key>/schemas/apps/gnomint/size</key>
|
|
- <applyto>/apps/gnomint/size</applyto>
|
|
- <owner>gnomint</owner>
|
|
- <type>string</type>
|
|
- <default>(500,400)</default>
|
|
- <locale name="C">
|
|
- <short>Window size</short> <long>The (width,length) size
|
|
- gnoMint should take when started. This cannot be smaller than
|
|
- (320,200).
|
|
- </long>
|
|
- </locale>
|
|
- </schema>
|
|
-
|
|
- <schema>
|
|
- <key>/schemas/apps/gnomint/revoked_visible</key>
|
|
- <applyto>/apps/gnomint/revoked_visible</applyto>
|
|
- <owner>gnomint</owner>
|
|
- <type>bool</type>
|
|
- <default>0</default>
|
|
- <locale name="C">
|
|
- <short>Revoked certificates visibility</short>
|
|
- <long>Whether the revoked certificates should be visible.
|
|
- </long>
|
|
- </locale>
|
|
- </schema>
|
|
-
|
|
- <schema>
|
|
- <key>/schemas/apps/gnomint/crq_visible</key>
|
|
- <applyto>/apps/gnomint/crq_visible</applyto>
|
|
- <owner>gnomint</owner>
|
|
- <type>bool</type>
|
|
- <default>1</default>
|
|
- <locale name="C">
|
|
- <short>Certificate requests visibility</short>
|
|
- <long>Whether the certificate requests should be visible.
|
|
- </long>
|
|
- </locale>
|
|
- </schema>
|
|
-
|
|
- <schema>
|
|
- <key>/schemas/apps/gnomint/gnome_keyring_export</key>
|
|
- <applyto>/apps/gnomint/gnome_keyring_export</applyto>
|
|
- <owner>gnomint</owner>
|
|
- <type>bool</type>
|
|
- <default>1</default>
|
|
- <locale name="C">
|
|
- <short>Automatic exporting of certificates for gnome-keyring</short>
|
|
- <long>Whether the created or imported certificates are
|
|
- automatically exported to gnome-keyring certificate-store.
|
|
- </long>
|
|
- </locale>
|
|
- </schema>
|
|
-
|
|
- </schemalist>
|
|
-</gconfschemafile>
|
|
--- /dev/null
|
|
+++ gnomint-1.3.0/gconf/net.sf.gnomint.gschema.xml
|
|
@@ -0,0 +1,30 @@
|
|
+<schemalist gettext-domain="gnomint">
|
|
+ <schema id="net.sf.gnomint" path="/net/sf/gnomint/">
|
|
+ <key name="size" type="s">
|
|
+ <default>'(500,400)'</default>
|
|
+ <summary>Window size</summary>
|
|
+ <description>The (width,length) size gnoMint should take when
|
|
+ started. This cannot be smaller than (320,200).</description>
|
|
+ </key>
|
|
+ <key name="revoked-visible" type="b">
|
|
+ <default>false</default>
|
|
+ <summary>Revoked certificates visibility</summary>
|
|
+ <description>Whether the revoked certificates should be
|
|
+ visible.</description>
|
|
+ </key>
|
|
+ <key name="crq-visible" type="b">
|
|
+ <default>true</default>
|
|
+ <summary>Certificate requests visibility</summary>
|
|
+ <description>Whether the certificate requests should be
|
|
+ visible.</description>
|
|
+ </key>
|
|
+ <key name="gnome-keyring-export" type="b">
|
|
+ <default>true</default>
|
|
+ <summary>Automatic exporting of certificates for
|
|
+ gnome-keyring</summary>
|
|
+ <description>Whether the created or imported certificates are
|
|
+ automatically exported to gnome-keyring
|
|
+ certificate-store.</description>
|
|
+ </key>
|
|
+ </schema>
|
|
+</schemalist>
|