/// <summary> /// <see cref="MS.Internal.Documents.Application.IDocumentController"/> /// </summary> bool IDocumentController.Open(Document document) { PackageDocument doc = (PackageDocument)document; TransactionalPackage package = new RestrictedTransactionalPackage( doc.Source); doc.Package = package; DocumentProperties.Current.SetXpsProperties(package.PackageProperties); DocumentSignatureManager.Initialize(new DigitalSignatureProvider(package)); // when signatures change (are added or removed) we can no longer simply copy bits on disk DocumentSignatureManager.Current.SignaturesChanged += new EventHandler( delegate( object sender, EventArgs args) { if (doc.IsFileCopySafe) { Trace.SafeWrite( Trace.Signatures, "Disabling file copy for current document."); doc.IsFileCopySafe = false; } }); return(true); }
//------------------------------------------------------ // // Constructors // //------------------------------------------------------ /// <summary> /// Constructor /// </summary> internal RequestedSignatureDialog(DocumentSignatureManager docSigManager) { if (docSigManager != null) { //Init private fields _documentSignatureManager = docSigManager; } else { throw new ArgumentNullException("docSigManager"); } // Initialize the "Must Sign By:" field _dateTimePicker.MinDate = DateTime.Now; _dateTimePicker.Value = DateTime.Now.AddDays(10); }
//------------------------------------------------------ // // Constructors // //------------------------------------------------------ /// <summary> /// Constructor /// </summary> /// <param name="IList<SignatureResources>">Ad</param> /// <param name="docSigManager">The DocSigManager ref so dialog can call sign method.</param> /// <returns></returns> internal SignatureSummaryDialog(IList <SignatureResources> signatureResourcesList, DocumentSignatureManager docSigManager, bool showRequestDialog ) { //Init private fields _documentSignatureManager = docSigManager; //Set Dialog Type (Summary or Request) _showRequestDialog = showRequestDialog; // Initialize all the UI components InitializeDialogType(); //Show only the buttons appropriate for the current mode. if (_showRequestDialog == true) { Text = SR.Get(SRID.DigSigRequestTitle); _buttonSign.Visible = false; _buttonViewCert.Visible = false; _buttonRequestAdd.Visible = true; _buttonRequestDelete.Visible = true; } else { Text = SR.Get(SRID.DigSigSumTitle); _buttonRequestAdd.Visible = false; _buttonRequestDelete.Visible = false; _buttonSign.Visible = true; _buttonViewCert.Visible = true; } //Find the signatures applied to this package and add them to the the ListBox foreach (SignatureResources signatureResources in signatureResourcesList) { AddDigSig(signatureResources); } // Add a handler to update the dialog when signature status changes DocumentSignatureManager.Current.SignatureStatusChange += new DocumentSignatureManager.SignatureStatusChangeHandler(OnSignatureStatusChange); }
//------------------------------------------------------ // // Constructors // //------------------------------------------------------ /// <summary> /// The constructor /// </summary> internal SigningDialog(X509Certificate2 x509Certificate2, DigitalSignature digitalSignatureRequest, DocumentSignatureManager docSigManager) { if (x509Certificate2 == null) { throw new ArgumentNullException("x509Certificate2"); } if (docSigManager == null) { throw new ArgumentNullException("docSigManager"); } _docSigManager = docSigManager; _x509Certificate2 = x509Certificate2; // setting critical data. //This can be null and if so means this is a regular first signing //(not signing a request or 2nd/3rd.. regular request which can't have //signatureDefinitions.) _digitalSignatureRequest = digitalSignatureRequest; //Now we need to set all DigSig Specific Text ApplySignatureSpecificResources(); _signButton.Enabled = false; // Check DocumentManager to see if we can save package DocumentManager documentManager = DocumentManager.CreateDefault(); if (documentManager != null) { _signButton.Enabled = documentManager.CanSave; } if (DocumentRightsManagementManager.Current != null) { _signSaveAsButton.Enabled = DocumentRightsManagementManager.Current.HasPermissionToSave; } }