123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- using Microsoft.WindowsAPICodePack.Dialogs;
- using System;
- using System.IO;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Media.Imaging;
- namespace Phihong_EVSE_UI_Tool
- {
- /// <summary>
- /// InitialIdleUC.xaml 的互動邏輯
- /// </summary>
- public partial class InitialIdleUC : UserControl
- {
- private Properties.Settings mySettings = Properties.Settings.Default;
- private string initCustomImgPath;
- private string idleCustomImgPath;
- public InitialIdleUC()
- {
- InitializeComponent();
- initCustomImgPath = mySettings.InitialCustomImgPath;
- uxInitDefaultRadioButton.IsChecked = mySettings.IsInitialDefault;
- uxInitCustomRadioButton.IsChecked = !mySettings.IsInitialDefault;
- uxInitExploreTextBox.Text = mySettings.InitialCustomImgPath_org;
- idleCustomImgPath = mySettings.IdleCustomImgPath;
- uxIdleDefaultRadioButton.IsChecked = mySettings.IsIdleDefault;
- uxIdleCustomRadioButton.IsChecked = !mySettings.IsIdleDefault;
- uxIdleExploreTextBox.Text = mySettings.IdleCustomImgPath_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 "Initial":
- srcPath = new Uri(Path.Combine(Utility.BG_PARENTFOLDER, Utility.BG_INITIAL), UriKind.Relative);
- uxInitImage.Source = new BitmapImage(srcPath);
- Utility.CopyFileFromResource(srcPath, Path.Combine(Utility.OUTPUT_DIRECTORY, Utility.BG_INITIAL));
- Utility.ChangedFiles[Utility.BG_INITIAL] = true;
- mySettings.IsInitialDefault = true;
- break;
- case "Idle":
- srcPath = new Uri(Path.Combine(Utility.BG_PARENTFOLDER, Utility.BG_IDLE), UriKind.Relative);
- uxIdleImage.Source = new BitmapImage(srcPath);
- Utility.CopyFileFromResource(srcPath, Path.Combine(Utility.OUTPUT_DIRECTORY, Utility.BG_IDLE));
- Utility.ChangedFiles[Utility.BG_IDLE] = true;
- mySettings.IsIdleDefault = 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 "Initial":
- if (File.Exists(initCustomImgPath))
- {
- Utility.LoadImageFromPath(uxInitImage, initCustomImgPath);
- File.Copy(initCustomImgPath, Path.Combine(Utility.OUTPUT_DIRECTORY, Utility.BG_INITIAL), true);
- Utility.ChangedFiles[Utility.BG_INITIAL] = true;
- mySettings.IsInitialDefault = false;
- }
- break;
- case "Idle":
- if (File.Exists(idleCustomImgPath))
- {
- Utility.LoadImageFromPath(uxIdleImage, idleCustomImgPath);
- File.Copy(idleCustomImgPath, Path.Combine(Utility.OUTPUT_DIRECTORY, Utility.BG_IDLE), true);
- Utility.ChangedFiles[Utility.BG_IDLE] = true;
- mySettings.IsIdleDefault = 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 "Initial":
- uxInitExploreTextBox.Text = dlg.FileName;
- initCustomImgPath = Path.Combine(Utility.CUSTOM_DIRECTORY, Utility.BG_INITIAL);
- File.Copy(dlg.FileName, initCustomImgPath, true);
- File.Copy(dlg.FileName, Path.Combine(Utility.OUTPUT_DIRECTORY, Utility.BG_INITIAL), true);
- Utility.LoadImageFromPath(uxInitImage, initCustomImgPath);
- Utility.ChangedFiles[Utility.BG_INITIAL] = true;
- mySettings.IsInitialDefault = false;
- mySettings.InitialCustomImgPath = initCustomImgPath;
- mySettings.InitialCustomImgPath_org = uxInitExploreTextBox.Text;
- break;
- case "Idle":
- uxIdleExploreTextBox.Text = dlg.FileName;
- idleCustomImgPath = Path.Combine(Utility.CUSTOM_DIRECTORY, Utility.BG_IDLE);
- File.Copy(dlg.FileName, idleCustomImgPath, true);
- File.Copy(dlg.FileName, Path.Combine(Utility.OUTPUT_DIRECTORY, Utility.BG_IDLE), true);
- Utility.LoadImageFromPath(uxIdleImage, idleCustomImgPath);
- Utility.ChangedFiles[Utility.BG_IDLE] = true;
- mySettings.IsIdleDefault = false;
- mySettings.IdleCustomImgPath = idleCustomImgPath;
- mySettings.IdleCustomImgPath_org = uxIdleExploreTextBox.Text;
- break;
- default:
- break;
- }
- }
- mySettings.Save();
- }
- }
- }
|