コード例 #1
0
ファイル: Ledger.cpp プロジェクト: SeijiEmery/hifi
void Ledger::history(const QStringList& keys, const int& pageNumber) {
    QJsonObject params;
    params["per_page"] = 100;
    params["page"] = pageNumber;
    keysQuery("history", "historySuccess", "historyFailure", params);
}
コード例 #2
0
ファイル: Ledger.cpp プロジェクト: SeijiEmery/hifi
void Ledger::inventory(const QStringList& keys) {
    keysQuery("inventory", "inventorySuccess", "inventoryFailure");
}
コード例 #3
0
ファイル: Ledger.cpp プロジェクト: SeijiEmery/hifi
void Ledger::keysQuery(const QString& endpoint, const QString& success, const QString& fail) {
    QJsonObject requestParams;
    keysQuery(endpoint, success, fail, requestParams);
}
コード例 #4
0
ファイル: Ledger.cpp プロジェクト: SeijiEmery/hifi
void Ledger::balance(const QStringList& keys) {
    keysQuery("balance", "balanceSuccess", "balanceFailure");
}
コード例 #5
0
ファイル: userdataaccess.cpp プロジェクト: ypid/ktouch
bool UserDataAccess::loadKeyboardLayout(const QString& id, KeyboardLayout* target)
{
    target->setIsValid(false);

    QSqlDatabase db = database();

    if (!db.isOpen())
        return false;

    QSqlQuery keyboardLayoutQuery(db);

    keyboardLayoutQuery.prepare("SELECT title, name, width, height FROM keyboard_layouts WHERE id = ? LIMIT 1");
    keyboardLayoutQuery.bindValue(0, id);
    keyboardLayoutQuery.exec();


    if (keyboardLayoutQuery.lastError().isValid())
    {
        kWarning() << keyboardLayoutQuery.lastError().text();
        raiseError(keyboardLayoutQuery.lastError());
        return false;
    }

    if (!keyboardLayoutQuery.next())
    {
        const QString warning = i18n("No keyboard layout with ID %1", id);
        kWarning() << warning;
        raiseError(warning);
    }

    target->setId(id);
    target->setTitle(keyboardLayoutQuery.value(0).toString());
    target->setName(keyboardLayoutQuery.value(1).toString());
    target->setWidth(keyboardLayoutQuery.value(2).toInt());
    target->setHeight(keyboardLayoutQuery.value(3).toInt());
    target->clearKeys();

    QSqlQuery keysQuery(db);

    keysQuery.prepare("SELECT id, left, top, width, height, type, finger_index, has_haptic_marker, special_key_type, modifier_id, label FROM keyboard_layout_keys WHERE keyboard_layout_id = ?");
    keysQuery.bindValue(0, id);
    keysQuery.exec();

    QSqlQuery keyCharsQuery(db);

    keyCharsQuery.prepare("SELECT position, character, modifier FROM keyboard_layout_key_chars WHERE key_id = ?");

    if (keysQuery.lastError().isValid())
    {
        kWarning() << keysQuery.lastError().text();
        raiseError(keysQuery.lastError());
        return false;
    }

    while (keysQuery.next())
    {
        AbstractKey* abstractKey;

        KeyTypeId keyType =  static_cast<KeyTypeId>(keysQuery.value(5).toInt());

        if (keyType == KeyId)
        {
            Key* key = new Key();

            key->setFingerIndex(keysQuery.value(6).toInt());
            key->setHasHapticMarker(keysQuery.value(7).toBool());

            keyCharsQuery.bindValue(0, keysQuery.value(0));
            keyCharsQuery.exec();

            if (keyCharsQuery.lastError().isValid())
            {
                kWarning() << keyCharsQuery.lastError().text();
                raiseError(keyCharsQuery.lastError());
                return false;
            }

            while (keyCharsQuery.next())
            {
                KeyChar* keyChar = new KeyChar();

                keyChar->setPosition(static_cast<KeyChar::Position>(keyCharsQuery.value(0).toInt()));
                keyChar->setValue(keyCharsQuery.value(1).toString().at(0));
                keyChar->setModifier(keyCharsQuery.value(2).toString());

                key->addKeyChar(keyChar);
            }

            abstractKey = key;
        }
        else
        {
            SpecialKey* specialKey = new SpecialKey();

            specialKey->setTypeStr(keysQuery.value(8).toString());
            specialKey->setModifierId(keysQuery.value(9).toString());
            specialKey->setLabel(keysQuery.value(10).toString());

            abstractKey = specialKey;
        }

        abstractKey->setLeft(keysQuery.value(1).toInt());
        abstractKey->setTop(keysQuery.value(2).toInt());
        abstractKey->setWidth(keysQuery.value(3).toInt());
        abstractKey->setHeight(keysQuery.value(4).toInt());

        target->addKey(abstractKey);
    }

    target->setIsValid(true);

    return true;
}