From 9d1660270272180cd71147d6ddd53d1382643d2e Mon Sep 17 00:00:00 2001
From: wenxiangchao <wenxiangchao@ihengxin.com.cn>
Date: 星期一, 02 十一月 2026 18:00:14 +0800
Subject: [PATCH] merge: 并入远程 Initial commit 作为历史根节点

---
 HMI.SettingControl/SystemConfig.xaml.cs |   91 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 79 insertions(+), 12 deletions(-)

diff --git a/HMI.SettingControl/SystemConfig.xaml.cs b/HMI.SettingControl/SystemConfig.xaml.cs
index 53e5e26..f9877f7 100644
--- a/HMI.SettingControl/SystemConfig.xaml.cs
+++ b/HMI.SettingControl/SystemConfig.xaml.cs
@@ -1,22 +1,24 @@
 锘縰sing System;
+using System.IO;
+using System.Windows;
 using System.Windows.Controls;
 using HMI.Core.Api;
 using HMI.Core.Setting;
 using HMI.Core.Util;
 using HMI.UI.Util;
+using Microsoft.Win32;
 
 namespace HMI.SettingControl
 {
     /// <summary>
     /// SystemConfig.xaml 鐨勪氦浜掗�昏緫
     /// </summary>
-    public partial class SystemConfig : UserControl, IConfigManager
+    public partial class SystemConfig : UserControl, IFolderOwner, IConfigManager
     {
+        private string BaseFolder;
+        private SystemSettingModel Model;
         public SystemConfig()
         {
-            var model = new SystemSettingModel();
-            BeanUtil.Copy(SystemSetting.Instance, model);
-            DataContext = model;
             InitializeComponent();
         }
 
@@ -27,27 +29,92 @@
 
         public void ResetConfig()
         {
-            var model = new SystemSettingModel();
-            BeanUtil.Copy(SystemSetting.Instance, model);
-            DataContext = model;
+            Model = new SystemSettingModel();
+            BeanUtil.Copy(SystemSetting.Instance, Model);
+            DataContext = Model;
         }
 
         public void SaveConfig()
         {
             SystemSettingModel settingModel = (SystemSettingModel)DataContext;
-            XmlHelper.SerializeToXml(PathHelper.ConfigFolder + "\\SystemConfig.xml", settingModel);
+            XmlHelper.SerializeToXml(Path.Combine(PathHelper.SettingFolder, "SystemConfig.xml"), settingModel);
             SystemSetting.ReLoad();
         }
 
-        private void Button_Click(object sender, System.Windows.RoutedEventArgs e)
+        public void SetBaseFolder(string folder)
         {
-            try
+            this.BaseFolder = folder;
+        }
+
+        private void Button_Click(object sender, RoutedEventArgs e)
+        {
+            Button btn = sender as Button;
+            switch (btn.Name)
             {
+                case "BtnIcon":
+                    OpenSelectIcon();
+                    break;
+                case "BtnLoginLogo":
+                    OpenSelectIcon2();
+                    break;
+                default:
+                    break;
             }
-            catch (Exception ex)
+        }
+
+        private void OpenSelectIcon()
+        {
+            string BasePath = PathHelper.IconFolder;
+
+            OpenFileDialog openFileDialog = new OpenFileDialog();
+            openFileDialog.Filter = "(*.*)|*.*";
+            openFileDialog.InitialDirectory = BasePath;
+            openFileDialog.Title = this.lang("App.SelectPic");
+            openFileDialog.Multiselect = false;
+
+            if (openFileDialog.ShowDialog() == true)
             {
-                this.Error($"淇濆瓨澶辫触锛亄ex.Message}");
+                string FileName = openFileDialog.FileName;
+                if (!FileName.StartsWith(BasePath))
+                {
+                    ToastHelper.Warning(Window.GetWindow(this), this.lang("App.IconMustInFolder"));
+                }
+                else
+                {
+                    Model.LogoPath = FileName.Replace(BasePath, ".");
+                }
             }
         }
+
+        private void OpenSelectIcon2()
+        {
+            string BasePath = PathHelper.IconFolder;
+
+            OpenFileDialog openFileDialog = new OpenFileDialog();
+            openFileDialog.Filter = "(*.*)|*.*";
+            openFileDialog.InitialDirectory = BasePath;
+            openFileDialog.Title = this.lang("App.SelectPic");
+            openFileDialog.Multiselect = false;
+
+            if (openFileDialog.ShowDialog() == true)
+            {
+                string FileName = openFileDialog.FileName;
+                if (!FileName.StartsWith(BasePath))
+                {
+                    ToastHelper.Warning(Window.GetWindow(this), this.lang("App.IconMustInFolder"));
+                }
+                else
+                {
+                    Model.LoginLogoPath = FileName.Replace(BasePath, ".");
+                }
+            }
+        }
+
+        private void UserControl_Loaded(object sender, RoutedEventArgs e)
+        {
+            CbLang.ItemsSource = LangUtil.langs;
+            ResetConfig();
+            Loaded -= UserControl_Loaded;
+        }
     }
 }

--
Gitblit v1.9.1