Example #1
0
void Model::Erase(const QModelIndex& index)
{
  if(!index.isValid())
    return;

  odb::sqlite::database db(DatabaseFilename.toStdString(), SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE);
  odb::core::transaction t (db.begin ());

  TreeItem *item = static_cast<TreeItem*>(index.internalPointer());
  TreeItem* parent=item->Parent;

  item->Erase(db);

  parent->Children.removeOne(item);

  db.update(*parent);
  t.commit();
  delete item;
}