Index: fpdfsdk/javascript/Field.cpp |
diff --git a/fpdfsdk/javascript/Field.cpp b/fpdfsdk/javascript/Field.cpp |
index 3b69a5ac22db96b95dd23eee0f4a03e871d00cb3..5c279d6b53a9839a077efca1d18e66f045f9b531 100644 |
--- a/fpdfsdk/javascript/Field.cpp |
+++ b/fpdfsdk/javascript/Field.cpp |
@@ -1531,65 +1531,8 @@ void Field::SetHidden(CPDFSDK_Document* pDocument, |
const CFX_WideString& swFieldName, |
int nControlIndex, |
bool b) { |
- CPDFSDK_InterForm* pInterForm = pDocument->GetInterForm(); |
- std::vector<CPDF_FormField*> FieldArray = |
- GetFormFields(pDocument, swFieldName); |
- for (CPDF_FormField* pFormField : FieldArray) { |
- if (nControlIndex < 0) { |
- FX_BOOL bSet = FALSE; |
- for (int i = 0, sz = pFormField->CountControls(); i < sz; ++i) { |
- if (CPDFSDK_Widget* pWidget = |
- pInterForm->GetWidget(pFormField->GetControl(i), false)) { |
- uint32_t dwFlags = pWidget->GetFlags(); |
- |
- if (b) { |
- dwFlags &= (~ANNOTFLAG_INVISIBLE); |
- dwFlags &= (~ANNOTFLAG_NOVIEW); |
- dwFlags |= (ANNOTFLAG_HIDDEN | ANNOTFLAG_PRINT); |
- } else { |
- dwFlags &= (~ANNOTFLAG_INVISIBLE); |
- dwFlags &= (~ANNOTFLAG_HIDDEN); |
- dwFlags &= (~ANNOTFLAG_NOVIEW); |
- dwFlags |= ANNOTFLAG_PRINT; |
- } |
- |
- if (dwFlags != pWidget->GetFlags()) { |
- pWidget->SetFlags(dwFlags); |
- bSet = TRUE; |
- } |
- } |
- } |
- |
- if (bSet) |
- UpdateFormField(pDocument, pFormField, TRUE, FALSE, TRUE); |
- } else { |
- if (nControlIndex >= pFormField->CountControls()) |
- return; |
- if (CPDF_FormControl* pFormControl = |
- pFormField->GetControl(nControlIndex)) { |
- if (CPDFSDK_Widget* pWidget = |
- pInterForm->GetWidget(pFormControl, false)) { |
- uint32_t dwFlags = pWidget->GetFlags(); |
- |
- if (b) { |
- dwFlags &= (~ANNOTFLAG_INVISIBLE); |
- dwFlags &= (~ANNOTFLAG_NOVIEW); |
- dwFlags |= (ANNOTFLAG_HIDDEN | ANNOTFLAG_PRINT); |
- } else { |
- dwFlags &= (~ANNOTFLAG_INVISIBLE); |
- dwFlags &= (~ANNOTFLAG_HIDDEN); |
- dwFlags &= (~ANNOTFLAG_NOVIEW); |
- dwFlags |= ANNOTFLAG_PRINT; |
- } |
- |
- if (dwFlags != pWidget->GetFlags()) { |
- pWidget->SetFlags(dwFlags); |
- UpdateFormControl(pDocument, pFormControl, TRUE, FALSE, TRUE); |
- } |
- } |
- } |
- } |
- } |
+ int display = b ? 1 /*Hidden*/ : 0 /*Visible*/; |
+ SetDisplay(pDocument, swFieldName, nControlIndex, display); |
} |
FX_BOOL Field::highlight(IJS_Context* cc, |