diff --git a/MainWindow.xaml.cs b/MainWindow.xaml.cs
index 2c52228..eeb0984 100644
--- a/MainWindow.xaml.cs
+++ b/MainWindow.xaml.cs
@@ -131,6 +131,21 @@ public partial class MainWindow : Window
_ = InitializeWebViewAsync();
await LoadChannelsAsync();
+ // Erinnerungs-Callback: Sender automatisch einschalten
+ _reminderService.SwitchToChannel = channelName =>
+ {
+ var ch = _allChannels.FirstOrDefault(c =>
+ c.Name.Equals(channelName, StringComparison.OrdinalIgnoreCase));
+ if (ch != null)
+ {
+ var listEntry = _filteredChannels.FirstOrDefault(c =>
+ c.Name.Equals(channelName, StringComparison.OrdinalIgnoreCase));
+ if (listEntry != null)
+ LstChannels.SelectedItem = listEntry;
+ else
+ PlayChannel(ch);
+ }
+ };
RestoreLastChannel();
_ = LoadEpgInBackgroundAsync();
}
diff --git a/Services/ReminderService.cs b/Services/ReminderService.cs
index 05c6f0a..d21a571 100644
--- a/Services/ReminderService.cs
+++ b/Services/ReminderService.cs
@@ -57,7 +57,7 @@ public class ReminderService
if (due.Any()) Save();
}
- private static void FireNotification(Reminder r)
+ private void FireNotification(Reminder r)
{
try
{
@@ -65,13 +65,21 @@ public class ReminderService
var when = minLeft <= 0 ? "Jetzt" : $"In {minLeft} Minute{(minLeft == 1 ? "" : "n")}";
var msg = $"{when}: {r.Title}\n{r.ChannelName} {r.StartTime:HH:mm}\u2013{r.EndTime:HH:mm}";
- System.Windows.MessageBox.Show(msg, "\u23f0 HomeStream-Erinnerung",
- System.Windows.MessageBoxButton.OK,
+ var result = System.Windows.MessageBox.Show(
+ msg + "\n\nJetzt einschalten?",
+ "\u23f0 HomeStream-Erinnerung",
+ System.Windows.MessageBoxButton.YesNo,
System.Windows.MessageBoxImage.Information);
+
+ if (result == System.Windows.MessageBoxResult.Yes)
+ SwitchToChannel?.Invoke(r.ChannelName);
}
catch { }
}
+ /// Wird aufgerufen wenn User bei Erinnerung "Jetzt einschalten" klickt.
+ public Action? SwitchToChannel { get; set; }
+
private void Load()
{
try