From 742659979e0073b364f3c095c7015d1adaf7a2b2 Mon Sep 17 00:00:00 2001 From: Kumar Devvrat Date: Fri, 30 Jul 2010 19:41:52 +0000 Subject: [PATCH] - Do not select the outer list box that displays images. - Refresh the ProjectBrowser rather than adding FileNode(image file) to the ProjectNode. - Update the URL text box when adding image files. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@6326 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../ChooseImageDialog.xaml.cs | 25 ++++++++----------- .../WpfDesign.AddIn/Src/ProjectTools.cs | 14 +++++------ 2 files changed, 17 insertions(+), 22 deletions(-) diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ChooseImageDialog.xaml.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ChooseImageDialog.xaml.cs index 719d5a110d..f40eff47cf 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ChooseImageDialog.xaml.cs +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ImageSourceEditor/ChooseImageDialog.xaml.cs @@ -38,10 +38,10 @@ namespace ICSharpCode.WpfDesign.AddIn.ImageSourceEditor private static string[] Extension; private PropertyNode _node; - private List _data; + private List _data; static ChooseImageDialog() - { + { Extension = new String[]{".jpg", ".bmp", ".png", ".gif", ".ico", ".dib", ".jpe", ".jpeg", ".tif", ".tiff"}; } @@ -71,6 +71,7 @@ namespace ICSharpCode.WpfDesign.AddIn.ImageSourceEditor } Display.ItemsSource=_data; + Display.SelectionChanged+=delegate { Display.SelectedItem=null; }; } #region Event Handlers @@ -91,8 +92,10 @@ namespace ICSharpCode.WpfDesign.AddIn.ImageSourceEditor List temp=new List(); foreach(var file in fileNames){ temp.Add(Path.GetFileName(file)); - } - _data.OrderBy(image => image.Header).ElementAt(0).Images.AddRange(fileNames); + } + if(fileNames.Length!=0) + txURL.Text = fileNames.Last(); + _data.OrderBy(image => image.Header).ElementAt(0).Images.AddRange(fileNames); } } @@ -121,7 +124,7 @@ namespace ICSharpCode.WpfDesign.AddIn.ImageSourceEditor _node.Value=_imgDisplay.SelectedItem; Close(); } - + } protected override void OnPreviewKeyUp(KeyEventArgs e) @@ -144,7 +147,7 @@ namespace ICSharpCode.WpfDesign.AddIn.ImageSourceEditor else MessageBox.Show(this, "The specified file is not a valid image file", "Error", MessageBoxButton.OK, MessageBoxImage.Error); - Close(); + Close(); } else{ MessageBox.Show(this, "The specified file does not exist on the disk", "Error", MessageBoxButton.OK, MessageBoxImage.Error); @@ -156,13 +159,7 @@ namespace ICSharpCode.WpfDesign.AddIn.ImageSourceEditor { Close(); } - - void DisplaySelectionChanged(object sender, SelectionChangedEventArgs e) - { - Display.SelectedItem=null; - } - - #endregion + #endregion } public class ImageData @@ -181,6 +178,6 @@ namespace ICSharpCode.WpfDesign.AddIn.ImageSourceEditor { this.Header=header; this.Images=images; - } + } } } \ No newline at end of file diff --git a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ProjectTools.cs b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ProjectTools.cs index c934a23d8a..2773e591ff 100644 --- a/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ProjectTools.cs +++ b/src/AddIns/DisplayBindings/WpfDesign/WpfDesign.AddIn/Src/ProjectTools.cs @@ -17,28 +17,26 @@ namespace ICSharpCode.WpfDesign.AddIn /// /// Static helper methods to interact with the project /// - public class ProjectTools + internal class ProjectTools { /// /// Add files to the current project at the project node. /// - /// + /// list of files that have to be added. internal static void AddFiles(string []fileNames) { - IProject project=ProjectService.CurrentProject; - ProjectNode projectNode=ProjectBrowserPad.Instance.CurrentProject; - Debug.Assert(project!=null); - Debug.Assert(projectNode!=null); + IProject project=ProjectService.CurrentProject; + Debug.Assert(project!=null); foreach(var file in fileNames){ string relFileName=FileUtility.GetRelativePath(project.Directory,file); FileProjectItem fileProjectItem=new FileProjectItem(project,project.GetDefaultItemType(file),relFileName); FileNode fileNode=new FileNode(file,FileNodeStatus.InProject); - fileNode.ProjectItem=fileProjectItem; - fileNode.InsertSorted(projectNode); + fileNode.ProjectItem=fileProjectItem; ProjectService.AddProjectItem(project,fileProjectItem); } project.Save(); + ProjectBrowserPad.Instance.ProjectBrowserControl.RefreshView(); } ///