Exemplo n.º 1
0
        public void ExecuteAction(RecentItemViewModel currentViewModel)
        {
            try
            {
                ThreadHelper.ThrowIfNotOnUIThread();

                var dte      = Package.GetGlobalService(typeof(_DTE)) as DTE2;
                var path     = currentViewModel.Path;
                var folder   = Path.GetDirectoryName(path);
                var itemType = currentViewModel.ItemType;

                switch (itemType)
                {
                case RecentItemType.Folder:
                    dte?.ExecuteCommand("File.OpenFolder", path);
                    break;

                case RecentItemType.Solution:
                    dte?.Solution.Open(path);
                    break;

                case RecentItemType.CsProject:
                    dte?.ExecuteCommand("File.OpenProject", path);
                    break;

                default:
                    MessageBox.Show($"Unhandled item type:'{itemType}'", Vsix.Name, MessageBoxButton.OK, MessageBoxImage.Information);
                    break;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Error:'{ex.ExtendedMessage()}'", Vsix.Name, MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
Exemplo n.º 2
0
        public void Handle(Events.UsePreset message)
        {
            var recent = new RecentItemViewModel
            {
                FilePath     = message.FileName,
                PresetName   = Path.GetFileNameWithoutExtension(message.FileName),
                LastUsedDate = DateTime.Now
            };

            recentManager.FileName = "recent.xml";
            recentManager.UpdateOrAddToCollection(recent, model => model.FilePath == message.FileName);
            NavigationService.UriFor <HostPageViewModel>().WithParam(x => x.PresetFileName, message.FileName).Navigate();
        }
Exemplo n.º 3
0
        public bool OpenInVS(RecentItemViewModel viewModel)
        {
            var path   = viewModel.Path;
            var result = (viewModel.ItemType == (Enums.RecentItemType.Folder)
                ? VisualStudioService.OpenFolderInVS(path)
                : VisualStudioService.OpenProjectOrSolutionInVS(path));

            if (result)
            {
                DataService.SetLastAccessed(path, dateTimeService.Today.Date);
            }

            return(result);
        }
Exemplo n.º 4
0
        public bool UnpinItem(RecentItemViewModel viewModel)
        {
            try
            {
                var recentItems = DataService.GetRecentItems();
                var itemToPin   = recentItems.FirstOrDefault(x => x.Key == viewModel.Path);

                itemToPin.Value.IsFavorite = false;

                DataService.UpdateRecentItems(recentItems);
            }
            catch (Exception ex)
            {
                DialogService.ShowError(ex);
            }

            return(true);
        }
Exemplo n.º 5
0
        public bool RemoveItem(RecentItemViewModel viewModel)
        {
            try
            {
                var recentItems  = DataService.GetRecentItems();
                var itemToRemove = recentItems.FirstOrDefault(x => x.Key == viewModel.Path);

                recentItems.Remove(itemToRemove);

                DataService.UpdateRecentItems(recentItems);
            }
            catch (Exception ex)
            {
                DialogService.ShowError(ex);
            }

            return(true);
        }
        public void ExecuteAction(RecentItemViewModel viewModel)
        {
            try
            {
                ThreadHelper.ThrowIfNotOnUIThread();
                Assumes.Present(VsService);

                var path     = viewModel.Path;
                var itemType = viewModel.ItemType;

                switch (itemType)
                {
                case RecentItemType.Folder:
                    if (VsService.OpenFolder(path))
                    {
                        SetLastAccessed(path);
                        SendRefreshMessage();
                    }
                    ;
                    break;

                case RecentItemType.Solution:
                case RecentItemType.CSharpProject:
                case RecentItemType.VisualBasicProject:
                    if (VsService.OpenProject(path))
                    {
                        SetLastAccessed(path);
                        SendRefreshMessage();
                    }
                    break;

                default:
                    DialogService.ShowMessage($"Unhandled item type:'{itemType}'");
                    break;
                }
            }
            catch (Exception ex)
            {
                DialogService.ShowError(ex);
            }
        }
Exemplo n.º 7
0
        public bool CopyItemPath(RecentItemViewModel viewModel)
        {
            ClipboardService.CopyToClipboard(viewModel.Path);

            return(true);
        }