Beispiel #1
0
		private void AddImage(string fullName, string[] names, Image image)
		{
			var shortName = names[0];

			if (names.Length == 1)
			{
				if (_images.ContainsKey(shortName))
				{
					if (GetRootFolder().OnAddConflict(shortName, fullName))
					{
						_images[shortName] = new ImageInfo(fullName, shortName, image);
						// TODO: Сделать более красиво.
						OnImageRemoved(fullName, shortName);
						OnImageAdded(fullName, shortName);
					}
				}
				else
				{
					_images.Add(shortName, new ImageInfo(fullName, shortName, image));
					OnImageAdded(fullName, shortName);
				}
				return;
			}

			var folder = _folders.FirstOrDefault(f => f.Name == shortName);
			if (folder == null)
			{
				folder = new ImagesFolder(shortName, this);
				_folders.Add(folder);
			}

			var subNames = new string[names.Length - 1];
			Array.Copy(names, 1, subNames, 0, names.Length - 1);
			folder.AddImage(fullName, subNames, image);
		}
Beispiel #2
0
		private static ListViewItem CreateImageItem(ImageInfo info)
		{
			var lvi = new ListViewItem(info.ShortName, info.ShortName) {Name = info.ShortName};
			var fi = ImageFormatInfo.FromImageFormat(info.Image.RawFormat);
			lvi.ToolTipText = string.Format("{0} {1}x{2}", fi.Extension, info.Image.Width, info.Image.Height);
			return lvi;
		}