private async void EditProfileAction() { CustomDialog customDialog = new CustomDialog() { Title = Application.Current.Resources["String_Header_EditProfile"] as string }; IPScannerProfileViewModel ipScannerProfileViewModel = new IPScannerProfileViewModel(instance => { dialogCoordinator.HideMetroDialogAsync(this, customDialog); IPScannerProfileManager.RemoveProfile(SelectedProfile); IPScannerProfileInfo ipScannerProfileInfo = new IPScannerProfileInfo { Name = instance.Name, IPRange = instance.IPRange, Group = instance.Group }; IPScannerProfileManager.AddProfile(ipScannerProfileInfo); }, instance => { dialogCoordinator.HideMetroDialogAsync(this, customDialog); }, IPScannerProfileManager.GetProfileGroups(), SelectedProfile); customDialog.Content = new IPScannerProfileDialog { DataContext = ipScannerProfileViewModel }; await dialogCoordinator.ShowMetroDialogAsync(this, customDialog); }
private async void CopyAsProfileAction() { CustomDialog customDialog = new CustomDialog() { Title = LocalizationManager.GetStringByKey("String_Header_CopyProfile") }; IPScannerProfileViewModel ipScannerProfileViewModel = new IPScannerProfileViewModel(instance => { dialogCoordinator.HideMetroDialogAsync(this, customDialog); IPScannerProfileInfo ipScannerProfileInfo = new IPScannerProfileInfo { Name = instance.Name, IPRange = instance.IPRange, Group = instance.Group }; IPScannerProfileManager.AddProfile(ipScannerProfileInfo); }, instance => { dialogCoordinator.HideMetroDialogAsync(this, customDialog); }, IPScannerProfileManager.GetProfileGroups(), SelectedProfile); customDialog.Content = new IPScannerProfileDialog { DataContext = ipScannerProfileViewModel }; await dialogCoordinator.ShowMetroDialogAsync(this, customDialog); }
public IPScannerViewModel(IDialogCoordinator instance) { dialogCoordinator = instance; // Load profiles if (IPScannerProfileManager.Profiles == null) { IPScannerProfileManager.Load(); } _ipScannerProfiles = CollectionViewSource.GetDefaultView(IPScannerProfileManager.Profiles); _ipScannerProfiles.GroupDescriptions.Add(new PropertyGroupDescription("Group")); _ipScannerProfiles.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending)); _ipScannerProfiles.Filter = o => { if (string.IsNullOrEmpty(Search)) { return(true); } IPScannerProfileInfo info = o as IPScannerProfileInfo; string search = Search.Trim(); // Search by: Name return(info.Name.IndexOf(search, StringComparison.OrdinalIgnoreCase) >= 0); }; LoadSettings(); // Detect if settings have changed... SettingsManager.Current.PropertyChanged += SettingsManager_PropertyChanged; _isLoading = false; }
public IPScannerProfileViewModel(Action <IPScannerProfileViewModel> saveCommand, Action <IPScannerProfileViewModel> cancelHandler, List <string> groups, IPScannerProfileInfo profileInfo = null) { _saveCommand = new RelayCommand(p => saveCommand(this)); _cancelCommand = new RelayCommand(p => cancelHandler(this)); _profileInfo = profileInfo ?? new IPScannerProfileInfo(); Name = _profileInfo.Name; IPRange = _profileInfo.IPRange; Group = string.IsNullOrEmpty(_profileInfo.Group) ? Application.Current.Resources["String_Default"] as string : _profileInfo.Group; _groups = CollectionViewSource.GetDefaultView(groups); _groups.SortDescriptions.Add(new SortDescription()); _isLoading = false; }
public IPScannerProfileViewModel(Action <IPScannerProfileViewModel> saveCommand, Action <IPScannerProfileViewModel> cancelHandler, List <string> groups, IPScannerProfileInfo profileInfo = null) { _saveCommand = new RelayCommand(p => saveCommand(this)); _cancelCommand = new RelayCommand(p => cancelHandler(this)); _profileInfo = profileInfo ?? new IPScannerProfileInfo(); Name = _profileInfo.Name; IPRange = _profileInfo.IPRange; // Get the group, if not --> get the first group (ascending), fallback --> default group Group = string.IsNullOrEmpty(_profileInfo.Group) ? (groups.Count > 0 ? groups.OrderBy(x => x).First() : Application.Current.Resources["String_Default"] as string) : _profileInfo.Group; _groups = CollectionViewSource.GetDefaultView(groups); _groups.SortDescriptions.Add(new SortDescription()); _isLoading = false; }
public IPScannerViewModel(IDialogCoordinator instance) { dialogCoordinator = instance; // Set collection view _ipRangeHistoryView = CollectionViewSource.GetDefaultView(SettingsManager.Current.IPScanner_IPRangeHistory); // Result view _ipScanResultView = CollectionViewSource.GetDefaultView(IPScanResult); _ipScanResultView.SortDescriptions.Add(new SortDescription(nameof(IPScannerHostInfo.PingInfo) + "." + nameof(PingInfo.IPAddressInt32), ListSortDirection.Ascending)); // Load profiles if (IPScannerProfileManager.Profiles == null) { IPScannerProfileManager.Load(); } _ipScannerProfiles = CollectionViewSource.GetDefaultView(IPScannerProfileManager.Profiles); _ipScannerProfiles.GroupDescriptions.Add(new PropertyGroupDescription(nameof(IPScannerProfileInfo.Group))); _ipScannerProfiles.SortDescriptions.Add(new SortDescription(nameof(IPScannerProfileInfo.Group), ListSortDirection.Ascending)); _ipScannerProfiles.SortDescriptions.Add(new SortDescription(nameof(IPScannerProfileInfo.Name), ListSortDirection.Ascending)); _ipScannerProfiles.Filter = o => { if (string.IsNullOrEmpty(Search)) { return(true); } IPScannerProfileInfo info = o as IPScannerProfileInfo; string search = Search.Trim(); // Search by: Name return(info.Name.IndexOf(search, StringComparison.OrdinalIgnoreCase) > -1); }; LoadSettings(); // Detect if settings have changed... SettingsManager.Current.PropertyChanged += SettingsManager_PropertyChanged; _isLoading = false; }
public IPScannerHostViewModel(IDialogCoordinator instance) { dialogCoordinator = instance; InterTabClient = new DragablzIPScannerInterTabClient(); TabItems = new ObservableCollection <DragablzTabItem>() { new DragablzTabItem(LocalizationManager.GetStringByKey("String_Header_NewTab"), new IPScannerView(_tabId), _tabId) }; // Load profiles if (IPScannerProfileManager.Profiles == null) { IPScannerProfileManager.Load(); } _ipScannerProfiles = CollectionViewSource.GetDefaultView(IPScannerProfileManager.Profiles); _ipScannerProfiles.GroupDescriptions.Add(new PropertyGroupDescription(nameof(IPScannerProfileInfo.Group))); _ipScannerProfiles.SortDescriptions.Add(new SortDescription(nameof(IPScannerProfileInfo.Group), ListSortDirection.Ascending)); _ipScannerProfiles.SortDescriptions.Add(new SortDescription(nameof(IPScannerProfileInfo.Name), ListSortDirection.Ascending)); _ipScannerProfiles.Filter = o => { if (string.IsNullOrEmpty(Search)) { return(true); } IPScannerProfileInfo info = o as IPScannerProfileInfo; string search = Search.Trim(); // Search by: Name return(info.Name.IndexOf(search, StringComparison.OrdinalIgnoreCase) > -1); }; LoadSettings(); _isLoading = false; }