Get us some nice auto translation scheme
[framework/uifw/elementary.git] / src / lib / elm_priv.h
index af2d89e..7128e4c 100644 (file)
 # include <Ecore_WinCE.h>
 #endif
 
-#include "els_pan.h"
-#include "els_scroller.h"
-#include "els_box.h"
-#include "els_icon.h"
-
 #include "elm_widget.h"
 
 #define CRITICAL(...) EINA_LOG_DOM_CRIT(_elm_log_dom, __VA_ARGS__)
 
 #ifdef ENABLE_NLS
 # include <libintl.h>
-# define E_(string) dgettext(PACKAGE, string)
+# define E_(string) _elm_dgettext(string)
 #else
 # define bindtextdomain(domain,dir)
 # define E_(string) (string)
 #endif
-
+#define N_(string) (string)
 
 typedef struct _Elm_Config    Elm_Config;
 typedef struct _Elm_Module    Elm_Module;
@@ -44,6 +39,7 @@ struct _Elm_Theme
    Eina_List  *themes;
    Eina_List  *extension;
    Eina_Hash  *cache;
+   Eina_Hash  *cache_data;
    Elm_Theme  *ref_theme;
    Eina_List  *referrers;
    const char *theme;
@@ -78,9 +74,14 @@ extern const char *_elm_engines[];
 #define ELM_SOFTWARE_SDL      (_elm_engines[9])
 #define ELM_SOFTWARE_16_SDL   (_elm_engines[10])
 #define ELM_OPENGL_SDL        (_elm_engines[11])
+#define ELM_BUFFER            (_elm_engines[12])
+#define ELM_EWS               (_elm_engines[13])
 
 #define ELM_FONT_TOKEN_STYLE ":style="
 
+#define ELM_ACCESS_MODE_OFF 0
+#define ELM_ACCESS_MODE_ON 1
+
 struct _Elm_Config
 {
    int            config_version;
@@ -96,6 +97,11 @@ struct _Elm_Config
    double         zoom_friction;
    unsigned char  thumbscroll_bounce_enable;
    double         thumbscroll_border_friction;
+   double         thumbscroll_sensitivity_friction;
+   double         scroll_smooth_amount;
+   double         scroll_smooth_history_weight;
+   double         scroll_smooth_future_time;
+   double         scroll_smooth_time_window;
    double         scale;
    int            bgpixmap;
    int            compositing;
@@ -123,8 +129,23 @@ struct _Elm_Config
    double         longpress_timeout;
    unsigned char  effect_enable;
    unsigned char  desktop_entry;
-
+   Eina_Bool      password_show_last;
+   double         password_show_last_timeout;
+   double         glayer_zoom_finger_factor;
+   double         glayer_zoom_wheel_factor;
+   double         glayer_zoom_distance_tolerance;
+   double         glayer_rotate_angular_tolerance;
+   double         glayer_line_min_length;
+   double         glayer_line_distance_tolerance;
+   double         glayer_line_angular_tolerance;
+   unsigned int   glayer_flick_time_limit_ms;
+   double         glayer_long_tap_start_timeout;
+   int            access_mode;
+   Eina_Bool      glayer_continues_enable;
+
+   /* Not part of the EET file */
    Eina_Bool      is_mirrored : 1;
+   Eina_Bool      translate : 1;
 };
 
 struct _Elm_Module
@@ -143,8 +164,13 @@ struct _Elm_Module
    int          references;
 };
 
+int                 _elm_ews_wm_init(void);
+void                _elm_ews_wm_shutdown(void);
+void                _elm_ews_wm_rescale(Elm_Theme *th, Eina_Bool use_theme);
+
 void                _elm_win_shutdown(void);
 void                _elm_win_rescale(Elm_Theme *th, Eina_Bool use_theme);
+void                _elm_win_translate(void);
 
 Eina_Bool           _elm_theme_object_set(Evas_Object *parent, Evas_Object *o, const char *clas, const char *group, const char *style);
 Eina_Bool           _elm_theme_object_icon_set(Evas_Object *parent, Evas_Object *o, const char *group, const char *style);
@@ -165,8 +191,11 @@ const void         *_elm_module_symbol_get(Elm_Module *m, const char *name);
 
 void                _elm_widget_type_clear(void);
 void                _elm_widget_focus_region_show(const Evas_Object *obj);
+void                _elm_widget_top_win_focused_set(Evas_Object *obj, Eina_Bool top_win_focused);
+Eina_Bool           _elm_widget_top_win_focused_get(const Evas_Object *obj);
 
 void                _elm_unneed_ethumb(void);
+void                _elm_unneed_web(void);
 
 void                _elm_rescale(void);
 void                _elm_widget_mirrored_reload(Evas_Object *obj);
@@ -174,6 +203,7 @@ void                _elm_widget_mirrored_reload(Evas_Object *obj);
 void                _elm_config_init(void);
 void                _elm_config_sub_init(void);
 void                _elm_config_shutdown(void);
+void                _elm_config_sub_shutdown(void);
 Eina_Bool           _elm_config_save(void);
 void                _elm_config_reload(void);
 
@@ -182,6 +212,7 @@ void                _elm_recache(void);
 const char         *_elm_config_current_profile_get(void);
 const char         *_elm_config_profile_dir_get(const char *prof, Eina_Bool is_user);
 Eina_List          *_elm_config_profiles_list(void);
+void                _elm_config_all_update(void);
 void                _elm_config_profile_set(const char *profile);
 
 void                _elm_config_engine_set(const char *engine);
@@ -211,6 +242,9 @@ Evas_Object        *_elm_scroller_edje_object_get(Evas_Object *obj);
 char               *_elm_util_mkup_to_text(const char *mkup);
 char               *_elm_util_text_to_mkup(const char *text);
 
+Eina_Bool           _elm_video_check(Evas_Object *video);
+
+
 extern char        *_elm_appname;
 extern Elm_Config  *_elm_config;
 extern const char  *_elm_data_dir;
@@ -219,4 +253,21 @@ extern int          _elm_log_dom;
 extern Eina_List   *_elm_win_list;
 extern int          _elm_win_deferred_free;
 
+/* Our gettext wrapper, used to disable translation of elm if the app
+ * is not translated. */
+static inline const char *
+_elm_dgettext(const char *string)
+{
+   if (EINA_UNLIKELY(_elm_config->translate == EINA_FALSE))
+     {
+        return string;
+     }
+
+   return dgettext(PACKAGE, string);
+}
+
+
+/* Used by the paste handler */
+void _elm_entry_entry_paste(Evas_Object *obj, const char *entry);
+
 #endif