private static void Init() { bool exists = true; ConfigPath = ConfigManager.GetInstance().SystemConfigDirectory + "desktop.config"; if (!File.Exists(ConfigPath)) { FileStream stream = File.Create(ConfigPath); stream.Close(); File.WriteAllText(ConfigPath, MD5.Encrypt("[]")); exists = false; } string json = File.ReadAllText(ConfigPath); json = MD5.Decrypt(json); var ms = new MemoryStream(Encoding.UTF8.GetBytes(json)); DataContractJsonSerializer deseralizer = new DataContractJsonSerializer(typeof(DesktopDataManager)); desktopManager = (DesktopDataManager)deseralizer.ReadObject(ms); SecondDesktopMessager.GetInstance().CreateSubAppConfigNotify += desktopManager.CreateSubAppConfig; if (desktopManager.PageList.Count() == 0) { desktopManager.AddPage(0, "DESKTOP"); } if (!exists) { desktopManager.SetThemeDark(true); desktopManager.SetThemeColor(2); } }
public DesktopPanel() { InitializeComponent(); ViewModel = new VMDesktopPanel(); DataContext = ViewModel; AppManager.GetInstance(); ViewModel.SelectPageNotify += SelectPage; SecondDesktopMessager.GetInstance().CreateSubAppNotify += CreateSubApp; SelectPage(0); }
public void OpenSubApp(DesktopItem Item) { Assembly assembly = Assembly.LoadFrom(ConfigManager.GetInstance().ApplicationAppsDirectory + Item.AppUID + "\\" + Item.AppUID + ".dll"); Type factory = assembly.GetType(Item.AppUID + ".Factory"); MethodInfo method = factory.GetMethod("CreateWindow"); Object obj = Activator.CreateInstance(factory); object[] parameters = new object[] { Item.SubAppUID, Item.Config }; UserControl uc = (UserControl)method.Invoke(obj, parameters); SubAppFrame border = new SubAppFrame(Item); SecondDesktopMessager.GetInstance().DesktopSettings(!ViewModel.DesktopTitleReadOnly); border.Add(uc); wpDesktop.Children.Add(border); }
public void CreateSubApp(string AppUID, int SubAppUID, string Config) { DesktopItem item = new DesktopItem(); item.AppUID = AppUID; item.SubAppUID = SubAppUID; item.Config = Config; item.Page = ViewModel.CurrentPage; Assembly assembly = Assembly.LoadFrom(ConfigManager.GetInstance().ApplicationAppsDirectory + AppUID + "\\" + AppUID + ".dll"); Type factory = assembly.GetType(AppUID + ".Factory"); MethodInfo method = factory.GetMethod("CreateWindow"); Object obj = Activator.CreateInstance(factory); object[] parameters = new object[] { SubAppUID, Config }; UserControl uc = (UserControl)method.Invoke(obj, parameters); SubAppFrame border = new SubAppFrame(item); SecondDesktopMessager.GetInstance().DesktopSettings(!ViewModel.DesktopTitleReadOnly); border.Add(uc); wpDesktop.Children.Add(border); DesktopDataManager.GetInstance().AddSubApp(item); }
/// <summary> /// Description: To create subApp. /// Do no edit. /// </summary> public static void CreateSubApp(AppUID UID, string Config) { SecondDesktopMessager.GetInstance().CreateSubApp(Factory.AppName, (int)UID, Config); }
/// <summary> /// Description: Create config file, file name is random. /// Path: %(APPDATA)\SecondDesktop\AppConfig\$(TargetName) /// Do no edit. /// </summary> public static string CreateSubAppConfig() { return(SecondDesktopMessager.GetInstance().CreateSubAppConfig(Factory.AppName)); }
/// <summary> /// Description: To create subApp. /// Do no edit. /// </summary> public static void CreateSubApp(AppUID UID, string Config) { SecondDesktopMessager.GetInstance().CreateSubApp(Assembly.GetExecutingAssembly().GetName().Name, (int)UID, Config); }
/// <summary> /// Description: Create config file, file name is random. /// Path: %(APPDATA)\SecondDesktop\AppConfig\$(TargetName) /// Do no edit. /// </summary> public static string CreateSubAppConfig() { return(SecondDesktopMessager.GetInstance().CreateSubAppConfig(Assembly.GetExecutingAssembly().GetName().Name)); }