* @brief Updates the project's modification flag and emits modifiedChanged; a * request to dirty a truly empty project intentionally leaves the flag clean for * the dirty-flag UX but still emits contentTouched so the backup layer (whose * snapshot hash decides) gets nudged. */
| 4832 | * snapshot hash decides) gets nudged. |
| 4833 | */ |
| 4834 | void DataModel::ProjectModel::setModified(const bool modified) |
| 4835 | { |
| 4836 | if (modified && m_groups.empty() && m_actions.empty() && m_tables.empty() && m_workspaces.empty() |
| 4837 | && !m_customizeWorkspaces && !m_locked && m_hiddenGroupIds.isEmpty()) { |
| 4838 | Q_EMIT contentTouched(); |
| 4839 | return; |
| 4840 | } |
| 4841 | |
| 4842 | m_modified = modified; |
| 4843 | Q_EMIT modifiedChanged(); |
| 4844 | } |
| 4845 | |
| 4846 | /** |
| 4847 | * @brief Sets source[0].frameParserCode and emits frameParserCodeChanged. |
no test coverage detected