Exemplo n.º 1
0
void
OptionsCont::addDescription(const std::string& name,
                            const std::string& subtopic,
                            const std::string& description) {
    Option* o = getSecure(name);
    assert(o != 0);
    assert(find(mySubTopics.begin(), mySubTopics.end(), subtopic) != mySubTopics.end());
    o->setDescription(description);
    mySubTopicEntries[subtopic].push_back(name);
}
Exemplo n.º 2
0
//! Searches the OptionDatabase for \var optionName and, if found, returns the
//! Option record in \var option.  Returns true if found.
bool OptionDatabase::get(QString const& optionName, Option& option)
{
    bool found(false);
    bool okay(false);

    QString buf("select * from options where Name = '");
    buf += optionName;
    buf += "';";

    QSqlQuery query( QSqlDatabase::database("QChem") );
    query.setForwardOnly(true);

    if (query.prepare(buf) && query.exec()) {
        okay = true;
    } else {
        QString msg("Database transaction failed:\n");
        msg += buf + "\n";
        msg += query.lastError().databaseText();
        qDebug() << msg;
    }


    if (okay) {
        if (query.next()) {
            found = true;

            option.setName(query.value(0).toString());
            option.setType(query.value(1).toInt());
            option.setDefault(query.value(2).toInt());
            option.setOptions(query.value(3).toString());
            option.setDescription(query.value(4).toString());
            option.setImplementation(query.value(5).toInt());

            if (query.next()) {
                QString msg("More than one record for ");
                msg += optionName;
                msg += " found in database.";
                QMsgBox::information(0, "EGAD!", msg);
            }

        }
        while (query.next()) {}
    }

    return found;
}