| 960 | } |
| 961 | |
| 962 | void FolderModel::deleteFolder(const QModelIndex &mi) |
| 963 | { |
| 964 | beginRemoveRows(mi.parent(), mi.row(), mi.row()); |
| 965 | |
| 966 | auto item = static_cast<FolderItem *>(mi.internalPointer()); |
| 967 | |
| 968 | FolderItem *parent = item->parent(); |
| 969 | parent->removeChild(mi.row()); |
| 970 | |
| 971 | Folder f; |
| 972 | f.setId(item->id); |
| 973 | |
| 974 | QString connectionName = ""; |
| 975 | { |
| 976 | QSqlDatabase db = DataBaseManagement::loadDatabase(_databasePath); |
| 977 | DBHelper::removeFromDB(&f, db); |
| 978 | auto folder = DBHelper::updateChildrenInfo(item->parent()->id, db); |
| 979 | DBHelper::propagateFolderUpdatesToParent(folder, db); |
| 980 | connectionName = db.connectionName(); |
| 981 | } |
| 982 | QSqlDatabase::removeDatabase(connectionName); |
| 983 | |
| 984 | endRemoveRows(); |
| 985 | } |
| 986 | |
| 987 | void FolderModel::updateFolderChildrenInfo(qulonglong folderId) |
| 988 | { |
nothing calls this directly
no test coverage detected