示例#1
0
        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);
        }
示例#2
0
 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);
 }
示例#3
0
 public static void NewSeparator(this ViewModel viewModel)
 {
     viewModel.Add(new Shortcut {
         Name = "Separator", SpecialType = "Separator"
     }, false);
 }