fixed #1484: Image combiner drag n drop file support

This commit is contained in:
Jaex 2016-04-07 19:48:09 +03:00
parent 86506a16aa
commit 1f44816f18
3 changed files with 36 additions and 3 deletions

View file

@ -97,7 +97,7 @@ public static AmazonS3Region GetCurrentRegion(AmazonS3Settings s3Settings)
private string GetEndpoint()
{
return URLHelpers.CombineURL("https://" + GetCurrentRegion(s3Settings).Hostname, s3Settings.Bucket);
return URLHelpers.ForcePrefix(URLHelpers.CombineURL(GetCurrentRegion(s3Settings).Hostname, s3Settings.Bucket));
}
private AWSCredentials GetCurrentCredentials()
@ -167,7 +167,7 @@ public override UploadResult Upload(Stream stream, string fileName)
if (region.AmazonRegion == null)
{
s3ClientConfig.ServiceURL = "https://" + region.Hostname;
s3ClientConfig.ServiceURL = URLHelpers.ForcePrefix(region.Hostname);
}
else
{

View file

@ -85,6 +85,8 @@ private void InitializeComponent()
this.lvImages.Name = "lvImages";
this.lvImages.UseCompatibleStateImageBehavior = false;
this.lvImages.View = System.Windows.Forms.View.Details;
this.lvImages.DragDrop += new System.Windows.Forms.DragEventHandler(this.ImageCombinerForm_DragDrop);
this.lvImages.DragEnter += new System.Windows.Forms.DragEventHandler(this.ImageCombinerForm_DragEnter);
//
// chFilepath
//
@ -133,6 +135,7 @@ private void InitializeComponent()
//
// ImageCombinerForm
//
this.AllowDrop = true;
resources.ApplyResources(this, "$this");
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.lblSpacePixel);
@ -147,6 +150,8 @@ private void InitializeComponent()
this.Controls.Add(this.btnRemove);
this.Controls.Add(this.btnAdd);
this.Name = "ImageCombinerForm";
this.DragDrop += new System.Windows.Forms.DragEventHandler(this.ImageCombinerForm_DragDrop);
this.DragEnter += new System.Windows.Forms.DragEventHandler(this.ImageCombinerForm_DragEnter);
((System.ComponentModel.ISupportInitialize)(this.nudSpace)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();

View file

@ -107,7 +107,7 @@ private void btnCombine_Click(object sender, EventArgs e)
try
{
images = lvImages.Items.Cast<ListViewItem>().Select(x => ImageHelpers.LoadImage(x.Text));
images = lvImages.Items.Cast<ListViewItem>().Select(x => ImageHelpers.LoadImage(x.Text)).Where(x => x != null);
Image output = ImageHelpers.CombineImages(images, Options.Orientation, Options.Space);
OnProcessRequested(output);
}
@ -140,5 +140,33 @@ protected void OnProcessRequested(Image image)
ProcessRequested(image);
}
}
private void ImageCombinerForm_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop, false))
{
e.Effect = DragDropEffects.Copy;
}
else
{
e.Effect = DragDropEffects.None;
}
}
private void ImageCombinerForm_DragDrop(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent(DataFormats.FileDrop, false))
{
string[] files = e.Data.GetData(DataFormats.FileDrop, false) as string[];
if (files != null)
{
foreach (string file in files)
{
lvImages.Items.Add(file);
}
}
}
}
}
}