private void Save_Click(object sender, RoutedEventArgs e)
        {
            string str = Interaction.InputBox("Theme name", "BlueStacks Theme Editor Tool", string.Format((IFormatProvider)CultureInfo.CurrentCulture, "{0:F}", (object)DateTime.Now), 0, 0);

            if (Directory.Exists(Path.Combine(RegistryManager.Instance.ClientInstallDir, str)))
            {
                int num = (int)System.Windows.MessageBox.Show("Already Exists. Please retry");
            }
            else
            {
                Directory.CreateDirectory(Path.Combine(RegistryManager.Instance.ClientInstallDir, str));
                ThemeEditorWindow.CopyEverything(this.DraftDirectory, Path.Combine(RegistryManager.Instance.ClientInstallDir, str));
                RegistryManager.Instance.SetClientThemeNameInRegistry(str);
                Window w = (Window)BlueStacksUIUtils.DictWindows.Values.ToList <MainWindow>()[0];
                w.Dispatcher.Invoke((Delegate)(() =>
                {
                    RenderTargetBitmap renderTargetBitmap = new RenderTargetBitmap((int)w.ActualWidth, (int)w.ActualHeight, 0.0, 0.0, PixelFormats.Pbgra32);
                    renderTargetBitmap.Render((Visual)BlueStacksUIUtils.DictWindows.Values.ToList <MainWindow>()[0]);
                    PngBitmapEncoder pngBitmapEncoder = new PngBitmapEncoder();
                    pngBitmapEncoder.Frames.Add(BitmapFrame.Create((BitmapSource)renderTargetBitmap));
                    using (Stream stream = (Stream)File.Create(Path.Combine(CustomPictureBox.AssetsDir, "ThemeThumbnail.png")))
                        pngBitmapEncoder.Save(stream);
                }));
                BlueStacksUIColorManager.AppliedTheme.Save(BlueStacksUIColorManager.GetThemeFilePath(RegistryManager.ClientThemeName));
                CustomPictureBox.UpdateImagesFromNewDirectory("");
            }
        }
 public void AddSkinImages()
 {
     try
     {
         this.ThemesDrawer.Children.Clear();
         foreach (string directory in Directory.GetDirectories(RegistryManager.Instance.ClientInstallDir))
         {
             if (File.Exists(Path.Combine(directory, "ThemeThumbnail.png")))
             {
                 string themeName = BlueStacksUIColorManager.GetThemeName(directory);
                 SkinSelectorControl skinSelectorControl1 = new SkinSelectorControl();
                 skinSelectorControl1.Visibility          = Visibility.Visible;
                 skinSelectorControl1.HorizontalAlignment = HorizontalAlignment.Center;
                 skinSelectorControl1.VerticalAlignment   = VerticalAlignment.Top;
                 SkinSelectorControl skinSelectorControl2 = skinSelectorControl1;
                 skinSelectorControl2.mThemeImage.Visibility      = Visibility.Visible;
                 skinSelectorControl2.mThemeName.Visibility       = Visibility.Visible;
                 skinSelectorControl2.mThemeImage.IsFullImagePath = true;
                 skinSelectorControl2.mThemeImage.ImageName       = Path.Combine(directory, "ThemeThumbnail.png");
                 skinSelectorControl2.mThemeCheckButton.Height    = 30.0;
                 skinSelectorControl2.mThemeName.ToolTip          = (object)themeName;
                 skinSelectorControl2.mThemeName.Width            = double.NaN;
                 skinSelectorControl2.mThemeCheckButton.Width     = double.NaN;
                 skinSelectorControl2.mThemeName.Text             = themeName;
                 BlueStacksUIBinding.BindColor((DependencyObject)skinSelectorControl2.mThemeName, TextBlock.ForegroundProperty, "ContextMenuItemForegroundColor");
                 skinSelectorControl2.mThemeCheckButton.Tag    = (object)Path.GetFileName(directory);
                 skinSelectorControl2.mThemeCheckButton.Click += new RoutedEventHandler(this.ThemeApplyButton_Click);
                 if (string.Compare(RegistryManager.ClientThemeName, Path.GetFileName(directory), StringComparison.OrdinalIgnoreCase) == 0)
                 {
                     skinSelectorControl2.mThemeAppliedText.Text       = LocaleStrings.GetLocalizedString("STRING_APPLIED", "");
                     skinSelectorControl2.mThemeAppliedText.Visibility = Visibility.Visible;
                     skinSelectorControl2.mThemeAppliedText.Margin     = new Thickness(0.0, 3.0, 4.0, 0.0);
                 }
                 else
                 {
                     skinSelectorControl2.mThemeCheckButton.ButtonColor = ButtonColors.Blue;
                     skinSelectorControl2.mThemeCheckButton.IsEnabled   = true;
                     skinSelectorControl2.mThemeCheckButton.Content     = (object)LocaleStrings.GetLocalizedString("STRING_APPLY", "");
                     skinSelectorControl2.mThemeCheckButton.Visibility  = Visibility.Visible;
                 }
                 this.ThemesDrawer.Children.Add((UIElement)skinSelectorControl2);
                 this.mThemesDrawerScrollBar.Visibility = Visibility.Visible;
             }
         }
     }
     catch (Exception ex)
     {
         Logger.Error("Error in populating themes in skin widget " + ex.ToString());
     }
 }
 private void Load_Click(object sender, RoutedEventArgs e)
 {
     using (FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog()
     {
         SelectedPath = RegistryManager.Instance.ClientInstallDir
     })
     {
         if (folderBrowserDialog.ShowDialog() != DialogResult.OK || string.IsNullOrEmpty(folderBrowserDialog.SelectedPath))
         {
             return;
         }
         string selectedPath = folderBrowserDialog.SelectedPath;
         if (File.Exists(Path.Combine(folderBrowserDialog.SelectedPath, "ThemeFile")))
         {
             string fileName = Path.GetFileName(folderBrowserDialog.SelectedPath);
             if (!folderBrowserDialog.SelectedPath.Contains(RegistryManager.Instance.ClientInstallDir))
             {
                 string str = Path.Combine(RegistryManager.Instance.ClientInstallDir, fileName);
                 if (Directory.Exists(str))
                 {
                     int num = (int)System.Windows.MessageBox.Show("Theme with this name already exists. Please rename the folder an try again");
                 }
                 else
                 {
                     Directory.CreateDirectory(str);
                     ThemeEditorWindow.CopyEverything(folderBrowserDialog.SelectedPath, str);
                 }
             }
             BlueStacksUIColorManager.ReloadAppliedTheme(fileName);
         }
         else
         {
             int num1 = (int)System.Windows.MessageBox.Show("Please select theme folder");
         }
     }
 }