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");