| 247 | } |
| 248 | |
| 249 | void database_model::timerEvent(QTimerEvent *event) |
| 250 | { |
| 251 | quint64 stamp; |
| 252 | if (event->timerId() != dbTimer) |
| 253 | return; |
| 254 | XSqlQuery q; |
| 255 | SQL_PREPARE(q, "SELECT MAX(stamp) from items"); |
| 256 | q.exec(); |
| 257 | if (!q.first()) |
| 258 | return; |
| 259 | stamp = q.value(0).toULongLong(); |
| 260 | q.finish(); |
| 261 | |
| 262 | if (stamp > DbTransaction::DatabaseStamp) { |
| 263 | SQL_PREPARE(q, "SELECT DISTINCT type FROM items WHERE stamp=?"); |
| 264 | q.bindValue(0, stamp); |
| 265 | q.exec(); |
| 266 | |
| 267 | QList<enum pki_type> typelist; |
| 268 | while (q.next()) |
| 269 | typelist << (enum pki_type)q.value(0).toInt(); |
| 270 | |
| 271 | q.finish(); |
| 272 | qDebug() << "CHANGED" << typelist; |
| 273 | foreach(db_base *model, models) |
| 274 | model->reloadContainer(typelist); |
| 275 | } |
| 276 | DbTransaction::DatabaseStamp = stamp; |
| 277 | } |
| 278 | |
| 279 | void database_model::dump_database(const QString &dirname) const |
| 280 | { |
nothing calls this directly
no test coverage detected