public static void New(this ViewModel viewModel) { var dialog = new ShortcutProperties(); dialog.ShowDialog(); if (string.IsNullOrWhiteSpace(dialog.NewShortcut?.Name) && string.IsNullOrWhiteSpace(dialog.NewShortcut?.ProcessFile.Path)) { return; } if (!File.Exists(dialog.NewShortcut.ProcessFile.Path) && !Directory.Exists(dialog.NewShortcut.ProcessFile.Path) && !LinkHelper.IsHyperlink(dialog.NewShortcut.ProcessFile.Path)) { if (Popup.Show( $"Couldn't find \"{dialog.NewShortcut.ProcessFile.Path}\".\n\n" + "Do you want to add this shortcut anyway?", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.Yes) == MessageBoxResult.No) { return; } } viewModel.Add(dialog.NewShortcut); }
public static void ProcessFile(this ViewModel viewModel, string filepath, string name = "", bool msg = true, int position = -1) { if (viewModel.Settings.ParseShortcutFiles && Path.GetExtension(filepath) == ".lnk") { filepath = FileSystemHelper.GetShortcutTargetFile(filepath); } viewModel.Add(new Shortcut { Name = name == "" ? GetNameFromPath(filepath) : name, ProcessFile = new ProcessFile(filepath) }, msg, position); }
public static void NewSeparator(this ViewModel viewModel) { viewModel.Add(new Shortcut { Name = "Separator", SpecialType = "Separator" }, false); }