Fixes to settings
This commit is contained in:
parent
d73389d791
commit
fc7175c2f7
6 changed files with 628 additions and 267 deletions
|
|
@ -115,31 +115,26 @@ public partial class MainForm
|
|||
|
||||
private void SetDefaults()
|
||||
{
|
||||
// Model defaults are already set in DataModel constructor, just bind ComboBoxes
|
||||
// Bind ComboBoxes to Model using proper data binding
|
||||
ComboBox1.DataSource = new List<string>(Model.VerticalPositions);
|
||||
ComboBox1.SelectedItem = Model.VerticalPosition;
|
||||
ComboBox1.DataBindings.Add(new Binding("SelectedItem", bindingSource1, nameof(Model.VerticalPosition),
|
||||
false, DataSourceUpdateMode.OnPropertyChanged));
|
||||
|
||||
ComboBox2.DataSource = new List<string>(Model.HorizontalAlignments);
|
||||
ComboBox2.SelectedItem = Model.HorizontalAlignment;
|
||||
ComboBox2.DataBindings.Add(new Binding("SelectedItem", bindingSource1, nameof(Model.HorizontalAlignment),
|
||||
false, DataSourceUpdateMode.OnPropertyChanged));
|
||||
|
||||
ComboBox3.DataSource = new List<string>(Model.AvailableFonts);
|
||||
ComboBox3.SelectedItem = Model.FontName;
|
||||
ComboBox3.DataBindings.Add(new Binding("SelectedItem", bindingSource1, nameof(Model.FontName),
|
||||
false, DataSourceUpdateMode.OnPropertyChanged));
|
||||
|
||||
ComboBox4.DataSource = new List<string>(Model.HorizontalAlignments);
|
||||
ComboBox4.SelectedItem = Model.LogoHorizontalPosition;
|
||||
ComboBox4.DataBindings.Add(new Binding("SelectedItem", bindingSource1, nameof(Model.LogoHorizontalPosition),
|
||||
false, DataSourceUpdateMode.OnPropertyChanged));
|
||||
|
||||
ComboBox5.DataSource = new List<string> { "Alto", "Centro", "Basso" };
|
||||
ComboBox5.SelectedItem = Model.LogoVerticalPosition;
|
||||
}
|
||||
|
||||
private void RefreshComboBoxSelections()
|
||||
{
|
||||
// Update ComboBox selections to reflect loaded Model values
|
||||
ComboBox1.SelectedItem = Model.VerticalPosition;
|
||||
ComboBox2.SelectedItem = Model.HorizontalAlignment;
|
||||
ComboBox3.SelectedItem = Model.FontName;
|
||||
ComboBox4.SelectedItem = Model.LogoHorizontalPosition;
|
||||
ComboBox5.SelectedItem = Model.LogoVerticalPosition;
|
||||
ComboBox5.DataBindings.Add(new Binding("SelectedItem", bindingSource1, nameof(Model.LogoVerticalPosition),
|
||||
false, DataSourceUpdateMode.OnPropertyChanged));
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -289,18 +284,28 @@ public partial class MainForm
|
|||
|
||||
if (openDialog.ShowDialog() != DialogResult.OK) return;
|
||||
|
||||
await Model.LoadSettingsFromFileAsync(openDialog.FileName);
|
||||
|
||||
// Refresh ComboBox selections to reflect loaded settings
|
||||
RefreshComboBoxSelections();
|
||||
|
||||
// Update logo preview if logo file exists
|
||||
if (File.Exists(Model.LogoFile))
|
||||
try
|
||||
{
|
||||
UpdateLogoPictureBox(Model.LogoFile);
|
||||
}
|
||||
await Model.LoadSettingsFromFileAsync(openDialog.FileName);
|
||||
|
||||
// Explicitly ensure UI is enabled after loading
|
||||
Model.UiEnabled = true;
|
||||
|
||||
// Update logo preview if logo file exists
|
||||
if (File.Exists(Model.LogoFile))
|
||||
{
|
||||
UpdateLogoPictureBox(Model.LogoFile);
|
||||
}
|
||||
|
||||
Text = "Image Catalog - " + Path.GetFileName(openDialog.FileName);
|
||||
Text = "Image Catalog - " + Path.GetFileName(openDialog.FileName);
|
||||
|
||||
_logger.LogInformation($"Settings loaded successfully from {openDialog.FileName}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Error loading settings");
|
||||
MessageBox.Show($"Error loading settings: {ex.Message}", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnSelectColorRequested(object sender, EventArgs e)
|
||||
|
|
@ -380,6 +385,7 @@ public partial class MainForm
|
|||
_picSettings.LarghezzaBig = Model.PhotoBigWidth;
|
||||
_picSettings.FotoGrandeDimOrigina = Model.KeepOriginalDimensions;
|
||||
_picSettings.JpegQuality = Model.JpegQuality;
|
||||
_picSettings.Codice = Model.BigPhotoSuffix;
|
||||
|
||||
// Logo settings from Model
|
||||
_picSettings.LogoAggiungi = Model.AddLogo;
|
||||
|
|
@ -414,10 +420,10 @@ public partial class MainForm
|
|||
_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;
|
||||
// Thumbnail text options from Model
|
||||
_picSettings.AggiungiScritteMiniature = Model.AddTextToThumbnails;
|
||||
_picSettings.AggTempoGaraMin = Model.AddRaceTimeToThumbnails;
|
||||
_picSettings.AggNumTempMin = Model.AddNumberAndTimeToThumbnails;
|
||||
}
|
||||
|
||||
private void setLabel18Text(string text)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue