123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- using Microsoft.WindowsAPICodePack.Dialogs;
- using System;
- using System.IO;
- using System.Linq;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Media.Imaging;
- namespace Phihong_EVSE_UI_Tool
- {
- /// <summary>
- /// Maintenance.xaml 的互動邏輯
- /// </summary>
- public partial class MaintenanceUC : UserControl
- {
- private Properties.Settings mySettings = Properties.Settings.Default;
- private string maintainCustomImgPath;
- private string emcCustomImgPath;
- public MaintenanceUC()
- {
- InitializeComponent();
- maintainCustomImgPath = mySettings.MaintainCustomImgPath;
- uxMaintainDefaultRadioButton.IsChecked = mySettings.IsMaintainDefault;
- uxMaintainCustomRadioButton.IsChecked = !mySettings.IsMaintainDefault;
- uxMaintainExploreTextBox.Text = mySettings.MaintainCustomImgPath_org;
- emcCustomImgPath = mySettings.EmcCustomImgPath;
- uxEmcDefaultRadioButton.IsChecked = mySettings.IsEmcDefault;
- uxEmcCustomRadioButton.IsChecked = !mySettings.IsEmcDefault;
- uxEmcExploreTextBox.Text = mySettings.EmcCustomImgPath_org;
- }
- private void uxDefaultRadioButton_Checked(object sender, RoutedEventArgs e)
- {
- Uri srcPath;
- RadioButton rb = e.Source as RadioButton;
- if (rb is null)
- {
- return;
- }
- switch (rb.Tag.ToString())
- {
- case "Maintain":
- srcPath = new Uri(Path.Combine(Utility.BG_PARENTFOLDER, Utility.BG_MAINTAIN), UriKind.Relative);
- uxMaintainImage.Source = new BitmapImage(srcPath);
- Utility.CopyFileFromResource(srcPath, Path.Combine(Utility.OUTPUT_DIRECTORY, Utility.BG_MAINTAIN));
- Utility.ChangedFiles[Utility.BG_MAINTAIN] = true;
- mySettings.IsMaintainDefault = true;
- break;
- case "Emc":
- srcPath = new Uri(Path.Combine(Utility.BG_PARENTFOLDER, Utility.BG_EMERGENCY), UriKind.Relative);
- uxEmcImage.Source = new BitmapImage(srcPath);
- Utility.CopyFileFromResource(srcPath, Path.Combine(Utility.OUTPUT_DIRECTORY, Utility.BG_EMERGENCY));
- Utility.ChangedFiles[Utility.BG_EMERGENCY] = true;
- mySettings.IsEmcDefault = true;
- break;
- default:
- return;
- }
- mySettings.Save();
- }
- private void uxCustomRadioButton_Checked(object sender, RoutedEventArgs e)
- {
- RadioButton rb = e.Source as RadioButton;
- if (rb is null)
- {
- return;
- }
- switch (rb.Tag.ToString())
- {
- case "Maintain":
- if (File.Exists(maintainCustomImgPath))
- {
- Utility.LoadImageFromPath(uxMaintainImage, maintainCustomImgPath);
- File.Copy(maintainCustomImgPath, Path.Combine(Utility.OUTPUT_DIRECTORY, Utility.BG_MAINTAIN), true);
- Utility.ChangedFiles[Utility.BG_MAINTAIN] = true;
- mySettings.IsMaintainDefault = false;
- }
- break;
- case "Emc":
- if (File.Exists(emcCustomImgPath))
- {
- Utility.LoadImageFromPath(uxEmcImage, emcCustomImgPath);
- File.Copy(emcCustomImgPath, Path.Combine(Utility.OUTPUT_DIRECTORY, Utility.BG_EMERGENCY), true);
- Utility.ChangedFiles[Utility.BG_EMERGENCY] = true;
- mySettings.IsEmcDefault = false;
- }
- break;
- default:
- return;
- }
- mySettings.Save();
- }
- private void uxBrowseButton_Click(object sender, RoutedEventArgs e)
- {
- Button btn = e.Source as Button;
- if (btn is null)
- {
- return;
- }
- var dlg = new CommonOpenFileDialog()
- {
- EnsureFileExists = true,
- Title = "Select an image file",
- };
- dlg.Filters.Add(new CommonFileDialogFilter("BMP images", "*.bmp"));
- if (dlg.ShowDialog() == CommonFileDialogResult.Ok)
- {
- if (!Utility.IsBackgroundImageSizeQualified(dlg.FileName))
- {
- MessageBox.Show(dlg.FileName + "\r\n" + "The resolution of the image must be 800x480",
- "Incorrect Resolution", MessageBoxButton.OK, MessageBoxImage.Error);
- return;
- }
- switch (btn.Tag.ToString())
- {
- case "Maintain":
- uxMaintainExploreTextBox.Text = dlg.FileName;
- maintainCustomImgPath = Path.Combine(Utility.CUSTOM_DIRECTORY, Utility.BG_MAINTAIN);
- File.Copy(dlg.FileName, maintainCustomImgPath, true);
- File.Copy(dlg.FileName, Path.Combine(Utility.OUTPUT_DIRECTORY, Utility.BG_MAINTAIN), true);
- Utility.LoadImageFromPath(uxMaintainImage, maintainCustomImgPath);
- Utility.ChangedFiles[Utility.BG_MAINTAIN] = true;
- mySettings.IsMaintainDefault = false;
- mySettings.MaintainCustomImgPath = maintainCustomImgPath;
- mySettings.MaintainCustomImgPath_org = uxMaintainExploreTextBox.Text;
- break;
- case "Emc":
- uxEmcExploreTextBox.Text = dlg.FileName;
- emcCustomImgPath = Path.Combine(Utility.CUSTOM_DIRECTORY, Utility.BG_EMERGENCY);
- File.Copy(dlg.FileName, emcCustomImgPath, true);
- File.Copy(dlg.FileName, Path.Combine(Utility.OUTPUT_DIRECTORY, Utility.BG_EMERGENCY), true);
- Utility.LoadImageFromPath(uxEmcImage, emcCustomImgPath);
- Utility.ChangedFiles[Utility.BG_EMERGENCY] = true;
- mySettings.IsEmcDefault = false;
- mySettings.EmcCustomImgPath = emcCustomImgPath;
- mySettings.EmcCustomImgPath_org = uxEmcExploreTextBox.Text;
- break;
- default:
- break;
- }
- }
- mySettings.Save();
- }
- }
- }
|