diff options
author | Lluis Sanchez <llsan@microsoft.com> | 2019-01-25 17:52:12 +0300 |
---|---|---|
committer | Lluis Sanchez <llsan@microsoft.com> | 2019-01-25 17:52:12 +0300 |
commit | 3b670ddbf757a92ff4641bf4bddb591616454a17 (patch) | |
tree | a3df2a7f89eeb3c8d0780e430f1e452dd3d0ca9d | |
parent | 7731f7ff6ddfc71262fd1065fa0677e1bb00a6c1 (diff) | |
parent | 2e188887d8e5ee2901fd803d4374f0c0fb8ad69a (diff) |
Merge remote-tracking branch 'origin/master' into release-8.0release-8.0-obsolete
7 files changed, 48 insertions, 34 deletions
diff --git a/main/src/addins/MacPlatform/MainToolbar/SelectorView.cs b/main/src/addins/MacPlatform/MainToolbar/SelectorView.cs index ffaace2c12..d28760db4c 100644 --- a/main/src/addins/MacPlatform/MainToolbar/SelectorView.cs +++ b/main/src/addins/MacPlatform/MainToolbar/SelectorView.cs @@ -124,22 +124,10 @@ namespace MonoDevelop.MacIntegration.MainToolbar internal void OnSizeChanged () { - if (SizeChanged != null) { - SizeChanged (this, EventArgs.Empty); - } + SizeChanged?.Invoke (this, EventArgs.Empty); } - public override bool BecomeFirstResponder() - { - if (Window.FirstResponder != RealSelectorView) - return Window.MakeFirstResponder(RealSelectorView); - return false; - } - - public override bool AcceptsFirstResponder() - { - return Window.FirstResponder != RealSelectorView; - } + public override bool AcceptsFirstResponder () => false; #region PathSelectorView [Register] @@ -585,26 +573,26 @@ namespace MonoDevelop.MacIntegration.MainToolbar // 0x30 is Tab if (theEvent.KeyCode == (ushort)KeyCodes.Tab) { if ((theEvent.ModifierFlags & NSEventModifierMask.ShiftKeyMask) == NSEventModifierMask.ShiftKeyMask) { - focusedCellIndex--; - if (focusedCellIndex < 0) { + if (focusedCellIndex <= 0) { if (PreviousKeyView != null) { SetSelection (); focusedCellIndex = 0; focusedItem = null; } } else { + focusedCellIndex--; SetSelection (); return; } } else { - focusedCellIndex++; - if (focusedCellIndex >= VisibleCellIds.Length) { + if (focusedCellIndex >= VisibleCellIds.Length - 1) { if (NextKeyView != null) { SetSelection (); focusedCellIndex = 0; focusedItem = null; } } else { + focusedCellIndex++; SetSelection (); return; } @@ -616,15 +604,20 @@ namespace MonoDevelop.MacIntegration.MainToolbar void SetSelection () { - if (focusedItem != null) { - focusedItem.HasFocus = false; - } + //ensures our cells are in the correct enabled state if (focusedCellIndex >= 0 && focusedCellIndex < Cells.Length) { - var item = Cells [focusedCellIndex].Cell as NSPathComponentCellFocusable; - focusedItem = item; - if (item != null) - item.HasFocus = true; + focusedItem = Cells [focusedCellIndex].Cell as NSPathComponentCellFocusable; + if (focusedItem != null) + focusedItem.HasFocus = true; + } + + //we want ensure our state is correct in other elements + for (int i = 0; i < Cells.Length; i++) { + if (i != focusedCellIndex && Cells [i].Cell is NSPathComponentCellFocusable focusable) { + focusable.HasFocus = false; + } } + SetNeedsDisplay (); } diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Project.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Project.cs index c08e57f1de..508f29b838 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Project.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/Project.cs @@ -4528,6 +4528,13 @@ namespace MonoDevelop.Projects void OnFileCreatedExternally (FilePath fileName) { + if (sourceProject == null) { + // sometimes this method is called after disposing this class. + // (i.e. when quitting MD or creating a new project.) + LoggingService.LogWarning ("File created externally not processed. {0}", fileName); + return; + } + // Check file is inside the project directory. The file globs would exclude the file anyway // if the relative path starts with "..\" but checking here avoids checking the file globs. if (!fileName.IsChildPathOf (BaseDirectory)) diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.PropertyGrid.Editors/EventEditor.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.PropertyGrid.Editors/EventEditor.cs index a07c47b6ca..3cbdd0fdd4 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.PropertyGrid.Editors/EventEditor.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.PropertyGrid.Editors/EventEditor.cs @@ -45,14 +45,20 @@ namespace MonoDevelop.Components.PropertyGrid.PropertyEditors IEventBindingService evtBind;
protected override void Initialize () - { - IComponent comp = Instance as IComponent; - evtBind = (IEventBindingService) comp.Site.GetService (typeof (IEventBindingService)); - base.Initialize ();
+ {
+ IComponent comp = Instance as IComponent;
+ if (comp != null) { + evtBind = (IEventBindingService)comp.Site.GetService (typeof (IEventBindingService));
+ base.Initialize (); + } } protected override IPropertyEditor CreateEditor (Gdk.Rectangle cell_area, Gtk.StateType state) - { + {
+ if (evtBind == null) { + return null; + } + //get existing method names ICollection IColl = evtBind.GetCompatibleMethods (evtBind.GetEvent (Property)) ; string[] methods = new string [IColl.Count + 1]; diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/BaseFileEntry.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/BaseFileEntry.cs index 89b90e9b4d..afe01c968e 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/BaseFileEntry.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components/BaseFileEntry.cs @@ -154,6 +154,12 @@ namespace MonoDevelop.Components pathEntry.SetCommonAccessibilityAttributes (name, label, help); } + + public void SetEntryAccessibleTitleUIElement (Atk.Object accessible) + { + pathEntry.Accessible.SetTitleUIElement (accessible); + } + public Atk.Object EntryAccessible { get { return pathEntry.Accessible; diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.ExternalTools/ExternalToolPanel.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.ExternalTools/ExternalToolPanel.cs index 7e984d5b06..803b6f3985 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.ExternalTools/ExternalToolPanel.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.ExternalTools/ExternalToolPanel.cs @@ -153,7 +153,7 @@ namespace MonoDevelop.Ide.ExternalTools GettextCatalog.GetString ("Enter the title for this command")); browseButton.Accessible.SetCommonAttributes ("ExternalTools.Command", null, GettextCatalog.GetString ("Enter or select the path for the external command")); - browseButton.Accessible.SetTitleUIElement (commandLabel.Accessible); + browseButton.SetEntryAccessibleTitleUIElement (commandLabel.Accessible); argumentTextBox.SetCommonAccessibilityAttributes ("ExternalTools.Arguments", "", GettextCatalog.GetString ("Enter the arguments for the external command")); argumentTextBox.SetAccessibilityLabelRelationship (argumentLabel); diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/RunConfigurationsList.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/RunConfigurationsList.cs index 5fb0b15aff..320f9ed81e 100644 --- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/RunConfigurationsList.cs +++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/RunConfigurationsList.cs @@ -38,17 +38,19 @@ namespace MonoDevelop.Ide.Projects.OptionPanels Xwt.ListStore listStore; Xwt.DataField<RunConfiguration> configCol = new Xwt.DataField<RunConfiguration> (); Xwt.DataField<string> configNameCol = new Xwt.DataField<string> (); + Xwt.DataField<string> accessibleCol = new Xwt.DataField<string> (); Xwt.DataField<Xwt.Drawing.Image> configIconCol = new Xwt.DataField<Xwt.Drawing.Image> (); public RunConfigurationsList () { - listStore = new Xwt.ListStore (configCol, configNameCol, configIconCol); + listStore = new Xwt.ListStore (configCol, configNameCol, configIconCol, accessibleCol); list = new Xwt.ListView (listStore); list.HeadersVisible = false; var imgCell = new ImageCellView { ImageField = configIconCol }; var textCell = new TextCellView { MarkupField = configNameCol }; list.Columns.Add (GettextCatalog.GetString ("Name"), imgCell, textCell); + textCell.AccessibleFields.Label = accessibleCol; Content = list; @@ -64,7 +66,7 @@ namespace MonoDevelop.Ide.Projects.OptionPanels var r = listStore.AddRow (); var txt = "<b>" + c.Name + "</b>\n" + c.Summary; var icon = !string.IsNullOrEmpty (c.IconId) ? ImageService.GetIcon (c.IconId) : ImageService.GetIcon ("md-prefs-play", Gtk.IconSize.Dnd); - listStore.SetValues (r, configCol, c, configNameCol, txt, configIconCol, icon); + listStore.SetValues (r, configCol, c, configNameCol, txt, configIconCol, icon, accessibleCol, c.Name + " " + c.Summary); } if (currentRow != -1) { if (currentRow < listStore.RowCount) diff --git a/version-checks b/version-checks index dd2cd5d19b..a969c5a20a 100755 --- a/version-checks +++ b/version-checks @@ -17,7 +17,7 @@ DEP[0]=md-addins DEP_NAME[0]=MDADDINS DEP_PATH[0]=${top_srcdir}/../md-addins DEP_MODULE[0]=git@github.com:xamarin/md-addins.git -DEP_NEEDED_VERSION[0]=2a212115aba16f70588f7d9ab3ebebc8e3e436af +DEP_NEEDED_VERSION[0]=4f4a288c711e1bb6d032864963a2ab617bd5c7a0 DEP_BRANCH_AND_REMOTE[0]="release-8.0 origin/release-8.0" # heap-shot |