Пример #1
0
        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);
        }
Пример #5
0
 /// <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);
 }
Пример #6
0
 /// <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));
 }
Пример #7
0
 /// <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);
 }
Пример #8
0
 /// <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));
 }