Esempio n. 1
0
void
xaccAccountScrubKvp (Account *account)
{
    GValue v = G_VALUE_INIT;
    const gchar *str;
    gchar *str2;

    if (!account) return;

    qof_instance_get_kvp (QOF_INSTANCE (account), "notes", &v);
    if (G_VALUE_HOLDS_STRING (&v))
    {
        str2 = g_strstrip(g_value_dup_string(&v));
        if (strlen(str2) == 0)
            qof_instance_slot_delete (QOF_INSTANCE (account), "notes");
        g_free(str2);
    }

    qof_instance_get_kvp (QOF_INSTANCE (account), "placeholder", &v);
    if ((G_VALUE_HOLDS_STRING (&v) &&
        strcmp(g_value_get_string (&v), "false") == 0) ||
        (G_VALUE_HOLDS_BOOLEAN (&v) && ! g_value_get_boolean (&v)))
        qof_instance_slot_delete (QOF_INSTANCE (account), "placeholder");

    qof_instance_slot_delete_if_empty (QOF_INSTANCE (account), "hbci");
}
Esempio n. 2
0
static void
gnc_customer_get_property (GObject         *object,
                           guint            prop_id,
                           GValue          *value,
                           GParamSpec      *pspec)
{
    GncCustomer *cust;
    gchar *key;
    g_return_if_fail(GNC_IS_CUSTOMER(object));

    cust = GNC_CUSTOMER(object);
    switch (prop_id)
    {
    case PROP_NAME:
        g_value_set_string(value, cust->name);
        break;
    case PROP_PDF_DIRNAME:
	key = OWNER_EXPORT_PDF_DIRNAME;
	qof_instance_get_kvp (QOF_INSTANCE (cust), key, value);
	break;
    case PROP_LAST_POSTED:
	key = LAST_POSTED_TO_ACCT;
	qof_instance_get_kvp (QOF_INSTANCE (cust), key, value);
	break;
    case PROP_PAYMENT_LAST_ACCT:
	key = GNC_PAYMENT "/" GNC_LAST_ACCOUNT;
	qof_instance_get_kvp (QOF_INSTANCE (cust), key, value);
	break;
    default:
        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
        break;
    }
}
Esempio n. 3
0
void
xaccAccountScrubColorNotSet (QofBook *book)
{
    GValue value_s = G_VALUE_INIT;

    // get the run-once value
    qof_instance_get_kvp (QOF_INSTANCE (book), &value_s, 1, "remove-color-not-set-slots");

    if (G_VALUE_HOLDS_STRING (&value_s) && (strcmp(g_value_get_string (&value_s), "true") == 0))
        return;
    else
    {
        GValue value_b = G_VALUE_INIT;
        Account *root = gnc_book_get_root_account (book);
        GList *accts = gnc_account_get_descendants_sorted (root);
        GList *ptr;

        for (ptr = accts; ptr; ptr = g_list_next (ptr))
        {
            const gchar *color = xaccAccountGetColor (ptr->data);

            if (g_strcmp0 (color, "Not Set") == 0)
                xaccAccountSetColor (ptr->data, "");
        }
        g_list_free (accts);

        g_value_init (&value_b, G_TYPE_BOOLEAN);
        g_value_set_boolean (&value_b, TRUE);

        // set the run-once value
        qof_instance_set_kvp (QOF_INSTANCE (book),  &value_b, 1, "remove-color-not-set-slots");
    }
}
Esempio n. 4
0
static void
qof_book_get_property (GObject* object,
		       guint prop_id,
		       GValue* value,
		       GParamSpec* pspec)
{
    QofBook *book;
    gchar *key;

    g_return_if_fail (QOF_IS_BOOK (object));
    book = QOF_BOOK (object);
    switch (prop_id)
    {
    case PROP_OPT_TRADING_ACCOUNTS:
	key = g_strdup_printf ("%s/%s/%s", KVP_OPTION_PATH,
			       OPTION_SECTION_ACCOUNTS,
			       OPTION_NAME_TRADING_ACCOUNTS);
	qof_instance_get_kvp (QOF_INSTANCE (book), key, value);
	g_free (key);
	break;
    case PROP_OPT_BOOK_CURRENCY:
	key = g_strdup_printf ("%s/%s/%s", KVP_OPTION_PATH,
			       OPTION_SECTION_ACCOUNTS,
                   OPTION_NAME_BOOK_CURRENCY);
	qof_instance_get_kvp (QOF_INSTANCE (book), key, value);
	g_free (key);
	break;
    case PROP_OPT_DEFAULT_GAINS_POLICY:
	key = g_strdup_printf ("%s/%s/%s", KVP_OPTION_PATH,
			       OPTION_SECTION_ACCOUNTS,
                   OPTION_NAME_DEFAULT_GAINS_POLICY);
	qof_instance_get_kvp (QOF_INSTANCE (book), key, value);
	g_free (key);
	break;
    case PROP_OPT_AUTO_READONLY_DAYS:
	key = g_strdup_printf ("%s/%s/%s", KVP_OPTION_PATH,
			       OPTION_SECTION_ACCOUNTS,
			       OPTION_NAME_AUTO_READONLY_DAYS);
	qof_instance_get_kvp (QOF_INSTANCE (book), key, value);
	g_free (key);
	break;
    case PROP_OPT_NUM_FIELD_SOURCE:
	key = g_strdup_printf ("%s/%s/%s", KVP_OPTION_PATH,
			       OPTION_SECTION_ACCOUNTS,
			       OPTION_NAME_NUM_FIELD_SOURCE);
	qof_instance_get_kvp (QOF_INSTANCE (book), key, value);
	g_free (key);
	break;
    case PROP_OPT_DEFAULT_BUDGET:
	key = g_strdup_printf ("%s/%s/%s", KVP_OPTION_PATH,
			       OPTION_SECTION_ACCOUNTS,
			       OPTION_NAME_DEFAULT_BUDGET);
	qof_instance_get_kvp (QOF_INSTANCE (book), key, value);
	g_free (key);
	break;
    case PROP_OPT_FY_END:
	key = const_cast<char*>("fy_end");
	qof_instance_get_kvp (QOF_INSTANCE (book), key, value);
	break;
    case PROP_AB_TEMPLATES:
	key = const_cast<char*>(AB_KEY "/" AB_TEMPLATES);
	qof_instance_get_kvp (QOF_INSTANCE (book), key, value);
	break;
    default:
        G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
        break;
    }
}