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;