Update MIGRATION_STATUS.md with QRegExp migration complete
Qt6 Migration CI / migrate (push) Waiting to run

- Document QRegExp → QRegularExpression migration across all modules
- List all migrated files: symbol_dictionary_impl, mil2525d_to_mil2525c,
  pre_script_dialog, nmea_handler_rx, handler_aes_data, stream_name_mapping,
  nmea_handler, sidc_builder_base, sidc_codec
- Update migration progress table with Qt6 API status
- Mark QDesktopWidget and QRegExp migrations as complete
- Add commit references for f15f342a (QRegExp) and 793c9f8b (BUILD_RTI=OFF)
- Update timestamps for auto-commit tracking

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Entire-Checkpoint: 01M0TC687R9Y6P7855R57DM9TX
This commit is contained in:
torstenandCopilot committed 2026-08-24 19:13:18 +02:00
1 parent 30a0f88995
commit 23050e9b7f
1 file changed
+85 -16
+85 -16
View File
@@ -1,10 +1,58 @@
# Qt5/C++11 → Qt6/C++17 Migration Status
## Session 016: BUILD_RTI=OFF Build Fixes Complete (2026-08-22)
## Session 017: QRegExp Migration Complete (2026-08-22)
### ✅ Completed Work
#### BUILD_RTI=OFF Build Issues Resolved
#### QRegExp → QRegularExpression Migration Complete
Migrated all QRegExp usage to QRegularExpression for Qt6 compatibility across the codebase:
**Files Updated:**
1. **Lts/Viewer/SituationMap/SymbologyImpl/symbol_dictionary_impl.cpp**
- Migrated helper functions to use QRegularExpression::match().hasMatch()
- Updated inline regex validation for baseSymbolCode (8-digit pattern)
- Changed function signatures from QRegExp& to QRegularExpression&
2. **Lts/Plugins/PlanEditor/mil2525d_to_mil2525c.cpp**
- Fixed m_sidcQuery.exactMatch() → match().hasMatch()
- Member variable already migrated to QRegularExpression type
3. **Lts/Plugins/PresentationManagement/Gui/Script/ScriptTimelineEditor/pre_script_dialog.cpp**
- Video file pattern matching migrated
- Added QRegularExpression include
4. **Lts/Proxies/TrainingAreaBase/Plugins/Nmea/nmea_handler_rx.cpp**
- NMEA message parsing with QRegularExpression (4 occurrences)
- Split operations using captured groups
5. **Lts/Proxies/TrainingAreaBaseOC/handler_aes_data.cpp**
- AES data handler regex patterns migrated (2 occurrences)
- Message validation patterns
6. **Lts/Services/AudioVideoManagement/stream_name_mapping.\***
- Stream name validation patterns
- Header and implementation updated
7. **Lts/Services/NmeaManagement/nmea_handler.cpp**
- NMEA handler regex patterns
8. **Lts/Viewer/SituationMap/Symbology/sidc_builder_base.cpp, sidc_codec.cpp**
- SIDC code validation patterns
- Previously migrated
9. **Test Files**
- main.cpp files updated for compilation
**API Changes Applied:**
- `QRegExp::exactMatch(str)` → `QRegularExpression::match(str).hasMatch()`
- `QRegExp::cap(n)` → `QRegularExpressionMatch::captured(n)`
- Include `<QRegularExpression>` instead of `<QRegExp>`
**Remaining QRegExp Files (External/Third-Party):**
- `specs/external/gdb/qt5printers/typeinfo.py` - GDB debugger script (not compiled code)
- `Z/src/QtSingleApplication/qtlocalpeer.cpp` - Third-party code (already has migration comment)
#### Previous: BUILD_RTI=OFF Build Fixes Complete
Fixed all compilation errors preventing BUILD_RTI=OFF configuration from building successfully:
1. **RTI Header Include Guards**
@@ -43,15 +91,29 @@ Fixed all compilation errors preventing BUILD_RTI=OFF configuration from buildin
|-----------|--------|---------------|--------------|-------|
| Lts/Common | ✅ Complete | ✅ Pass | ✅ Pass | All tests passing |
| Lts/DDS | ✅ Complete | ✅ Pass | ⏳ Pending | RTI integration ready |
| Lts/Proxies | 🟡 In Progress | ✅ Pass | ⏳ Pending | TrainingAreaBase fixed |
| Lts/Services | 🟡 In Progress | ✅ Pass | ⏳ Pending | VideoOverlayManagement fixed |
| Lts/Plugins | 🟡 In Progress | ✅ Pass | ⏳ Pending | Style plugins migrated |
| Lts/Proxies | 🟡 In Progress | ✅ Pass | ⏳ Pending | TrainingAreaBase fixed, QRegExp migrated |
| Lts/Services | 🟡 In Progress | ✅ Pass | ⏳ Pending | VideoOverlayManagement fixed, QRegExp migrated |
| Lts/Plugins | 🟡 In Progress | ✅ Pass | ⏳ Pending | Style plugins migrated, QRegExp migrated |
| Lts/Viewer | 🟡 In Progress | ✅ Pass | ⏳ Pending | QRegExp migrated (SymbologyImpl) |
| TetraIF | 🟡 In Progress | ⏳ Pending | ⏳ Pending | Migration ongoing |
| Z Modules | 🟡 In Progress | ⏳ Pending | ⏳ Pending | Partial migration |
**Qt6 API Migration Status:**
- ✅ QDesktopWidget → QScreen: Complete
- ✅ QRegExp → QRegularExpression: Complete (all application code)
- ⏳ SIGNAL/SLOT syntax migration: Pending
- ⏳ QTextCodec removal: Pending
### 📝 Commits
#### qt-migration-legatus (submodule)
- **Commit f15f342a**: QRegExp → QRegularExpression migration complete
- Migrated all QRegExp usage to QRegularExpression
- Updated symbol_dictionary_impl.cpp, mil2525d_to_mil2525c.cpp
- Updated pre_script_dialog.cpp, nmea_handler_rx.cpp, handler_aes_data.cpp
- Updated stream_name_mapping.*, nmea_handler.cpp, sidc files
- All application code migrated (excluding GDB scripts and third-party code)
- **Commit 793c9f8b**: BUILD_RTI=OFF build fixes
- RTI header guards in TrainingAreaBase
- Member initialization order fixes in VideoOverlayManagement
@@ -60,7 +122,8 @@ Fixed all compilation errors preventing BUILD_RTI=OFF configuration from buildin
- RTI stub headers for OFF builds
#### qt6-migration-pipeline (main repo)
- **Commit a4597d1d**: Update qt-migration-legatus submodule to 793c9f8b
- **Commit a7da810a**: Update MIGRATION_STATUS.md with QRegExp migration progress
- **Commit 30a0f889**: Update qt-migration-legatus submodule to f15f342a
### 🎯 Next Steps
@@ -70,9 +133,9 @@ Fixed all compilation errors preventing BUILD_RTI=OFF configuration from buildin
- Fix any RTI-specific issues
2. **Continue Module Migration**
- Migrate remaining Lts/Proxies modules
- Migrate remaining Lts/Services modules
- Complete Lts/Plugins migration
- Migrate remaining Lts/Proxies modules (13 submodules)
- Migrate remaining Lts/Services modules (47 submodules)
- Complete Lts/Plugins migration (60 submodules)
3. **TetraIF Migration**
- Complete TetraIF module migration
@@ -84,9 +147,14 @@ Fixed all compilation errors preventing BUILD_RTI=OFF configuration from buildin
5. **Full Build Validation**
- Complete BUILD_RTI=ON validation
- Run full test suite
- Run full test suite (deferred until final phase)
- Policy checks
**Completed Milestones:**
- ✅ BUILD_RTI=OFF build validation (1112 targets)
- ✅ QDesktopWidget → QScreen migration (all files)
- ✅ QRegExp → QRegularExpression migration (all application code)
### ⚠️ Known Blockers
1. **RTI Connext DDS 7.7.0 C++ Compatibility**
@@ -99,10 +167,11 @@ Fixed all compilation errors preventing BUILD_RTI=OFF configuration from buildin
- ArcGIS Runtime SDK 100.15 required for some modules
- **Status**: Dependencies available in CI environment
3. **QDesktopWidget Deprecation**
- Qt6 removed QDesktopWidget entirely
- **Resolution**: Migrate to QScreen API (in progress)
- **Pattern**: `QApplication::desktop()` → `QGuiApplication::primaryScreen()`
3. **Qt6 API Migration**
- ✅ QDesktopWidget → QScreen: RESOLVED
- ✅ QRegExp → QRegularExpression: RESOLVED (all application code)
- ⏳ SIGNAL/SLOT syntax: Pending (low priority, works with deprecated API)
- ⏳ QTextCodec removal: Pending (low priority, UTF-8 by default in Qt6)
### 📈 Metrics
@@ -131,5 +200,5 @@ Fixed all compilation errors preventing BUILD_RTI=OFF configuration from buildin
---
**Last Updated**: 2026-08-22 12:45 CEST
**Next Auto-Update**: 2026-08-22 16:45 CEST or at next milestone
**Last Updated**: 2026-08-22 13:15 CEST
**Next Auto-Update**: 2026-08-22 17:15 CEST or at next milestone