コード例 #1
0
gchar *property_context_to_string(PropertyContext * ctx)
{
    if (ctx == NULL) {
        return NULL;
    }
    return mkdg_g_value_to_string(&(ctx->value));
}
コード例 #2
0
/*============================================
 * Callback routines
 */
gboolean KBType_apply_callback(PropertyContext * ctx, gpointer userData)
{
    GValue *value = &(ctx->value);
    IBUS_CHEWING_LOG(DEBUG, "KBType_apply_callback(%s,%s)", ctx->spec->key,
		     mkdg_g_value_to_string(value));
    ChewingKbType kbType = kbType_id_get_index(g_value_get_string(value));
    IBusChewingPreEdit *icPreEdit = (IBusChewingPreEdit *) ctx->parent;
    chewing_set_KBType(icPreEdit->context, kbType);
    return TRUE;
}
コード例 #3
0
GValue *property_context_get(PropertyContext * ctx)
{
    if (ctx == NULL) {
        mkdg_log(WARN, "property_context_get(-): ctx is NULL");
        return NULL;
    }
    mkdg_log(DEBUG, "property_context_get(%s): value=%s",
             ctx->spec->key, mkdg_g_value_to_string(&(ctx->value)));
    return &(ctx->value);
}
コード例 #4
0
gboolean selKeys_apply_callback(PropertyContext * ctx, gpointer userData)
{
    GValue *value = &(ctx->value);
    IBUS_CHEWING_LOG(DEBUG, "selKeys_apply_callback(%s,%s)",
		     ctx->spec->key, mkdg_g_value_to_string(value));
    IBusChewingPreEdit *icPreEdit = (IBusChewingPreEdit *) ctx->parent;
    ibus_chewing_lookup_table_resize(icPreEdit->iTable,
				     icPreEdit->iProperties,
				     icPreEdit->context);
    return TRUE;
}
コード例 #5
0
gboolean property_context_set(PropertyContext * ctx, GValue * value)
{
    if (ctx == NULL) {
        mkdg_log(WARN, "property_context_set(-): ctx is NULL");
        return FALSE;
    }
    if (!G_IS_VALUE(value)) {
        mkdg_log(WARN, "property_context_set(%s): value is not GValue",
                 ctx->spec->key);
        return FALSE;
    }
    mkdg_log(DEBUG, "property_context_set(%s,%s)", ctx->spec->key,
             mkdg_g_value_to_string(value));
    g_value_copy(value, &(ctx->value));
    return TRUE;
}
コード例 #6
0
gboolean property_context_apply(PropertyContext * ctx, gpointer userData)
{
    if (ctx == NULL || ctx->parent == NULL) {
        mkdg_log(WARN,
                 "property_context_apply(%s): either ctx or ctx->parent is NULL",
                 ctx->spec->key);
        return FALSE;
    }
    if (ctx->spec->applyFunc == NULL) {
        mkdg_log(DEBUG, "property_context_apply(%s,-): No apply function, skip",
                 ctx->spec->key);
        return TRUE;
    }
    mkdg_log(DEBUG, "property_context_apply(%s,-): value %s",
             ctx->spec->key, mkdg_g_value_to_string(&(ctx->value)));
    return ctx->spec->applyFunc(ctx, userData);
}
コード例 #7
0
void backend_command_set_key_value(const gchar * key, GValue * value)
{
    gchar *valueStr = mkdg_g_value_to_string(value);
    if (mkdg_g_value_is_boolean(value)) {
	valueStr = (g_value_get_boolean(value)) ? "true" : "false";
    }
    gchar cmdBuf[COMMAND_BUFFER_SIZE];
    gchar *cKey = mkdg_backend_get_key(backend, NULL, key, NULL);
#ifdef USE_GSETTINGS
    g_snprintf(cmdBuf, COMMAND_BUFFER_SIZE,
	       "gsettings set %s %s %s",
	       QUOTE_ME(PROJECT_SCHEMA_ID), cKey, valueStr);
#else
    gchar *typeStr;
    GType gType = G_VALUE_TYPE(value);
    switch (gType) {
    case G_TYPE_BOOLEAN:
	typeStr = "bool";
	break;
    case G_TYPE_FLOAT:
    case G_TYPE_DOUBLE:
	typeStr = "float";
	break;
    case G_TYPE_INT:
    case G_TYPE_UINT:
    case G_TYPE_LONG:
    case G_TYPE_ULONG:
    case G_TYPE_INT64:
    case G_TYPE_UINT64:
	typeStr = "int";
	break;
    case G_TYPE_STRING:
	typeStr = "string";
	break;
    }
    g_snprintf(cmdBuf, COMMAND_BUFFER_SIZE,
	       "gconftool-2 --set %s/%s --type %s '%s'",
	       QUOTE_ME(PROJECT_SCHEMA_DIR), cKey, typeStr, valueStr);
#endif

    command_run_obtain_output(cmdBuf);
}