Revision: 53945
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53945
Author:   mont29
Date:     2013-01-21 08:08:20 +0000 (Mon, 21 Jan 2013)
Log Message:
-----------
Various cleanup in i18n code (having funcs implemented in two different places 
is tricky, you quickly forget to add/edit one, we already have this problem 
with ugly bplayer stub... e.g. since r53938, BLF_locale_explode was not 
implemented in non-WITH_INTERNATIONAL builds). Also tried to simplify #ifdef's 
here...

Revision Links:
--------------
    
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53938

Modified Paths:
--------------
    trunk/blender/source/blender/blenfont/BLF_translation.h
    trunk/blender/source/blender/blenfont/intern/blf_lang.c
    trunk/blender/source/blender/blenfont/intern/blf_translation.c

Modified: trunk/blender/source/blender/blenfont/BLF_translation.h
===================================================================
--- trunk/blender/source/blender/blenfont/BLF_translation.h     2013-01-21 
06:32:09 UTC (rev 53944)
+++ trunk/blender/source/blender/blenfont/BLF_translation.h     2013-01-21 
08:08:20 UTC (rev 53945)
@@ -33,6 +33,8 @@
 #ifndef __BLF_TRANSLATION_H__
 #define __BLF_TRANSLATION_H__
 
+#include "BLI_utildefines.h"  /* for bool type */
+
 #define TEXT_DOMAIN_NAME "blender"
 
 /* blf_lang.c */
@@ -53,7 +55,8 @@
 
 /* Get locale's elements (if relevant pointer is not NULL and element actually 
exists, e.g. if there is no variant,
  * *variant and *language_variant will always be NULL).
- * Non-null elements are always MEM_mallocN'ed, it's the caller's 
responsibility to free them. 
+ * Non-null elements are always MEM_mallocN'ed, it's the caller's 
responsibility to free them.
+ * NOTE: Always available, even in non-WITH_INTERNATIONAL builds.
  */
 void BLF_locale_explode(const char *locale, char **language, char **country, 
char **variant,
                         char **language_country, char **language_variant);
@@ -63,16 +66,14 @@
 
 /* blf_translation.c  */
 
-#ifdef WITH_INTERNATIONAL
 unsigned char *BLF_get_unifont(int *unifont_size);
 void BLF_free_unifont(void);
-#endif
 
 const char *BLF_pgettext(const char *msgctxt, const char *msgid);
 
 /* translation */
-int BLF_translate_iface(void);
-int BLF_translate_tooltips(void);
+bool BLF_translate_iface(void);
+bool BLF_translate_tooltips(void);
 const char *BLF_translate_do_iface(const char *msgctxt, const char *msgid);
 const char *BLF_translate_do_tooltip(const char *msgctxt, const char *msgid);
 
@@ -83,17 +84,17 @@
 
 /* Those macros should be used everywhere in UI code. */
 #ifdef WITH_INTERNATIONAL
-/*     #define _(msgid) BLF_gettext(msgid) */
-       #define IFACE_(msgid) BLF_translate_do_iface(NULL, msgid)
-       #define TIP_(msgid) BLF_translate_do_tooltip(NULL, msgid)
-       #define CTX_IFACE_(context, msgid) BLF_translate_do_iface(context, 
msgid)
-       #define CTX_TIP_(context, msgid) BLF_translate_do_tooltip(context, 
msgid)
+/*#  define _(msgid) BLF_gettext(msgid) */
+#  define IFACE_(msgid) BLF_translate_do_iface(NULL, msgid)
+#  define TIP_(msgid) BLF_translate_do_tooltip(NULL, msgid)
+#  define CTX_IFACE_(context, msgid) BLF_translate_do_iface(context, msgid)
+#  define CTX_TIP_(context, msgid) BLF_translate_do_tooltip(context, msgid)
 #else
-/*     #define _(msgid) msgid */
-       #define IFACE_(msgid) msgid
-       #define TIP_(msgid) msgid
-       #define CTX_IFACE_(context, msgid) msgid
-       #define CTX_TIP_(context, msgid)   msgid
+/*#  define _(msgid) msgid */
+#  define IFACE_(msgid) msgid
+#  define TIP_(msgid)   msgid
+#  define CTX_IFACE_(context, msgid) msgid
+#  define CTX_TIP_(context, msgid)   msgid
 #endif
 
 /* Helper macro, when we want to define a same msgid for multiple msgctxt...
@@ -160,7 +161,7 @@
 
 #define BLF_I18NCONTEXTS_ITEM(ctxt_id, py_id) {#ctxt_id, py_id, ctxt_id}
 
-#define BLF_I18NCONTEXTS_DESC {                                                
                                         \
+#define BLF_I18NCONTEXTS_DESC {                                                
                                        \
        BLF_I18NCONTEXTS_ITEM(BLF_I18NCONTEXT_DEFAULT, "default"),              
                                           \
        BLF_I18NCONTEXTS_ITEM(BLF_I18NCONTEXT_OPERATOR_DEFAULT, 
"operator_default"),                                       \
        BLF_I18NCONTEXTS_ITEM(BLF_I18NCONTEXT_ID_ACTION, "id_action"),          
                                           \
@@ -198,6 +199,4 @@
        {NULL, NULL, NULL}                                                      
                                           \
 }
 
-//#undef _BLF_I18NCONTEXTS_ITEM
-
 #endif /* __BLF_TRANSLATION_H__ */

Modified: trunk/blender/source/blender/blenfont/intern/blf_lang.c
===================================================================
--- trunk/blender/source/blender/blenfont/intern/blf_lang.c     2013-01-21 
06:32:09 UTC (rev 53944)
+++ trunk/blender/source/blender/blenfont/intern/blf_lang.c     2013-01-21 
08:08:20 UTC (rev 53945)
@@ -29,39 +29,33 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 
 #include "RNA_types.h"
 
 #include "BLF_translation.h" /* own include */
 
-#include "BLI_utildefines.h"
+#include "BLI_fileops.h"
+#include "BLI_linklist.h"
+#include "BLI_path_util.h"
+#include "BLI_string.h"
 
-#ifdef WITH_INTERNATIONAL
-
-#include <string.h>
-
-#include "boost_locale_wrapper.h"
-
 #include "BKE_global.h"
 
 #include "DNA_userdef_types.h"
 
 #include "MEM_guardedalloc.h"
 
-#include "BLI_fileops.h"
-#include "BLI_linklist.h"
-#include "BLI_path_util.h"
-#include "BLI_string.h"
+#ifdef WITH_INTERNATIONAL
 
+#include "boost_locale_wrapper.h"
+
 /* Locale options. */
 static const char **locales = NULL;
 static int num_locales = 0;
 static EnumPropertyItem *locales_menu = NULL;
 static int num_locales_menu = 0;
 
-#define ULANGUAGE ((U.language >= 0 && U.language < num_locales) ? U.language 
: 0)
-#define LOCALE(_id) (locales ? locales[(_id)] : "")
-
 static void free_locales(void)
 {
        if (locales) {
@@ -177,14 +171,20 @@
 
        BLI_file_free_lines(lines);
 }
+#endif  /* WITH_INTERNATIONAL */
 
 EnumPropertyItem *BLF_RNA_lang_enum_properties(void)
 {
+#ifdef WITH_INTERNATIONAL
        return locales_menu;
+#else
+       return NULL;
+#endif
 }
 
 void BLF_lang_init(void)
 {
+#ifdef WITH_INTERNATIONAL
        char *messagepath = BLI_get_folder(BLENDER_DATAFILES, "locale");
 
        if (messagepath) {
@@ -194,15 +194,24 @@
        else {
                printf("%s: 'locale' data path for translations not found, 
continuing\n", __func__);
        }
+#else
+#endif
 }
 
 void BLF_lang_free(void)
 {
+#ifdef WITH_INTERNATIONAL
        free_locales();
+#else
+#endif
 }
 
+#define ULANGUAGE ((U.language >= 0 && U.language < num_locales) ? U.language 
: 0)
+#define LOCALE(_id) (locales ? locales[(_id)] : "")
+
 void BLF_lang_set(const char *str)
 {
+#ifdef WITH_INTERNATIONAL
        int ulang = ULANGUAGE;
        const char *short_locale = str ? str : LOCALE(ulang);
        const char *short_locale_utf8 = NULL;
@@ -232,17 +241,24 @@
        if (short_locale[0]) {
                MEM_freeN((void *)short_locale_utf8);
        }
+#else
+       (void)str;
+#endif
 }
 
 /* Get the current locale (short code, e.g. es_ES). */
 const char *BLF_lang_get(void)
 {
+#ifdef WITH_INTERNATIONAL
        const char *locale = LOCALE(ULANGUAGE);
        if (locale[0] == '\0') {
                /* Default locale, we have to find which one we are actually 
using! */
                locale = bl_locale_get();
        }
        return locale;
+#else
+       return "";
+#endif
 }
 
 #undef LOCALE
@@ -299,32 +315,3 @@
                MEM_freeN(_t);
        }
 }
-
-#else /* ! WITH_INTERNATIONAL */
-
-struct EnumPropertyItem *BLF_RNA_lang_enum_properties(void)
-{
-       return NULL;
-}
-
-void BLF_lang_init(void)
-{
-       return;
-}
-
-void BLF_lang_free(void)
-{
-       return;
-}
-
-void BLF_lang_set(const char *UNUSED(str))
-{
-       return;
-}
-
-const char *BLF_lang_get(void)
-{
-       return "";
-}
-
-#endif /* WITH_INTERNATIONAL */

Modified: trunk/blender/source/blender/blenfont/intern/blf_translation.c
===================================================================
--- trunk/blender/source/blender/blenfont/intern/blf_translation.c      
2013-01-21 06:32:09 UTC (rev 53944)
+++ trunk/blender/source/blender/blenfont/intern/blf_translation.c      
2013-01-21 08:08:20 UTC (rev 53945)
@@ -33,28 +33,28 @@
 
 #include "BLF_translation.h"
 
-#ifdef WITH_INTERNATIONAL
-
-#include "boost_locale_wrapper.h"
-
 #include "MEM_guardedalloc.h"
 
-#include "BLI_utildefines.h"
+#include "BLI_fileops.h"
 #include "BLI_path_util.h"
 #include "BLI_string.h"
-#include "BLI_path_util.h"
-#include "BLI_fileops.h"
 
 #include "DNA_userdef_types.h" /* For user settings. */
 
 #include "BPY_extern.h"
 
+#ifdef WITH_INTERNATIONAL
+
+#include "boost_locale_wrapper.h"
+
 static const char unifont_filename[] = "droidsans.ttf.gz";
 static unsigned char *unifont_ttf = NULL;
 static int unifont_size = 0;
+#endif  /* WITH_INTERNATIONAL */
 
 unsigned char *BLF_get_unifont(int *unifont_size_r)
 {
+#ifdef WITH_INTERNATIONAL
        if (unifont_ttf == NULL) {
                char *fontpath = BLI_get_folder(BLENDER_DATAFILES, "fonts");
                if (fontpath) {
@@ -72,16 +72,21 @@
        *unifont_size_r = unifont_size;
 
        return unifont_ttf;
+#else
+       (void)unifont_size_r;
+       return NULL;
+#endif
 }
 
 void BLF_free_unifont(void)
 {
+#ifdef WITH_INTERNATIONAL
        if (unifont_ttf)
                MEM_freeN(unifont_ttf);
+#else
+#endif
 }
 
-#endif
-
 const char *BLF_pgettext(const char *msgctxt, const char *msgid)
 {
 #ifdef WITH_INTERNATIONAL
@@ -103,21 +108,21 @@
 #endif
 }
 
-int BLF_translate_iface(void)
+bool BLF_translate_iface(void)
 {
 #ifdef WITH_INTERNATIONAL
        return (U.transopts & USER_DOTRANSLATE) && (U.transopts & 
USER_TR_IFACE);
 #else
-       return 0;
+       return false;
 #endif
 }
 
-int BLF_translate_tooltips(void)
+bool BLF_translate_tooltips(void)
 {
 #ifdef WITH_INTERNATIONAL
        return (U.transopts & USER_DOTRANSLATE) && (U.transopts & 
USER_TR_TOOLTIPS);
 #else
-       return 0;
+       return false;
 #endif
 }
 

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to