Skip to content

Remove Qt from ModelEditor Ruby bindings#864

Merged
jmarrec merged 17 commits intodevelopfrom
remove_qt_ruby
Mar 30, 2026
Merged

Remove Qt from ModelEditor Ruby bindings#864
jmarrec merged 17 commits intodevelopfrom
remove_qt_ruby

Conversation

@macumber
Copy link
Copy Markdown
Collaborator

No description provided.

@jmarrec
Copy link
Copy Markdown
Collaborator

jmarrec commented Mar 23, 2026

A couple of questions here:

@jmarrec
Copy link
Copy Markdown
Collaborator

jmarrec commented Mar 23, 2026

jmarrec and others added 5 commits March 23, 2026 18:41
* Update QRegExp to QRegularExpression

* Remove Qt5Compat QXmlDefaultHandler and replace with QXmlStreamReader

* Remove qt5compat (QtCore5Compat)

* Fixup QRegexp replacement: use a lazy matcher... Not sure why QRegexp was working

* ResultsTabView: fix pre-existing bug where 10_xxx shows before 2_xxx

before: `(\\d)+`: + outside group, captured only the last digit of a multi-digit prefix; after:  `(\\d+)` (+ inside group)
@macumber
Copy link
Copy Markdown
Collaborator Author

Good to merge this @jmarrec ?

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR removes the legacy QtWinMigrate/SketchUp integration paths and the ModelEditor Ruby binding build, while modernizing parts of the Qt usage (QRegularExpression) and updating build/packaging metadata accordingly.

Changes:

  • Removed the qtwinmigrate library (QWinWidget/QWinHost/QMfcApp) and stopped linking it on Windows.
  • Removed ModelEditor Ruby bindings artifacts (SWIG target, compiled Ruby extension, and related Ruby tests), leaving openstudio_modeleditor.rb as a lightweight loader.
  • Migrated remaining QRegExp usage to QRegularExpression, updated AboutBox/CMake/CI to drop Qt6Core5Compat, and refreshed translation catalogs.

Reviewed changes

Copilot reviewed 49 out of 49 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
translations/OpenStudioApp_zh_CN.ts Updated source locations and added new Location tab strings (some untranslated).
translations/OpenStudioApp_vi.ts Updated source locations and added new Location tab strings (some untranslated).
translations/OpenStudioApp_fr.ts Updated source locations and added new Location tab strings (some untranslated).
translations/OpenStudioApp_es.ts Updated source locations and added new Location tab strings (some untranslated).
translations/OpenStudioApp_ar.ts Updated source locations and added new Location tab strings (untranslated).
src/qtwinmigrate/qwinwidget.h Removed legacy QtWinMigrate QWinWidget header.
src/qtwinmigrate/qwinwidget.cpp Removed legacy QtWinMigrate QWinWidget implementation.
src/qtwinmigrate/qwinhost.h Removed legacy QtWinMigrate QWinHost header.
src/qtwinmigrate/qwinhost.cpp Removed legacy QtWinMigrate QWinHost implementation.
src/qtwinmigrate/qmfcapp.h Removed legacy QtWinMigrate QMfcApp header.
src/qtwinmigrate/qmfcapp.cpp Removed legacy QtWinMigrate QMfcApp implementation.
src/qtwinmigrate/QWinWidget Removed forwarding include for QWinWidget.
src/qtwinmigrate/QWinHost Removed forwarding include for QWinHost.
src/qtwinmigrate/QMfcApp Removed forwarding include for QMfcApp.
src/qtwinmigrate/CMakeLists.txt Removed qtwinmigrate library build definition.
src/openstudio_lib/ResultsTabView.cpp Switched from QRegExp to QRegularExpression for results path sorting.
src/openstudio_lib/LocationTabView.cpp Switched from QRegExp to QRegularExpression in design day parsing.
src/openstudio_lib/CMakeLists.txt Removed Windows-only linkage to qtwinmigrate.
src/openstudio_app/AboutBox.hpp.in Removed Core5Compat from the About box Qt modules list.
src/model_editor/test/InspectorDialog_GTest.cpp Removed SketchUpPlugin-specific test case.
src/model_editor/ModelEditor.i Reduced SWIG interface surface, leaving OSSimpleProgressBar exposure.
src/model_editor/InspectorDialog.hpp Removed SketchUpPlugin from InspectorDialogClient enum.
src/model_editor/InspectorDialog.cpp Removed SketchUp policy branch; adjusted selection message text.
src/model_editor/CMakeLists.txt Removed Windows-only qtwinmigrate link and removed SWIG Ruby binding target generation.
src/model_editor/Application.hpp Removed SketchUp window wrapper API.
src/model_editor/Application.cpp Removed Windows SketchUp process/window detection and QWinWidget usage.
src/model_editor/AccessPolicyStore.hpp Adjusted friend declarations after XML parser refactor.
src/model_editor/AccessPolicyStore.cpp Replaced deprecated SAX-style Qt XML parsing with QXmlStreamReader.
src/bimserver/CMakeLists.txt Removed Windows-only qtwinmigrate linkage.
ruby/test/WorkspaceWatcher_Test.rb Removed Ruby test that depended on modeleditor Ruby bindings.
ruby/test/PathWatcher_Test.rb Removed Ruby test that depended on modeleditor Ruby bindings.
ruby/openstudio_modeleditor_rb.cpp Removed compiled Ruby extension entrypoint.
ruby/openstudio_modeleditor.rb Updated loader to set DLL directory based on OpenStudioApp presence and removed .so require.
ruby/RubyAPI.hpp Removed Ruby export/import macro header used by the deleted extension.
ruby/CMakeLists.txt Replaced Ruby extension build with a stub install rule for openstudio_modeleditor.rb.
SketchUpInstallName.rb Removed SketchUp-specific macOS install_name_tool helper script.
CMakeLists.txt Bumped app version, removed Qt6Core5Compat dependency, and removed qtwinmigrate subdir/exports.
CMake/CPackSignAndNotarizeDmg.cmake Added a wait/retry check to ensure package files exist before signing.
.github/workflows/app_build.yml Dropped qt5compat module from Qt installation step.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/model_editor/InspectorDialog.cpp Outdated
Comment thread src/openstudio_lib/ResultsTabView.cpp Outdated
Comment thread src/openstudio_lib/LocationTabView.cpp Outdated
@jmarrec jmarrec merged commit 10d403e into develop Mar 30, 2026
10 checks passed
@jmarrec jmarrec deleted the remove_qt_ruby branch March 30, 2026 12:32
@github-actions github-actions bot locked and limited conversation to collaborators Mar 30, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants