Repository navigation
Remove code and data that only the Translation Editor used - #1202
Merged
Merged
Conversation
FieldWorks no longer carries the Translation Editor's menu and toolbar definitions, its string table, its UIAdapterInterfaces project, or the members and hooks that only it called or overrode. Until now these stayed in DistFiles, FwResources, AppCore, FieldWorks, Framework, RootSite, SimpleRootSite and xWorks, although nothing has loaded, called or read them since the Translation Editor was removed. Removed: * FwTMDefinition.xml * FwTMStrings * IPublicationView * IPageSetupDialog * kstidPageSetupWithViewName * kstidUndoPageSetupChanges * kstidFilePageSetupMenuName * kstidFilePageSetupMsg * kcidFilePageSetup * UIAdapterInterfaces (ITMAdapter, ISIBInterface, TMItemProperties) * RootSiteEditingHelper.ShowContextMenu(Point, ITMAdapter, ...) * RootSiteEditingHelper.MakeSpellCheckMenuOptions * RootSiteEditingHelper.UpdateItemProps * RootSiteEditingHelper.SpellCheckingStatus * RootSiteEditingHelper.SpellCheckStatus * RootSiteEditingHelper.itemAdd_Click * AddToDictMenuItem.Word * AddToDictMenuItem.WritingSystem * EditingHelper.CastAs * StylesXmlAccessor.AppDefaultFont * StylesXmlAccessor.IsNormalStyle * StylesXmlAccessor.ValidateParagraphContext * WindowsInstallerQuery * FwXWindow.OnUpdateArchiveWithRamp Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The Styles and Apply Style dialogs no longer carry the Translation
Editor's style-type options, and the Styles dialog's "User-modified
Styles" list now shows the styles changed from their factory settings.
Until now every FLEx window answered switches that only the Translation
Editor ever changed, the Apply Style dialog built a style-type list it
never showed, and "User-modified Styles" showed the Dictionary styles.
Removed:
* IMainWindowDelegateCallbacks.ShowTEStylesComboInStylesDialog
* IMainWindowDelegateCallbacks.CanSelectParagraphBackgroundColor
* IMainWindowDelegateCallbacks.PopulateParaStyleListOverride
* IMainWindowDelegateCallbacks.MaxStyleLevelToShow
* FwStylesDlg.ShowTEStyleTypes
* the customUserLevel parameter of FwStylesDlg and FwApplyStyleDlg
* the nMaxStyleLevel parameter of FwStylesDlg.RunStylesDialogForCombo
* the maxStyleLevel parameter of ShowApplyStyleDialog
* FwApplyStyleDlg.AllowSelectStyleTypes and its style-type list
* BaseStyleListHelper.ShowOnlyUserModifiedStyles
* StyleListItem.IsUserModifiedStyle
* the m_cboTypes.Items4 string of FwStylesDlg ("Dictionary")
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #1202 +/- ##
==========================================
+ Coverage 39.88% 39.90% +0.01%
==========================================
Files 1542 1541 -1
Lines 355361 355131 -230
Branches 41320 41300 -20
==========================================
- Hits 141753 141732 -21
+ Misses 184253 184064 -189
+ Partials 29355 29335 -20
🚀 New features to boost your workflow:
|
thejambi
approved these changes
Oct 23, 2026
thejambi
left a comment
Contributor
There was a problem hiding this comment.
@thejambi reviewed 41 files and all commit messages, and made 1 comment.
Reviewable status:complete! all files reviewed, all discussions resolved (waiting on mark-sil).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Start here:
Src/FwCoreDlgs/FwStylesDlg.cs-- the only behaviour change. Everything else is deletion.What it does. Removes code and data that only the Translation Editor (TE) used, as agreed on Slack: TE's menu/toolbar definitions (
FwTMDefinition.xml), its string table (FwTMStrings), unused page-setup strings and command id, theUIAdapterInterfacesproject, TE-only members and hooks in RootSite, SimpleRootSite, Framework, FieldWorks and xWorks, and TE's switches in the Styles and Apply Style dialogs.The unknown you start with: what breaks? The condition for removing TE leftovers was that Paratext Scripture import, and working with that Scripture in Interlinear Texts, keep working. Nothing on those paths changed. Every removal was re-checked unused across code, project files,
FieldWorks.sln, the installer and localization config. The one visible change is in Format > Styles: the List box's "User-modified Styles" entry was filtering to the Dictionary styles. That came from a TE label swap that never ran in FLEx. It now lists styles whose modified flag is set. The label text is unchanged.Where to look
FwStylesDlg.GetExcludedFlexStyleNamescase 3 -- the new user-modified filter.FwApplyStyleDlgdesigner and resx -- the always-hidden style-type panel removed, and its table-layout row dropped.RootSiteEditingHelper-- only the TEShowContextMenu(Point, ITMAdapter, ...)overload went. FLEx's spelling menu goes throughSpellCheckHelper.ShowContextMenu, which is untouched.FwStylesDlg/FwApplyStyleDlgconstructors,RunStylesDialogForComboandShowApplyStyleDialog. All in-repo callers are updated; no external callers are known.Deliberately not here
Verification.
build.ps1 -CommentHygiene -TokenHygiene(native included): 0 warnings, 0 errors. Targeted runs pass: ParatextImportTests, ScriptureUtilsTests, ITextDllTests, RootSiteTests, SimpleRootSiteTests, FrameworkTests, FwCoreDlgsTests, FwCoreDlgControlsTests and LexTextControlsTests. Manually tested: Scripture in Interlinear Texts, the spelling context menu, Format > Styles, Format > Apply Style, and the Styles button in Configure Dictionary. Not run: a live Paratext 9 import, since Paratext isn't installed here; ParatextImportTests cover the importer.Next: approve, or point at anything that should stay.
Reading this a year from now -- start here
TE was removed from FieldWorks around 2015, but some of its code, data and switches stayed in shared FLEx code. This PR removes what had no remaining FLEx caller. Where a TE switch was still read by FLEx (the Styles dialog switches), FLEx's constant answer was inlined and the switch removed. The first commit is pure deletion. The second removes the style-dialog switches, and with them a parameter chain (
customUserLevel/nMaxStyleLevel/maxStyleLevel/MaxStyleLevelToShow) whose only reader was TE's "Custom Styles" branch.Decisions, and why
ShowOnlyUserModifiedStylesfilter could not be combined with that list, becauseBaseStyleListHelperreturns early when an exclude list is set. So the TE filter was removed rather than revived.m_cboTypes.Items4) was deleted, and "User-modified Styles" (Items3) kept, so existing translations still match their keys.FwStylesDlg.CanSelectParagraphBackgroundColorstays:RunStylesDialogForComboandImportCharMappingDlgstill set it tofalse. Only the always-truecallback was removed.FwRegistryHelper.TranslationEditorstays: FLEx still uses it to delete old TE registry keys.The Normal-is-modified bug (deferred)
From code reading; the symptom was seen live.
StyleInfoTable.ConnectStyles(liblcm) gives paragraph styles with no based-on style their built-in defaults. A new project's Normal stores font size 10 pt and space before 0 explicitly, and both equal those defaults. When the dialog writes the tab values back,InheritableStyleProp.Saveconverts a value equal to the default into inherited and reports a change. The Font and Paragraph tabs then setStyleInfo.Dirty, which also setsIsModified. The fix belongs in liblcm'sSave, so it is out of scope here.Evidence
Targeted test runs (Total / Passed / Skipped):
Preflight review details
Code Review Summary
Branch: claude/competent-hypatia-cc9a20
Base: main (merge base d0d85cb, current with origin/main)
Date: 2026-10-23
Review model: Claude Opus 5.5
Files changed: 41 (2 commits, +37 / -5,543)
Overview
Removes code and data that only the Translation Editor (TE) used, after the team
approved it on Slack. Ken Zook's condition was that Paratext Scripture import and
working with that Scripture in Interlinear Texts must keep working; Jason excluded the
Valid Characters dialog, which is untouched.
Commit 1 deletes TE's menu/toolbar definitions, string table, page-setup strings and
native command id, the UIAdapterInterfaces project, and TE-only members and hooks in
RootSite, SimpleRootSite, Framework, FieldWorks and xWorks. Commit 2 removes TE's
switches from the Styles and Apply Style dialogs. That exposed a FLEx bug: the Styles
dialog's "User-modified Styles" list entry filtered to the Dictionary styles. It now
lists styles whose modified flag is set.
Contract/API Changes
SpellCheckingStatus, SpellCheckStatus; EditingHelper.CastAs; AddToDictMenuItem.Word and
WritingSystem; StylesXmlAccessor.AppDefaultFont, IsNormalStyle,
ValidateParagraphContext; WindowsInstallerQuery; FwXWindow.OnUpdateArchiveWithRamp;
FwStylesDlg.ShowTEStyleTypes; FwApplyStyleDlg.AllowSelectStyleTypes;
BaseStyleListHelper.ShowOnlyUserModifiedStyles; StyleListItem.IsUserModifiedStyle.
CanSelectParagraphBackgroundColor, PopulateParaStyleListOverride, MaxStyleLevelToShow.
FwStylesDlg.RunStylesDialogForCombo loses nMaxStyleLevel;
IMainWindowDelegatedFunctions.ShowApplyStyleDialog loses maxStyleLevel.
#define kcidFilePageSetupremoved from AfDef.h.the Apply Style dialog's style-type list strings; FwStylesDlg's "Dictionary" entry.
Findings
Critical - Must address before merge
None.
Important - Should address before merge
None.
Minor - Consider
Public API removed; callers outside this repo would break(author: no externalconsumers known; every in-repo caller, including bundled plugins, compiles)
Normal appears under "User-modified Styles" in a new project(author: Kenapproved the partial fix; the cause is liblcm InheritableStyleProp.Save, to be
recorded on LT-22212 after merge)
User-visible Styles-dialog change without an LT ticket id in the title(author: no ticket id; LT-22212 will get a comment citing this PR)
Required Validation / Evidence
.\build.ps1 -CommentHygiene -TokenHygiene, native included: 0 warnings, 0 errors,hygiene gates clean (after each change set).
ParatextImportTests 681/641/40, ParaText8PluginTests 1/0/1 (Paratext not installed),
ScriptureUtilsTests 26/23/3, ITextDllTests 210/209/1, RootSiteTests 106/105/1,
FrameworkTests 27/27/0, SimpleRootSiteTests 115/115/0, FwCoreDlgsTests 366/361/5,
FwCoreDlgControlsTests 55/55/0, LexTextControlsTests 368/365/3.
spelling context menu, File > Archive with RAMP, Format > Styles (list types,
user-modified, paragraph background), Format > Apply Style, and the Styles button in
Configure Dictionary. The author reports all tests pass.
Positive Observations
installer and localization config.
promises, and keeps the existing "User-modified Styles" string.
Interview Notes
Suggested Review Focus
🤖 Generated with Claude Code
This change is