Remove dependency on get-text, gtk2 and gconf2.

Change-Id: I1f796502e44e052304bd5379e5872a42e911733c

BUG=chromium-os:12350
TEST=None

Review URL: http://codereview.chromium.org/6538084
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1b93e92..4fe1450 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -12,15 +12,18 @@
 SET(GOB_GENERATED ${CMAKE_HOME_DIRECTORY}/src/ibus-chewing-engine.c
     ${CMAKE_HOME_DIRECTORY}/src/ibus-chewing-engine.h
     ${CMAKE_HOME_DIRECTORY}/src/ibus-chewing-engine-private.h
-    ${CMAKE_HOME_DIRECTORY}/src/maker-dialog.c
-    ${CMAKE_HOME_DIRECTORY}/src/maker-dialog.h
-    ${CMAKE_HOME_DIRECTORY}/src/maker-dialog-private.h
+    # Chromium change: Remove maker-dialog
+    #${CMAKE_HOME_DIRECTORY}/src/maker-dialog.c
+    #${CMAKE_HOME_DIRECTORY}/src/maker-dialog.h
+    #${CMAKE_HOME_DIRECTORY}/src/maker-dialog-private.h
     )
 
 ADD_CUSTOM_COMMAND(OUTPUT ${GOB_GENERATED}
     COMMAND ${GOB2} ${CMAKE_CURRENT_SOURCE_DIR}/IBusChewingEngine.gob -o ${CMAKE_CURRENT_SOURCE_DIR}
-    COMMAND ${GOB2} ${CMAKE_CURRENT_SOURCE_DIR}/MakerDialog.gob -o ${CMAKE_CURRENT_SOURCE_DIR}
-    DEPENDS IBusChewingEngine.gob MakerDialog.gob IBusChewingEngine-def.c
+    # Chromium change: Remove maker-dialog
+    #COMMAND ${GOB2} ${CMAKE_CURRENT_SOURCE_DIR}/MakerDialog.gob -o ${CMAKE_CURRENT_SOURCE_DIR}
+    #DEPENDS IBusChewingEngine.gob MakerDialog.gob IBusChewingEngine-def.c
+    DEPENDS IBusChewingEngine.gob IBusChewingEngine-def.c
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
 )
 
@@ -36,7 +39,8 @@
 # executable built from some source
 ADD_EXECUTABLE(ibus-engine-chewing main.c
     ibus-chewing-engine.c
-    maker-dialog.c
+    # Chromium change: Remove maker-dialog
+    #maker-dialog.c
     )
 #ADD_EXECUTABLE(generate-gconf-schemas
 #    generate-gconf-schemas.c
@@ -44,8 +48,11 @@
 #    )
 
 # Link the executable to the library.
-TARGET_LINK_LIBRARIES(ibus-engine-chewing ${GTK2_LIBRARIES} ${IBUS_LIBRARIES}
-    ${CHEWING_LIBRARIES} ${GCONF2_LIBRARIES} ${XTST_LIBRARIES})
+# Chromium change: Do not link GConf or GTK
+#TARGET_LINK_LIBRARIES(ibus-engine-chewing ${GTK2_LIBRARIES} ${IBUS_LIBRARIES}
+#    ${CHEWING_LIBRARIES} ${GCONF2_LIBRARIES} ${XTST_LIBRARIES})
+TARGET_LINK_LIBRARIES(ibus-engine-chewing ${IBUS_LIBRARIES}
+    ${CHEWING_LIBRARIES} ${XTST_LIBRARIES})
 
 #TARGET_LINK_LIBRARIES(generate-gconf-schemas ${GTK2_LIBRARIES})
 
diff --git a/src/IBusChewingEngine.gob b/src/IBusChewingEngine.gob
index 35c2c78..ec34b05 100644
--- a/src/IBusChewingEngine.gob
+++ b/src/IBusChewingEngine.gob
@@ -112,7 +112,49 @@
 } Engine:Status;
 
 %h{
-#include "maker-dialog.h"
+// Chromium change: Remove reference to maker-dialog, and stub in the required
+//   structures and enums here.
+//#include "maker-dialog.h"
+
+enum {
+    MAKER_DIALOG_PROPERTY_FLAG_INVISIBLE   =0x1,
+    MAKER_DIALOG_PROPERTY_FLAG_INSENSITIVE =0x2,
+    MAKER_DIALOG_PROPERTY_FLAG_INEDITABLE =0x4,
+    MAKER_DIALOG_PROPERTY_FLAG_HAS_TRANSLATION =0x8,
+    MAKER_DIALOG_PROPERTY_FLAG_TRANSLATION_WITH_CONTEXT =0x10,
+};
+typedef guint MakerDialogPropertyFlags;
+typedef struct _PropertyContext PropertyContext;
+typedef GValue *(* CallbackGetFunc)(PropertyContext *ctx);
+typedef void(* CallbackSetFunc)(PropertyContext *ctx, GValue *value);
+typedef struct{
+    GType valueType;
+    gchar key[30];
+    gchar pageName[50];
+    gchar label[200];
+    gchar defaultValue[100];
+    const gchar **validValues;
+    gchar *translationContext;
+
+    gint min;
+    gint max;
+
+    CallbackGetFunc getFunc;
+    CallbackSetFunc setFunc;
+
+    MakerDialogPropertyFlags propertyFlags;
+    gint width;
+    gint height;
+    const gchar *tooltip;
+    gpointer userData;
+} PropertySpec;
+struct _PropertyContext{
+    PropertySpec *spec;
+    gpointer userData;  //<! User data to be used in callback.
+
+};
+// END Chromium change
+
 #define GCONF_KEY_PREFIX "/desktop/ibus/engine/Chewing/"
 /* For easy symbol input work around */
 #define EASY_SYMBOL_INPUT_WORK_AROUND
diff --git a/src/main.c b/src/main.c
index bd0a9bc..f30e5f2 100644
--- a/src/main.c
+++ b/src/main.c
@@ -26,9 +26,10 @@
 #include <chewing.h>
 #include <glib/gi18n.h>
 #include "ibus-chewing-engine.h"
-#include "maker-dialog.h"
+// Chromium change: Remove maker-dialog
+//#include "maker-dialog.h"
 
-MakerDialog *makerDialog=NULL;
+//MakerDialog *makerDialog=NULL;
 static IBusBus *bus = NULL;
 static IBusFactory *factory = NULL;
 
@@ -135,7 +136,8 @@
 {
     GError *error = NULL;
     GOptionContext *context;
-    gtk_init(&argc,&argv);
+    // Chromium change: Remove gtk dependency.
+    //gtk_init(&argc,&argv);
 
     /* Init i18n messages */
     setlocale (LC_ALL, "zh_TW.utf8");