private void btnSecurity_Click(object sender, EventArgs e) { AnalyticsListener.SendEventStatistic(Properties.Resources.STR_SECURITY_EVENT); if (listViewFiles.Items.Count == 0) return; PdfSecurityOptions pso = null; IBatchCleanController bcc = null; WorkbookItem item = null; if (listViewFiles.SelectedItems.Count > 0) { item = listViewFiles.SelectedItems[0].Tag as WorkbookItem; } else { item = listViewFiles.Items[0].Tag as WorkbookItem; } if (item != null) pso = item.PdfSecurityOptions; if (ConverPDFToPDFA) { pso = new PdfSecurityOptions(); pso.ConvertToPDFA = ConverPDFToPDFA; } PdfSecurityDialog securityDialog = new PdfSecurityDialog(pso); bool isProtectInstalled = Workshare.Common.Configuration.EnabledFeatures.SecurityEnabled; if (isProtectInstalled && listViewFiles.SelectedItems.Count > 0) { bcc = BatchCleanFactory.GetInstance(); if (bcc != null) { List<string> filesToClean = new List<string>(); foreach (ListViewItem lvi in listViewFiles.SelectedItems) { WorkbookItem wi = lvi.Tag as WorkbookItem; filesToClean.Add(wi.TempCopy); } bcc.AddFiles(filesToClean.ToArray(), true); if (pso != null && pso.CleanBeforePdf) { bcc.SetCleaningOptions(pso.CleaningOptions); } } securityDialog.CleanController = bcc; } if (DialogResult.OK == securityDialog.ShowDialog()) { // Update security options for ALL files (but clean ONLY for those selected :) foreach (ListViewItem lvi in listViewFiles.Items) { WorkbookItem wi = lvi.Tag as WorkbookItem; CopySecurityInformation(securityDialog.PdfSecurityOptions, wi); } // updates clean for selected :) foreach (ListViewItem lvi in listViewFiles.SelectedItems) { WorkbookItem wi = lvi.Tag as WorkbookItem; wi.PdfSecurityOptions.CleanBeforePdf = securityDialog.PdfSecurityOptions.CleanBeforePdf; wi.PdfSecurityOptions.CleaningOptions = securityDialog.PdfSecurityOptions.CleaningOptions; } m_state.IsModified = true; } }
private bool IsSecurityOptionsModified(PdfSecurityDialog securityDialog) { PdfSecurityOptions dialogOptions = securityDialog.PdfSecurityOptions; if (m_saveInfo != null) { if (m_saveInfo.CleanBeforePdf == dialogOptions.CleanBeforePdf && m_saveInfo.DisableComments == dialogOptions.DisableComments && m_saveInfo.DisableCopy == dialogOptions.DisableCopy && m_saveInfo.DisableModification == dialogOptions.DisableModification && m_saveInfo.DisablePrinting == dialogOptions.DisablePrinting && m_saveInfo.FullSecurity == dialogOptions.FullSecurity) { return false; } } m_state.IsModified = true; m_saveInfo = dialogOptions; return true; }