예제 #1
0
        void EnablePortCustomization_Checked(object sender, RoutedEventArgs e)
        {
            if (!EnablePortCustomization.IsChecked.Value)
            {
                return;
            }

            var rDialog = new TaskDialog()
            {
                Caption     = StringResources.Instance.Main.Product_Name,
                Instruction = StringResources.Instance.Main.PreferenceWindow_Network_Port_Customization_Dialog_Instruction,
                Icon        = TaskDialogIcon.Information,
                Content     = StringResources.Instance.Main.PreferenceWindow_Network_Port_Customization_Dialog_Content,
                Buttons     =
                {
                    new TaskDialogButton(TaskDialogCommonButton.Yes, StringResources.Instance.Main.PreferenceWindow_Network_Port_Customization_Dialog_Button_Yes),
                    new TaskDialogButton(TaskDialogCommonButton.No,  StringResources.Instance.Main.PreferenceWindow_Network_Port_Customization_Dialog_Button_No),
                },
                DefaultCommonButton = TaskDialogCommonButton.No,

                OwnerWindow            = WindowUtil.GetTopWindow(),
                ShowAtTheCenterOfOwner = true,
            };

            if (rDialog.Show().ClickedCommonButton == TaskDialogCommonButton.No)
            {
                EnablePortCustomization.IsChecked = false;
            }
        }
        public void ExportAsCsvFile()
        {
            using (var rDialog = new CommonSaveFileDialog())
            {
                rDialog.FileTypes.Add(new CommonFileDialogFileType(StringResources.Instance.Main.Export_CSV_FileType, "csv"));
                rDialog.DefaultExtension = "csv";

                if (rDialog.Show(WindowUtil.GetTopWindow()) != CommonFileDialogResult.OK)
                {
                    return;
                }

                var rFilename = rDialog.Filename;

                using (var rWriter = new StreamWriter(File.Open(rFilename, FileMode.Create), Encoding.Default))
                    ExportAsCsvFileCore(rWriter);

                var rButton = new TaskDialogButton(StringResources.Instance.Main.Export_CSV_Message_OpenFile);
                var rResult = new TaskDialog()
                {
                    Caption       = StringResources.Instance.Main.Product_Name,
                    Icon          = TaskDialogIcon.Information,
                    Instruction   = StringResources.Instance.Main.Export_CSV_Message,
                    CommonButtons = TaskDialogCommonButtons.OK,
                    Buttons       = { rButton },

                    OwnerWindow            = WindowUtil.GetTopWindow(),
                    ShowAtTheCenterOfOwner = true,
                }.ShowAndDispose();
                if (rResult.SelectedButton == rButton)
                {
                    Process.Start(rFilename);
                }
            }
        }
예제 #3
0
        public void GenerateCode()
        {
            var rText = GenerateCodeCore();

            if (Preference.Instance.Game.CompositionSharing_AutoOpenBrowser.Value)
            {
                Process.Start("http://kancolle-calc.net/deckbuilder.html?predeck=" + rText);
                return;
            }

            Clipboard.SetDataObject(rText);

            var rDialog = new TaskDialog()
            {
                Caption     = StringResources.Instance.Main.Window_CompositionSharing,
                Instruction = StringResources.Instance.Main.CompositionSharing_GenerateCode_CopyToClipboard_Message,
                Icon        = TaskDialogIcon.Information,

                OwnerWindow            = WindowUtil.GetTopWindow(),
                ShowAtTheCenterOfOwner = true,
            };

            rDialog.ShowAndDispose();
        }
예제 #4
0
        public void TakeScreenshot(object rpTabControl)
        {
            var rTabControl = rpTabControl as Control;

            if (rTabControl == null)
            {
                return;
            }

            var rContent = rTabControl.Template.FindName("PART_SelectedContentHost", rTabControl) as ContentPresenter;

            if (rContent == null)
            {
                return;
            }

            var rRenderTargetBitmap = new RenderTargetBitmap((int)(rContent.ActualWidth * DpiUtil.ScaleX), (int)(rContent.ActualHeight * DpiUtil.ScaleY), DpiUtil.DpiX, DpiUtil.DpiY, PixelFormats.Pbgra32);

            rRenderTargetBitmap.Render(rContent);

            var rScreenshotFilename = string.Empty;

            var rOutputToFile = Preference.Instance.Game.CompositionSharing_OutputScreenshotToFile.Value;

            if (!rOutputToFile)
            {
                Clipboard.SetImage(rRenderTargetBitmap);
            }
            else
            {
                using (var rSaveDialog = new CommonSaveFileDialog())
                {
                    rSaveDialog.FileTypes.Add(new CommonFileDialogFileType("PNG", "png"));

                    if (rSaveDialog.Show(WindowUtil.GetTopWindow()) == CommonFileDialogResult.Cancel)
                    {
                        return;
                    }

                    rScreenshotFilename = rSaveDialog.Filename;

                    if (!rScreenshotFilename.OICEndsWith(".png"))
                    {
                        rScreenshotFilename += ".png";
                    }
                }

                using (var rFile = File.OpenWrite(rScreenshotFilename))
                {
                    var rEncoder = new PngBitmapEncoder()
                    {
                        Frames = { BitmapFrame.Create(rRenderTargetBitmap) }
                    };
                    rEncoder.Save(rFile);
                }
            }

            var rDialog = new TaskDialog()
            {
                Caption     = StringResources.Instance.Main.Window_CompositionSharing,
                Instruction = StringResources.Instance.Main.CompositionSharing_TakeScreenshot_Clipboard_Message,
                Icon        = TaskDialogIcon.Information,

                OwnerWindow            = WindowUtil.GetTopWindow(),
                ShowAtTheCenterOfOwner = true,
            };

            if (!rOutputToFile)
            {
                rDialog.Instruction = StringResources.Instance.Main.CompositionSharing_TakeScreenshot_Clipboard_Message;
            }
            else
            {
                rDialog.Instruction      = StringResources.Instance.Main.CompositionSharing_TakeScreenshot_File_Message;
                rDialog.EnableHyperlinks = true;
                rDialog.FooterIcon       = TaskDialogIcon.Information;
                rDialog.Footer           = $"<a href=\"{rScreenshotFilename}\">{rScreenshotFilename}</a>";

                EventHandler <string> rHyperlinkClicked = null;
                rHyperlinkClicked = delegate
                {
                    if (File.Exists(rScreenshotFilename))
                    {
                        Process.Start(rScreenshotFilename);
                    }
                };
                EventHandler rClosed = null;
                rClosed = delegate
                {
                    rDialog.HyperlinkClicked -= rHyperlinkClicked;
                    rDialog.Closed           -= rClosed;
                };
                rDialog.HyperlinkClicked += rHyperlinkClicked;
                rDialog.Closed           += rClosed;
            }

            rDialog.ShowAndDispose();
        }