[evolution-kolab/ek-wip-gui: 14/22] EPlugin: fixed problematic handling of translatable strings from previous commit



commit c5b6ae6cdd477b3625a0f594464df1d13dcb6e8e
Author: Christian Hilberg <hilberg kernelconcepts de>
Date:   Thu Feb 16 14:29:01 2012 +0100

    EPlugin: fixed problematic handling of translatable strings from previous commit
    
    * made the whole translatable string handling
      static
    * prevents memory loss on plugin unload (though
      the plugins are not unloaded in a sense that
      a e_plugin_disable() function would be called
      on unload, analogous to e_plugin_enable() on
      load)

 src/libekolab/kolab-types.h        |    9 ++++++
 src/libekolab/kolab-util-backend.c |   50 ++++++++----------------------------
 src/libekolab/kolab-util-backend.h |    4 +-
 3 files changed, 22 insertions(+), 41 deletions(-)
---
diff --git a/src/libekolab/kolab-types.h b/src/libekolab/kolab-types.h
index b9c0f5b..b229856 100644
--- a/src/libekolab/kolab-types.h
+++ b/src/libekolab/kolab-types.h
@@ -42,6 +42,10 @@ typedef enum {
 	KOLAB_TLS_VARIANT_DEFAULT = KOLAB_TLS_VARIANT_STARTTLS
 } KolabTLSVariantID;
 
+#define KOLAB_TLS_DESC_VARIANT_NONE "No encryption"
+#define KOLAB_TLS_DESC_VARIANT_SSL  "SSL encryption"
+#define KOLAB_TLS_DESC_VARIANT_TLS  "TLS encryption"
+
 #define KOLAB_TLS_VARIANT_PROP "kolab-encryption-method"
 
 /* PIM data conflict resolution variants */
@@ -55,6 +59,11 @@ typedef enum {
 	KOLAB_SYNC_STRATEGY_DEFAULT = KOLAB_SYNC_STRATEGY_NEWEST
 } KolabSyncStrategyID;
 
+#define KOLAB_STRATEGY_DESC_NEWEST "Take Newer (last modified)"
+#define KOLAB_STRATEGY_DESC_SERVER "Take Remote (server-side)"
+#define KOLAB_STRATEGY_DESC_CLIENT "Take Local (client-side)"
+#define KOLAB_STRATEGY_DESC_DUPE   "Take Both (resulting in two different, parallel entries)"
+
 #define KOLAB_SYNC_STRATEGY_PROP "kolab-sync-strategy"
 
 typedef enum {
diff --git a/src/libekolab/kolab-util-backend.c b/src/libekolab/kolab-util-backend.c
index fc641f7..87b464f 100644
--- a/src/libekolab/kolab-util-backend.c
+++ b/src/libekolab/kolab-util-backend.c
@@ -42,38 +42,24 @@
 
 #include "kolab-util-backend.h"
 
+/*----------------------------------------------------------------------------*/
+
 static const gchar *kolab_sync_strategy_desc[KOLAB_SYNC_LAST_STRATEGY] = {
-	NULL, NULL, NULL, NULL
+	N_(KOLAB_STRATEGY_DESC_NEWEST),
+	N_(KOLAB_STRATEGY_DESC_SERVER),
+	N_(KOLAB_STRATEGY_DESC_CLIENT),
+	N_(KOLAB_STRATEGY_DESC_DUPE)
 };
 
 static const gchar *kolab_tls_variant_desc[KOLAB_TLS_LAST_VARIANT] = {
-	NULL, NULL, NULL
+	N_(KOLAB_TLS_DESC_VARIANT_NONE),
+	N_(KOLAB_TLS_DESC_VARIANT_SSL),
+	N_(KOLAB_TLS_DESC_VARIANT_TLS)
 };
 
 /*----------------------------------------------------------------------------*/
 /* local statics */
 
-static void
-kolab_util_backend_init_sync_strategy_desc (void)
-{
-	kolab_sync_strategy_desc[KOLAB_SYNC_STRATEGY_NEWEST] = \
-		_("Take Newer (last modified)");
-	kolab_sync_strategy_desc[KOLAB_SYNC_STRATEGY_SERVER] = \
-		_("Take Remote (server-side)");
-	kolab_sync_strategy_desc[KOLAB_SYNC_STRATEGY_CLIENT] = \
-		_("Take Local (client-side)");
-	kolab_sync_strategy_desc[KOLAB_SYNC_STRATEGY_DUPE] = \
-		_("Take Both (resulting in two different, parallel entries)");
-}
-
-static void
-kolab_util_backend_init_tls_variant_desc (void)
-{
-	kolab_tls_variant_desc[KOLAB_TLS_VARIANT_NONE] = _("No encryption");
-	kolab_tls_variant_desc[KOLAB_TLS_VARIANT_SSL] = _("SSL encryption");
-	kolab_tls_variant_desc[KOLAB_TLS_VARIANT_STARTTLS] = _("TLS encryption");
-}
-
 /*----------------------------------------------------------------------------*/
 /* GError for libekolabbackend */
 
@@ -441,29 +427,15 @@ kolab_util_backend_sqlite_db_new_open (KolabUtilSqliteDb **kdb,
 const gchar*
 kolab_util_backend_get_sync_strategy_desc (KolabSyncStrategyID id)
 {
-	static gboolean initialized = FALSE;
-
 	g_assert (id < KOLAB_SYNC_LAST_STRATEGY);
 
-	if (! initialized) {
-		kolab_util_backend_init_sync_strategy_desc ();
-		initialized = TRUE;
-	}
-
-	return kolab_sync_strategy_desc[id];
+	return gettext (kolab_sync_strategy_desc[id]);
 }
 
 const gchar*
 kolab_util_backend_get_tls_variant_desc (KolabTLSVariantID id)
 {
-	static gboolean initialized = FALSE;
-
 	g_assert (id < KOLAB_TLS_LAST_VARIANT);
 
-	if (! initialized) {
-		kolab_util_backend_init_tls_variant_desc ();
-		initialized = TRUE;
-	}
-
-	return kolab_tls_variant_desc[id];
+	return gettext (kolab_tls_variant_desc[id]);
 }
diff --git a/src/libekolab/kolab-util-backend.h b/src/libekolab/kolab-util-backend.h
index 2516470..61126ea 100644
--- a/src/libekolab/kolab-util-backend.h
+++ b/src/libekolab/kolab-util-backend.h
@@ -84,8 +84,8 @@ void kolab_util_backend_prepare_settings (KolabSettingsHandler *ksettings, ESour
 
 gboolean kolab_util_backend_sqlite_db_new_open (KolabUtilSqliteDb **kdb, KolabSettingsHandler *ksettings, const gchar *dbfilename, GError **err);
 
-const gchar *kolab_util_backend_get_sync_strategy_desc (KolabSyncStrategyID id);
-const gchar *kolab_util_backend_get_tls_variant_desc (KolabTLSVariantID id);
+const gchar* kolab_util_backend_get_sync_strategy_desc (KolabSyncStrategyID id);
+const gchar* kolab_util_backend_get_tls_variant_desc (KolabTLSVariantID id);
 
 /*----------------------------------------------------------------------------*/
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]