From 72fc39f873de467c1431d928bce4d39442205691 Mon Sep 17 00:00:00 2001 From: Roy Ben Shabat Date: Sun, 19 Oct 2025 16:20:01 +0300 Subject: MS LITE --- .../Authentication/IAuthenticationProvider.cs | 4 ++- .../AutoComplete/MachinesProvider.cs | 1 + .../Buid/IBuildProvider.cs | 13 ++++++++ .../Tango.MachineStudio.Common/Buid/MSBuildType.cs | 14 +++++++++ .../Converters/IsLiteToVisibilityConverter.cs | 35 +++++++++++++++++++++ .../IsLiteToVisibilityInverseConverter.cs | 35 +++++++++++++++++++++ .../Images/machine_new.png | Bin 43275 -> 230871 bytes .../Images/machine_new_small.png | Bin 16963 -> 230871 bytes .../MachineStudioSettings.cs | 2 ++ .../Resources/SharedResourceDictionary.cs | 7 +++++ .../Speech/LiteSpeechProvider.cs | 23 ++++++++++++++ .../Tango.MachineStudio.Common.csproj | 22 +++++++++++++ .../Tango.MachineStudio.Common/Themes/Generic.xaml | 3 ++ 13 files changed, 158 insertions(+), 1 deletion(-) create mode 100644 Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Buid/IBuildProvider.cs create mode 100644 Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Buid/MSBuildType.cs create mode 100644 Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Converters/IsLiteToVisibilityConverter.cs create mode 100644 Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Converters/IsLiteToVisibilityInverseConverter.cs create mode 100644 Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Speech/LiteSpeechProvider.cs (limited to 'Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common') diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Authentication/IAuthenticationProvider.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Authentication/IAuthenticationProvider.cs index 2929ea405..9fe92ba3c 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Authentication/IAuthenticationProvider.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Authentication/IAuthenticationProvider.cs @@ -23,13 +23,15 @@ namespace Tango.MachineStudio.Common.Authentication /// User CurrentUser { get; } + Machine Machine { get; } + /// /// Performs a user login by the specified email and password. /// /// The email. /// The password. /// - AuthenticationLoginResult Login(String email, String password, LoginMethod method, bool bypassVersionCheck = false, Action logAction = null); + AuthenticationLoginResult Login(String email, String password, LoginMethod method, bool bypassVersionCheck = false, Action logAction = null, String serialNumber = null); /// /// Logs-out the current logged-in user. diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/AutoComplete/MachinesProvider.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/AutoComplete/MachinesProvider.cs index ec23fefee..d5ea7264b 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/AutoComplete/MachinesProvider.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/AutoComplete/MachinesProvider.cs @@ -7,6 +7,7 @@ using System.Threading.Tasks; using Tango.AutoComplete.Editors; using Tango.BL; using Tango.BL.Entities; +using Tango.MachineStudio.Common.Buid; namespace Tango.MachineStudio.Common.AutoComplete { diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Buid/IBuildProvider.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Buid/IBuildProvider.cs new file mode 100644 index 000000000..a95985418 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Buid/IBuildProvider.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.MachineStudio.Common.Buid +{ + public interface IBuildProvider + { + MSBuildType BuildType { get; } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Buid/MSBuildType.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Buid/MSBuildType.cs new file mode 100644 index 000000000..dd4d5eef1 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Buid/MSBuildType.cs @@ -0,0 +1,14 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.MachineStudio.Common.Buid +{ + public enum MSBuildType + { + Default, + Lite + } +} diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Converters/IsLiteToVisibilityConverter.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Converters/IsLiteToVisibilityConverter.cs new file mode 100644 index 000000000..c09ca9587 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Converters/IsLiteToVisibilityConverter.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Data; +using Tango.Core.DI; +using Tango.MachineStudio.Common.Buid; + +namespace Tango.MachineStudio.Common.Converters +{ + public class IsLiteToVisibilityConverter : IValueConverter + { + private static IBuildProvider buildProvider; + + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if (buildProvider == null) + { + buildProvider = TangoIOC.Default.GetInstance(); + } + + if (buildProvider == null) return Visibility.Visible; + + return buildProvider.BuildType == MSBuildType.Lite ? Visibility.Visible : Visibility.Collapsed; + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Converters/IsLiteToVisibilityInverseConverter.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Converters/IsLiteToVisibilityInverseConverter.cs new file mode 100644 index 000000000..d11b28a1f --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Converters/IsLiteToVisibilityInverseConverter.cs @@ -0,0 +1,35 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows; +using System.Windows.Data; +using Tango.Core.DI; +using Tango.MachineStudio.Common.Buid; + +namespace Tango.MachineStudio.Common.Converters +{ + public class IsLiteToVisibilityInverseConverter : IValueConverter + { + private static IBuildProvider buildProvider; + + public object Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + if (buildProvider == null) + { + buildProvider = TangoIOC.Default.GetInstance(); + } + + if (buildProvider == null) return Visibility.Visible; + + return buildProvider.BuildType == MSBuildType.Default ? Visibility.Visible : Visibility.Collapsed; + } + + public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + throw new NotImplementedException(); + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/machine_new.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/machine_new.png index 116e1e9c7..9b4d8c798 100644 Binary files a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/machine_new.png and b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/machine_new.png differ diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/machine_new_small.png b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/machine_new_small.png index 378879ce1..9b4d8c798 100644 Binary files a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/machine_new_small.png and b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Images/machine_new_small.png differ diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/MachineStudioSettings.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/MachineStudioSettings.cs index 6ae71d50d..0a1fcadb6 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/MachineStudioSettings.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/MachineStudioSettings.cs @@ -42,6 +42,8 @@ namespace Tango.MachineStudio.Common /// public String LastLoginPassword { get; set; } + public String LastLoginSerialNumber { get; set; } + /// /// Gets or sets the last login method. /// diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Resources/SharedResourceDictionary.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Resources/SharedResourceDictionary.cs index d422df26c..7131a9c03 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Resources/SharedResourceDictionary.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Resources/SharedResourceDictionary.cs @@ -37,7 +37,14 @@ namespace Tango.MachineStudio.Common.Resources _sourceUri = value; var settings = SettingsManager.Default.GetOrCreate(); //add current theme + MachineStudioTheme wTheme = settings.Theme; + +#if LITE + wTheme = MachineStudioTheme.Dark; +#endif + + if ((wTheme == MachineStudioTheme.Dark && value.LocalPath.Contains("Light")) || (wTheme == MachineStudioTheme.Light && value.LocalPath.Contains("Dark"))) return; diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Speech/LiteSpeechProvider.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Speech/LiteSpeechProvider.cs new file mode 100644 index 000000000..ddcc4866b --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Speech/LiteSpeechProvider.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Tango.MachineStudio.Common.Speech +{ + public class LiteSpeechProvider : ISpeechProvider + { + public bool Mute { get; set; } + + public void SpeakError(string text) + { + + } + + public void SpeakInfo(string text) + { + + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj index ee29aab21..e6c13ee93 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj @@ -22,6 +22,15 @@ prompt 4 + + true + full + false + ..\..\Build\Machine Studio Lite\Debug\ + TRACE;DEBUG;LITE + prompt + 4 + pdbonly true @@ -30,6 +39,14 @@ prompt 4 + + pdbonly + true + ..\..\Build\Machine Studio Lite\Release\ + TRACE;LITE + prompt + 4 + ..\..\packages\CommandLineParser.1.9.71\lib\net45\CommandLine.dll @@ -95,6 +112,8 @@ GlobalVersionInfo.cs + + MachineConnectionIcon.xaml @@ -102,11 +121,14 @@ MachineView.xaml + + + diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Themes/Generic.xaml b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Themes/Generic.xaml index 6f7cd0e32..aea6edce0 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Themes/Generic.xaml +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Themes/Generic.xaml @@ -4,10 +4,13 @@ xmlns:mahApps="http://metro.mahapps.com/winfx/xaml/controls" xmlns:realTimeGraphX="clr-namespace:RealTimeGraphX.WPF;assembly=RealTimeGraphX.WPF" xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI" + xmlns:commonConverters="clr-namespace:Tango.MachineStudio.Common.Converters" xmlns:local="clr-namespace:Tango.MachineStudio.Common.Controls"> + +