From b54a95d0382248c515421a7aa70a52b81e117b5b Mon Sep 17 00:00:00 2001 From: Taiizor <41683699+Taiizor@users.noreply.github.com> Date: Sat, 21 Oct 2023 02:21:16 +0300 Subject: [PATCH] Preparing Import Dialog --- .../Views/Controls/ThemeImport.xaml | 2 +- .../Views/Controls/ThemeImport.xaml.cs | 4 +- .../Enum/CompatibilityType.cs | 78 +++---------------- .../Locales/Portal/Enum/Portal.Enum.TR.xaml | 41 ++++++++++ .../Sucrose.Shared.Theme/Helper/Compatible.cs | 14 ++++ .../Sucrose.Shared.Theme/Helper/Info.cs | 3 +- .../Sucrose.Shared.Zip/Helper/Archive.cs | 36 ++++----- 7 files changed, 87 insertions(+), 91 deletions(-) diff --git a/src/Portal/Sucrose.Portal/Views/Controls/ThemeImport.xaml b/src/Portal/Sucrose.Portal/Views/Controls/ThemeImport.xaml index 98c881125..44aaf96a9 100644 --- a/src/Portal/Sucrose.Portal/Views/Controls/ThemeImport.xaml +++ b/src/Portal/Sucrose.Portal/Views/Controls/ThemeImport.xaml @@ -36,7 +36,7 @@ VerticalAlignment="Center" HorizontalAlignment="Center" TextWrapping="WrapWithOverflow" - Foreground="{DynamicResource AccentTextFillColorPrimaryBrush}" + Foreground="{DynamicResource SystemFillColorCautionBrush}" Text="Neden Açıklamaları" /> diff --git a/src/Portal/Sucrose.Portal/Views/Controls/ThemeImport.xaml.cs b/src/Portal/Sucrose.Portal/Views/Controls/ThemeImport.xaml.cs index 5d5fde12c..7becc3821 100644 --- a/src/Portal/Sucrose.Portal/Views/Controls/ThemeImport.xaml.cs +++ b/src/Portal/Sucrose.Portal/Views/Controls/ThemeImport.xaml.cs @@ -32,12 +32,12 @@ private async void ContentDialog_Loaded(object sender, RoutedEventArgs e) { ThemeImportType.Children.Add(new TextBlock { - Text = $"{Type}: Bu şu anlama geliyor", TextAlignment = TextAlignment.Left, TextWrapping = TextWrapping.WrapWithOverflow, VerticalAlignment = VerticalAlignment.Center, HorizontalAlignment = HorizontalAlignment.Center, - Foreground = SSRER.GetResource("SystemFillColorCriticalBrush") + Foreground = SSRER.GetResource("SystemFillColorCriticalBrush"), + Text = $"{Type}: {SSRER.GetValue("Portal", "Enum", "CompatibilityType", $"{Type}")}" }); }); } diff --git a/src/Shared/Sucrose.Shared.Dependency/Enum/CompatibilityType.cs b/src/Shared/Sucrose.Shared.Dependency/Enum/CompatibilityType.cs index b1c7c926d..64d8af367 100644 --- a/src/Shared/Sucrose.Shared.Dependency/Enum/CompatibilityType.cs +++ b/src/Shared/Sucrose.Shared.Dependency/Enum/CompatibilityType.cs @@ -10,18 +10,14 @@ public enum CompatibilityType /// Pass, /// - /// SucroseInfo.json dosyası boş! + /// Tema bu uygulamanın desteklemediği bir tür için oluşturulmuş! /// - Empty, + Type, /// /// Title boş veya çok uzun! /// Title, /// - /// Tema bu uygulamanın desteklemediği bir tür için oluşturulmuş! - /// - Type, - /// /// Author boş değil ve çok uzun! /// Author, @@ -30,10 +26,6 @@ public enum CompatibilityType /// Source, /// - /// SucroseInfo.json dosyası geçersiz! - /// - Invalid, - /// /// Contact boş değil ve çok uzun! /// Contact, @@ -81,81 +73,31 @@ public enum CompatibilityType /// Geçersiz sistem işlemci değeri! /// SystemCpu, + EmptyInfo, /// /// Tema bu uygulamanın daha yüksek bir sürümü için oluşturulmuş! /// AppVersion, - /// - /// Geçersiz url adresi! - /// InvalidUrl, - /// - /// Geçersiz sistem bios değeri! - /// SystemBios, - /// - /// Geçersiz sistem zamanı değeri! - /// SystemDate, - /// - /// Geçersiz sistem sesi değeri! - /// SystemAudio, - /// - /// Description boş veya çok uzun! - /// Description, - /// - /// Geçersiz sistem belleği değeri! - /// - SystemMemory, - /// - /// Geçersiz sistem pil değeri! - /// - SystemBattery, - /// - /// Geçersiz sistem grafik değeri! - /// - SystemGraphic, - /// - /// Geçersiz sistem ağ değeri! - /// - SystemNetwork, - /// - /// Geçersiz tetikleme zamanı! - /// + InvalidInfo, TriggerTime, - /// - /// Geçersiz uzatma modu değeri! - /// StretchMode, - /// - /// Geçersiz ses seviyesi değeri! - /// VolumeLevel, - /// - /// Geçersiz karıştırma modu değeri! - /// ShuffleMode, - /// - /// Geçersiz dosya! - /// InvalidFile, - /// - /// Geçersiz dosya uzantısı! - /// + SystemMemory, + SystemBattery, + SystemGraphic, + SystemNetwork, + EmptyCompatible, InvalidExtension, - /// - /// Geçersiz özellik dinleyici değeri! - /// PropertyListener, - /// - /// Geçersiz sistem anakart değeri! - /// SystemMotherboard, - /// - /// Öngörülemeyen sonuçlar. - /// + InvalidCompatible, UnforeseenConsequences } } \ No newline at end of file diff --git a/src/Shared/Sucrose.Shared.Resources/Locales/Portal/Enum/Portal.Enum.TR.xaml b/src/Shared/Sucrose.Shared.Resources/Locales/Portal/Enum/Portal.Enum.TR.xaml index ec451e1fb..aed141150 100644 --- a/src/Shared/Sucrose.Shared.Resources/Locales/Portal/Enum/Portal.Enum.TR.xaml +++ b/src/Shared/Sucrose.Shared.Resources/Locales/Portal/Enum/Portal.Enum.TR.xaml @@ -35,4 +35,45 @@ Ekran Sınırları Varsayılan + + Başarılı + + + + + + + + + + + + + + + + + 'SucroseInfo.json' dosyası boş + 'AppVersion' + 'Source' geçersiz bir değer içeriyor + Geçersiz 'SystemBios' değeri + Geçersiz 'SystemDate' değeri + Geçersiz 'SystemAudio' değeri + 'Description' değeri boş veya çok uzun + 'SucroseInfo.json' dosyası geçersiz + Geçersiz 'TriggerTime' değeri + Geçersiz 'StretchMode' değeri + Geçersiz 'VolumeLevel' değeri + Geçersiz 'ShuffleMode' değeri + Geçersiz dosya + Geçersiz 'SystemMemory' değeri + Geçersiz 'SystemBattery' değeri + Geçersiz 'SystemGraphic' değeri + Geçersiz 'SystemNetwork' değeri + Geçersiz dosya uzantısı + 'SucroseCompatible.json' dosyası boş + Geçersiz 'PropertyListener' değeri + Geçersiz 'SystemMotherboard' değeri + 'SucroseCompatible.json' dosyası geçersiz + Öngörülemeyen Sonuçlar \ No newline at end of file diff --git a/src/Shared/Sucrose.Shared.Theme/Helper/Compatible.cs b/src/Shared/Sucrose.Shared.Theme/Helper/Compatible.cs index 9733de834..75c62adc6 100644 --- a/src/Shared/Sucrose.Shared.Theme/Helper/Compatible.cs +++ b/src/Shared/Sucrose.Shared.Theme/Helper/Compatible.cs @@ -52,6 +52,20 @@ internal partial class Compatible internal partial class Compatible { + public static bool CheckJson(string Json) + { + try + { + JsonConvert.DeserializeObject(Json, Converter.Settings); + + return true; + } + catch + { + return false; + } + } + public static Compatible FromJson(string Json) { return JsonConvert.DeserializeObject(Json, Converter.Settings); diff --git a/src/Shared/Sucrose.Shared.Theme/Helper/Info.cs b/src/Shared/Sucrose.Shared.Theme/Helper/Info.cs index 43f825307..a50af7741 100644 --- a/src/Shared/Sucrose.Shared.Theme/Helper/Info.cs +++ b/src/Shared/Sucrose.Shared.Theme/Helper/Info.cs @@ -54,6 +54,7 @@ public static Info ReadJson(string Json) { return JsonConvert.DeserializeObject(File.ReadAllText(Json), Converter.Settings); } + public static bool CheckJson(string Json) { try @@ -62,7 +63,7 @@ public static bool CheckJson(string Json) return true; } - catch (Exception) + catch { return false; } diff --git a/src/Shared/Sucrose.Shared.Zip/Helper/Archive.cs b/src/Shared/Sucrose.Shared.Zip/Helper/Archive.cs index 2f8d35252..17ed45de1 100644 --- a/src/Shared/Sucrose.Shared.Zip/Helper/Archive.cs +++ b/src/Shared/Sucrose.Shared.Zip/Helper/Archive.cs @@ -54,7 +54,7 @@ public static SSDECT Check(string Archive) // Arşivdeki SucroseInfo.json dosyası boş mu? if (string.IsNullOrEmpty(Salt)) { - return SSDECT.Empty; + return SSDECT.EmptyInfo; } // Arşivdeki SucroseInfo.json dosyası uygunluk kontrolü @@ -63,7 +63,7 @@ public static SSDECT Check(string Archive) // Arşivdeki SucroseInfo.json dosyası geçerli mi? if (!Json) { - return SSDECT.Invalid; + return SSDECT.InvalidInfo; } // Arşivdeki SucroseInfo.json dosyasını Info sınıfına dönüştürme @@ -196,91 +196,89 @@ public static SSDECT Check(string Archive) } } - // Arşivde SucroseCompatible.json dosyası var mı? if (SSZHZ.CheckFile(Archive, SMR.SucroseCompatible)) { - // Arşivdeki SucroseCompatible.json dosyasını okuma - SSTHC Compatible = SSTHC.FromJson(SSZHZ.ReadFile(Archive, SMR.SucroseCompatible)); + Salt = SSZHZ.ReadFile(Archive, SMR.SucroseCompatible); + + if (string.IsNullOrEmpty(Salt)) + { + return SSDECT.EmptyCompatible; + } + + Json = SSTHC.CheckJson(Salt); + + if (!Json) + { + return SSDECT.InvalidCompatible; + } + + SSTHC Compatible = SSTHC.FromJson(Salt); - // Compatible içindeki TriggerTime değeri 1'den küçük mü? if (Compatible.TriggerTime <= 0) { return SSDECT.TriggerTime; } - // Compatible içindeki LoopMode değeri boş değil ve {0} içermiyor mu? if (!string.IsNullOrEmpty(Compatible.LoopMode) && !Compatible.LoopMode.Contains("{0}")) { return SSDECT.LoopMode; } - // Compatible içindeki VolumeLevel değeri boş değil ve {0} içermiyor mu? if (!string.IsNullOrEmpty(Compatible.VolumeLevel) && !Compatible.VolumeLevel.Contains("{0}")) { return SSDECT.VolumeLevel; } - // Compatible içindeki ShuffleMode değeri boş değil ve {0} içermiyor mu? if (!string.IsNullOrEmpty(Compatible.ShuffleMode) && !Compatible.ShuffleMode.Contains("{0}")) { return SSDECT.ShuffleMode; } - // Compatible içindeki StretchMode değeri boş değil ve {0} içermiyor mu? if (!string.IsNullOrEmpty(Compatible.StretchMode) && !Compatible.StretchMode.Contains("{0}")) { return SSDECT.StretchMode; } - // Compatible içindeki SystemCpu değeri boş değil ve {0} içermiyor mu? if (!string.IsNullOrEmpty(Compatible.SystemCpu) && !Compatible.SystemCpu.Contains("{0}")) { return SSDECT.SystemCpu; } - // Compatible içindeki SystemBios değeri boş değil ve {0} içermiyor mu? if (!string.IsNullOrEmpty(Compatible.SystemBios) && !Compatible.SystemBios.Contains("{0}")) { return SSDECT.SystemBios; } - // Compatible içindeki SystemAudio değeri boş değil ve {0} içermiyor mu? if (!string.IsNullOrEmpty(Compatible.SystemAudio) && !Compatible.SystemAudio.Contains("{0}")) { return SSDECT.SystemAudio; } - // Compatible içindeki SystemDate değeri boş değil ve {0} içermiyor mu? if (!string.IsNullOrEmpty(Compatible.SystemDate) && !Compatible.SystemDate.Contains("{0}")) { return SSDECT.SystemDate; } - // Compatible içindeki SystemMemory değeri boş değil ve {0} içermiyor mu? if (!string.IsNullOrEmpty(Compatible.SystemMemory) && !Compatible.SystemMemory.Contains("{0}")) { return SSDECT.SystemMemory; } - // Compatible içindeki SystemBattery değeri boş değil ve {0} içermiyor mu? if (!string.IsNullOrEmpty(Compatible.SystemBattery) && !Compatible.SystemBattery.Contains("{0}")) { return SSDECT.SystemBattery; } - // Compatible içindeki SystemGraphic değeri boş değil ve {0} içermiyor mu? if (!string.IsNullOrEmpty(Compatible.SystemGraphic) && !Compatible.SystemGraphic.Contains("{0}")) { return SSDECT.SystemGraphic; } - // Compatible içindeki SystemNetwork değeri boş değil ve {0} içermiyor mu? if (!string.IsNullOrEmpty(Compatible.SystemNetwork) && !Compatible.SystemNetwork.Contains("{0}")) { return SSDECT.SystemNetwork; } - // Compatible içindeki SystemMotherboard değeri boş değil ve {0} içermiyor mu? if (!string.IsNullOrEmpty(Compatible.SystemMotherboard) && !Compatible.SystemMotherboard.Contains("{0}")) { return SSDECT.SystemMotherboard;