Skip to content

fix: convert all file open/save panels to sheet presentation#597

Merged
datlechin merged 2 commits intomainfrom
fix/sheet-panels
Apr 6, 2026
Merged

fix: convert all file open/save panels to sheet presentation#597
datlechin merged 2 commits intomainfrom
fix/sheet-panels

Conversation

@datlechin
Copy link
Copy Markdown
Collaborator

Summary

Converts all remaining 10 instances of free-floating NSOpenPanel/NSSavePanel dialogs to sheet presentation via beginSheetModal(for:). This completes the window management audit items 1.1 and 1.2.

5 panel.runModal()beginSheetModal(for:) (previously blocked the entire app):

  • WelcomeViewModel: import connections file picker
  • ConnectionExportOptionsSheet: export connections save panel
  • ThemeListView: theme export and import panels (2 sites)
  • InstalledPluginsView: plugin install file picker

5 panel.begin { }beginSheetModal(for:) { } (previously free-floating):

  • ImportDialog: data import file picker
  • MainContentCoordinator+SidebarActions: SQL import file picker (uses contentWindow)
  • LinkedFoldersSection: folder chooser
  • ExportDialog: export save panel
  • TableStructureView: DDL export save panel

Verification: grep -rn '\.begin {' TablePro/ returns zero panel matches. grep -rn 'runModal()' TablePro/ returns only alert fallbacks (correct pattern).

Test plan

  • Welcome screen: File > Import Connections → file picker appears as sheet
  • Welcome screen: Export connections → save panel appears as sheet
  • Settings > Themes > Export → save panel as sheet on Settings window
  • Settings > Themes > Import → file picker as sheet on Settings window
  • Settings > Plugins > Install from file → file picker as sheet
  • Import dialog > Browse → file picker as sheet
  • Sidebar > Import SQL → file picker as sheet on main window
  • Settings > Linked Folders > Add → folder chooser as sheet
  • Export dialog > Export → save panel as sheet
  • Structure > Export DDL → save panel as sheet

@datlechin datlechin merged commit 6f873b4 into main Apr 6, 2026
2 checks passed
@datlechin datlechin deleted the fix/sheet-panels branch April 6, 2026 06:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant