feat: Elements panel, Countdown/Web sources, webcam border config (TASK 14 Branch 2)
- New SourceType.Countdown (Starting/BRB only, timer 1-60 min) and SourceType.WebSource (all scenes, URI) - Elements panel beneath Sources: per-element config with live preview, ✕ revert / ✓ applied indicator - Webcam border: hex color input + swatch picker, thickness 0-10 slider - Countdown: timer minutes slider (1-60, default 15), Web: URI text input - SourceTypeToVisibilityConverter for conditional panel visibility - Snapshot/revert mechanism in code-behind for live-preview cancel
This commit is contained in:
@@ -177,6 +177,7 @@ public class MainViewModel : ViewModelBase
|
||||
OnPropertyChanged(nameof(CanChangeBackdrop));
|
||||
OnPropertyChanged(nameof(CanAddWebcamToActiveScene));
|
||||
OnPropertyChanged(nameof(CanShowWebcamInActiveScene));
|
||||
OnPropertyChanged(nameof(IsCountdownAvailable));
|
||||
UpdateActiveBackground();
|
||||
UpdateBackdropImage();
|
||||
}
|
||||
@@ -729,6 +730,9 @@ public class MainViewModel : ViewModelBase
|
||||
public bool ShowPreviewPlaceholder => !ShowEmptySceneHint && ActiveBackgroundImage == null && BackdropImage == null;
|
||||
public bool ShowSourcesEmptyHint => ActiveScene == null || ActiveScene.Elements.Count == 0;
|
||||
|
||||
public bool IsCountdownAvailable => ActiveScene != null
|
||||
&& (SceneCatalog.Is(ActiveScene.Name, "Starting") || SceneCatalog.Is(ActiveScene.Name, "BRB"));
|
||||
|
||||
/// <summary>The canonical scenes (SceneCatalog) not present right now — what the
|
||||
/// "+" button may re-add. Work with less, never more.</summary>
|
||||
public IEnumerable<string> MissingScenes
|
||||
@@ -1721,6 +1725,8 @@ public class MainViewModel : ViewModelBase
|
||||
SourceType.Background => "Background",
|
||||
SourceType.Image => "Image",
|
||||
SourceType.TextOverlay => "Text",
|
||||
SourceType.Countdown => "Countdown",
|
||||
SourceType.WebSource => "Web",
|
||||
_ => "Source",
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user