Example #1
0
        /// <summary>
        /// The make menu.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="manager">The manager.</param>
        /// <param name="translator">The translator.</param>
        /// <returns>
        /// The <see cref="IMenuItem" />.
        /// </returns>
        public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager manager, ISQKeyTranslator translator, IList <IIssueTrackerPlugin> plugins)
        {
            var topLel = new IssueTrackerMenu(rest, model, manager, translator, null)
            {
                CommandText = "Issue Tracker", IsEnabled = false
            };

            foreach (var plugin in plugins)
            {
                var topLevelPlugin = new IssueTrackerMenu(rest, model, manager, translator, null)
                {
                    CommandText = plugin.GetPluginDescription().Name, IsEnabled = false
                };
                topLevelPlugin.SubItems.Add(new IssueTrackerMenu(rest, model, manager, translator, plugin)
                {
                    CommandText = "new issue and attach", IsEnabled = true
                });
                topLevelPlugin.SubItems.Add(new IssueTrackerMenu(rest, model, manager, translator, plugin)
                {
                    CommandText = "attach to existent", IsEnabled = true
                });
                topLel.SubItems.Add(topLevelPlugin);
            }

            return(topLel);
        }
Example #2
0
        /// <summary>
        /// The make menu.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="manager">The manager.</param>
        /// <param name="translator">The translator.</param>
        /// <returns>
        /// The <see cref="IMenuItem" />.
        /// </returns>
        public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager manager, ISQKeyTranslator translator, ISonarLocalAnalyser analyser)
        {
            var topLel = new MoreInfoMenu(rest, model, manager, translator, analyser)
            {
                CommandText = "More Info", IsEnabled = true
            };

            return(topLel);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="OpenResourceMenu" /> class.
        /// Initializes a new instance of the <see cref="ChangeStatusMenu" /> class.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        private OpenResourceMenu(ISonarRestService rest, IssueGridViewModel model)
        {
            this.model = model;
            this.rest = rest;
            this.ExecuteCommand = new RelayCommand(this.OnAssociateCommand);
            this.SubItems = new ObservableCollection<IMenuItem>();

            // register menu for data sync
            AssociationModel.RegisterNewModelInPool(this);
        }
Example #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="OpenResourceMenu" /> class.
        /// Initializes a new instance of the <see cref="ChangeStatusMenu" /> class.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        private OpenResourceMenu(ISonarRestService rest, IssueGridViewModel model)
        {
            this.model          = model;
            this.rest           = rest;
            this.ExecuteCommand = new RelayCommand(this.OnAssociateCommand);
            this.SubItems       = new ObservableCollection <IMenuItem>();

            // register menu for data sync
            AssociationModel.RegisterNewModelInPool(this);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="AssignMenu" /> class.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="notmanager">The notmanager.</param>
        private AssignMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager notmanager)
        {
            this.model = model;
            this.rest = rest;
            this.manager = notmanager;
            this.ExecuteCommand = new RelayCommand(this.OnAssociateCommand);
            this.SubItems = new ObservableCollection<IMenuItem>();

            // register menu for data sync
            AssociationModel.RegisterNewModelInPool(this);
        }
Example #6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="AssignMenu" /> class.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="notmanager">The notmanager.</param>
        private AssignMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager notmanager)
        {
            this.model          = model;
            this.rest           = rest;
            this.manager        = notmanager;
            this.ExecuteCommand = new RelayCommand(this.OnAssociateCommand);
            this.SubItems       = new ObservableCollection <IMenuItem>();

            // register menu for data sync
            AssociationModel.RegisterNewModelInPool(this);
        }
        /// <summary>
        /// The make menu.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="manager">The manager.</param>
        /// <param name="translator">The translator.</param>
        /// <returns>
        /// The <see cref="IMenuItem" />.
        /// </returns>
        public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager manager, ISQKeyTranslator translator, ISonarLocalAnalyser analyser)
        {
            var topLel = new SetSqaleMenu(rest, model, manager, translator, analyser)
            {
                CommandText = "Sqale", IsEnabled = false
            };

            topLel.SubItems.Add(new SetSqaleMenu(rest, model, manager, translator, analyser)
            {
                CommandText = "adjust effort", IsEnabled = true
            });
            return(topLel);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ShowHideIssueColumn"/> class.
        /// </summary>
        /// <param name="model">
        /// The model.
        /// </param>
        /// <param name="helper">
        /// The helper.
        /// </param>
        /// <param name="name">
        /// The name.
        /// </param>
        /// <param name="gridKey">
        /// The grid key.
        /// </param>
        public ShowHideIssueColumn(IssueGridViewModel model, IConfigurationHelper helper, string name, string gridKey)
        {
            this.gridKey        = gridKey;
            this.helper         = helper;
            this.name           = name;
            this.model          = model;
            this.CommandText    = "Columns";
            this.IsEnabled      = true;
            this.ExecuteCommand = new RelayCommand(this.OnAssociateCommand);
            this.SubItems       = new ObservableCollection <IMenuItem>();

            AssociationModel.RegisterNewModelInPool(this);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ShowHideIssueColumn"/> class.
        /// </summary>
        /// <param name="model">
        /// The model.
        /// </param>
        /// <param name="helper">
        /// The helper.
        /// </param>
        /// <param name="name">
        /// The name.
        /// </param>
        /// <param name="gridKey">
        /// The grid key.
        /// </param>
        public ShowHideIssueColumn(IssueGridViewModel model, IConfigurationHelper helper, string name, string gridKey)
        {
            this.gridKey = gridKey;
            this.helper = helper;
            this.name = name;
            this.model = model;
            this.CommandText = "Columns";
            this.IsEnabled = true;
            this.ExecuteCommand = new RelayCommand(this.OnAssociateCommand);
            this.SubItems = new ObservableCollection<IMenuItem>();

            AssociationModel.RegisterNewModelInPool(this);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="SourceControlMenu" /> class.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="manager">The manager.</param>
        /// <param name="translator">The translator.</param>
        public SourceControlMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager manager, ISQKeyTranslator translator)
        {
            this.rest = rest;
            this.model = model;
            this.manager = manager;
            this.tranlator = translator;

            this.ExecuteCommand = new RelayCommand(this.OnSourceControlCommand);
            this.SubItems = new ObservableCollection<IMenuItem>();

            // register menu for data sync
            AssociationModel.RegisterNewModelInPool(this);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="SourceControlMenu" /> class.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="manager">The manager.</param>
        /// <param name="translator">The translator.</param>
        public SourceControlMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager manager, ISQKeyTranslator translator)
        {
            this.rest      = rest;
            this.model     = model;
            this.manager   = manager;
            this.tranlator = translator;

            this.ExecuteCommand = new RelayCommand(this.OnSourceControlCommand);
            this.SubItems       = new ObservableCollection <IMenuItem>();

            // register menu for data sync
            AssociationModel.RegisterNewModelInPool(this);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="PlanMenu" /> class.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="manager">The manager.</param>
        /// <param name="registerPool">if set to <c>true</c> [register pool].</param>
        private PlanMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager manager, bool registerPool = true)
        {
            this.manager = manager;
            this.model   = model;
            this.rest    = rest;

            this.ExecuteCommand = new RelayCommand(this.OnPlanCommand);
            this.SubItems       = new ObservableCollection <IMenuItem>();

            if (registerPool)
            {
                AssociationModel.RegisterNewModelInPool(this);
            }
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="IssueTrackerMenu" /> class.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="manager">The manager.</param>
        /// <param name="translator">The translator.</param>
        /// <param name="parent">The parent.</param>
        /// <param name="registerPool">if set to <c>true</c> [register pool].</param>
        private IssueTrackerMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager manager, ISQKeyTranslator translator, IssueTrackerMenu parent = null, bool registerPool = true)
        {
            this.translator = translator;
            this.manager    = manager;
            this.model      = model;
            this.rest       = rest;
            this.parent     = parent;

            this.ExecuteCommand = new RelayCommand(this.OnAttachToIssueTracker);
            this.SubItems       = new ObservableCollection <IMenuItem>();

            if (registerPool)
            {
                AssociationModel.RegisterNewModelInPool(this);
            }
        }
        /// <summary>
        /// The make menu.
        /// </summary>
        /// <param name="model">
        /// The model.
        /// </param>
        /// <param name="helper">
        /// The helper.
        /// </param>
        /// <param name="columns">
        /// The columns.
        /// </param>
        /// <param name="gridKey">
        /// The grid key.
        /// </param>
        /// <returns>
        /// The <see cref="IMenuItem"/>.
        /// </returns>
        public static IMenuItem MakeMenu(IssueGridViewModel model, IConfigurationHelper helper, List <string> columns, string gridKey)
        {
            var menu = new ShowHideIssueColumn(model, helper, string.Empty, gridKey)
            {
                CommandText = "Columns", IsEnabled = false
            };

            foreach (string column in columns)
            {
                if (column.Equals("Component") || column.Equals("Message") || column.Equals("Line") || column.Equals("LocalPath") || column.Equals("Comments"))
                {
                    continue;
                }

                var subItem = new ShowHideIssueColumn(model, helper, column, gridKey)
                {
                    IsEnabled = true, CommandText = "Hide " + column
                };
                try
                {
                    var value = helper.ReadSetting(Context.UIProperties, gridKey, column + "Visible").Value.ToLower();
                    if (value.Equals("true"))
                    {
                        subItem.CommandText = "Hide " + column;
                    }
                    else
                    {
                        subItem.CommandText = "Show " + column;
                    }
                }
                catch (Exception)
                {
                    subItem.CommandText = "Hide " + column;
                }

                menu.SubItems.Add(subItem);
            }

            var subItemreset = new ShowHideIssueColumn(model, helper, "Reset View", gridKey)
            {
                IsEnabled = true, CommandText = "Reset View"
            };

            menu.SubItems.Add(subItemreset);

            return(menu);
        }
        /// <summary>
        /// The make menu.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="manager">The manager.</param>
        /// <param name="translator">The translator.</param>
        /// <returns>
        /// The <see cref="IMenuItem" />.
        /// </returns>
        public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager manager, ISQKeyTranslator translator)
        {
            var topLel = new IssueTrackerMenu(rest, model, manager, translator)
            {
                CommandText = "Issue Tracker", IsEnabled = false
            };

            topLel.SubItems.Add(new IssueTrackerMenu(rest, model, manager, translator)
            {
                CommandText = "new issue and attach", IsEnabled = true
            });
            topLel.SubItems.Add(new IssueTrackerMenu(rest, model, manager, translator)
            {
                CommandText = "attach to existent", IsEnabled = true
            });
            return(topLel);
        }
        /// <summary>
        /// The make menu.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="manager">The manager.</param>
        /// <param name="translator">The translator.</param>
        /// <returns>
        /// The <see cref="IMenuItem" />.
        /// </returns>
        public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager manager, ISQKeyTranslator translator)
        {
            var topLel = new SourceControlMenu(rest, model, manager, translator)
            {
                CommandText = "Source Control", IsEnabled = false
            };

            topLel.SubItems.Add(new SourceControlMenu(rest, model, manager, translator)
            {
                CommandText = "assign to committer", IsEnabled = true
            });
            topLel.SubItems.Add(new SourceControlMenu(rest, model, manager, translator)
            {
                CommandText = "show commit message", IsEnabled = true
            });
            return(topLel);
        }
Example #17
0
        /// <summary>
        /// The make menu.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <returns>
        /// The <see cref="IMenuItem" />.
        /// </returns>
        public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model)
        {
            var topLel = new OpenResourceMenu(rest, model)
            {
                CommandText = "Open", IsEnabled = false
            };

            topLel.SubItems.Add(new OpenResourceMenu(rest, model)
            {
                CommandText = "Visual Studio", IsEnabled = true
            });
            topLel.SubItems.Add(new OpenResourceMenu(rest, model)
            {
                CommandText = "Browser", IsEnabled = true
            });
            return(topLel);
        }
Example #18
0
        /// <summary>
        /// Makes the menu.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="notmanager">The notmanager.</param>
        /// <returns>returns menu.</returns>
        public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager notmanager)
        {
            var topLel = new AssignTagMenu(rest, model, notmanager)
            {
                CommandText = "Tags", IsEnabled = false
            };

            topLel.SubItems.Add(new AssignTagMenu(rest, model, notmanager)
            {
                CommandText = "assign tag", IsEnabled = true
            });
            topLel.SubItems.Add(new AssignTagMenu(rest, model, notmanager)
            {
                CommandText = "remove tags", IsEnabled = true
            });
            return(topLel);
        }
        /// <summary>
        /// The make menu.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="manager">The manager.</param>
        /// <returns>
        /// The <see cref="IMenuItem" />.
        /// </returns>
        public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager manager)
        {
            var topLel = new PlanMenu(rest, model, manager)
            {
                CommandText = "Plan", IsEnabled = false
            };

            topLel.SubItems.Add(new PlanMenu(rest, model, manager)
            {
                CommandText = "Add to Existent Plan", IsEnabled = false
            });
            topLel.SubItems.Add(new PlanMenu(rest, model, manager)
            {
                CommandText = "Unplan", IsEnabled = true
            });
            topLel.SubItems.Add(new PlanMenu(rest, model, manager)
            {
                CommandText = "Associate to new plan", IsEnabled = true
            });
            return(topLel);
        }
Example #20
0
        /// <summary>
        /// The make menu.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="notmanager">The notmanager.</param>
        /// <returns>
        /// The <see cref="IMenuItem" />.
        /// </returns>
        public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager notmanager)
        {
            var topLel = new ChangeStatusMenu(rest, model, notmanager)
            {
                CommandText = "Status", IsEnabled = false
            };

            topLel.SubItems.Add(new ChangeStatusMenu(rest, model, notmanager)
            {
                CommandText = "Confirm", IsEnabled = true
            });
            topLel.SubItems.Add(new ChangeStatusMenu(rest, model, notmanager)
            {
                CommandText = "Fix", IsEnabled = true
            });
            topLel.SubItems.Add(new ChangeStatusMenu(rest, model, notmanager)
            {
                CommandText = "False Positive", IsEnabled = true
            });
            return(topLel);
        }
Example #21
0
        /// <summary>
        /// Makes the menu.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="notmanager">The notmanager.</param>
        /// <returns>returns menu.</returns>
        public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager notmanager)
        {
            var topLel = new AssignMenu(rest, model, notmanager)
            {
                CommandText = "Assign", IsEnabled = false
            };

            topLel.SubItems.Add(new AssignMenu(rest, model, notmanager)
            {
                CommandText = "to user", IsEnabled = true
            });
            topLel.SubItems.Add(new AssignMenu(rest, model, notmanager)
            {
                CommandText = "to me", IsEnabled = true
            });
            topLel.SubItems.Add(new AssignMenu(rest, model, notmanager)
            {
                CommandText = "assign to author", IsEnabled = true
            });
            return(topLel);
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="PlanMenu" /> class.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="manager">The manager.</param>
        /// <param name="registerPool">if set to <c>true</c> [register pool].</param>
        private PlanMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager manager, bool registerPool = true)
        {
            this.manager = manager;
            this.model = model;
            this.rest = rest;

            this.ExecuteCommand = new RelayCommand(this.OnPlanCommand);
            this.SubItems = new ObservableCollection<IMenuItem>();

            if (registerPool)
            {
                AssociationModel.RegisterNewModelInPool(this);
            }
        }
        /// <summary>
        /// The make menu.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="manager">The manager.</param>
        /// <returns>
        /// The <see cref="IMenuItem" />.
        /// </returns>
        public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager manager)
        {
            var topLel = new PlanMenu(rest, model, manager) { CommandText = "Plan", IsEnabled = false };

            topLel.SubItems.Add(new PlanMenu(rest, model, manager) { CommandText = "Add to Existent Plan", IsEnabled = false });
            topLel.SubItems.Add(new PlanMenu(rest, model, manager) { CommandText = "Unplan", IsEnabled = true });
            topLel.SubItems.Add(new PlanMenu(rest, model, manager) { CommandText = "Associate to new plan", IsEnabled = true });
            return topLel;
        }
        /// <summary>
        /// The make menu.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="notmanager">The notmanager.</param>
        /// <returns>
        /// The <see cref="IMenuItem" />.
        /// </returns>
        public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager notmanager)
        {
            var topLel = new ChangeStatusMenu(rest, model, notmanager) { CommandText = "Status", IsEnabled = false };

            topLel.SubItems.Add(new ChangeStatusMenu(rest, model, notmanager) { CommandText = "Confirm", IsEnabled = true });
            topLel.SubItems.Add(new ChangeStatusMenu(rest, model, notmanager) { CommandText = "Fix", IsEnabled = true });
            topLel.SubItems.Add(new ChangeStatusMenu(rest, model, notmanager) { CommandText = "False Positive", IsEnabled = true });
            return topLel;
        }
        /// <summary>
        /// The make menu.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="manager">The manager.</param>
        /// <param name="translator">The translator.</param>
        /// <returns>
        /// The <see cref="IMenuItem" />.
        /// </returns>
        public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager manager, ISQKeyTranslator translator)
        {
            var topLel = new SourceControlMenu(rest, model, manager, translator) { CommandText = "Source Control", IsEnabled = false };

            topLel.SubItems.Add(new SourceControlMenu(rest, model, manager, translator) { CommandText = "assign to committer", IsEnabled = true });
            topLel.SubItems.Add(new SourceControlMenu(rest, model, manager, translator) { CommandText = "show commit message", IsEnabled = true });
            return topLel;
        }
 /// <summary>
 /// Makes the menu.
 /// </summary>
 /// <param name="rest">The rest.</param>
 /// <param name="model">The model.</param>
 /// <param name="notmanager">The notmanager.</param>
 /// <returns>returns menu.</returns>
 public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager notmanager)
 {
     var topLel = new AssignTagMenu(rest, model, notmanager) { CommandText = "Tags", IsEnabled = false };
     topLel.SubItems.Add(new AssignTagMenu(rest, model, notmanager) { CommandText = "assign tag", IsEnabled = true });
     topLel.SubItems.Add(new AssignTagMenu(rest, model, notmanager) { CommandText = "remove tags", IsEnabled = true });
     return topLel;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="IssueTrackerMenu" /> class.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="manager">The manager.</param>
        /// <param name="translator">The translator.</param>
        /// <param name="parent">The parent.</param>
        /// <param name="registerPool">if set to <c>true</c> [register pool].</param>
        private IssueTrackerMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager manager, ISQKeyTranslator translator, IssueTrackerMenu parent = null, bool registerPool = true)
        {
            this.translator = translator;
            this.manager = manager;
            this.model = model;
            this.rest = rest;
            this.parent = parent;

            this.ExecuteCommand = new RelayCommand(this.OnAttachToIssueTracker);
            this.SubItems = new ObservableCollection<IMenuItem>();

            if (registerPool)
            {
                AssociationModel.RegisterNewModelInPool(this);
            }
        }
        /// <summary>
        /// The make menu.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <param name="manager">The manager.</param>
        /// <param name="translator">The translator.</param>
        /// <returns>
        /// The <see cref="IMenuItem" />.
        /// </returns>
        public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager manager, ISQKeyTranslator translator, ISonarLocalAnalyser analyser)
        {
            var topLel = new SetSqaleMenu(rest, model, manager, translator, analyser) { CommandText = "Sqale", IsEnabled = false };

            topLel.SubItems.Add(new SetSqaleMenu(rest, model, manager, translator, analyser) { CommandText = "adjust effort", IsEnabled = true });
            return topLel;
        }
        /// <summary>
        /// The make menu.
        /// </summary>
        /// <param name="rest">The rest.</param>
        /// <param name="model">The model.</param>
        /// <returns>
        /// The <see cref="IMenuItem" />.
        /// </returns>
        public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model)
        {
            var topLel = new OpenResourceMenu(rest, model) { CommandText = "Open", IsEnabled = false };

            topLel.SubItems.Add(new OpenResourceMenu(rest, model) { CommandText = "Visual Studio", IsEnabled = true });
            topLel.SubItems.Add(new OpenResourceMenu(rest, model) { CommandText = "Browser", IsEnabled = true });
            return topLel;
        }
 /// <summary>
 /// The make menu.
 /// </summary>
 /// <param name="rest">The rest.</param>
 /// <param name="model">The model.</param>
 /// <param name="manager">The manager.</param>
 /// <param name="translator">The translator.</param>
 /// <returns>
 /// The <see cref="IMenuItem" />.
 /// </returns>
 public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager manager, ISQKeyTranslator translator, ISonarLocalAnalyser analyser)
 {
     var topLel = new MoreInfoMenu(rest, model, manager, translator, analyser) { CommandText = "More Info", IsEnabled = true };
     return topLel;
 }
        /// <summary>
        /// The make menu.
        /// </summary>
        /// <param name="model">
        /// The model.
        /// </param>
        /// <param name="helper">
        /// The helper.
        /// </param>
        /// <param name="columns">
        /// The columns.
        /// </param>
        /// <param name="gridKey">
        /// The grid key.
        /// </param>
        /// <returns>
        /// The <see cref="IMenuItem"/>.
        /// </returns>
        public static IMenuItem MakeMenu(IssueGridViewModel model, IConfigurationHelper helper, List<string> columns, string gridKey)
        {
            var menu = new ShowHideIssueColumn(model, helper, string.Empty, gridKey) { CommandText = "Columns", IsEnabled = false };

            foreach (string column in columns)
            {
                if (column.Equals("Component") || column.Equals("Message") || column.Equals("Line") || column.Equals("LocalPath") || column.Equals("Comments"))
                {
                    continue;
                }

                var subItem = new ShowHideIssueColumn(model, helper, column, gridKey) { IsEnabled = true, CommandText = "Hide " + column };
                try
                {
                    var value = helper.ReadSetting(Context.UIProperties, gridKey, column + "Visible").Value.ToLower();
                    if (value.Equals("true"))
                    {
                        subItem.CommandText = "Hide " + column;
                    }
                    else
                    {
                        subItem.CommandText = "Show " + column;
                    }
                }
                catch (Exception)
                {
                    subItem.CommandText = "Hide " + column;
                }

                menu.SubItems.Add(subItem);
            }

            var subItemreset = new ShowHideIssueColumn(model, helper, "Reset View", gridKey) { IsEnabled = true, CommandText = "Reset View" };
            menu.SubItems.Add(subItemreset);

            return menu;
        }
 /// <summary>
 /// Makes the menu.
 /// </summary>
 /// <param name="rest">The rest.</param>
 /// <param name="model">The model.</param>
 /// <param name="notmanager">The notmanager.</param>
 /// <returns>returns menu.</returns>
 public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager notmanager)
 {
     var topLel = new AssignMenu(rest, model, notmanager) { CommandText = "Assign", IsEnabled = false };
     topLel.SubItems.Add(new AssignMenu(rest, model, notmanager) { CommandText = "to user", IsEnabled = true });
     topLel.SubItems.Add(new AssignMenu(rest, model, notmanager) { CommandText = "to me", IsEnabled = true });
     topLel.SubItems.Add(new AssignMenu(rest, model, notmanager) { CommandText = "assign to author", IsEnabled = true });
     return topLel;
 }
        /// <summary>
        /// Filters the issues by SSCM.
        /// </summary>
        /// <param name="issue">The issue.</param>
        /// <returns>
        /// Returns issue.
        /// </returns>
        private Issue FilterIssuesBySSCM(Issue issue)
        {
            // file level issues are returned regardless
            if (issue.Line == 0)
            {
                return(issue);
            }

            try
            {
                var blameLine = this.restSourceModel.GetBlameByLine(new Resource {
                    Key = issue.Component
                }, issue.Line);
                if (blameLine != null)
                {
                    if (blameLine.Date < this.issuesSearchViewModel.CreatedSinceDate)
                    {
                        return(null);
                    }
                }
                else
                {
                    if (this.associatedProject == null)
                    {
                        this.notificationmanager.ReportMessage(
                            new Message
                        {
                            Id   = "IssuesSearchModel",
                            Data = "Blame info not available in server, local blame available only associated : " + issue.Component + " : " + issue.Line
                        });

                        return(issue);
                    }

                    var translatedPath = string.Empty;

                    try
                    {
                        translatedPath = this.keyTranslator.TranslateKey(issue.Component, this.visualStudioHelper, this.associatedProject.BranchName);

                        if (!File.Exists(translatedPath))
                        {
                            var message = "Search Model Failed : Translator Failed:  Key : " +
                                          issue.Component + " - Path : " + translatedPath + " - KeyType : " + this.keyTranslator.GetLookupType().ToString();
                            this.notificationmanager.ReportMessage(new Message {
                                Id = "IssuesSearchModel", Data = message
                            });
                            return(issue);
                        }
                    }
                    catch (Exception ex)
                    {
                        IssueGridViewModel.ReportTranslationException(issue, translatedPath, this.notificationmanager, this.restService, this.associatedProject, ex);
                        return(issue);
                    }

                    var blameLocalLine = this.sourceModel.GetBlameByLine(translatedPath, issue.Line);
                    if (blameLocalLine != null)
                    {
                        if (blameLocalLine.Date < this.issuesSearchViewModel.CreatedSinceDate)
                        {
                            return(null);
                        }
                    }

                    this.notificationmanager.ReportMessage(
                        new Message
                    {
                        Id   = "IssuesSearchModel",
                        Data = "Blame Failed, Filtering Not Available for : " + translatedPath + " : " + issue.Line
                    });
                }
            }
            catch (Exception ex)
            {
                this.notificationmanager.ReportMessage(
                    new Message
                {
                    Id   = "IssuesSearchModel",
                    Data = "Blame throw exception, please report: " + ex.Message
                });

                this.notificationmanager.ReportException(ex);
            }

            return(issue);
        }
 /// <summary>
 /// The make menu.
 /// </summary>
 /// <param name="rest">The rest.</param>
 /// <param name="model">The model.</param>
 /// <param name="manager">The manager.</param>
 /// <param name="translator">The translator.</param>
 /// <returns>
 /// The <see cref="IMenuItem" />.
 /// </returns>
 public static IMenuItem MakeMenu(ISonarRestService rest, IssueGridViewModel model, INotificationManager manager, ISQKeyTranslator translator)
 {
     var topLel = new IssueTrackerMenu(rest, model, manager, translator) { CommandText = "Issue Tracker", IsEnabled = false };
     topLel.SubItems.Add(new IssueTrackerMenu(rest, model, manager, translator) { CommandText = "new issue and attach", IsEnabled = true });
     topLel.SubItems.Add(new IssueTrackerMenu(rest, model, manager, translator) { CommandText = "attach to existent", IsEnabled = true });
     return topLel;
 }