feat: align legacy operator and playout behavior

This commit is contained in:
2026-07-15 21:04:05 +09:00
parent 06a16e5741
commit 83398044c6
77 changed files with 6377 additions and 391 deletions

View File

@@ -24,6 +24,18 @@ public sealed partial class MainWindow : Window
{
InitializeComponent();
EnsureCloseConfirmationAttached();
var localApplicationData = Environment.GetFolderPath(
Environment.SpecialFolder.LocalApplicationData);
var runtimeCutMenuOverridePath = string.IsNullOrWhiteSpace(localApplicationData)
? null
: Path.Combine(
localApplicationData,
"MBN_STOCK_WEBVIEW",
"Res",
"종목.ini");
var cutMenuComposition = LegacyRuntimeStockCutMenuLoader.ResolveFromCandidates(
runtimeCutMenuOverridePath,
AppContext.BaseDirectory);
ILegacyStockLookup stockLookup;
IIndustrySelectionService industrySelectionService;
@@ -153,11 +165,16 @@ public sealed partial class MainWindow : Window
expertCatalogPersistenceService,
manualFinancialStockSearchService,
stockMasterIdentityValidationService,
operatorCatalogSchemaValidationService));
operatorCatalogSchemaValidationService),
cutRows: cutMenuComposition.Rows);
if (initializationError is not null)
{
_controller.ReportError(initializationError);
}
else if (cutMenuComposition.WarningMessage is { } cutMenuWarning)
{
_controller.ReportWarning(cutMenuWarning);
}
InitializePlayoutRuntime();
@@ -470,6 +487,11 @@ public sealed partial class MainWindow : Window
pointer.X,
pointer.Y,
pointer.TimestampMilliseconds),
LegacyCutKeyDownIntent key => _controller.CutKeyDown(
key.Key,
key.Control,
key.Shift),
LegacyClearCutSelectionIntent => _controller.ClearCutSelection(),
LegacyDropSelectedCutsIntent => _controller.DropSelectedCutsOnPlaylist(),
LegacySetPlaylistEnabledIntent enabled =>
_controller.SetPlaylistRowEnabled(enabled.RowId, enabled.Enabled),
@@ -480,6 +502,8 @@ public sealed partial class MainWindow : Window
selection.RowId,
selection.Control,
selection.Shift),
LegacyActivatePlaylistRowIntent activation =>
_controller.ActivatePlaylistRow(activation.RowId),
LegacyMoveSelectedPlaylistRowsIntent move =>
_controller.MoveSelectedPlaylistRows(move.Direction),
LegacyReorderPlaylistRowsIntent reorder =>
@@ -494,7 +518,7 @@ public sealed partial class MainWindow : Window
LegacyToggleActivePlaylistEnabledIntent =>
_controller.ToggleActivePlaylistRowEnabled(),
LegacySelectPlaylistBoundaryIntent boundary =>
_controller.SelectPlaylistBoundary(boundary.Last),
SelectPlaylistBoundaryAndStopRefresh(boundary.Last),
LegacySelectTabIntent tab =>
await _controller.SelectTabAsync(tab.TabId, cancellationToken),
LegacySwapTabsIntent tabs =>