Add seperate actions for adding and removing connection groups.

This commit is contained in:
eelke 2019-09-01 06:42:21 +02:00
parent dbb6e1ab01
commit 521d3cdaac
10 changed files with 105 additions and 4 deletions

View file

@ -726,6 +726,28 @@ std::variant<int, QSqlError> ConnectionTreeModel::addGroup(QString group_name)
return { err };
}
return q.lastInsertId().toInt();
std::optional<QSqlError> ConnectionTreeModel::removeGroup(int row)
{
beginRemoveRows({}, row, row);
SCOPE_EXIT { endRemoveRows(); };
auto id = m_groups[row]->conngroup_id;
QSqlQuery q(m_db);
q.prepare("DELETE FROM connection WHERE conngroup_id=:id");
q.bindValue(":id", id);
if (!q.exec()) {
auto err = q.lastError();
return { err };
}
q.prepare("DELETE FROM conngroup WHERE conngroup_id=:id");
q.bindValue(":id", id);
if (!q.exec()) {
auto err = q.lastError();
return { err };
}
m_groups.remove(row);
return {};
}
}
std::optional<QSqlError> ConnectionTreeModel::saveToDb(const ConnectionConfig &cc)