forked from Manuel/meeting-assistant
feat: add transcription pause controls
This commit is contained in:
@@ -9,6 +9,8 @@ public enum MeetingTaskbarAction
|
||||
OpenSubmenu,
|
||||
StartRecording,
|
||||
StopRecording,
|
||||
PauseTranscription,
|
||||
UnpauseTranscription,
|
||||
AbortRecording,
|
||||
SwitchProfile,
|
||||
SelectMicrophone,
|
||||
@@ -51,6 +53,15 @@ public static class MeetingTaskbarMenuBuilder
|
||||
}
|
||||
|
||||
var secondaryControls = new List<MeetingTaskbarMenuItem>();
|
||||
if (status.IsRecording)
|
||||
{
|
||||
secondaryControls.Add(new MeetingTaskbarMenuItem(
|
||||
status.IsPaused ? "Unpause transcription" : "Pause transcription",
|
||||
status.IsPaused
|
||||
? MeetingTaskbarAction.UnpauseTranscription
|
||||
: MeetingTaskbarAction.PauseTranscription));
|
||||
}
|
||||
|
||||
if (microphones is { Count: > 0 })
|
||||
{
|
||||
secondaryControls.Add(BuildMicrophoneMenu(microphones, currentMicrophoneDeviceId));
|
||||
|
||||
@@ -249,6 +249,12 @@ public sealed class UnoTaskbarIconService : IHostedService, IDisposable
|
||||
case MeetingTaskbarAction.StopRecording:
|
||||
await coordinator.StopAsync(CancellationToken.None);
|
||||
break;
|
||||
case MeetingTaskbarAction.PauseTranscription:
|
||||
await coordinator.SetTranscriptionPausedAsync(true, CancellationToken.None);
|
||||
break;
|
||||
case MeetingTaskbarAction.UnpauseTranscription:
|
||||
await coordinator.SetTranscriptionPausedAsync(false, CancellationToken.None);
|
||||
break;
|
||||
case MeetingTaskbarAction.AbortRecording:
|
||||
await coordinator.AbortAsync(CancellationToken.None);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user