Example #1
0
void
CustomerMaster::slotRenameData()
{
    int row = _extra->currentRow();
    if (row == -1) return;

    Id extra_id = _extra->cellValue(row, 0).toId();
    if (extra_id == INVALID_ID) return;

    Extra extra;
    if (!_quasar->db()->lookup(extra_id, extra)) {
        QMessageBox::critical(this, tr("Error"), tr("Data lookup failed."));
        return;
    }

    bool ok = false;
    QString message = tr("Enter the new name for %1:").arg(extra.name());
    QString text = QInputDialog::getText(tr("Rename Data"), message,
                                         QLineEdit::Normal, QString::null,
                                         &ok, this);
    if (!ok || text.isEmpty()) return;

    Extra orig = extra;
    extra.setName(text);
    if (!_quasar->db()->update(orig, extra)) {
        QMessageBox::critical(this, tr("Error"), tr("Renaming data failed."));
        return;
    }

    _extra->setCellValue(row, 0, extra.id());
}
Example #2
0
void
CustomerMaster::slotCreateData()
{
    bool ok = false;
    QString message = tr("Enter the new data name:");
    QString text = QInputDialog::getText(tr("Create Data"), message,
                                         QLineEdit::Normal, QString::null,
                                         &ok, this);
    if (!ok || text.isEmpty()) return;

    Extra extra;
    extra.setTable("Customer");
    extra.setName(text);
    if (!_quasar->db()->create(extra)) {
        QMessageBox::critical(this, tr("Error"),
                              tr("Creating new data failed."));
        return;
    }

    VectorRow* row = new VectorRow(_extra->columns());
    row->setValue(0, extra.id());
    row->setValue(1, "");
    _extra->appendRow(row);
}