diff --git a/FModel/App.config b/FModel/App.config
index 20575ad8..ce32270b 100644
--- a/FModel/App.config
+++ b/FModel/App.config
@@ -31,12 +31,6 @@
False
-
-
-
-
- 0
-
@@ -67,9 +61,6 @@
True
-
- False
-
diff --git a/FModel/FModel.csproj b/FModel/FModel.csproj
index 7b4740e6..7a8f48b5 100644
--- a/FModel/FModel.csproj
+++ b/FModel/FModel.csproj
@@ -164,7 +164,6 @@
-
diff --git a/FModel/Forms/MergeImages.Designer.cs b/FModel/Forms/MergeImages.Designer.cs
index 41abcea5..1ba8e066 100644
--- a/FModel/Forms/MergeImages.Designer.cs
+++ b/FModel/Forms/MergeImages.Designer.cs
@@ -34,44 +34,51 @@ namespace FModel.Forms
this.button2 = new System.Windows.Forms.Button();
this.button3 = new System.Windows.Forms.Button();
this.button4 = new System.Windows.Forms.Button();
+ this.groupBox1 = new System.Windows.Forms.GroupBox();
+ this.trackBar1 = new System.Windows.Forms.TrackBar();
+ this.pictureBox1 = new System.Windows.Forms.PictureBox();
+ this.button5 = new System.Windows.Forms.Button();
+ this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
+ this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.label1 = new System.Windows.Forms.Label();
- this.numericUpDown1 = new System.Windows.Forms.NumericUpDown();
- ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit();
+ this.groupBox1.SuspendLayout();
+ ((System.ComponentModel.ISupportInitialize)(this.trackBar1)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
//
// listBox1
//
this.listBox1.FormattingEnabled = true;
- this.listBox1.Location = new System.Drawing.Point(12, 12);
+ this.listBox1.Location = new System.Drawing.Point(6, 48);
this.listBox1.Name = "listBox1";
this.listBox1.SelectionMode = System.Windows.Forms.SelectionMode.MultiExtended;
- this.listBox1.Size = new System.Drawing.Size(194, 251);
+ this.listBox1.Size = new System.Drawing.Size(251, 264);
this.listBox1.TabIndex = 0;
//
// button1
//
- this.button1.Location = new System.Drawing.Point(225, 12);
+ this.button1.Location = new System.Drawing.Point(6, 19);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 1;
- this.button1.Text = "Search";
+ this.button1.Text = "Add Images";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// button2
//
this.button2.ForeColor = System.Drawing.SystemColors.ControlText;
- this.button2.Location = new System.Drawing.Point(225, 64);
+ this.button2.Location = new System.Drawing.Point(459, 309);
this.button2.Name = "button2";
- this.button2.Size = new System.Drawing.Size(75, 23);
+ this.button2.Size = new System.Drawing.Size(100, 23);
this.button2.TabIndex = 2;
- this.button2.Text = "Merge";
+ this.button2.Text = "Save Image";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// button3
//
- this.button3.Location = new System.Drawing.Point(225, 131);
+ this.button3.Location = new System.Drawing.Point(95, 19);
this.button3.Name = "button3";
this.button3.Size = new System.Drawing.Size(75, 23);
this.button3.TabIndex = 3;
@@ -82,7 +89,7 @@ namespace FModel.Forms
// button4
//
this.button4.ForeColor = System.Drawing.Color.Red;
- this.button4.Location = new System.Drawing.Point(225, 160);
+ this.button4.Location = new System.Drawing.Point(182, 19);
this.button4.Name = "button4";
this.button4.Size = new System.Drawing.Size(75, 23);
this.button4.TabIndex = 4;
@@ -90,39 +97,100 @@ namespace FModel.Forms
this.button4.UseVisualStyleBackColor = true;
this.button4.Click += new System.EventHandler(this.button4_Click);
//
+ // groupBox1
+ //
+ this.groupBox1.Controls.Add(this.button1);
+ this.groupBox1.Controls.Add(this.listBox1);
+ this.groupBox1.Controls.Add(this.button3);
+ this.groupBox1.Controls.Add(this.button4);
+ this.groupBox1.Location = new System.Drawing.Point(12, 12);
+ this.groupBox1.Name = "groupBox1";
+ this.groupBox1.Size = new System.Drawing.Size(263, 320);
+ this.groupBox1.TabIndex = 7;
+ this.groupBox1.TabStop = false;
+ this.groupBox1.Text = "Settings";
+ //
+ // trackBar1
+ //
+ this.trackBar1.LargeChange = 0;
+ this.trackBar1.Location = new System.Drawing.Point(281, 268);
+ this.trackBar1.Maximum = 20;
+ this.trackBar1.Minimum = 1;
+ this.trackBar1.Name = "trackBar1";
+ this.trackBar1.Size = new System.Drawing.Size(278, 45);
+ this.trackBar1.SmallChange = 0;
+ this.trackBar1.TabIndex = 1;
+ this.trackBar1.Value = 7;
+ this.trackBar1.Scroll += new System.EventHandler(this.TrackBar1_Scroll);
+ //
+ // pictureBox1
+ //
+ this.pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
+ this.pictureBox1.Location = new System.Drawing.Point(281, 18);
+ this.pictureBox1.Name = "pictureBox1";
+ this.pictureBox1.Size = new System.Drawing.Size(278, 244);
+ this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
+ this.pictureBox1.TabIndex = 9;
+ this.pictureBox1.TabStop = false;
+ //
+ // button5
+ //
+ this.button5.ForeColor = System.Drawing.SystemColors.ControlText;
+ this.button5.Location = new System.Drawing.Point(353, 309);
+ this.button5.Name = "button5";
+ this.button5.Size = new System.Drawing.Size(100, 23);
+ this.button5.TabIndex = 10;
+ this.button5.Text = "Open Image";
+ this.button5.UseVisualStyleBackColor = true;
+ this.button5.Click += new System.EventHandler(this.Button5_Click);
+ //
+ // backgroundWorker1
+ //
+ this.backgroundWorker1.WorkerReportsProgress = true;
+ this.backgroundWorker1.DoWork += new System.ComponentModel.DoWorkEventHandler(this.BackgroundWorker1_DoWork);
+ this.backgroundWorker1.ProgressChanged += new System.ComponentModel.ProgressChangedEventHandler(this.BackgroundWorker1_ProgressChanged);
+ this.backgroundWorker1.RunWorkerCompleted += new System.ComponentModel.RunWorkerCompletedEventHandler(this.BackgroundWorker1_RunWorkerCompleted);
+ //
+ // progressBar1
+ //
+ this.progressBar1.Location = new System.Drawing.Point(12, 338);
+ this.progressBar1.Name = "progressBar1";
+ this.progressBar1.Size = new System.Drawing.Size(547, 16);
+ this.progressBar1.Step = 1;
+ this.progressBar1.TabIndex = 11;
+ //
// label1
//
this.label1.AutoSize = true;
- this.label1.Location = new System.Drawing.Point(222, 217);
+ this.label1.ForeColor = System.Drawing.Color.Red;
+ this.label1.Location = new System.Drawing.Point(281, 314);
this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(88, 13);
- this.label1.TabIndex = 5;
- this.label1.Text = "Images Per Row:";
- //
- // numericUpDown1
- //
- this.numericUpDown1.Location = new System.Drawing.Point(225, 233);
- this.numericUpDown1.Name = "numericUpDown1";
- this.numericUpDown1.Size = new System.Drawing.Size(81, 20);
- this.numericUpDown1.TabIndex = 6;
+ this.label1.Size = new System.Drawing.Size(68, 13);
+ this.label1.TabIndex = 12;
+ this.label1.Text = "Delay 300ms";
//
// MergeImages
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(318, 281);
- this.Controls.Add(this.numericUpDown1);
+ this.ClientSize = new System.Drawing.Size(571, 364);
this.Controls.Add(this.label1);
- this.Controls.Add(this.button4);
- this.Controls.Add(this.button3);
+ this.Controls.Add(this.progressBar1);
+ this.Controls.Add(this.button5);
+ this.Controls.Add(this.pictureBox1);
+ this.Controls.Add(this.groupBox1);
this.Controls.Add(this.button2);
- this.Controls.Add(this.button1);
- this.Controls.Add(this.listBox1);
+ this.Controls.Add(this.trackBar1);
+ this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
+ this.MaximizeBox = false;
this.Name = "MergeImages";
+ this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Merge Images";
this.Load += new System.EventHandler(this.MergeImages_Load);
- ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit();
+ this.groupBox1.ResumeLayout(false);
+ ((System.ComponentModel.ISupportInitialize)(this.trackBar1)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@@ -135,7 +203,12 @@ namespace FModel.Forms
private System.Windows.Forms.Button button2;
private System.Windows.Forms.Button button3;
private System.Windows.Forms.Button button4;
+ private System.Windows.Forms.GroupBox groupBox1;
+ private System.Windows.Forms.TrackBar trackBar1;
+ private System.Windows.Forms.PictureBox pictureBox1;
+ private System.Windows.Forms.Button button5;
+ private System.ComponentModel.BackgroundWorker backgroundWorker1;
+ private System.Windows.Forms.ProgressBar progressBar1;
private System.Windows.Forms.Label label1;
- private System.Windows.Forms.NumericUpDown numericUpDown1;
}
}
diff --git a/FModel/Forms/MergeImages.cs b/FModel/Forms/MergeImages.cs
index 8b4dd805..efbd299e 100644
--- a/FModel/Forms/MergeImages.cs
+++ b/FModel/Forms/MergeImages.cs
@@ -5,11 +5,19 @@ using System.IO;
using System.Windows.Forms;
using System.Web.UI.WebControls;
using Image = System.Drawing.Image;
+using System.Drawing;
+using System.Globalization;
+using FModel.Properties;
+using System.Drawing.Imaging;
namespace FModel.Forms
{
public partial class MergeImages : Form
{
+ private static List selectedImages { get; set; }
+ private static Bitmap bmp { get; set; }
+ private static Timer _scrollingTimer = null;
+
public MergeImages()
{
InitializeComponent();
@@ -18,16 +26,27 @@ namespace FModel.Forms
private void MergeImages_Load(object sender, EventArgs e)
{
listBox1.Items.Clear();
-
- numericUpDown1.Value = Properties.Settings.Default.mergerImagesRow;
}
private void button1_Click(object sender, EventArgs e)
{
- ImagesMerger.AskMergeImages(this);
- }
+ OpenFileDialog theDialog = new OpenFileDialog();
+ theDialog.Multiselect = true;
+ theDialog.InitialDirectory = App.DefaultOutputPath + "\\Icons\\";
+ theDialog.Title = @"Choose your images";
+ theDialog.Filter = @"PNG Files (*.png)|*.png|JPEG Files (*.jpg)|*.jpg|BMP Files (*.bmp)|*.bmp|All Files (*.*)|*.*";
- public void AddFiles(string[] files)
+ if (theDialog.ShowDialog() == DialogResult.OK)
+ {
+ AddFiles(theDialog.FileNames);
+
+ if (backgroundWorker1.IsBusy != true)
+ {
+ backgroundWorker1.RunWorkerAsync();
+ }
+ }
+ }
+ private void AddFiles(string[] files)
{
if (files.Count() > 0)
{
@@ -37,21 +56,64 @@ namespace FModel.Forms
}
}
}
+ private void mergeImages(List mySelectedImages)
+ {
+ int numperrow = 7;
+ Invoke(new Action(() =>
+ {
+ numperrow = trackBar1.Value;
+ }));
+ var w = 527 * numperrow;
+ if (mySelectedImages.Count * 527 < 527 * numperrow)
+ {
+ w = mySelectedImages.Count * 527;
+ }
+
+ int h = int.Parse(Math.Ceiling(double.Parse(mySelectedImages.Count.ToString()) / numperrow).ToString(CultureInfo.InvariantCulture)) * 527;
+ bmp = new Bitmap(w - 5, h - 5);
+
+ var num = 1;
+ var curW = 0;
+ var curH = 0;
+
+ for (int i = 0; i < mySelectedImages.Count; i++)
+ {
+ int percentage = (i + 1) * 100 / mySelectedImages.Count;
+ backgroundWorker1.ReportProgress(percentage);
+
+ using (Graphics g = Graphics.FromImage(bmp))
+ {
+ g.DrawImage(ImageUtilities.ResizeImage(mySelectedImages[i], 522, 522), new PointF(curW, curH));
+ if (num % numperrow == 0)
+ {
+ curW = 0;
+ curH += 527;
+ num += 1;
+ }
+ else
+ {
+ curW += 527;
+ num += 1;
+ }
+ }
+ }
+ }
private void button2_Click(object sender, EventArgs e)
{
- Properties.Settings.Default.mergerImagesRow = Decimal.ToInt32(numericUpDown1.Value);
- Properties.Settings.Default.Save();
-
- if (listBox1.Items.Count > 0)
+ if (pictureBox1.Image != null)
{
- List selectedImages = new List();
- for (int i = 0; i < listBox1.Items.Count; ++i)
+ SaveFileDialog saveTheDialog = new SaveFileDialog();
+ saveTheDialog.Title = @"Save Icon";
+ saveTheDialog.Filter = @"PNG Files (*.png)|*.png";
+ saveTheDialog.InitialDirectory = App.DefaultOutputPath;
+ saveTheDialog.FileName = "Merger";
+ if (saveTheDialog.ShowDialog() == DialogResult.OK)
{
- selectedImages.Add(Image.FromFile(((ListItem)listBox1.Items[i]).Value));
+ pictureBox1.Image.Save(saveTheDialog.FileName, ImageFormat.Png);
+ new UpdateMyConsole(Path.GetFileNameWithoutExtension(saveTheDialog.FileName), Color.DarkRed).AppendToConsole();
+ new UpdateMyConsole(" successfully saved", Color.Black, true).AppendToConsole();
}
-
- ImagesMerger.MergeSelected(selectedImages);
}
}
@@ -63,12 +125,104 @@ namespace FModel.Forms
{
listBox1.Items.RemoveAt(listBox1.SelectedIndices[i]);
}
+
+ if (backgroundWorker1.IsBusy != true)
+ {
+ backgroundWorker1.RunWorkerAsync();
+ }
}
}
private void button4_Click(object sender, EventArgs e)
{
listBox1.Items.Clear();
+ pictureBox1.Image = null;
+ progressBar1.Value = 0;
+ }
+
+ private void Button5_Click(object sender, EventArgs e)
+ {
+ if (pictureBox1.Image != null)
+ {
+ var newForm = new Form();
+ PictureBox pb = new PictureBox();
+ pb.Dock = DockStyle.Fill;
+ pb.Image = pictureBox1.Image;
+ pb.SizeMode = PictureBoxSizeMode.Zoom;
+
+ newForm.WindowState = FormWindowState.Maximized;
+ newForm.Size = pb.Image.Size;
+ newForm.Icon = Resources.FModel;
+ newForm.Text = "Temporary Merged Image";
+ newForm.StartPosition = FormStartPosition.CenterScreen;
+ newForm.Controls.Add(pb);
+ newForm.Show();
+ }
+ }
+
+ private void BackgroundWorker1_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
+ {
+ if ((selectedImages != null && selectedImages.Count > 0) || listBox1.Items.Count > 0)
+ {
+ selectedImages = new List();
+ for (int i = 0; i < listBox1.Items.Count; ++i)
+ {
+ selectedImages.Add(Image.FromFile(((ListItem)listBox1.Items[i]).Value));
+ }
+ mergeImages(selectedImages);
+ }
+ }
+
+ private void BackgroundWorker1_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e)
+ {
+ if (bmp != null)
+ {
+ pictureBox1.Image = bmp;
+ }
+
+ GC.Collect();
+ backgroundWorker1.Dispose();
+ }
+
+ private void BackgroundWorker1_ProgressChanged(object sender, System.ComponentModel.ProgressChangedEventArgs e)
+ {
+ progressBar1.Value = e.ProgressPercentage;
+ }
+
+ private void TrackBar1_Scroll(object sender, EventArgs e)
+ {
+ if (_scrollingTimer == null)
+ {
+ _scrollingTimer = new Timer()
+ {
+ Enabled = false,
+ Interval = 300,
+ Tag = (sender as TrackBar).Value
+ };
+ _scrollingTimer.Tick += (s, ea) =>
+ {
+ // check to see if the value has changed since we last ticked
+ if (trackBar1.Value == (int)_scrollingTimer.Tag)
+ {
+ // scrolling has stopped so we are good to go ahead and do stuff
+ _scrollingTimer.Stop();
+
+ if (backgroundWorker1.IsBusy != true)
+ {
+ backgroundWorker1.RunWorkerAsync();
+ }
+
+ _scrollingTimer.Dispose();
+ _scrollingTimer = null;
+ }
+ else
+ {
+ // record the last value seen
+ _scrollingTimer.Tag = trackBar1.Value;
+ }
+ };
+ _scrollingTimer.Start();
+ }
}
}
}
diff --git a/FModel/Forms/MergeImages.resx b/FModel/Forms/MergeImages.resx
index a12630e6..4d8132c9 100644
--- a/FModel/Forms/MergeImages.resx
+++ b/FModel/Forms/MergeImages.resx
@@ -117,6 +117,9 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+ 17, 17
+
diff --git a/FModel/Forms/Settings.Designer.cs b/FModel/Forms/Settings.Designer.cs
index 67797b4f..66f49157 100644
--- a/FModel/Forms/Settings.Designer.cs
+++ b/FModel/Forms/Settings.Designer.cs
@@ -50,10 +50,6 @@ namespace FModel.Forms
this.label8 = new System.Windows.Forms.Label();
this.button1 = new System.Windows.Forms.Button();
this.wPictureBox = new System.Windows.Forms.PictureBox();
- this.groupBox1 = new System.Windows.Forms.GroupBox();
- this.checkBoxSaveAsMergeImages = new System.Windows.Forms.CheckBox();
- this.textBox3 = new System.Windows.Forms.TextBox();
- this.label4 = new System.Windows.Forms.Label();
this.groupBox6 = new System.Windows.Forms.GroupBox();
this.button3 = new System.Windows.Forms.Button();
this.button2 = new System.Windows.Forms.Button();
@@ -71,7 +67,6 @@ namespace FModel.Forms
((System.ComponentModel.ISupportInitialize)(this.trackBar1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.trackBar2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.wPictureBox)).BeginInit();
- this.groupBox1.SuspendLayout();
this.groupBox6.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.trackBar3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
@@ -148,7 +143,7 @@ namespace FModel.Forms
//
this.OKButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.OKButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.OKButton.Location = new System.Drawing.Point(475, 546);
+ this.OKButton.Location = new System.Drawing.Point(475, 493);
this.OKButton.Name = "OKButton";
this.OKButton.Size = new System.Drawing.Size(97, 21);
this.OKButton.TabIndex = 15;
@@ -315,47 +310,6 @@ namespace FModel.Forms
this.wPictureBox.TabIndex = 18;
this.wPictureBox.TabStop = false;
//
- // groupBox1
- //
- this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
- this.groupBox1.Controls.Add(this.checkBoxSaveAsMergeImages);
- this.groupBox1.Controls.Add(this.textBox3);
- this.groupBox1.Controls.Add(this.label4);
- this.groupBox1.Location = new System.Drawing.Point(12, 487);
- this.groupBox1.Name = "groupBox1";
- this.groupBox1.Size = new System.Drawing.Size(560, 49);
- this.groupBox1.TabIndex = 17;
- this.groupBox1.TabStop = false;
- this.groupBox1.Text = "Merger";
- //
- // checkBoxSaveAsMergeImages
- //
- this.checkBoxSaveAsMergeImages.AutoSize = true;
- this.checkBoxSaveAsMergeImages.Checked = true;
- this.checkBoxSaveAsMergeImages.CheckState = System.Windows.Forms.CheckState.Checked;
- this.checkBoxSaveAsMergeImages.Location = new System.Drawing.Point(298, 21);
- this.checkBoxSaveAsMergeImages.Name = "checkBoxSaveAsMergeImages";
- this.checkBoxSaveAsMergeImages.Size = new System.Drawing.Size(120, 17);
- this.checkBoxSaveAsMergeImages.TabIndex = 13;
- this.checkBoxSaveAsMergeImages.Text = "Enable \"Save as...\"";
- this.checkBoxSaveAsMergeImages.UseVisualStyleBackColor = true;
- //
- // textBox3
- //
- this.textBox3.Location = new System.Drawing.Point(69, 19);
- this.textBox3.Name = "textBox3";
- this.textBox3.Size = new System.Drawing.Size(206, 20);
- this.textBox3.TabIndex = 8;
- //
- // label4
- //
- this.label4.AutoSize = true;
- this.label4.Location = new System.Drawing.Point(6, 22);
- this.label4.Name = "label4";
- this.label4.Size = new System.Drawing.Size(57, 13);
- this.label4.TabIndex = 9;
- this.label4.Text = "File Name:";
- //
// groupBox6
//
this.groupBox6.Controls.Add(this.button3);
@@ -480,9 +434,8 @@ namespace FModel.Forms
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(584, 579);
+ this.ClientSize = new System.Drawing.Size(584, 526);
this.Controls.Add(this.groupBox6);
- this.Controls.Add(this.groupBox1);
this.Controls.Add(this.groupBox4);
this.Controls.Add(this.OKButton);
this.Controls.Add(this.groupBox2);
@@ -504,8 +457,6 @@ namespace FModel.Forms
((System.ComponentModel.ISupportInitialize)(this.trackBar1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.trackBar2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.wPictureBox)).EndInit();
- this.groupBox1.ResumeLayout(false);
- this.groupBox1.PerformLayout();
this.groupBox6.ResumeLayout(false);
this.groupBox6.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.trackBar3)).EndInit();
@@ -533,16 +484,12 @@ namespace FModel.Forms
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Button button1;
private System.Windows.Forms.PictureBox wPictureBox;
- private System.Windows.Forms.GroupBox groupBox1;
- private System.Windows.Forms.TextBox textBox3;
- private System.Windows.Forms.Label label4;
private System.Windows.Forms.ComboBox comboBox1;
private System.Windows.Forms.Label label10;
private System.Windows.Forms.GroupBox groupBox6;
private System.Windows.Forms.TextBox textBox6;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.CheckBox checkBox_tryToOpen;
- private System.Windows.Forms.CheckBox checkBoxSaveAsMergeImages;
private System.Windows.Forms.CheckBox checkBox1;
private System.Windows.Forms.PictureBox pictureBox1;
private System.Windows.Forms.Button button2;
diff --git a/FModel/Forms/Settings.cs b/FModel/Forms/Settings.cs
index ed161347..b24a8d3b 100644
--- a/FModel/Forms/Settings.cs
+++ b/FModel/Forms/Settings.cs
@@ -40,10 +40,6 @@ namespace FModel.Forms
checkBox_tryToOpen.Checked = Properties.Settings.Default.tryToOpenAssets;
- //MERGER
- textBox3.Text = Properties.Settings.Default.mergerFileName;
- checkBoxSaveAsMergeImages.Checked = Properties.Settings.Default.mergerImagesSaveAs;
-
// Check if watermark exists
Utilities.CheckWatermark();
@@ -127,10 +123,6 @@ namespace FModel.Forms
Properties.Settings.Default.rarityNew = checkBox1.Checked;
- //MERGER
- Properties.Settings.Default.mergerFileName = textBox3.Text;
- Properties.Settings.Default.mergerImagesSaveAs = checkBoxSaveAsMergeImages.Checked;
-
//WATERMARK
Properties.Settings.Default.isWatermark = checkBox7.Checked;
Properties.Settings.Default.wSize = trackBar2.Value;
diff --git a/FModel/MainWindow.cs b/FModel/MainWindow.cs
index 5e735016..bcb09ff0 100644
--- a/FModel/MainWindow.cs
+++ b/FModel/MainWindow.cs
@@ -615,6 +615,7 @@ namespace FModel
}
_selectedItemsArray = null;
+ backgroundWorker2.Dispose();
Checking.UmWorking = false;
GC.Collect();
Invoke(new Action(() =>
@@ -1028,6 +1029,9 @@ namespace FModel
BundleDesign.toDrawOn.TextRenderingHint = TextRenderingHint.AntiAliasGridFit;
BundleDesign.toDrawOn.SmoothingMode = SmoothingMode.HighQuality;
BundleDesign.myItem = theItem;
+ BundleDesign.isBundleLevelup = false;
+ BundleDesign.isGrantWithBundle = false;
+ BundleDesign.isRequiresBattlePass = false;
BundleDesign.drawBackground(bmp, theItem);
@@ -1043,7 +1047,6 @@ namespace FModel
});
}
- bool isSeparatorAlreadyAdded = false;
for (int i = 0; i < BundleInfos.BundleData.Count; i++)
{
new UpdateMyConsole(BundleInfos.BundleData[i].questDescr, Color.SteelBlue).AppendToConsole();
@@ -1052,10 +1055,9 @@ namespace FModel
BundleDesign.theY += 90;
- if (!string.IsNullOrEmpty(BundleInfos.BundleData[i].questUnlockType) && !isSeparatorAlreadyAdded)
+ if (!string.IsNullOrEmpty(BundleInfos.BundleData[i].questUnlockType))
{
- BundleDesign.drawPrestigeSeparator();
- isSeparatorAlreadyAdded = true;
+ BundleDesign.drawSeparator(BundleInfos.BundleData[i].questUnlockType);
}
//draw quest description
@@ -1209,6 +1211,7 @@ namespace FModel
}
_selectedItemsArray = null;
+ backgroundWorker1.Dispose();
GC.Collect();
Invoke(new Action(() =>
{
diff --git a/FModel/Methods/IconGenerator/ChallengeGenerator/BundleDesign.cs b/FModel/Methods/IconGenerator/ChallengeGenerator/BundleDesign.cs
index 62739c80..af540de4 100644
--- a/FModel/Methods/IconGenerator/ChallengeGenerator/BundleDesign.cs
+++ b/FModel/Methods/IconGenerator/ChallengeGenerator/BundleDesign.cs
@@ -15,6 +15,9 @@ namespace FModel
public static Graphics toDrawOn { get; set; }
public static JToken myItem { get; set; }
private static Color headerColor { get; set; }
+ public static bool isBundleLevelup { get; set; }
+ public static bool isRequiresBattlePass { get; set; }
+ public static bool isGrantWithBundle { get; set; }
///
/// get a random color in case DisplayStyle doesn't exist in drawBackground()
@@ -355,9 +358,25 @@ namespace FModel
toDrawOn.DrawString(text, new Font(FontUtilities.pfc.Families[0], 15), new SolidBrush(Color.FromArgb(150, 255, 255, 255)), new Point(myBitmap.Width - 10, 210), FontUtilities.rightString);
}
- public static void drawPrestigeSeparator()
+ public static void drawSeparator(string unlockType)
{
- string texture = JohnWick.AssetToTexture2D("T-FNBR-MissionIcon-L");
+ switch (unlockType)
+ {
+ case "EChallengeBundleQuestUnlockType::BundleLevelup":
+ if (!isBundleLevelup) { drawIconSeparator("T-FNBR-MissionIcon-L"); isBundleLevelup = true; }
+ break;
+ case "EChallengeBundleQuestUnlockType::RequiresBattlePass":
+ if (!isRequiresBattlePass) { drawIconSeparator("T-FNBR-BattlePass-L"); isRequiresBattlePass = true; }
+ break;
+ /*case "EChallengeBundleQuestUnlockType::GrantWithBundle": //GrantWithBundle doesn't mean free or paid battle pass so idk i just leave this here
+ if (!isGrantWithBundle) { drawPrestigeSeparator("T-FNBR-BattlePassChallenge-Silver-L"); isGrantWithBundle = true; }
+ break;*/
+ }
+ }
+
+ private static void drawIconSeparator(string iconName)
+ {
+ string texture = JohnWick.AssetToTexture2D(iconName);
if (File.Exists(texture))
{
Image itemIcon;
diff --git a/FModel/Methods/IconGenerator/ChallengeGenerator/BundleInfos.cs b/FModel/Methods/IconGenerator/ChallengeGenerator/BundleInfos.cs
index 8c5718ec..87941c5e 100644
--- a/FModel/Methods/IconGenerator/ChallengeGenerator/BundleInfos.cs
+++ b/FModel/Methods/IconGenerator/ChallengeGenerator/BundleInfos.cs
@@ -141,7 +141,7 @@ namespace FModel
//prestige challenge check
JToken questUnlockType = questInfo["QuestUnlockType"];
string unlockType = string.Empty;
- if (questUnlockType != null && questUnlockType.Value().Equals("EChallengeBundleQuestUnlockType::BundleLevelup"))
+ if (questUnlockType != null)
{
unlockType = questUnlockType.Value();
}
diff --git a/FModel/Methods/ImagesMerger/ImagesMerger.cs b/FModel/Methods/ImagesMerger/ImagesMerger.cs
deleted file mode 100644
index 2a749db9..00000000
--- a/FModel/Methods/ImagesMerger/ImagesMerger.cs
+++ /dev/null
@@ -1,140 +0,0 @@
-using FModel.Forms;
-using FModel.Properties;
-using System;
-using System.Collections.Generic;
-using System.Drawing;
-using System.Drawing.Imaging;
-using System.IO;
-using System.Globalization;
-using System.Windows.Forms;
-
-namespace FModel
-{
- static class ImagesMerger
- {
- ///
- /// open a FileDialog to choose our images to merge, add them to the list of images
- /// use this list to merge, with MergeSelected()
- ///
- public static void AskMergeImages(MergeImages mergeImagesForm)
- {
- if (string.IsNullOrEmpty(Properties.Settings.Default.mergerFileName))
- {
- Properties.Settings.Default.mergerFileName = "Merger";
- Properties.Settings.Default.Save();
- }
-
- OpenFileDialog theDialog = new OpenFileDialog();
- theDialog.Multiselect = true;
- theDialog.InitialDirectory = App.DefaultOutputPath + "\\Icons\\";
- theDialog.Title = @"Choose your images";
- theDialog.Filter = @"PNG Files (*.png)|*.png|JPEG Files (*.jpg)|*.jpg|BMP Files (*.bmp)|*.bmp|All Files (*.*)|*.*";
-
- if (theDialog.ShowDialog() == DialogResult.OK)
- {
- if (mergeImagesForm != null && Application.OpenForms[mergeImagesForm.Name] != null)
- mergeImagesForm.AddFiles(theDialog.FileNames);
- }
- }
-
- ///
- /// take all the selected images and draw them one after the other depending on mergerImagesRow
- /// at the end, save and open the generated image with OpenMerged()
- ///
- ///
- public static void MergeSelected(List mySelectedImages)
- {
- string mergeFileName = Properties.Settings.Default.mergerFileName;
- if (Properties.Settings.Default.mergerImagesSaveAs)
- {
- SaveFileDialog saveFileMergerImages = new SaveFileDialog();
- saveFileMergerImages.InitialDirectory = App.DefaultOutputPath;
- saveFileMergerImages.DefaultExt = "png";
- saveFileMergerImages.Filter = "Image PNG (.png)|*.png";
- saveFileMergerImages.FileName = mergeFileName;
-
- if (saveFileMergerImages.ShowDialog() != DialogResult.OK)
- return;
- mergeFileName = Path.GetFileName(saveFileMergerImages.FileName);
- }
-
- if (Properties.Settings.Default.mergerImagesRow == 0)
- {
- Properties.Settings.Default.mergerImagesRow = 7;
- Properties.Settings.Default.Save();
- }
-
- int numperrow = Properties.Settings.Default.mergerImagesRow;
- var w = 527 * numperrow;
- if (mySelectedImages.Count * 527 < 527 * numperrow)
- {
- w = mySelectedImages.Count * 527;
- }
-
- int h = int.Parse(Math.Ceiling(double.Parse(mySelectedImages.Count.ToString()) / numperrow).ToString(CultureInfo.InvariantCulture)) * 527;
- try
- {
- Bitmap bmp = new Bitmap(w - 5, h - 5);
-
- var num = 1;
- var curW = 0;
- var curH = 0;
-
- for (int i = 0; i < mySelectedImages.Count; i++)
- {
- using (Graphics g = Graphics.FromImage(bmp))
- {
- g.DrawImage(ImageUtilities.ResizeImage(mySelectedImages[i], 522, 522), new PointF(curW, curH));
- if (num % numperrow == 0)
- {
- curW = 0;
- curH += 527;
- num += 1;
- }
- else
- {
- curW += 527;
- num += 1;
- }
- }
- }
-
- if (!mergeFileName.Contains(".png"))
- mergeFileName += ".png";
-
- bmp.Save(App.DefaultOutputPath + "\\" + mergeFileName, ImageFormat.Png);
- bmp.Dispose();
-
- OpenMerged(App.DefaultOutputPath + "\\" + mergeFileName);
- }
- catch (Exception ex)
- {
- new UpdateMyConsole("[Merge Images]: " + ex.Message, Color.Red, true).AppendToConsole();
- }
- }
-
- ///
- /// if bitmap exist, open a new form in fullscreen and display the bitmap in a picturebox
- ///
- ///
- private static void OpenMerged(string mergedImagePath)
- {
- if (File.Exists(mergedImagePath))
- {
- var newForm = new Form();
- PictureBox pb = new PictureBox();
- pb.Dock = DockStyle.Fill;
- pb.Image = Image.FromFile(mergedImagePath);
- pb.SizeMode = PictureBoxSizeMode.Zoom;
-
- newForm.WindowState = FormWindowState.Maximized;
- newForm.Size = pb.Image.Size;
- newForm.Icon = Resources.FModel;
- newForm.Text = App.DefaultOutputPath + @"\" + Properties.Settings.Default.mergerFileName + @".png";
- newForm.StartPosition = FormStartPosition.CenterScreen;
- newForm.Controls.Add(pb);
- newForm.Show();
- }
- }
- }
-}
diff --git a/FModel/Properties/Settings.Designer.cs b/FModel/Properties/Settings.Designer.cs
index ac5da8e8..7943a703 100644
--- a/FModel/Properties/Settings.Designer.cs
+++ b/FModel/Properties/Settings.Designer.cs
@@ -107,30 +107,6 @@ namespace FModel.Properties {
}
}
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("")]
- public string mergerFileName {
- get {
- return ((string)(this["mergerFileName"]));
- }
- set {
- this["mergerFileName"] = value;
- }
- }
-
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("0")]
- public int mergerImagesRow {
- get {
- return ((int)(this["mergerImagesRow"]));
- }
- set {
- this["mergerImagesRow"] = value;
- }
- }
-
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
@@ -251,18 +227,6 @@ namespace FModel.Properties {
}
}
- [global::System.Configuration.UserScopedSettingAttribute()]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("False")]
- public bool mergerImagesSaveAs {
- get {
- return ((bool)(this["mergerImagesSaveAs"]));
- }
- set {
- this["mergerImagesSaveAs"] = value;
- }
- }
-
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
diff --git a/FModel/Properties/Settings.settings b/FModel/Properties/Settings.settings
index fd53e25b..15fbd390 100644
--- a/FModel/Properties/Settings.settings
+++ b/FModel/Properties/Settings.settings
@@ -23,12 +23,6 @@
False
-
-
-
-
- 0
-
@@ -59,9 +53,6 @@
True
-
- False
-