blob: 6ada7641c74d648f9fa38a0952dcb98ec05882da [file] [log] [blame]
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you under the Apache License, Version 2.0 (the
// "License"); you may not use this file except in compliance
// with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing,
// software distributed under the License is distributed on an
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, either express or implied. See the License for the
// specific language governing permissions and limitations
// under the License.
#include "DFPlatform.h"
#include "WordSettings.h"
#include "DFDOM.h"
#include "DFXML.h"
#include "WordPackage.h"
#include "WordConverter.h"
#include "DFCommon.h"
#include <assert.h>
static Tag WordSettings_Children[] = {
WORD_WRITEPROTECTION,
WORD_VIEW,
WORD_ZOOM,
WORD_REMOVEPERSONALINFORMATION,
WORD_REMOVEDATEANDTIME,
WORD_DONOTDISPLAYPAGEBOUNDARIES,
WORD_DISPLAYBACKGROUNDSHAPE,
WORD_PRINTPOSTSCRIPTOVERTEXT,
WORD_PRINTFRACTIONALCHARACTERWIDTH,
WORD_PRINTFORMSDATA,
WORD_EMBEDTRUETYPEFONTS,
WORD_EMBEDSYSTEMFONTS,
WORD_SAVESUBSETFONTS,
WORD_SAVEFORMSDATA,
WORD_MIRRORMARGINS,
WORD_ALIGNBORDERSANDEDGES,
WORD_BORDERSDONOTSURROUNDHEADER,
WORD_BORDERSDONOTSURROUNDFOOTER,
WORD_GUTTERATTOP,
WORD_HIDESPELLINGERRORS,
WORD_HIDEGRAMMATICALERRORS,
WORD_ACTIVEWRITINGSTYLE,
WORD_PROOFSTATE,
WORD_FORMSDESIGN,
WORD_ATTACHEDTEMPLATE,
WORD_LINKSTYLES,
WORD_STYLEPANEFORMATFILTER,
WORD_STYLEPANESORTMETHOD,
WORD_DOCUMENTTYPE,
WORD_MAILMERGE,
WORD_REVISIONVIEW,
WORD_TRACKREVISIONS,
WORD_DONOTTRACKMOVES,
WORD_DONOTTRACKFORMATTING,
WORD_DOCUMENTPROTECTION,
WORD_AUTOFORMATOVERRIDE,
WORD_STYLELOCKTHEME,
WORD_STYLELOCKQFSET,
WORD_DEFAULTTABSTOP,
WORD_AUTOHYPHENATION,
WORD_CONSECUTIVEHYPHENLIMIT,
WORD_HYPHENATIONZONE,
WORD_DONOTHYPHENATECAPS,
WORD_SHOWENVELOPE,
WORD_SUMMARYLENGTH,
WORD_CLICKANDTYPESTYLE,
WORD_DEFAULTTABLESTYLE,
WORD_EVENANDODDHEADERS,
WORD_BOOKFOLDREVPRINTING,
WORD_BOOKFOLDPRINTING,
WORD_BOOKFOLDPRINTINGSHEETS,
WORD_DRAWINGGRIDHORIZONTALSPACING,
WORD_DRAWINGGRIDVERTICALSPACING,
WORD_DISPLAYHORIZONTALDRAWINGGRIDEVERY,
WORD_DISPLAYVERTICALDRAWINGGRIDEVERY,
WORD_DONOTUSEMARGINSFORDRAWINGGRIDORIGIN,
WORD_DRAWINGGRIDHORIZONTALORIGIN,
WORD_DRAWINGGRIDVERTICALORIGIN,
WORD_DONOTSHADEFORMDATA,
WORD_NOPUNCTUATIONKERNING,
WORD_CHARACTERSPACINGCONTROL,
WORD_PRINTTWOONONE,
WORD_STRICTFIRSTANDLASTCHARS,
WORD_NOLINEBREAKSAFTER,
WORD_NOLINEBREAKSBEFORE,
WORD_SAVEPREVIEWPICTURE,
WORD_DONOTVALIDATEAGAINSTSCHEMA,
WORD_SAVEINVALIDXML,
WORD_IGNOREMIXEDCONTENT,
WORD_ALWAYSSHOWPLACEHOLDERTEXT,
WORD_DONOTDEMARCATEINVALIDXML,
WORD_SAVEXMLDATAONLY,
WORD_USEXSLTWHENSAVING,
WORD_SAVETHROUGHXSLT,
WORD_SHOWXMLTAGS,
WORD_ALWAYSMERGEEMPTYNAMESPACE,
WORD_UPDATEFIELDS,
WORD_HDRSHAPEDEFAULTS,
WORD_FOOTNOTEPR,
WORD_ENDNOTEPR,
WORD_COMPAT,
WORD_DOCVARS,
WORD_RSIDS,
MATH_MATHPR,
WORD_ATTACHEDSCHEMA,
WORD_THEMEFONTLANG,
WORD_CLRSCHEMEMAPPING,
WORD_DONOTINCLUDESUBDOCSINSTATS,
WORD_DONOTAUTOCOMPRESSPICTURES,
WORD_FORCEUPGRADE,
WORD_CAPTIONS,
WORD_READMODEINKLOCKDOWN,
WORD_SMARTTAGTYPE,
SL_SCHEMALIBRARY,
WORD_SHAPEDEFAULTS,
WORD_DONOTEMBEDSMARTTAGS,
WORD_DECIMALSYMBOL,
WORD_LISTSEPARATOR,
0,
};
void Word_updateSettings(WordPackage *package, int updateFields)
{
assert(package->settings != NULL);
assert(package->settings->root != NULL);
DFNode *children[PREDEFINED_TAG_COUNT];
childrenToArray(package->settings->root,children);
if (updateFields) {
if (children[WORD_UPDATEFIELDS] == NULL)
children[WORD_UPDATEFIELDS] = DFCreateElement(package->settings,WORD_UPDATEFIELDS);
DFSetAttribute(children[WORD_UPDATEFIELDS],WORD_VAL,"true");
}
replaceChildrenFromArray(package->settings->root,children,WordSettings_Children);
}