public SourceGroupModel(Common.SignalGroup group) { if (group == null) { throw new ArgumentNullException(); } this._groupInfo = group; if (Common.AppSettings.Instance.UseGroups) { foreach (Common.SignalSource src in Common.AppSettings.Instance.SignalSources.Where(ss => ss.GroupId == _groupInfo.GroupId).OrderBy(ss => ss.DisplayOrder)) { AddSignalSourceToList(src); } } else if (_groupInfo.GroupId == Guid.Empty) { foreach (Common.SignalSource src in Common.AppSettings.Instance.SignalSources.OrderBy(ss => ss.DisplayOrder)) { AddSignalSourceToList(src); } } Cinch.Mediator.Instance.RegisterHandler <bool>("REFRESH_VISUALS", (b) => { OnPropertyChanged("GroupColor"); }); }
public override void SetupDisplay() { base.SetupDisplay(); bool bIsXP = !(Environment.OSVersion.Platform == PlatformID.Win32NT && Environment.OSVersion.Version.Major >= 6); if (bIsXP || !Common.AppSettings.Instance.UseGroups) { svGroups.Visibility = System.Windows.Visibility.Collapsed; lbGroups.ItemsSource = null; ViewModels.SourceGroupModel grp = (this.DataContext as ViewModels.MainViewModel).SignalGroups.FirstOrDefault(); if (grp == null) { Common.SignalGroup sigGrp = new Common.SignalGroup() { GroupId = Guid.Empty, DisplayOrder = 0, GroupName = "Default", GroupMuted = false, GroupColorString = string.Empty }; Common.AppSettings.Instance.SignalGroups.Add(sigGrp); Common.AppSettings.Instance.SaveSettingsFile(); grp = new ViewModels.SourceGroupModel(sigGrp); } xpSourcesView.ItemsSource = grp.SignalSources; svXp.Visibility = Visibility.Visible; } else { svGroups.Visibility = System.Windows.Visibility.Visible; lbGroups.ItemsSource = (this.DataContext as ViewModels.MainViewModel).SignalGroups; xpSourcesView.Visibility = System.Windows.Visibility.Collapsed; svXp.Visibility = System.Windows.Visibility.Collapsed; } }
public override void SetupDisplay() { base.SetupDisplay(); bool bIsXP = !(Environment.OSVersion.Platform == PlatformID.Win32NT && Environment.OSVersion.Version.Major >= 6); if (bIsXP || !Common.AppSettings.Instance.UseGroups) { svGroups.Visibility = System.Windows.Visibility.Collapsed; lbGroups.ItemsSource = null; ViewModels.SourceGroupModel grp = (this.DataContext as ViewModels.MainViewModel).SignalGroups.FirstOrDefault(); if (grp == null) { Common.SignalGroup sigGrp = new Common.SignalGroup() { GroupId = Guid.Empty, DisplayOrder = 0, GroupName = "Default", GroupMuted = false, GroupColorString = string.Empty }; Common.AppSettings.Instance.SignalGroups.Add(sigGrp); Common.AppSettings.Instance.SaveSettingsFile(); grp = new ViewModels.SourceGroupModel(sigGrp); } xpSourcesView.ItemsSource = grp.SignalSources; svXp.Visibility = Visibility.Visible; } else { svGroups.Visibility = System.Windows.Visibility.Visible; lbGroups.ItemsSource = (this.DataContext as ViewModels.MainViewModel).SignalGroups; xpSourcesView.Visibility = System.Windows.Visibility.Collapsed; svXp.Visibility = System.Windows.Visibility.Collapsed; } }
private void AddSignalGroupToList(Common.SignalGroup grp) { SourceGroupModel processor = new SourceGroupModel(grp); if (processor != null) { _signalGroups.Add(processor); _signalGroups.Sort(); } }
public GroupEditorDialog(Common.SignalGroup group) { InitializeComponent(); RadioLog.WPFCommon.BrushSelectionHolder[] colors = RadioLog.WPFCommon.ColorHelper.GetBrushSelectionItems(); System.Collections.ObjectModel.ObservableCollection <RadioLog.WPFCommon.BrushSelectionHolder> colorList = new System.Collections.ObjectModel.ObservableCollection <WPFCommon.BrushSelectionHolder>(colors); colorList.Insert(0, new WPFCommon.BrushSelectionHolder("Default", null)); cbGroupColor.ItemsSource = colorList; _group = group; SetupForCurrentGroup(); }
public GroupEditorDialog(Common.SignalGroup group) { InitializeComponent(); RadioLog.WPFCommon.BrushSelectionHolder[] colors = RadioLog.WPFCommon.ColorHelper.GetBrushSelectionItems(); System.Collections.ObjectModel.ObservableCollection<RadioLog.WPFCommon.BrushSelectionHolder> colorList = new System.Collections.ObjectModel.ObservableCollection<WPFCommon.BrushSelectionHolder>(colors); colorList.Insert(0, new WPFCommon.BrushSelectionHolder("Default", null)); cbGroupColor.ItemsSource = colorList; _group = group; SetupForCurrentGroup(); }
private void ProcessGroupAdded(Common.SignalGroup grp) { if (!Common.AppSettings.Instance.UseGroups && grp.GroupId != Guid.Empty) { return; } if (grp == null || _signalGroups.FirstOrDefault(g => g.GroupId == grp.GroupId) != null) { return; } AddSignalGroupToList(grp); }
protected BaseSourceModel(Common.SignalSource src, Common.SignalGroup group) { if (src == null) { throw new ArgumentNullException(); } _src = src; _group = group; Cinch.Mediator.Instance.RegisterHandler <bool>("REFRESH_VISUALS", (b) => { DoRefreshVisuals(); }); }
private void btnOk_Click(object sender, RoutedEventArgs e) { if (!VerifySourceInputs()) { return; } string colorName = string.Empty; if (cbGroupColor.SelectedIndex > 0) { colorName = cbGroupColor.SelectedValue as string; } if (_group == null) { int dispOrder = (int)sDisplayOrder.Value; Common.SignalGroup highestGroup = Common.AppSettings.Instance.SignalGroups.OrderByDescending(g => g.DisplayOrder).FirstOrDefault(); if (highestGroup != null) { dispOrder = highestGroup.DisplayOrder + 10; } _group = new Common.SignalGroup() { GroupId = Guid.NewGuid(), GroupMuted = false, GroupColorString = colorName, GroupName = tbGroupName.Text, DisplayOrder = dispOrder }; RadioLog.Common.AppSettings.Instance.SignalGroups.Add(_group); Cinch.Mediator.Instance.NotifyColleagues <RadioLog.Common.SignalGroup>("NEW_GROUP_ADDED", _group); } else { _group.GroupName = tbGroupName.Text; _group.GroupColorString = colorName; _group.DisplayOrder = (int)sDisplayOrder.Value; Cinch.Mediator.Instance.NotifyColleagues <Guid>("GROUP_CHANGED", _group.GroupId); } RadioLog.Common.AppSettings.Instance.SaveSettingsFile(); DialogResult = true; }
public WaveInChannelSourceModel(Common.SignalSource src, Common.SignalGroup group) : base(src, group) { }
public StreamingSourceModel(Common.SignalSource src, Common.SignalGroup group) : base(src, group) { }
public static void ShowGroupEditorDialog(Common.SignalGroup group) { GroupEditorDialog dlg = new GroupEditorDialog(group); dlg.ShowDialog(); }
private void btnOk_Click(object sender, RoutedEventArgs e) { if (!VerifySourceInputs()) return; string colorName = string.Empty; if (cbGroupColor.SelectedIndex > 0) { colorName = cbGroupColor.SelectedValue as string; } if (_group == null) { int dispOrder = (int)sDisplayOrder.Value; Common.SignalGroup highestGroup = Common.AppSettings.Instance.SignalGroups.OrderByDescending(g => g.DisplayOrder).FirstOrDefault(); if (highestGroup != null) dispOrder = highestGroup.DisplayOrder + 10; _group = new Common.SignalGroup() { GroupId = Guid.NewGuid(), GroupMuted = false, GroupColorString = colorName, GroupName = tbGroupName.Text, DisplayOrder = dispOrder }; RadioLog.Common.AppSettings.Instance.SignalGroups.Add(_group); Cinch.Mediator.Instance.NotifyColleagues<RadioLog.Common.SignalGroup>("NEW_GROUP_ADDED", _group); } else { _group.GroupName = tbGroupName.Text; _group.GroupColorString = colorName; _group.DisplayOrder = (int)sDisplayOrder.Value; Cinch.Mediator.Instance.NotifyColleagues<Guid>("GROUP_CHANGED", _group.GroupId); } RadioLog.Common.AppSettings.Instance.SaveSettingsFile(); DialogResult = true; }
public MainViewModel(IViewAwareStatus viewAwareStatus) { if (MEFedMVVM.Common.Designer.IsInDesignMode) { return; } _tAudioCheck = new System.Threading.Thread(() => { while (_shouldRunThreads) { foreach (SourceGroupModel grp in SignalGroups) { grp.UpdateHasAudio(); } System.Threading.Thread.Sleep(1500); } }); _tAudioCheck.IsBackground = true; _tAudioCheck.Name = "Audio Check Thread"; if (Common.AppSettings.Instance.UseGroups) { foreach (Common.SignalGroup grp in Common.AppSettings.Instance.SignalGroups) { AddSignalGroupToList(grp); } } else { Common.SignalGroup mainGroup = Common.AppSettings.Instance.SignalGroups.FirstOrDefault(g => g.GroupId == Guid.Empty); if (mainGroup != null) { AddSignalGroupToList(mainGroup); } } _viewStatus = viewAwareStatus; _viewStatus.ViewLoaded += viewAwareStatus_ViewLoaded; Cinch.Mediator.Instance.RegisterHandler <Common.SignalSourceGroupChangeHolder>("SOURCE_GROUP_CHANGE", ProcessSourceGroupChange); Cinch.Mediator.Instance.RegisterHandler <Common.SignalSource>("NEW_SIGNAL_SOURCE", ProcessNewSignalSource); Cinch.Mediator.Instance.RegisterHandler <Guid>("DELETE_SIGNAL_SOURCE", ProcessRemoveSignalSource); Cinch.Mediator.Instance.RegisterHandler <Guid>("UPDATE_SIGNAL_SOURCE", ProcessRefreshSignalSource); Cinch.Mediator.Instance.RegisterHandler <Guid>("GROUP_CHANGED", ProcessGroupUpdated); Cinch.Mediator.Instance.RegisterHandler <Guid>("GROUP_DELETED", ProcessGroupDeleted); Cinch.Mediator.Instance.RegisterHandler <Common.SignalGroup>("NEW_GROUP_ADDED", ProcessGroupAdded); Cinch.Mediator.Instance.RegisterHandler <Guid>("TOGGLE_SOURCE_MUTE_OTHERS", ProcessToggleSourceMuteOthers); Cinch.Mediator.Instance.RegisterHandler <Guid>("END_IF_NON_MUTED_SOURCE", ProcessShutdownSourceMuteOthers); Cinch.Mediator.Instance.RegisterHandler <bool>("AUDIO_MUTE_STATE_CHANGED", ProcessAudioMuteStateChanged); Cinch.Mediator.Instance.RegisterHandler <bool>("REFRESH_RADIO_LOOKUPS", (b) => { foreach (RadioSignalItemModel rSig in RadioLog) { rSig.UpdateLookups(); } foreach (EmergencyRadioSignalItemModel eSig in EmergencyRadioLog) { eSig.UpdateLookups(); } }); Cinch.Mediator.Instance.RegisterHandler <bool>("SETTINGS_CHANGED", (b) => { GridFontSize = Common.AppSettings.Instance.GridFontSize; GridSmallFontSize = Common.AppSettings.Instance.GridFontSize - 4; GridLargeFontSize = Common.AppSettings.Instance.GridFontSize + 4; foreach (SourceGroupModel grp in _signalGroups) { grp.UpdateForSystemSettingsChanged(); } }); UpdateEmergencyAlarmSoundPlayer(); }