public async Task<string> RenamePrinter(string oldPrinterName)
        {
            string newPrinterName = null;

            if (oldPrinterName.Length == 0)
                return null;

            var questionText = Translation.EnterPrintername;
            newPrinterName = await RequestPrinternameFromUser(questionText, oldPrinterName);

            if ((newPrinterName == null) || (newPrinterName == oldPrinterName))
                return null;

            while (!_printerHelper.IsValidPrinterName(newPrinterName))
            {
                questionText = Translation.GetPrinterAlreadyInstalledMessage(newPrinterName);
                newPrinterName = CreateValidPrinterName(newPrinterName);
                newPrinterName = await RequestPrinternameFromUser(questionText, newPrinterName);
                if ((newPrinterName == null) || (newPrinterName == oldPrinterName))
                    return null;
            }

            if (_uacAssistant.RenamePrinter(oldPrinterName, newPrinterName))
                if (CheckInstalledPrinter(newPrinterName))
                    return newPrinterName;

            var message = Translation.GetCouldNotRenamePrinterMessage(oldPrinterName, newPrinterName);
            const string caption = @"PDFCreator";
            await ShowMessage(message, caption, MessageOptions.OK, MessageIcon.Error);

            return null;
        }
Esempio n. 2
0
        public bool RenamePrinter(string oldPrinterName, out string newPrinterName)
        {
            newPrinterName = "";

            if (oldPrinterName.Length == 0)
            {
                return(false);
            }

            var questionText = _translator.GetTranslation("InputBoxWindow", "EnterPrintername");

            newPrinterName = RequestPrinternameFromUser(questionText, oldPrinterName);

            if ((newPrinterName == null) || (newPrinterName == oldPrinterName))
            {
                return(false);
            }

            while (!_printerHelper.IsValidPrinterName(newPrinterName))
            {
                questionText = _translator.GetFormattedTranslation("ApplicationSettingsWindow", "PrinterAlreadyInstalled",
                                                                   newPrinterName);
                newPrinterName = CreateValidPrinterName(newPrinterName);
                newPrinterName = RequestPrinternameFromUser(questionText, newPrinterName);
                if ((newPrinterName == null) || (newPrinterName == oldPrinterName))
                {
                    return(false);
                }
            }

            if (_uacAssistant.RenamePrinter(oldPrinterName, newPrinterName))
            {
                if (CheckInstalledPrinter(newPrinterName))
                {
                    return(true);
                }
            }

            var message = _translator.GetFormattedTranslation("ApplicationSettingsWindow", "CouldNotRename",
                                                              oldPrinterName, newPrinterName);
            const string caption = @"PDFCreator";

            ShowMessage(message, caption, MessageOptions.OK, MessageIcon.Error);

            return(false);
        }