Migration to MVVM
This commit is contained in:
parent
0c1bb50dce
commit
1db874ce77
6 changed files with 946 additions and 575 deletions
|
|
@ -37,29 +37,20 @@ public partial class MainForm
|
|||
_imageCreationService = imageCreationStuff;
|
||||
_parametriSetup = parametriSetup;
|
||||
_picSettings = picSettings;
|
||||
|
||||
_logger = logger;
|
||||
|
||||
_logger.LogDebug("Start");
|
||||
|
||||
InitializeComponent();
|
||||
|
||||
BindControls();
|
||||
|
||||
_Button3.Name = "Button3";
|
||||
_Button2.Name = "Button2";
|
||||
_Button8.Name = "Button8";
|
||||
_CheckBox18.Name = "CheckBox18";
|
||||
_CheckBox4.Name = "CheckBox4";
|
||||
_CheckBox12.Name = "CheckBox12";
|
||||
_PictureBox1.Name = "PictureBox1";
|
||||
_Button4.Name = "Button4";
|
||||
_Label27.Name = "Label27";
|
||||
_Button7.Name = "Button7";
|
||||
_Button5.Name = "Button5";
|
||||
//_btnCreaCatalogo.Name = "btnCreaCatalogo";
|
||||
_Button6.Name = "Button6";
|
||||
_btnCreaCatalogoAsync.Name = "btnCreaCatalogoAsync";
|
||||
|
||||
// Subscribe to DataModel events
|
||||
Model.SelectSourceFolderRequested += OnSelectSourceFolderRequested;
|
||||
Model.SelectDestinationFolderRequested += OnSelectDestinationFolderRequested;
|
||||
Model.SelectLogoFileRequested += OnSelectLogoFileRequested;
|
||||
Model.SaveSettingsRequested += OnSaveSettingsRequested;
|
||||
Model.LoadSettingsRequested += OnLoadSettingsRequested;
|
||||
Model.SelectColorRequested += OnSelectColorRequested;
|
||||
|
||||
var version = Assembly.GetExecutingAssembly().GetName().Version;
|
||||
_Label27.Text = $"Version: {version.Major}.{version.Minor}.{version.Build}.{version.Revision}";
|
||||
|
|
@ -70,7 +61,13 @@ public partial class MainForm
|
|||
|
||||
protected void BindControls()
|
||||
{
|
||||
//txtSorgente.DataBindings.Add(new Binding("Text", SourcePath, ""));
|
||||
// Wire up buttons to ViewModel commands
|
||||
_Button2.Click += (s, e) => Model.SelectSourceFolderCommand.Execute(null);
|
||||
_Button3.Click += (s, e) => Model.SelectDestinationFolderCommand.Execute(null);
|
||||
_Button4.Click += (s, e) => Model.SelectLogoFileCommand.Execute(null);
|
||||
_Button5.Click += (s, e) => Model.SaveSettingsCommand.Execute(null);
|
||||
_Button6.Click += (s, e) => Model.LoadSettingsCommand.Execute(null);
|
||||
_Button8.Click += (s, e) => Model.SelectColorCommand.Execute(null);
|
||||
}
|
||||
|
||||
private event EventHandler<Tuple<string, int>> UiUpdateEvent;
|
||||
|
|
@ -114,80 +111,25 @@ public partial class MainForm
|
|||
SetText(lblFotoTotaliNum, args.Item2.ToString());
|
||||
}
|
||||
|
||||
private bool _waterSelectColor = false;
|
||||
|
||||
private ConcurrentBag<string> _results;
|
||||
|
||||
private void SetDefaults()
|
||||
{
|
||||
//txtSorgente.Text = "";
|
||||
Model.SourcePath = string.Empty;
|
||||
Model.DestinationPath = string.Empty;
|
||||
TextBox3.Text = "tn_";
|
||||
Model.HorizontalText = "";
|
||||
TextBox5.Text = "350";
|
||||
TextBox6.Text = "350";
|
||||
TextBox27.Text = "2240";
|
||||
TextBox28.Text = "2240";
|
||||
TextBox9.Text = "0";
|
||||
TextBox11.Text = "20";
|
||||
TextBox12.Text = "8";
|
||||
// TextBox13.Text = ""
|
||||
TextBox10.Text = "";
|
||||
TextBox14.Text = "430";
|
||||
TextBox15.Text = "430";
|
||||
TextBox16.Text = "290";
|
||||
txtFilePerCartella.Text = "99";
|
||||
TextBox19.Text = "100";
|
||||
txtSuffissoCartelle.Text = "";
|
||||
txtCifreContatore.Text = "2";
|
||||
TextBox25.Text = "50";
|
||||
TextBox26.Text = "";
|
||||
Model.ThreadsCount = 10;
|
||||
Model.ChunkSize = 100;
|
||||
TextBox34.Text = "Yellow";
|
||||
TextBox30.Text = "20";
|
||||
TextBox31.Text = "6";
|
||||
TextBox32.Text = "85";
|
||||
TextBox33.Text = "30";
|
||||
ComboBox1.Items.Add("Alto");
|
||||
ComboBox1.Items.Add("Basso");
|
||||
ComboBox1.SelectedIndex = 1;
|
||||
ComboBox2.Items.Add("Sinistra");
|
||||
ComboBox2.Items.Add("Centro");
|
||||
ComboBox2.Items.Add("Destra");
|
||||
ComboBox2.SelectedIndex = 1;
|
||||
// Model defaults are already set in DataModel constructor, just bind ComboBoxes
|
||||
ComboBox1.DataSource = new List<string>(Model.VerticalPositions);
|
||||
ComboBox1.SelectedItem = Model.VerticalPosition;
|
||||
|
||||
ComboBox2.DataSource = new List<string>(Model.HorizontalAlignments);
|
||||
ComboBox2.SelectedItem = Model.HorizontalAlignment;
|
||||
|
||||
// Create a obejct of InstalledFontCollection
|
||||
var InstalledFonts = new InstalledFontCollection();
|
||||
// Gets the array of FontFamily objects associated with this FontCollection.
|
||||
var fontfamilies = InstalledFonts.Families;
|
||||
ComboBox3.DataSource = new List<string>(Model.AvailableFonts);
|
||||
ComboBox3.SelectedItem = Model.FontName;
|
||||
|
||||
// Populates font combobox with the font name
|
||||
|
||||
foreach (FontFamily fontFamily in fontfamilies)
|
||||
ComboBox3.Items.Add(fontFamily.Name);
|
||||
ComboBox3.Text = ComboBox3.Items[0].ToString();
|
||||
|
||||
// ComboBox3.Items.Add("Arial")
|
||||
// ComboBox3.Items.Add("Arial Black")
|
||||
// ComboBox3.Items.Add("Arial Narrow")
|
||||
// ComboBox3.Items.Add("Comic Sans MS")
|
||||
// ComboBox3.Items.Add("Courier New")
|
||||
// ComboBox3.Items.Add("System")
|
||||
// ComboBox3.Items.Add("Times New Roman")
|
||||
// ComboBox3.Items.Add("Verdana")
|
||||
// ComboBox3.Items.Add("Wingdings")
|
||||
// ComboBox3.SelectedIndex = 7
|
||||
|
||||
ComboBox4.Items.Add("Sinistra");
|
||||
ComboBox4.Items.Add("Centro");
|
||||
ComboBox4.Items.Add("Destra");
|
||||
ComboBox4.SelectedIndex = 2;
|
||||
ComboBox5.Items.Add("Alto");
|
||||
ComboBox5.Items.Add("Centro");
|
||||
ComboBox5.Items.Add("Basso");
|
||||
ComboBox5.SelectedIndex = 2;
|
||||
ComboBox4.DataSource = new List<string>(Model.HorizontalAlignments);
|
||||
ComboBox4.SelectedItem = Model.LogoHorizontalPosition;
|
||||
|
||||
ComboBox5.DataSource = new List<string> { "Alto", "Centro", "Basso" };
|
||||
ComboBox5.SelectedItem = Model.LogoVerticalPosition;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -274,12 +216,10 @@ public partial class MainForm
|
|||
dialog.InitialDirectory = startingFolder;
|
||||
if (dialog.ShowDialog() != DialogResult.OK) return string.Empty;
|
||||
|
||||
var directoryScelta = FixPath(dialog.SelectedPath); // dialog.FileName;
|
||||
|
||||
return directoryScelta;
|
||||
return FixPath(dialog.SelectedPath);
|
||||
}
|
||||
|
||||
private void Button2_Click(object sender, EventArgs e)
|
||||
private void OnSelectSourceFolderRequested(object sender, EventArgs e)
|
||||
{
|
||||
var dialogResult = SelectFolder(Model.SourcePath);
|
||||
if (!string.IsNullOrWhiteSpace(dialogResult))
|
||||
|
|
@ -288,7 +228,7 @@ public partial class MainForm
|
|||
}
|
||||
}
|
||||
|
||||
private void Button3_Click(object sender, EventArgs e)
|
||||
private void OnSelectDestinationFolderRequested(object sender, EventArgs e)
|
||||
{
|
||||
var dialogResult = SelectFolder(Model.DestinationPath);
|
||||
if (!string.IsNullOrWhiteSpace(dialogResult))
|
||||
|
|
@ -297,283 +237,174 @@ public partial class MainForm
|
|||
}
|
||||
}
|
||||
|
||||
private void Button5_Click(object sender, EventArgs e)
|
||||
private void OnSelectLogoFileRequested(object sender, EventArgs e)
|
||||
{
|
||||
var SaveFileDlg = new SaveFileDialog();
|
||||
|
||||
// SaveFileDlg.InitialDirectory = "c:\"
|
||||
SaveFileDlg.Filter = "Setup (*.xml)|*.xml|All valid files (*.*)|*.*";
|
||||
SaveFileDlg.FilterIndex = 0;
|
||||
SaveFileDlg.RestoreDirectory = true;
|
||||
if (DialogResult.OK != SaveFileDlg.ShowDialog()) return;
|
||||
|
||||
var ilNome = SaveFileDlg.FileName;
|
||||
_parametriSetup.NomeFileSetup = ilNome;
|
||||
_parametriSetup.AggiornaParametro("DirSorgente", Model.SourcePath);
|
||||
_parametriSetup.AggiornaParametro("DirDestinazione", Model.DestinationPath);
|
||||
_parametriSetup.AggiornaParametro("DirSottoDirectory", chkAggiornaSottodirectory.Checked);
|
||||
_parametriSetup.AggiornaParametro("DirDividiDestinazione", chkCreaSottocartelle.Checked);
|
||||
_parametriSetup.AggiornaParametro("DirDividiNumFile", txtFilePerCartella.Text);
|
||||
_parametriSetup.AggiornaParametro("DirDividiSuffisso", txtSuffissoCartelle.Text);
|
||||
_parametriSetup.AggiornaParametro("DirDividiNumCifre", txtCifreContatore.Text);
|
||||
if (rdbNumProgressiva.Checked == true)
|
||||
var dialog = new OpenFileDialog();
|
||||
dialog.Filter = "Image Files|*.jpg;*.jpeg;*.png;*.bmp;*.gif";
|
||||
if (Model.LogoFile.Length > 0)
|
||||
{
|
||||
_parametriSetup.AggiornaParametro("DirDividiTipoNumerazione", "Progressiva");
|
||||
dialog.FileName = Model.LogoFile;
|
||||
}
|
||||
else
|
||||
|
||||
if (dialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
_parametriSetup.AggiornaParametro("DirDividiTipoNumerazione", "Files");
|
||||
Model.LogoFile = dialog.FileName;
|
||||
UpdateLogoPictureBox(Model.LogoFile);
|
||||
}
|
||||
|
||||
_parametriSetup.AggiornaParametro("MiniatureCrea", CheckBox1.Checked);
|
||||
_parametriSetup.AggiornaParametro("MiniatureSuffisso", TextBox3.Text);
|
||||
_parametriSetup.AggiornaParametro("MiniatureAltezza", TextBox5.Text);
|
||||
_parametriSetup.AggiornaParametro("MiniatureLarghezza", TextBox6.Text);
|
||||
_parametriSetup.AggiornaParametro("MiniatureAddScritta", RadioButton3.Checked);
|
||||
_parametriSetup.AggiornaParametro("MiniatureAddOrario", RadioButton4.Checked);
|
||||
_parametriSetup.AggiornaParametro("FotoAltezza", TextBox27.Text);
|
||||
_parametriSetup.AggiornaParametro("FotoLarghezza", TextBox28.Text);
|
||||
// SetupIni.AggiornaParametro("FotoCodice", TextBox13.Text)
|
||||
// SetupIni.AggiornaParametro("FotoDimOriginali", CheckBox2.Checked)
|
||||
|
||||
_parametriSetup.AggiornaParametro("FontDimensione", TextBox11.Text);
|
||||
_parametriSetup.AggiornaParametro("FontDimensioneMiniatura", TextBox25.Text);
|
||||
_parametriSetup.AggiornaParametro("FontBold", CheckBox3.Checked);
|
||||
_parametriSetup.AggiornaParametro("FontNome", ComboBox3.Text);
|
||||
_parametriSetup.AggiornaParametro("TestoTesto", Model.HorizontalText);
|
||||
_parametriSetup.AggiornaParametro("TestoTrasparente", TextBox9.Text);
|
||||
_parametriSetup.AggiornaParametro("TestoMargine", TextBox12.Text);
|
||||
_parametriSetup.AggiornaParametro("TestoPosizione", ComboBox1.Text);
|
||||
_parametriSetup.AggiornaParametro("TestoAllineamento", ComboBox2.Text);
|
||||
_parametriSetup.AggiornaParametro("MarchioFile", TextBox10.Text);
|
||||
_parametriSetup.AggiornaParametro("MarchioAltezza", TextBox14.Text);
|
||||
_parametriSetup.AggiornaParametro("MarchioLarghezza", TextBox15.Text);
|
||||
_parametriSetup.AggiornaParametro("MarchioMargine", TextBox16.Text);
|
||||
_parametriSetup.AggiornaParametro("MarchioAllOrizzontale", ComboBox4.Text);
|
||||
_parametriSetup.AggiornaParametro("MarchioAllVerticale", ComboBox5.Text);
|
||||
_parametriSetup.AggiornaParametro("MarchioTrasparenza", TextBox19.Text);
|
||||
_parametriSetup.AggiornaParametro("MarchioAggiungi", CheckBox5.Checked);
|
||||
_parametriSetup.AggiornaParametro("TempoGara", CheckBox7.Checked);
|
||||
_parametriSetup.AggiornaParametro("Orario", CheckBox8.Checked);
|
||||
_parametriSetup.AggiornaParametro("EtichettaOrario", TextBox18.Text);
|
||||
_parametriSetup.AggiornaParametro("GeneraleForzaJpg", chkForzaJpg.Checked);
|
||||
_parametriSetup.AggiornaParametro("GeneraleRotazioneAutomatica", chkRotazioneAutomatica.Checked);
|
||||
_parametriSetup.AggiornaParametro("GrandezzaVerticale", TextBox30.Text);
|
||||
_parametriSetup.AggiornaParametro("MargineVerticale", TextBox31.Text);
|
||||
_parametriSetup.AggiornaParametro("DimensioniOriginali", CheckBox15.Checked);
|
||||
_parametriSetup.AggiornaParametro("TestoVerticale", Model.VerticalText);
|
||||
_parametriSetup.AggiornaParametro("NomeMiniatura", RadioButton6.Checked);
|
||||
_parametriSetup.AggiornaParametro("DataFoto", CheckBox16.Checked);
|
||||
_parametriSetup.AggiornaParametro("NumeroFoto", CheckBox17.Checked);
|
||||
_parametriSetup.AggiornaParametro("ColoreTestoRGB", TextBox34.Text);
|
||||
_parametriSetup.AggiornaParametro("TempoSmall", RadioButton5.Checked);
|
||||
_parametriSetup.AggiornaParametro("NumTempoSmall", RadioButton7.Checked);
|
||||
_parametriSetup.AggiornaParametro("CompressioneJpeg", TextBox32.Text);
|
||||
_parametriSetup.AggiornaParametro("CompressioneJpegMiniatura", TextBox33.Text);
|
||||
// 2021
|
||||
_parametriSetup.AggiornaParametro("ChunkSize", Model.ChunkSize.ToString());
|
||||
_parametriSetup.AggiornaParametro("ThreadsCount", Model.ThreadsCount.ToString());
|
||||
_parametriSetup.AggiornaParametro("OverwriteImages", Model.OverwriteImages);
|
||||
_parametriSetup.SalvaParametriSetup();
|
||||
Text = "Image Catalog - " + LeggiSoloNomeFile(ilNome);
|
||||
}
|
||||
|
||||
private void Button6_Click(object sender, EventArgs e)
|
||||
private async void OnSaveSettingsRequested(object sender, string e)
|
||||
{
|
||||
var openFileDialog = new OpenFileDialog();
|
||||
|
||||
// openFileDialog.InitialDirectory = TextBox1.Text
|
||||
openFileDialog.Filter = "Setup (*.xml)|*.xml|All valid files (*.*)|*.*";
|
||||
openFileDialog.FilterIndex = 0;
|
||||
openFileDialog.RestoreDirectory = true;
|
||||
|
||||
if (DialogResult.OK != openFileDialog.ShowDialog()) return;
|
||||
|
||||
var ilNome = openFileDialog.FileName;
|
||||
_parametriSetup.NomeFileSetup = ilNome;
|
||||
_parametriSetup.CaricaParametriSetup();
|
||||
Model.SourcePath = _parametriSetup.LeggiParametroString("DirSorgente");
|
||||
Model.DestinationPath = _parametriSetup.LeggiParametroString("DirDestinazione");
|
||||
chkAggiornaSottodirectory.Checked = _parametriSetup.LeggiParametroBoolean("DirSottoDirectory");
|
||||
chkCreaSottocartelle.Checked = _parametriSetup.LeggiParametroBoolean("DirDividiDestinazione");
|
||||
txtFilePerCartella.Text = _parametriSetup.LeggiParametroString("DirDividiNumFile");
|
||||
txtSuffissoCartelle.Text = _parametriSetup.LeggiParametroString("DirDividiSuffisso");
|
||||
txtCifreContatore.Text = _parametriSetup.LeggiParametroString("DirDividiNumCifre");
|
||||
string TestoTemp = _parametriSetup.LeggiParametroString("DirDividiTipoNumerazione");
|
||||
if (TestoTemp.ToUpper() == "PROGRESSIVA")
|
||||
var saveDialog = new SaveFileDialog
|
||||
{
|
||||
rdbNumProgressiva.Checked = true;
|
||||
}
|
||||
else
|
||||
Filter = "Setup (*.xml)|*.xml|All valid files (*.*)|*.*",
|
||||
FilterIndex = 0,
|
||||
RestoreDirectory = true
|
||||
};
|
||||
|
||||
if (saveDialog.ShowDialog() != DialogResult.OK) return;
|
||||
|
||||
await Model.SaveSettingsToFileAsync(saveDialog.FileName);
|
||||
Text = "Image Catalog - " + Path.GetFileName(saveDialog.FileName);
|
||||
}
|
||||
|
||||
private async void OnLoadSettingsRequested(object sender, string e)
|
||||
{
|
||||
var openDialog = new OpenFileDialog
|
||||
{
|
||||
rdbNumFiles.Checked = true;
|
||||
Filter = "Setup (*.xml)|*.xml|All valid files (*.*)|*.*",
|
||||
FilterIndex = 0,
|
||||
RestoreDirectory = true
|
||||
};
|
||||
|
||||
if (openDialog.ShowDialog() != DialogResult.OK) return;
|
||||
|
||||
await Model.LoadSettingsFromFileAsync(openDialog.FileName);
|
||||
|
||||
// Update logo preview if logo file exists
|
||||
if (File.Exists(Model.LogoFile))
|
||||
{
|
||||
UpdateLogoPictureBox(Model.LogoFile);
|
||||
}
|
||||
|
||||
CheckBox1.Checked = _parametriSetup.LeggiParametroBoolean("MiniatureCrea");
|
||||
TextBox3.Text = _parametriSetup.LeggiParametroString("MiniatureSuffisso");
|
||||
TextBox5.Text = _parametriSetup.LeggiParametroString("MiniatureAltezza");
|
||||
TextBox6.Text = _parametriSetup.LeggiParametroString("MiniatureLarghezza");
|
||||
RadioButton3.Checked = _parametriSetup.LeggiParametroBoolean("MiniatureAddScritta");
|
||||
RadioButton4.Checked = _parametriSetup.LeggiParametroBoolean("MiniatureAddOrario");
|
||||
TextBox27.Text = _parametriSetup.LeggiParametroString("FotoAltezza");
|
||||
TextBox28.Text = _parametriSetup.LeggiParametroString("FotoLarghezza");
|
||||
// TextBox13.Text = SetupIni.LeggiParametroString("FotoCodice")
|
||||
// CheckBox2.Checked = SetupIni.LeggiParametroBoolean("FotoDimOriginali")
|
||||
Text = "Image Catalog - " + Path.GetFileName(openDialog.FileName);
|
||||
}
|
||||
|
||||
TextBox11.Text = _parametriSetup.LeggiParametroString("FontDimensione");
|
||||
TextBox25.Text = _parametriSetup.LeggiParametroString("FontDimensioneMiniatura");
|
||||
CheckBox3.Checked = _parametriSetup.LeggiParametroBoolean("FontBold");
|
||||
ComboBox3.Text = _parametriSetup.LeggiParametroString("FontNome");
|
||||
if (string.IsNullOrEmpty(TextBox25.Text))
|
||||
private void OnSelectColorRequested(object sender, EventArgs e)
|
||||
{
|
||||
var colorDialog = new ColorDialog
|
||||
{
|
||||
TextBox25.Text = "0";
|
||||
AllowFullOpen = true
|
||||
};
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(Model.TextColorRGB))
|
||||
{
|
||||
try
|
||||
{
|
||||
colorDialog.Color = ColorTranslator.FromHtml(Model.TextColorRGB);
|
||||
}
|
||||
catch
|
||||
{
|
||||
// Invalid color, use default
|
||||
}
|
||||
}
|
||||
|
||||
Model.HorizontalText = _parametriSetup.LeggiParametroString("TestoTesto");
|
||||
TextBox9.Text = _parametriSetup.LeggiParametroString("TestoTrasparente");
|
||||
TextBox12.Text = _parametriSetup.LeggiParametroString("TestoMargine");
|
||||
ComboBox1.Text = _parametriSetup.LeggiParametroString("TestoPosizione");
|
||||
ComboBox2.Text = _parametriSetup.LeggiParametroString("TestoAllineamento");
|
||||
TextBox10.Text = _parametriSetup.LeggiParametroString("MarchioFile");
|
||||
TextBox14.Text = _parametriSetup.LeggiParametroString("MarchioAltezza");
|
||||
TextBox15.Text = _parametriSetup.LeggiParametroString("MarchioLarghezza");
|
||||
TextBox16.Text = _parametriSetup.LeggiParametroString("MarchioMargine");
|
||||
ComboBox4.Text = _parametriSetup.LeggiParametroString("MarchioAllOrizzontale");
|
||||
ComboBox5.Text = _parametriSetup.LeggiParametroString("MarchioAllVerticale");
|
||||
TextBox19.Text = _parametriSetup.LeggiParametroString("MarchioTrasparenza");
|
||||
CheckBox5.Checked = _parametriSetup.LeggiParametroBoolean("MarchioAggiungi");
|
||||
CheckBox7.Checked = _parametriSetup.LeggiParametroBoolean("TempoGara");
|
||||
CheckBox8.Checked = _parametriSetup.LeggiParametroBoolean("Orario");
|
||||
TextBox18.Text = _parametriSetup.LeggiParametroString("EtichettaOrario");
|
||||
chkForzaJpg.Checked = _parametriSetup.LeggiParametroBoolean("GeneraleForzaJpg");
|
||||
chkRotazioneAutomatica.Checked = _parametriSetup.LeggiParametroBoolean("GeneraleRotazioneAutomatica");
|
||||
TextBox30.Text = _parametriSetup.LeggiParametroString("GrandezzaVerticale");
|
||||
TextBox31.Text = _parametriSetup.LeggiParametroString("MargineVerticale");
|
||||
CheckBox15.Checked = _parametriSetup.LeggiParametroBoolean("DimensioniOriginali");
|
||||
Model.VerticalText = _parametriSetup.LeggiParametroString("TestoVerticale");
|
||||
RadioButton6.Checked = _parametriSetup.LeggiParametroBoolean("NomeMiniatura");
|
||||
CheckBox16.Checked = _parametriSetup.LeggiParametroBoolean("DataFoto");
|
||||
CheckBox17.Checked = _parametriSetup.LeggiParametroBoolean("NumeroFoto");
|
||||
RadioButton5.Checked = _parametriSetup.LeggiParametroBoolean("TempoSmall");
|
||||
RadioButton7.Checked = _parametriSetup.LeggiParametroBoolean("NumTempoSmall");
|
||||
TextBox32.Text = _parametriSetup.LeggiParametroString("CompressioneJpeg");
|
||||
TextBox33.Text = _parametriSetup.LeggiParametroString("CompressioneJpegMiniatura");
|
||||
TextBox34.Text = _parametriSetup.LeggiParametroString("ColoreTestoRGB");
|
||||
Model.OverwriteImages = _parametriSetup.LeggiParametroBoolean("OverwriteImages");
|
||||
if (File.Exists(TextBox10.Text))
|
||||
if (colorDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
PictureBox1.Image = Image.FromFile(TextBox10.Text);
|
||||
Model.TextColorRGB = ColorTranslator.ToHtml(colorDialog.Color);
|
||||
TextBox34.BackColor = colorDialog.Color;
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateLogoPictureBox(string logoPath)
|
||||
{
|
||||
try
|
||||
{
|
||||
PictureBox1.Image = Image.FromFile(logoPath);
|
||||
if (PictureBox1.Image.Height >= PictureBox1.Image.Width)
|
||||
{
|
||||
PictureBox1.Height = 160;
|
||||
PictureBox1.Width =
|
||||
(int)(160 * PictureBox1.Image.Width / (double)PictureBox1.Image.Height);
|
||||
PictureBox1.Width = (int)(160 * PictureBox1.Image.Width / (double)PictureBox1.Image.Height);
|
||||
}
|
||||
else
|
||||
{
|
||||
PictureBox1.Width = 224;
|
||||
PictureBox1.Height =
|
||||
(int)(224 * PictureBox1.Image.Height / (double)PictureBox1.Image.Width);
|
||||
PictureBox1.Width = 160;
|
||||
PictureBox1.Height = (int)(160 * PictureBox1.Image.Height / (double)PictureBox1.Image.Width);
|
||||
}
|
||||
}
|
||||
|
||||
Text = "Image Catalog - " + LeggiSoloNomeFile(ilNome);
|
||||
|
||||
// 2021
|
||||
Model.ChunkSize = _parametriSetup.LeggiParametro("ChunkSize", Model.ChunkSize);
|
||||
Model.ThreadsCount = _parametriSetup.LeggiParametro("ThreadsCount", Model.ThreadsCount);
|
||||
|
||||
// if (int.TryParse(_parametriSetup.LeggiParametroString("ChunkSize"), out var chunkSize))
|
||||
// {
|
||||
// Model.ChunkSize = chunkSize;
|
||||
// }
|
||||
|
||||
// if (int.TryParse(_parametriSetup.LeggiParametroString("ThreadsCount"), out var threadsCount))
|
||||
// {
|
||||
// Model.ThreadsCount = threadsCount;
|
||||
// }
|
||||
|
||||
// Model.ChunkSize = int.Parse(_parametriSetup.LeggiParametroString("ChunkSize"));
|
||||
// Model.ThreadsCount = int.Parse(_parametriSetup.LeggiParametroString("ThreadsCount"));
|
||||
catch
|
||||
{
|
||||
// Image loading failed, ignore
|
||||
}
|
||||
}
|
||||
|
||||
private void SetPicSettings(string SourcePath, string DestPath)
|
||||
{
|
||||
var SourceDir = new DirectoryInfo(SourcePath);
|
||||
var DestDirStart = new DirectoryInfo(DestPath);
|
||||
DirectoryInfo DestDir = null;
|
||||
_picSettings.DirectorySorgente = SourcePath;
|
||||
_picSettings.DirectoryDestinazione = Model.DestinationPath;
|
||||
|
||||
// _picSettings.DestDir = DestDir
|
||||
// _picSettings.SourceDir = SourceDir
|
||||
// _picSettings.DestDirStart = DestDirStart
|
||||
|
||||
_picSettings.DimStandard = int.Parse(TextBox11.Text);
|
||||
_picSettings.DimStandardMiniatura = int.Parse(TextBox25.Text);
|
||||
_picSettings.UsaOrarioMiniatura = CheckBox12.Checked;
|
||||
_picSettings.UsaOrarioTestoApplicare = CheckBox8.Checked;
|
||||
_picSettings.UsaTempoGaraTestoApplicare = CheckBox7.Checked;
|
||||
_picSettings.UsaRotazioneAutomatica = chkRotazioneAutomatica.Checked;
|
||||
_picSettings.UsaForzaJpg = chkForzaJpg.Checked;
|
||||
if (CheckBox17.Checked)
|
||||
{
|
||||
_picSettings.TestoNome = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
_picSettings.TestoNome = false;
|
||||
}
|
||||
|
||||
if (CheckBox16.Checked)
|
||||
{
|
||||
_picSettings.NomeData = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
_picSettings.NomeData = false;
|
||||
}
|
||||
_picSettings.DirectoryDestinazione = DestPath;
|
||||
|
||||
// Font and text settings from Model
|
||||
_picSettings.DimStandard = Model.FontSize;
|
||||
_picSettings.DimStandardMiniatura = Model.FontSizeThumbnail;
|
||||
_picSettings.IlFont = Model.FontName;
|
||||
_picSettings.Grassetto = Model.FontBold;
|
||||
_picSettings.Posizione = Model.VerticalPosition;
|
||||
_picSettings.Allineamento = Model.HorizontalAlignment;
|
||||
_picSettings.Trasparenza = Model.TextTransparency;
|
||||
_picSettings.Margine = Model.TextMargin;
|
||||
_picSettings.FontColoreRGB = ColorTranslator.FromHtml(Model.TextColorRGB);
|
||||
|
||||
// Thumbnail settings from Model
|
||||
_picSettings.AltezzaSmall = Model.ThumbnailHeight;
|
||||
_picSettings.LarghezzaSmall = Model.ThumbnailWidth;
|
||||
_picSettings.Suffisso = Model.ThumbnailPrefix;
|
||||
_picSettings.CreaMiniature = Model.CreateThumbnails;
|
||||
_picSettings.JpegQualityMin = Model.JpegQualityThumbnail;
|
||||
_picSettings.DimMin = Model.FontSizeThumbnail;
|
||||
|
||||
// Big photo settings from Model
|
||||
_picSettings.AltezzaBig = Model.PhotoBigHeight;
|
||||
_picSettings.LarghezzaBig = Model.PhotoBigWidth;
|
||||
_picSettings.FotoGrandeDimOrigina = Model.KeepOriginalDimensions;
|
||||
_picSettings.JpegQuality = Model.JpegQuality;
|
||||
|
||||
// Logo settings from Model
|
||||
_picSettings.LogoAggiungi = Model.AddLogo;
|
||||
_picSettings.LogoNomeFile = Model.LogoFile;
|
||||
_picSettings.LogoAltezza = Model.LogoHeight;
|
||||
_picSettings.LogoLarghezza = Model.LogoWidth;
|
||||
_picSettings.LogoMargine = Model.LogoMargin.ToString();
|
||||
_picSettings.LogoTrasparenza = Model.LogoTransparency.ToString();
|
||||
_picSettings.LogoPosizioneH = Model.LogoHorizontalPosition;
|
||||
_picSettings.LogoPosizioneV = Model.LogoVerticalPosition;
|
||||
|
||||
// Text content from Model
|
||||
_picSettings.TestoFirmaStart = Model.HorizontalText;
|
||||
_picSettings.TestoFirmaStartV = Model.VerticalText;
|
||||
_picSettings.DataPartenza = DateTimePicker1.Value;
|
||||
_picSettings.TestoOrario = TextBox18.Text;
|
||||
_picSettings.AltezzaSmall = int.Parse(TextBox6.Text);
|
||||
_picSettings.LarghezzaSmall = int.Parse(TextBox5.Text);
|
||||
_picSettings.CreaMiniature = CheckBox1.Checked;
|
||||
|
||||
// Vertical text settings from Model
|
||||
_picSettings.DimVert = Model.VerticalTextSize;
|
||||
_picSettings.MargVert = Model.VerticalTextMargin;
|
||||
|
||||
// Boolean flags from Model
|
||||
_picSettings.UsaRotazioneAutomatica = Model.AutomaticRotation;
|
||||
_picSettings.UsaForzaJpg = Model.ForceJpeg;
|
||||
_picSettings.TestoNome = Model.ShowPhotoNumber;
|
||||
_picSettings.NomeData = Model.ShowDate;
|
||||
_picSettings.UsaOrarioTestoApplicare = Model.AddTime;
|
||||
_picSettings.UsaTempoGaraTestoApplicare = Model.AddRaceTime;
|
||||
_picSettings.OverwriteFiles = Model.OverwriteImages;
|
||||
|
||||
// Additional settings from Model
|
||||
_picSettings.UsaOrarioMiniatura = Model.AddTimeToThumbnails;
|
||||
_picSettings.DataPartenza = Model.RaceStartDate;
|
||||
_picSettings.TestoOrario = Model.TimeLabel;
|
||||
_picSettings.TestoMin = Model.ShowFileNameOnThumbnails;
|
||||
|
||||
// Controls that still need binding (TODO: move to Model)
|
||||
_picSettings.AggiungiScritteMiniature = RadioButton3.Checked;
|
||||
_picSettings.AggTempoGaraMin = RadioButton5.Checked;
|
||||
_picSettings.AggNumTempMin = RadioButton7.Checked;
|
||||
_picSettings.DimVert = int.Parse(TextBox30.Text);
|
||||
_picSettings.MargVert = int.Parse(TextBox31.Text);
|
||||
|
||||
// _picSettings.NomeFileChild = childFile.Name
|
||||
_picSettings.Suffisso = TextBox3.Text;
|
||||
// _picSettings.Codice = TextBox13.Text
|
||||
|
||||
_picSettings.Trasparenza = int.Parse(TextBox9.Text);
|
||||
_picSettings.IlFont = ComboBox3.SelectedItem.ToString();
|
||||
_picSettings.Grassetto = CheckBox3.Checked;
|
||||
_picSettings.Posizione = ComboBox1.SelectedItem.ToString();
|
||||
_picSettings.Allineamento = ComboBox2.SelectedItem.ToString();
|
||||
_picSettings.Margine = int.Parse(TextBox12.Text);
|
||||
_picSettings.LogoAltezza = int.Parse(TextBox14.Text);
|
||||
_picSettings.LogoLarghezza = int.Parse(TextBox15.Text);
|
||||
_picSettings.FontColoreRGB = ColorTranslator.FromHtml(TextBox34.Text);
|
||||
_picSettings.LogoAggiungi = CheckBox5.Checked;
|
||||
_picSettings.LogoNomeFile = TextBox10.Text;
|
||||
_picSettings.LogoTrasparenza = TextBox19.Text;
|
||||
_picSettings.LogoMargine = TextBox16.Text;
|
||||
_picSettings.LogoPosizioneH = ComboBox4.Text;
|
||||
_picSettings.LogoPosizioneV = ComboBox5.Text;
|
||||
_picSettings.FotoGrandeDimOrigina = CheckBox15.Checked;
|
||||
_picSettings.AltezzaBig = int.Parse(TextBox27.Text);
|
||||
_picSettings.LarghezzaBig = int.Parse(TextBox28.Text);
|
||||
_picSettings.DimMin = int.Parse(TextBox25.Text);
|
||||
_picSettings.TestoMin = RadioButton6.Checked;
|
||||
_picSettings.JpegQuality = int.Parse(TextBox32.Text);
|
||||
_picSettings.JpegQualityMin = int.Parse(TextBox33.Text);
|
||||
_picSettings.OverwriteFiles = Model.OverwriteImages;
|
||||
}
|
||||
|
||||
private void setLabel18Text(string text)
|
||||
|
|
@ -593,132 +424,16 @@ public partial class MainForm
|
|||
NumerazioneType numerazioneType;
|
||||
if (rdbNumProgressiva.Checked)
|
||||
{
|
||||
numerazioneType = NumerazioneType.Progressiva; // FileHelper.numerazione.Progressiva
|
||||
numerazioneType = NumerazioneType.Progressiva;
|
||||
}
|
||||
else
|
||||
{
|
||||
numerazioneType = NumerazioneType.Files;
|
||||
} // FileHelper.numerazione.Files
|
||||
}
|
||||
|
||||
return numerazioneType;
|
||||
}
|
||||
|
||||
private void Button4_Click(object sender, EventArgs e)
|
||||
{
|
||||
var openFileDialog = new OpenFileDialog();
|
||||
|
||||
// openFileDialog.InitialDirectory = TextBox1.Text
|
||||
openFileDialog.Filter = "Immagini jpg (*.jpg)|*.jpg|Immagini gif (*.gif)|*.gif|Tutti i file (*.*)|*.*";
|
||||
if (TextBox10.Text.Length > 0)
|
||||
{
|
||||
openFileDialog.FileName = TextBox10.Text;
|
||||
}
|
||||
|
||||
openFileDialog.FilterIndex = 0;
|
||||
openFileDialog.RestoreDirectory = true;
|
||||
if (DialogResult.OK == openFileDialog.ShowDialog())
|
||||
{
|
||||
TextBox10.Text = openFileDialog.FileName;
|
||||
PictureBox1.Image = Image.FromFile(TextBox10.Text);
|
||||
if (PictureBox1.Image.Height >= PictureBox1.Image.Width)
|
||||
{
|
||||
PictureBox1.Height = 160;
|
||||
PictureBox1.Width =
|
||||
(int)(160 * PictureBox1.Image.Width / (double)PictureBox1.Image.Height);
|
||||
}
|
||||
else
|
||||
{
|
||||
PictureBox1.Width = 224;
|
||||
PictureBox1.Height =
|
||||
(int)(224 * PictureBox1.Image.Height / (double)PictureBox1.Image.Width);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private string LeggiSoloNomeFile(string FileName)
|
||||
{
|
||||
string Testo = FileName;
|
||||
string Risposta = "";
|
||||
var Nomi = Testo.Split(new char[] { '\\' });
|
||||
if (Nomi.Length > 1)
|
||||
{
|
||||
Risposta = Nomi[Nomi.Length - 1];
|
||||
}
|
||||
|
||||
return Risposta;
|
||||
}
|
||||
|
||||
private void PictureBox1_MouseMove(object sender, MouseEventArgs e)
|
||||
{
|
||||
// GetColor()
|
||||
// GetPixelColor(PictureBox1.PointToScreen(e.Location)).ToArgb.ToString("X8")
|
||||
}
|
||||
|
||||
private void PictureBox1_MouseUp(object sender, MouseEventArgs e)
|
||||
{
|
||||
if (e.Button == MouseButtons.Left)
|
||||
{
|
||||
_waterSelectColor = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
_waterSelectColor = false;
|
||||
}
|
||||
}
|
||||
|
||||
private Color[] GetPixelColor(Point screenLocation)
|
||||
{
|
||||
// Dim bm As New Bitmap(1, 1, Imaging.PixelFormat.Format24bppRgb)
|
||||
// Dim g As Graphics = Graphics.FromImage(bm)
|
||||
// g.CopyFromScreen(screenLocation, New Point(0, 0), New Size(1, 1))
|
||||
// Dim result As Color = bm.GetPixel(0, 0)
|
||||
// g.Dispose()
|
||||
// bm.Dispose()
|
||||
// Return result
|
||||
return null;
|
||||
}
|
||||
|
||||
private void Button8_Click(object sender, EventArgs e)
|
||||
{
|
||||
var MyDialog = new ColorDialog();
|
||||
MyDialog.AllowFullOpen = true;
|
||||
// If TextBox22.Text.Length > 0 And TextBox23.Text.Length > 0 And TextBox24.Text.Length > 0 Then
|
||||
// If CType(TextBox22.Text, Integer) >= 0 And CType(TextBox23.Text, Integer) >= 0 And CType(TextBox24.Text, Integer) >= 0 Then
|
||||
// MyDialog.Color = Color.FromArgb(0, CType(TextBox22.Text, Integer), CType(TextBox23.Text, Integer), CType(TextBox24.Text, Integer))
|
||||
// End If
|
||||
// End If
|
||||
|
||||
if (MyDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
// TextBox22.Text = MyDialog.Color.R.ToString
|
||||
// TextBox23.Text = MyDialog.Color.G.ToString
|
||||
// TextBox24.Text = MyDialog.Color.B.ToString
|
||||
TextBox34.Text = ColorTranslator.ToHtml(MyDialog.Color);
|
||||
TextBox34.BackColor = MyDialog.Color;
|
||||
}
|
||||
}
|
||||
|
||||
private void CheckBox18_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
CheckBox4.Checked = false;
|
||||
CheckBox12.Checked = false;
|
||||
}
|
||||
|
||||
private void CheckBox4_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
CheckBox18.Checked = false;
|
||||
}
|
||||
|
||||
private void CheckBox12_CheckedChanged(object sender, EventArgs e)
|
||||
{
|
||||
CheckBox18.Checked = false;
|
||||
}
|
||||
|
||||
private void Label27_Click(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
//private CancellationTokenSource? _mainToken;
|
||||
|
||||
private async void Button1_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
|
@ -796,11 +511,6 @@ public partial class MainForm
|
|||
int diff = _currentAmount - _previousAmount;
|
||||
Model.SpeedCounter = $"{diff} f/m";
|
||||
}
|
||||
|
||||
private void UpdateCounter(string text)
|
||||
{
|
||||
Label10.Invoke(new Action(() => Label10.Text = text));
|
||||
}
|
||||
}
|
||||
|
||||
public class PicInfo
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue