コード例 #1
0
        public static bool?ShowDialogTopMost(bool showViewerWarning)
        {
            var recommendPdfArchitectWindow = new RecommendPdfArchitectWindow(showViewerWarning);

            TopMostHelper.ShowDialogTopMost(recommendPdfArchitectWindow, false);
            return(recommendPdfArchitectWindow.DialogResult);
        }
コード例 #2
0
        private void ShowConversionProgressDialog()
        {
            var conversionStatusForm = new ConversionProgressWindow();

            conversionStatusForm.ApplyJob(Job);
            TopMostHelper.ShowDialogTopMost(conversionStatusForm, true);
        }
コード例 #3
0
        public static MessageWindowResponse ShowTopMost(string message, string caption, MessageWindowButtons buttons, MessageWindowIcon icon)
        {
            var messageWindow = new MessageWindow(message, caption, buttons, icon);

            TopMostHelper.ShowDialogTopMost(messageWindow, false);
            return(messageWindow.DialogResponse);
        }
コード例 #4
0
        private bool LaunchSaveFileForRetyping(SaveFileDialog saveFileDialog)
        {
            var result = TopMostHelper.ShowDialogTopMost(saveFileDialog, !Job.Profile.SkipPrintDialog);

            if (result != DialogResult.OK)
            {
                Logger.Info("User cancelled the save dialog. No file will be created.");
                WorkflowStep = WorkflowStep.AbortedByUser;
                return(false);
            }

            try
            {
                var outputFile = saveFileDialog.FileName;
                if (!OutputFormatHelper.HasValidExtension(outputFile, Job.Profile.OutputFormat))
                {
                    outputFile = OutputFormatHelper.EnsureValidExtension(outputFile, Job.Profile.OutputFormat);
                }

                Job.OutputFilenameTemplate = outputFile;
                return(true);
            }
            catch (PathTooLongException)
            {
                Logger.Error("Filename (+ path) from savefile dialog is too long.");
                var message = _translator.GetTranslation("InteractiveWorkflow", "SelectedPathTooLong", "The total length of path and filename is too long.\r\nPlease use a shorter name.");
                var caption = _translator.GetTranslation("InteractiveWorkflow", "SelectDestination", "Select destination");
                MessageWindow.ShowTopMost(message, caption, MessageWindowButtons.OK, MessageWindowIcon.Warning);
                return(LaunchSaveFileForRetyping(saveFileDialog));
            }
        }
コード例 #5
0
        protected override bool QuerySignaturePassword()
        {
            if (!string.IsNullOrEmpty(Job.Profile.PdfSettings.Signature.SignaturePassword))
            {
                Job.Passwords.PdfSignaturePassword = Job.Profile.PdfSettings.Signature.SignaturePassword;
                return(true);
            }

            var passwordWindow = new SignaturePasswordWindow(PasswordMiddleButton.Skip, Job.Profile.PdfSettings.Signature.CertificateFile);

            TopMostHelper.ShowDialogTopMost(passwordWindow, true);

            if (passwordWindow.SignaturePasswordViewModel.Result == SignaturePasswordResult.StorePassword)
            {
                Job.Passwords.PdfSignaturePassword = passwordWindow.Password;
                return(true);
            }
            if (passwordWindow.SignaturePasswordViewModel.Result == SignaturePasswordResult.Skip)
            {
                Job.Profile.PdfSettings.Signature.Enabled = false;
                Logger.Info("User skipped Signature Password. Signing disabled.");
                return(true);
            }

            Cancel = true;
            Logger.Warn("Cancelled the signature password dialog. No PDF will be created.");
            WorkflowStep = WorkflowStep.AbortedByUser;
            return(false);
        }
コード例 #6
0
        private void SettingsButton_OnClick(object sender, RoutedEventArgs e)
        {
            var vm = (PrintJobViewModel)DataContext;

            TopMostHelper.UndoTopMostWindow(this);
            _settings.ApplicationSettings.LastUsedProfileGuid = vm.SelectedProfile.Guid;

            var window = new ProfileSettingsWindow(_settings);

            if (window.ShowDialog() == true)
            {
                _settings = window.Settings;

                vm.Profiles            = _settings.ConversionProfiles;
                vm.ApplicationSettings = _settings.ApplicationSettings;
                vm.SelectProfileByGuid(_settings.ApplicationSettings.LastUsedProfileGuid);
            }
        }
コード例 #7
0
 public TimeServerPasswordResponse ShowDialogTopMost()
 {
     TopMostHelper.ShowDialogTopMost(this, false);
     return(Response);
 }
コード例 #8
0
        public static void ShowDialogTopMost()
        {
            var welcomeWindow = new WelcomeWindow();

            TopMostHelper.ShowDialogTopMost(welcomeWindow, true);
        }
コード例 #9
0
        private static void ShowPlusHintWindow()
        {
            var welcomeWindow = new PlusHintWindow();

            TopMostHelper.ShowDialogTopMost(welcomeWindow, true);
        }
コード例 #10
0
        public static bool ShowDialogTopMost(ActionResultDict actionResultDict)
        {
            var window = new DefectiveProfilesWindow(actionResultDict);

            return(TopMostHelper.ShowDialogTopMost(window, true) == true);
        }
コード例 #11
0
        public static void LaunchNewUpdateForm(Object sender, UpdateEventArgs eventArgs)
        {
            string caption = TranslationHelper.TranslatorInstance.GetFormattedTranslation("UpdateManager", "PDFCreatorUpdate",
                                                                                          "PDFCreator Update");
            string message = TranslationHelper.TranslatorInstance.GetFormattedTranslation("UpdateManager", "NewUpdateMessage",
                                                                                          "The new version [{0}] is available.\r\nWould you like to download the new version?", OnlineVersion.Version);

            var response = MessageWindow.ShowTopMost(message, caption, MessageWindowButtons.YesLaterNo, MessageWindowIcon.PDFCreator);

            if (response == MessageWindowResponse.Yes)
            {
                if (EditionFactory.Instance.Edition.AutomaticUpdate)
                {
                    try
                    {
                        bool done = false;

                        while (!done)
                        {
                            var  downloadWindow = new UpdateDownloadWindow(OnlineVersion.DownloadUrl);
                            bool?result         = TopMostHelper.ShowDialogTopMost(downloadWindow, true);

                            if (result != true)
                            {
                                done = true;
                                continue;
                            }

                            if (FileUtil.Instance.VerifyMd5(downloadWindow.DownloadedFile, OnlineVersion.FileHash))
                            {
                                done = true;
                                ThreadManager.Instance.UpdateAfterShutdownAction = () => Process.Start(downloadWindow.DownloadedFile);
                                continue;
                            }

                            message = TranslationHelper.TranslatorInstance.GetFormattedTranslation("UpdateManager", "DownloadHashErrorMessage",
                                                                                                   "The MD5 hash of the downloaded file does not match the expected hash. It is possible that the file has been damaged during the download. Do you want to retry the download?", OnlineVersion.Version);
                            var res = MessageWindow.ShowTopMost(message, caption, MessageWindowButtons.YesNo, MessageWindowIcon.Warning);

                            if (res != MessageWindowResponse.No)
                            {
                                continue;
                            }

                            ThreadManager.Instance.UpdateAfterShutdownAction = () => Process.Start(downloadWindow.DownloadedFile);
                            done = true;
                        }
                    }
                    catch (Exception)
                    {
                        message = TranslationHelper.TranslatorInstance.GetFormattedTranslation("UpdateManager", "DownloadErrorMessage",
                                                                                               "There was a problem during the download. Do you want to download the update from the website instead?", OnlineVersion.Version);
                        var res = MessageWindow.ShowTopMost(message, caption, MessageWindowButtons.YesNo, MessageWindowIcon.PDFCreator);

                        if (res == MessageWindowResponse.Yes)
                        {
                            Process.Start(OnlineVersion.DownloadUrl);
                        }
                    }
                }
                else
                {
                    Process.Start(Urls.PdfCreatorDownloadUrl);
                }
            }

            if (response != MessageWindowResponse.Later)
            {
                eventArgs.SkipVersion = true;
            }
        }
コード例 #12
0
        public static bool?ShowDialogTopMost()
        {
            var w = new MainWindow();

            return(TopMostHelper.ShowDialogTopMost(w, true));
        }
コード例 #13
0
        public static void ShowDialogTopMost()
        {
            var licenseWindow = new LicenseWindow();

            TopMostHelper.ShowDialogTopMost(licenseWindow, true);
        }
コード例 #14
0
 public SmtpPasswordResponse ShowDialogTopMost()
 {
     TopMostHelper.ShowDialogTopMost(this, false);
     return(Response);
 }
コード例 #15
0
        protected override void QueryTargetFile()
        {
            if (!Job.Profile.SkipPrintDialog)
            {
                Job.ApplyMetadata();
                var w     = new PrintJobWindow();
                var model = new PrintJobViewModel(Job.JobInfo, Job.Profile);
                w.DataContext = model;

                if ((TopMostHelper.ShowDialogTopMost(w, true) != true) || model.PrintJobAction == PrintJobAction.Cancel)
                {
                    Cancel       = true;
                    WorkflowStep = WorkflowStep.AbortedByUser;
                    return;
                }

                if (model.PrintJobAction == PrintJobAction.ManagePrintJobs)
                {
                    throw new ManagePrintJobsException();
                }

                Job.Profile = model.SelectedProfile.Copy();
                Job.ApplyMetadata();

                if (model.PrintJobAction == PrintJobAction.EMail)
                {
                    Job.SkipSaveFileDialog          = true;
                    Job.Profile.EmailClient.Enabled = true;
                    Job.Profile.AutoSave.Enabled    = false;
                    Job.Profile.OpenViewer          = false;
                }
            }

            if (Job.SkipSaveFileDialog)
            {
                ITempFolderProvider tempFolderProvider = JobInfoQueue.Instance;

                var sendFilesFolder = _pathSafe.Combine(tempFolderProvider.TempFolder, "Job" + Job.JobInfo.SourceFiles[0].JobId + "_SendFiles");
                Directory.CreateDirectory(sendFilesFolder);
                var filePath = _pathSafe.Combine(sendFilesFolder, Job.ComposeOutputFilename());
                filePath = FileUtil.Instance.EllipsisForTooLongPath(filePath);
                Job.OutputFilenameTemplate = filePath;
            }
            else
            {
                var saveFileDialog = new SaveFileDialog();
                saveFileDialog.Title   = _translator.GetTranslation("InteractiveWorkflow", "SelectDestination", "Select destination");
                saveFileDialog.Filter  = _translator.GetTranslation("InteractiveWorkflow", "PdfFile", "PDF file") + @" (*.pdf)|*.pdf";
                saveFileDialog.Filter += @"|" + _translator.GetTranslation("InteractiveWorkflow", "PdfA1bFile", "PDF/A-1b file") + @" (*.pdf)|*.pdf";
                saveFileDialog.Filter += @"|" + _translator.GetTranslation("InteractiveWorkflow", "PdfA2bFile", "PDF/A-2b file") + @" (*.pdf)|*.pdf";
                saveFileDialog.Filter += @"|" + _translator.GetTranslation("InteractiveWorkflow", "PdfXFile", "PDF/X file") + @" (*.pdf)|*.pdf";
                saveFileDialog.Filter += @"|" + _translator.GetTranslation("InteractiveWorkflow", "JpegFile", "JPEG file") + @" (*.jpg)|*.jpg;*.jpeg;";
                saveFileDialog.Filter += @"|" + _translator.GetTranslation("InteractiveWorkflow", "PngFile", "PNG file") + @" (*.png)|*.png;";
                saveFileDialog.Filter += @"|" + _translator.GetTranslation("InteractiveWorkflow", "TiffFile", "TIFF file") + @" (*.tif)|*.tif;*.tiff";
                saveFileDialog.Filter += @"|" + _translator.GetTranslation("InteractiveWorkflow", "TextFile", "Text file") + @" (*.txt)|*.txt;";

                saveFileDialog.FilterIndex     = ((int)Job.Profile.OutputFormat) + 1;
                saveFileDialog.OverwritePrompt = true;

                if (Job.Profile.SaveDialog.SetDirectory)
                {
                    var saveDirectory = FileUtil.Instance.MakeValidFolderName(Job.TokenReplacer.ReplaceTokens(Job.Profile.SaveDialog.Folder));
                    DirectoryHelper = new DirectoryHelper(saveDirectory);
                    if (DirectoryHelper.CreateDirectory())
                    {
                        saveFileDialog.RestoreDirectory = true;
                        saveFileDialog.InitialDirectory = saveDirectory;
                        Logger.Debug("Set directory in save file dialog: " + saveDirectory);
                    }
                    else
                    {
                        Logger.Warn("Could not create directory for save file dialog. It will be opened with default save location.");
                    }
                }

                Cancel = !LaunchSaveFileDialog(saveFileDialog);
            }
        }
コード例 #16
0
 public EncryptionPasswordResponse ShowDialogTopMost()
 {
     TopMostHelper.ShowDialogTopMost(this, false);
     return(Response);
 }