* @brief Resets all project state to factory defaults. */
| 2083 | * @brief Resets all project state to factory defaults. |
| 2084 | */ |
| 2085 | void DataModel::ProjectModel::newJsonFile() |
| 2086 | { |
| 2087 | m_groups.clear(); |
| 2088 | m_actions.clear(); |
| 2089 | m_sources.clear(); |
| 2090 | m_workspaces.clear(); |
| 2091 | m_autoSnapshot.clear(); |
| 2092 | m_tables.clear(); |
| 2093 | m_groupFolders.clear(); |
| 2094 | m_tableFolders.clear(); |
| 2095 | m_hiddenGroupIds.clear(); |
| 2096 | m_customizeWorkspaces = false; |
| 2097 | |
| 2098 | const bool hadMqttPublisher = !m_mqttPublisher.isEmpty(); |
| 2099 | m_mqttPublisher = QJsonObject(); |
| 2100 | |
| 2101 | const bool wasLocked = m_locked; |
| 2102 | m_passwordHash.clear(); |
| 2103 | m_locked = false; |
| 2104 | |
| 2105 | m_frameEndSequence = "\\n"; |
| 2106 | m_checksumAlgorithm = ""; |
| 2107 | m_frameStartSequence = "$"; |
| 2108 | m_writerVersionAtCreation = ""; |
| 2109 | m_hexadecimalDelimiters = false; |
| 2110 | m_title = tr("Untitled Project"); |
| 2111 | m_pointCount = 100; |
| 2112 | m_plotTimeRange = 10.0; |
| 2113 | m_changeDrivenTransforms = false; |
| 2114 | m_nextUniqueId = 1; |
| 2115 | m_controlScriptCode = ""; |
| 2116 | DataModel::ControlScript::instance().setCode(m_controlScriptCode); |
| 2117 | m_frameDecoder = SerialStudio::PlainText; |
| 2118 | m_frameDetection = SerialStudio::EndDelimiterOnly; |
| 2119 | m_widgetSettings = QJsonObject(); |
| 2120 | m_treeExpansion = QJsonObject(); |
| 2121 | m_diagramCollapse = QJsonObject(); |
| 2122 | |
| 2123 | DataModel::Source defaultSource; |
| 2124 | defaultSource.sourceId = 0; |
| 2125 | defaultSource.title = tr("Device A"); |
| 2126 | defaultSource.busType = static_cast<int>(SerialStudio::BusType::UART); |
| 2127 | defaultSource.frameStart = m_frameStartSequence; |
| 2128 | defaultSource.frameEnd = m_frameEndSequence; |
| 2129 | defaultSource.checksumAlgorithm = m_checksumAlgorithm; |
| 2130 | defaultSource.frameDetection = static_cast<int>(m_frameDetection); |
| 2131 | defaultSource.decoderMethod = static_cast<int>(m_frameDecoder); |
| 2132 | defaultSource.hexadecimalDelimiters = m_hexadecimalDelimiters; |
| 2133 | seedDefaultFrameParser(defaultSource); |
| 2134 | m_sources.push_back(defaultSource); |
| 2135 | |
| 2136 | m_filePath = ""; |
| 2137 | watchProjectFile(); |
| 2138 | |
| 2139 | Q_EMIT groupsChanged(); |
| 2140 | Q_EMIT actionsChanged(); |
| 2141 | Q_EMIT sourcesChanged(); |
| 2142 | Q_EMIT titleChanged(); |
no test coverage detected