1170
1190
bool Scribus13Format::saveFile(const QString & fileName, const FileFormat & /* fmt */)
1172
QString text, tf, tf2, tc, tc2;
1173
QDomDocument docu("scribus");
1174
QString st="<SCRIBUSUTF8NEW></SCRIBUSUTF8NEW>";
1175
docu.setContent(st);
1176
QDomElement elem=docu.documentElement();
1177
elem.setAttribute("Version", QString(VERSION));
1178
QDomElement dc=docu.createElement("DOCUMENT");
1179
dc.setAttribute("ANZPAGES",m_Doc->DocPages.count());
1180
dc.setAttribute("PAGEWIDTH",m_Doc->pageWidth);
1181
dc.setAttribute("PAGEHEIGHT",m_Doc->pageHeight);
1182
dc.setAttribute("BORDERLEFT",m_Doc->pageMargins.Left);
1183
dc.setAttribute("BORDERRIGHT",m_Doc->pageMargins.Right);
1184
dc.setAttribute("BORDERTOP",m_Doc->pageMargins.Top);
1185
dc.setAttribute("BORDERBOTTOM",m_Doc->pageMargins.Bottom);
1186
dc.setAttribute("PRESET",m_Doc->marginPreset);
1187
dc.setAttribute("ORIENTATION",m_Doc->PageOri);
1188
dc.setAttribute("PAGESIZE",m_Doc->m_pageSize);
1189
dc.setAttribute("FIRSTNUM",m_Doc->FirstPnum);
1190
dc.setAttribute("BOOK", m_Doc->currentPageLayout);
1191
if(m_Doc->usesAutomaticTextFrames())
1192
dc.setAttribute("AUTOTEXT",1);
1193
dc.setAttribute("AUTOSPALTEN",m_Doc->PageSp);
1194
dc.setAttribute("ABSTSPALTEN",m_Doc->PageSpa);
1195
dc.setAttribute("UNITS",m_Doc->unitIndex());
1196
dc.setAttribute("DFONT",m_Doc->toolSettings.defFont);
1197
dc.setAttribute("DSIZE",m_Doc->toolSettings.defSize / 10.0);
1198
dc.setAttribute("DCOL",m_Doc->toolSettings.dCols);
1199
dc.setAttribute("DGAP",m_Doc->toolSettings.dGap);
1200
dc.setAttribute("TabFill",m_Doc->toolSettings.tabFillChar);
1201
dc.setAttribute("TabWidth",m_Doc->toolSettings.dTabWidth);
1202
dc.setAttribute("AUTHOR",m_Doc->documentInfo.getAuthor());
1203
dc.setAttribute("COMMENTS",m_Doc->documentInfo.getComments());
1204
dc.setAttribute("KEYWORDS",m_Doc->documentInfo.getKeywords());
1205
dc.setAttribute("PUBLISHER",m_Doc->documentInfo.getPublisher());
1206
dc.setAttribute("DOCDATE",m_Doc->documentInfo.getDate());
1207
dc.setAttribute("DOCTYPE",m_Doc->documentInfo.getType());
1208
dc.setAttribute("DOCFORMAT",m_Doc->documentInfo.getFormat());
1209
dc.setAttribute("DOCIDENT",m_Doc->documentInfo.getIdent());
1210
dc.setAttribute("DOCSOURCE",m_Doc->documentInfo.getSource());
1211
dc.setAttribute("DOCLANGINFO",m_Doc->documentInfo.getLangInfo());
1212
dc.setAttribute("DOCRELATION",m_Doc->documentInfo.getRelation());
1213
dc.setAttribute("DOCCOVER",m_Doc->documentInfo.getCover());
1214
dc.setAttribute("DOCRIGHTS",m_Doc->documentInfo.getRights());
1215
dc.setAttribute("DOCCONTRIB",m_Doc->documentInfo.getContrib());
1216
dc.setAttribute("TITLE",m_Doc->documentInfo.getTitle());
1217
dc.setAttribute("VHOCH",m_Doc->typographicSettings.valueSuperScript);
1218
dc.setAttribute("VHOCHSC",m_Doc->typographicSettings.scalingSuperScript);
1219
dc.setAttribute("VTIEF",m_Doc->typographicSettings.valueSubScript);
1220
dc.setAttribute("VTIEFSC",m_Doc->typographicSettings.scalingSubScript);
1221
dc.setAttribute("VKAPIT",m_Doc->typographicSettings.valueSmallCaps);
1222
dc.setAttribute("BASEGRID",m_Doc->typographicSettings.valueBaseGrid);
1223
dc.setAttribute("BASEO", m_Doc->typographicSettings.offsetBaseGrid);
1224
dc.setAttribute("AUTOL", m_Doc->typographicSettings.autoLineSpacing);
1225
dc.setAttribute("UnderlinePos", m_Doc->typographicSettings.valueUnderlinePos);
1226
dc.setAttribute("UnderlineWidth", m_Doc->typographicSettings.valueUnderlineWidth);
1227
dc.setAttribute("StrikeThruPos", m_Doc->typographicSettings.valueStrikeThruPos);
1228
dc.setAttribute("StrikeThruWidth", m_Doc->typographicSettings.valueStrikeThruWidth);
1229
dc.setAttribute("GROUPC",m_Doc->GroupCounter);
1230
dc.setAttribute("HCMS", static_cast<int>(m_Doc->HasCMS));
1231
dc.setAttribute("DPSo", static_cast<int>(m_Doc->CMSSettings.SoftProofOn));
1232
dc.setAttribute("DPSFo", static_cast<int>(m_Doc->CMSSettings.SoftProofFullOn));
1233
dc.setAttribute("DPuse", static_cast<int>(m_Doc->CMSSettings.CMSinUse));
1234
dc.setAttribute("DPgam", static_cast<int>(m_Doc->CMSSettings.GamutCheck));
1235
dc.setAttribute("DPbla", static_cast<int>(m_Doc->CMSSettings.BlackPoint));
1236
dc.setAttribute("DPMo",m_Doc->CMSSettings.DefaultMonitorProfile);
1237
dc.setAttribute("DPPr",m_Doc->CMSSettings.DefaultPrinterProfile);
1238
dc.setAttribute("DPIn",m_Doc->CMSSettings.DefaultImageRGBProfile);
1239
dc.setAttribute("DPInCMYK",m_Doc->CMSSettings.DefaultImageCMYKProfile);
1240
dc.setAttribute("DPIn2",m_Doc->CMSSettings.DefaultSolidColorRGBProfile);
1241
dc.setAttribute("DPIn3",m_Doc->CMSSettings.DefaultSolidColorCMYKProfile);
1242
dc.setAttribute("DISc",m_Doc->CMSSettings.DefaultIntentColors);
1243
dc.setAttribute("DIIm",m_Doc->CMSSettings.DefaultIntentImages);
1244
dc.setAttribute("ALAYER", m_Doc->activeLayer());
1245
dc.setAttribute("LANGUAGE", m_Doc->Language);
1246
dc.setAttribute("MINWORDLEN", m_Doc->MinWordLen);
1247
dc.setAttribute("HYCOUNT", m_Doc->HyCount);
1248
dc.setAttribute("AUTOMATIC", static_cast<int>(m_Doc->Automatic));
1249
dc.setAttribute("AUTOCHECK", static_cast<int>(m_Doc->AutoCheck));
1250
dc.setAttribute("GUIDELOCK", static_cast<int>(m_Doc->GuideLock));
1251
dc.setAttribute("SnapToGuides", static_cast<int>(m_Doc->SnapGuides));
1252
dc.setAttribute("SnapToGrid", static_cast<int>(m_Doc->useRaster));
1253
dc.setAttribute("MINGRID", m_Doc->guidesSettings.minorGrid);
1254
dc.setAttribute("MAJGRID", m_Doc->guidesSettings.majorGrid);
1255
dc.setAttribute("SHOWGRID", static_cast<int>(m_Doc->guidesSettings.gridShown));
1256
dc.setAttribute("SHOWGUIDES", static_cast<int>(m_Doc->guidesSettings.guidesShown));
1257
dc.setAttribute("showcolborders", static_cast<int>(m_Doc->guidesSettings.colBordersShown));
1258
dc.setAttribute("SHOWFRAME", static_cast<int>(m_Doc->guidesSettings.framesShown));
1259
dc.setAttribute("SHOWLAYERM", static_cast<int>(m_Doc->guidesSettings.layerMarkersShown));
1260
dc.setAttribute("SHOWMARGIN", static_cast<int>(m_Doc->guidesSettings.marginsShown));
1261
dc.setAttribute("SHOWBASE", static_cast<int>(m_Doc->guidesSettings.baseShown));
1262
dc.setAttribute("SHOWPICT", static_cast<int>(m_Doc->guidesSettings.showPic));
1263
dc.setAttribute("SHOWControl", static_cast<int>(m_Doc->guidesSettings.showControls));
1264
dc.setAttribute("SHOWLINK", static_cast<int>(m_Doc->guidesSettings.linkShown));
1265
dc.setAttribute("rulerMode", static_cast<int>(m_Doc->guidesSettings.rulerMode));
1266
dc.setAttribute("showrulers", static_cast<int>(m_Doc->guidesSettings.rulersShown));
1267
dc.setAttribute("rulerXoffset", m_Doc->rulerXoffset);
1268
dc.setAttribute("rulerYoffset", m_Doc->rulerYoffset);
1269
dc.setAttribute("GuideRad", m_Doc->guidesSettings.guideRad);
1270
dc.setAttribute("GRAB",m_Doc->guidesSettings.grabRad);
1271
dc.setAttribute("POLYC", m_Doc->toolSettings.polyC);
1272
dc.setAttribute("POLYF", m_Doc->toolSettings.polyF);
1273
dc.setAttribute("POLYR", m_Doc->toolSettings.polyR);
1274
dc.setAttribute("POLYFD", m_Doc->toolSettings.polyFd);
1275
dc.setAttribute("POLYS", static_cast<int>(m_Doc->toolSettings.polyS));
1276
dc.setAttribute("AutoSave", static_cast<int>(m_Doc->AutoSave));
1277
dc.setAttribute("AutoSaveTime", m_Doc->AutoSaveTime);
1278
dc.setAttribute("ScratchBottom", m_Doc->scratch.Bottom);
1279
dc.setAttribute("ScratchLeft", m_Doc->scratch.Left);
1280
dc.setAttribute("ScratchRight", m_Doc->scratch.Right);
1281
dc.setAttribute("ScratchTop", m_Doc->scratch.Top);
1282
dc.setAttribute("StartArrow", m_Doc->toolSettings.dStartArrow);
1283
dc.setAttribute("EndArrow", m_Doc->toolSettings.dEndArrow);
1284
dc.setAttribute("PEN",m_Doc->toolSettings.dPen);
1285
dc.setAttribute("BRUSH",m_Doc->toolSettings.dBrush);
1286
dc.setAttribute("PENLINE",m_Doc->toolSettings.dPenLine);
1287
dc.setAttribute("PENTEXT",m_Doc->toolSettings.dPenText);
1288
dc.setAttribute("StrokeText",m_Doc->toolSettings.dStrokeText);
1289
dc.setAttribute("TextBackGround", m_Doc->toolSettings.dTextBackGround);
1290
dc.setAttribute("TextLineColor", m_Doc->toolSettings.dTextLineColor);
1291
dc.setAttribute("TextBackGroundShade", m_Doc->toolSettings.dTextBackGroundShade);
1292
dc.setAttribute("TextLineShade", m_Doc->toolSettings.dTextLineShade);
1293
dc.setAttribute("TextPenShade", m_Doc->toolSettings.dTextPenShade);
1294
dc.setAttribute("TextStrokeShade", m_Doc->toolSettings.dTextStrokeShade);
1295
dc.setAttribute("STIL",m_Doc->toolSettings.dLineArt);
1296
dc.setAttribute("STILLINE",m_Doc->toolSettings.dLstyleLine);
1297
dc.setAttribute("WIDTH",m_Doc->toolSettings.dWidth);
1298
dc.setAttribute("WIDTHLINE",m_Doc->toolSettings.dWidthLine);
1299
dc.setAttribute("PENSHADE",m_Doc->toolSettings.dShade2);
1300
dc.setAttribute("LINESHADE",m_Doc->toolSettings.dShadeLine);
1301
dc.setAttribute("BRUSHSHADE",m_Doc->toolSettings.dShade);
1302
dc.setAttribute("MAGMIN",m_Doc->toolSettings.magMin);
1303
dc.setAttribute("MAGMAX",m_Doc->toolSettings.magMax);
1304
dc.setAttribute("MAGSTEP",m_Doc->toolSettings.magStep);
1305
dc.setAttribute("CPICT",m_Doc->toolSettings.dBrushPict);
1306
dc.setAttribute("PICTSHADE",m_Doc->toolSettings.shadePict);
1307
dc.setAttribute("PICTSCX",m_Doc->toolSettings.scaleX);
1308
dc.setAttribute("PICTSCY",m_Doc->toolSettings.scaleY);
1309
dc.setAttribute("PSCALE", static_cast<int>(m_Doc->toolSettings.scaleType));
1310
dc.setAttribute("PASPECT", static_cast<int>(m_Doc->toolSettings.aspectRatio));
1311
dc.setAttribute("EmbeddedPath", static_cast<int>(m_Doc->toolSettings.useEmbeddedPath));
1312
dc.setAttribute("HalfRes", m_Doc->toolSettings.lowResType);
1313
dc.setAttribute("MINORC",m_Doc->guidesSettings.minorColor.name());
1314
dc.setAttribute("MAJORC",m_Doc->guidesSettings.majorColor.name());
1315
dc.setAttribute("GuideC", m_Doc->guidesSettings.guideColor.name());
1316
dc.setAttribute("BaseC", m_Doc->guidesSettings.baseColor.name());
1317
dc.setAttribute("GuideZ", m_Doc->guidesSettings.guideRad);
1318
dc.setAttribute("BACKG", static_cast<int>(m_Doc->guidesSettings.before));
1319
dc.setAttribute("PAGEC",m_Doc->papColor.name());
1320
dc.setAttribute("MARGC",m_Doc->guidesSettings.margColor.name());
1321
dc.setAttribute("RANDF", static_cast<int>(m_Doc->marginColored));
1322
dc.setAttribute("currentProfile", m_Doc->curCheckProfile);
1323
CheckerPrefsList::Iterator itcp;
1324
CheckerPrefsList::Iterator itcpend=m_Doc->checkerProfiles.end();
1325
for (itcp = m_Doc->checkerProfiles.begin(); itcp != itcpend; ++itcp)
1327
QDomElement dc79a=docu.createElement("CheckProfile");
1328
dc79a.setAttribute("Name",itcp.key());
1329
dc79a.setAttribute("ignoreErrors", static_cast<int>(itcp.value().ignoreErrors));
1330
dc79a.setAttribute("autoCheck", static_cast<int>(itcp.value().autoCheck));
1331
dc79a.setAttribute("checkGlyphs", static_cast<int>(itcp.value().checkGlyphs));
1332
dc79a.setAttribute("checkOrphans", static_cast<int>(itcp.value().checkOrphans));
1333
dc79a.setAttribute("checkOverflow", static_cast<int>(itcp.value().checkOverflow));
1334
dc79a.setAttribute("checkPictures", static_cast<int>(itcp.value().checkPictures));
1335
dc79a.setAttribute("checkResolution", static_cast<int>(itcp.value().checkResolution));
1336
dc79a.setAttribute("checkTransparency", static_cast<int>(itcp.value().checkTransparency));
1337
dc79a.setAttribute("minResolution",itcp.value().minResolution);
1338
dc79a.setAttribute("maxResolution",itcp.value().maxResolution);
1339
dc79a.setAttribute("checkAnnotations", static_cast<int>(itcp.value().checkAnnotations));
1340
dc79a.setAttribute("checkRasterPDF", static_cast<int>(itcp.value().checkRasterPDF));
1341
dc79a.setAttribute("checkForGIF", static_cast<int>(itcp.value().checkForGIF));
1342
dc.appendChild(dc79a);
1344
QMap<QString,multiLine>::Iterator itMU;
1345
for (itMU = m_Doc->MLineStyles.begin(); itMU != m_Doc->MLineStyles.end(); ++itMU)
1347
QDomElement MuL=docu.createElement("MultiLine");
1348
MuL.setAttribute("Name",itMU.key());
1349
multiLine ml = itMU.value();
1350
multiLine::iterator itMU2;
1351
for (itMU2 = ml.begin(); itMU2 != ml.end(); ++itMU2)
1353
QDomElement SuL=docu.createElement("SubLine");
1354
SuL.setAttribute("Color", (*itMU2).Color);
1355
SuL.setAttribute("Shade", (*itMU2).Shade);
1356
SuL.setAttribute("Dash", (*itMU2).Dash);
1357
SuL.setAttribute("LineEnd", (*itMU2).LineEnd);
1358
SuL.setAttribute("LineJoin", (*itMU2).LineJoin);
1359
SuL.setAttribute("Width", (*itMU2).Width);
1360
MuL.appendChild(SuL);
1362
dc.appendChild(MuL);
1364
QList<ArrowDesc>::Iterator itar;
1365
for (itar = m_Doc->arrowStyles.begin(); itar != m_Doc->arrowStyles.end(); ++itar)
1367
if ((*itar).userArrow)
1369
QDomElement ar=docu.createElement("Arrows");
1370
ar.setAttribute("NumPoints", (*itar).points.size());
1374
for (uint nxx = 0; nxx < (*itar).points.size(); ++nxx)
1376
(*itar).points.point(nxx, &xa, &ya);
1377
arp += tmp.setNum(xa) + " " + tmpy.setNum(ya) + " ";
1379
ar.setAttribute("Points", arp);
1380
ar.setAttribute("Name", (*itar).name);
1384
QMap<QString,QString>::Iterator itja;
1385
for (itja = m_Doc->JavaScripts.begin(); itja != m_Doc->JavaScripts.end(); ++itja)
1387
QDomElement jav=docu.createElement("JAVA");
1388
jav.setAttribute("NAME",itja.key());
1389
jav.setAttribute("SCRIPT",itja.value());
1390
dc.appendChild(jav);
1392
QList<ScribusDoc::BookMa>::Iterator itbm;
1393
for (itbm = m_Doc->BookMarks.begin(); itbm != m_Doc->BookMarks.end(); ++itbm)
1395
QDomElement fn=docu.createElement("Bookmark");
1396
fn.setAttribute("Title",(*itbm).Title);
1397
fn.setAttribute("Text",(*itbm).Text);
1398
fn.setAttribute("Aktion",(*itbm).Aktion);
1399
fn.setAttribute("ItemNr", (*itbm).ItemNr);
1400
fn.setAttribute("Element", (*itbm).PageObject->ItemNr);
1401
fn.setAttribute("First", (*itbm).First);
1402
fn.setAttribute("Last", (*itbm).Last);
1403
fn.setAttribute("Prev", (*itbm).Prev);
1404
fn.setAttribute("Next", (*itbm).Next);
1405
fn.setAttribute("Parent", (*itbm).Parent);
1408
ColorList::Iterator itc;
1409
for (itc = m_Doc->PageColors.begin(); itc != m_Doc->PageColors.end(); ++itc)
1411
QDomElement co=docu.createElement("COLOR");
1412
co.setAttribute("NAME",itc.key());
1413
if (m_Doc->PageColors[itc.key()].getColorModel() == colorModelRGB)
1414
co.setAttribute("RGB",m_Doc->PageColors[itc.key()].nameRGB());
1416
co.setAttribute("CMYK",m_Doc->PageColors[itc.key()].nameCMYK());
1417
co.setAttribute("Spot",static_cast<int>(m_Doc->PageColors[itc.key()].isSpotColor()));
1418
co.setAttribute("Register",static_cast<int>(m_Doc->PageColors[itc.key()].isRegistrationColor()));
1421
// if (m_Doc->docParagraphStyles.count() > 5)
1423
for (int ff = 0; ff < m_Doc->paragraphStyles().count(); ++ff)
1425
QDomElement fo=docu.createElement("STYLE");
1426
fo.setAttribute("NAME",m_Doc->paragraphStyles()[ff].name());
1427
fo.setAttribute("ALIGN",m_Doc->paragraphStyles()[ff].alignment());
1428
fo.setAttribute("LINESPMode",m_Doc->paragraphStyles()[ff].lineSpacingMode());
1429
fo.setAttribute("LINESP",m_Doc->paragraphStyles()[ff].lineSpacing());
1430
fo.setAttribute("INDENT",m_Doc->paragraphStyles()[ff].leftMargin());
1431
fo.setAttribute("RMARGIN",m_Doc->paragraphStyles()[ff].rightMargin());
1432
fo.setAttribute("FIRST",m_Doc->paragraphStyles()[ff].firstIndent());
1433
fo.setAttribute("VOR",m_Doc->paragraphStyles()[ff].gapBefore());
1434
fo.setAttribute("NACH",m_Doc->paragraphStyles()[ff].gapAfter());
1435
fo.setAttribute("FONT",m_Doc->paragraphStyles()[ff].charStyle().font().scName());
1436
fo.setAttribute("FONTSIZE",m_Doc->paragraphStyles()[ff].charStyle().fontSize() / 10.0);
1437
fo.setAttribute("DROP", static_cast<int>(m_Doc->paragraphStyles()[ff].hasDropCap()));
1438
fo.setAttribute("DROPLIN", m_Doc->paragraphStyles()[ff].dropCapLines());
1439
fo.setAttribute("DROPDIST", m_Doc->paragraphStyles()[ff].dropCapOffset());
1440
fo.setAttribute("EFFECT", m_Doc->paragraphStyles()[ff].charStyle().effects());
1441
if (m_Doc->paragraphStyles()[ff].tabValues().count() != 0)
1443
for (int a = 0; a < m_Doc->paragraphStyles()[ff].tabValues().count(); ++a)
1445
QDomElement tabs = docu.createElement("Tabs");
1446
tabs.setAttribute("Type", (m_Doc->paragraphStyles()[ff].tabValues().at(a)).tabType);
1447
tabs.setAttribute("Pos", (m_Doc->paragraphStyles()[ff].tabValues().at(a)).tabPosition);
1449
if (!(m_Doc->paragraphStyles()[ff].tabValues().at(a)).tabFillChar.isNull())
1450
tabCh = QString((m_Doc->paragraphStyles()[ff].tabValues().at(a)).tabFillChar);
1451
tabs.setAttribute("Fill", tabCh);
1452
fo.appendChild(tabs);
1455
fo.setAttribute("FCOLOR",m_Doc->paragraphStyles()[ff].charStyle().fillColor());
1456
fo.setAttribute("FSHADE",m_Doc->paragraphStyles()[ff].charStyle().fillShade());
1457
fo.setAttribute("SCOLOR",m_Doc->paragraphStyles()[ff].charStyle().strokeColor());
1458
fo.setAttribute("SSHADE",m_Doc->paragraphStyles()[ff].charStyle().strokeShade());
1459
fo.setAttribute("BASE", static_cast<int>(m_Doc->paragraphStyles()[ff].lineSpacingMode() == ParagraphStyle::BaselineGridLineSpacing));
1460
fo.setAttribute("TXTSHX",m_Doc->paragraphStyles()[ff].charStyle().shadowXOffset() / 10.0);
1461
fo.setAttribute("TXTSHY",m_Doc->paragraphStyles()[ff].charStyle().shadowYOffset() / 10.0);
1462
fo.setAttribute("TXTOUT",m_Doc->paragraphStyles()[ff].charStyle().outlineWidth() / 10.0);
1463
fo.setAttribute("TXTULP",m_Doc->paragraphStyles()[ff].charStyle().underlineOffset() / 10.0);
1464
fo.setAttribute("TXTULW",m_Doc->paragraphStyles()[ff].charStyle().underlineWidth() / 10.0);
1465
fo.setAttribute("TXTSTP",m_Doc->paragraphStyles()[ff].charStyle().strikethruOffset() / 10.0);
1466
fo.setAttribute("TXTSTW",m_Doc->paragraphStyles()[ff].charStyle().strikethruWidth() / 10.0);
1467
fo.setAttribute("SCALEH",m_Doc->paragraphStyles()[ff].charStyle().scaleH() / 10.0);
1468
fo.setAttribute("SCALEV",m_Doc->paragraphStyles()[ff].charStyle().scaleV() / 10.0);
1469
fo.setAttribute("BASEO",m_Doc->paragraphStyles()[ff].charStyle().baselineOffset() / 10.0);
1470
fo.setAttribute("KERN",m_Doc->paragraphStyles()[ff].charStyle().tracking() / 10.0);
1474
uint layerCount=m_Doc->layerCount();
1475
for (uint lay = 0; lay < layerCount; ++lay)
1477
QDomElement la = docu.createElement("LAYERS");
1478
la.setAttribute("NUMMER",m_Doc->Layers[lay].LNr);
1479
la.setAttribute("LEVEL",m_Doc->Layers[lay].Level);
1480
la.setAttribute("NAME",m_Doc->Layers[lay].Name);
1481
la.setAttribute("SICHTBAR", static_cast<int>(m_Doc->Layers[lay].isViewable));
1482
la.setAttribute("DRUCKEN", static_cast<int>(m_Doc->Layers[lay].isPrintable));
1483
la.setAttribute("EDIT", static_cast<int>(m_Doc->Layers[lay].isEditable));
1484
la.setAttribute("FLOW", static_cast<int>(m_Doc->Layers[lay].flowControl));
1485
la.setAttribute("TRANS", m_Doc->Layers[lay].transparency);
1486
la.setAttribute("BLEND", m_Doc->Layers[lay].blendMode);
1487
la.setAttribute("OUTL", static_cast<int>(m_Doc->Layers[lay].outlineMode));
1488
la.setAttribute("LAYERC",m_Doc->Layers[lay].markerColor.name());
1491
QDomElement pdf = docu.createElement("PDF");
1492
pdf.setAttribute("Thumbnails", static_cast<int>(m_Doc->PDF_Options.Thumbnails));
1493
pdf.setAttribute("Articles", static_cast<int>(m_Doc->PDF_Options.Articles));
1494
pdf.setAttribute("Bookmarks", static_cast<int>(m_Doc->PDF_Options.Bookmarks));
1495
pdf.setAttribute("Compress", static_cast<int>(m_Doc->PDF_Options.Compress));
1496
pdf.setAttribute("CMethod", m_Doc->PDF_Options.CompressMethod);
1497
pdf.setAttribute("Quality", m_Doc->PDF_Options.Quality);
1498
pdf.setAttribute("MirrorH", static_cast<int>(m_Doc->PDF_Options.MirrorH));
1499
pdf.setAttribute("MirrorV", static_cast<int>(m_Doc->PDF_Options.MirrorV));
1500
pdf.setAttribute("Clip", static_cast<int>(m_Doc->PDF_Options.doClip));
1501
pdf.setAttribute("RotateDeg", static_cast<int>(m_Doc->PDF_Options.RotateDeg));
1502
pdf.setAttribute("PresentMode", static_cast<int>(m_Doc->PDF_Options.PresentMode));
1503
pdf.setAttribute("RecalcPic", static_cast<int>(m_Doc->PDF_Options.RecalcPic));
1504
pdf.setAttribute("Grayscale", static_cast<int>(m_Doc->PDF_Options.isGrayscale));
1505
pdf.setAttribute("RGBMode", static_cast<int>(m_Doc->PDF_Options.UseRGB));
1506
pdf.setAttribute("UseProfiles", static_cast<int>(m_Doc->PDF_Options.UseProfiles));
1507
pdf.setAttribute("UseProfiles2", static_cast<int>(m_Doc->PDF_Options.UseProfiles2));
1508
pdf.setAttribute("Binding", m_Doc->PDF_Options.Binding);
1509
pdf.setAttribute("PicRes", m_Doc->PDF_Options.PicRes);
1510
pdf.setAttribute("Resolution", m_Doc->PDF_Options.Resolution);
1511
pdf.setAttribute("Version", m_Doc->PDF_Options.Version);
1512
pdf.setAttribute("Intent", m_Doc->PDF_Options.Intent);
1513
pdf.setAttribute("Intent2", m_Doc->PDF_Options.Intent2);
1514
pdf.setAttribute("SolidP", m_Doc->PDF_Options.SolidProf);
1515
pdf.setAttribute("ImageP", m_Doc->PDF_Options.ImageProf);
1516
pdf.setAttribute("PrintP", m_Doc->PDF_Options.PrintProf);
1517
pdf.setAttribute("InfoString", m_Doc->PDF_Options.Info);
1518
pdf.setAttribute("BTop", m_Doc->PDF_Options.bleeds.Top);
1519
pdf.setAttribute("BLeft", m_Doc->PDF_Options.bleeds.Left);
1520
pdf.setAttribute("BRight", m_Doc->PDF_Options.bleeds.Right);
1521
pdf.setAttribute("BBottom", m_Doc->PDF_Options.bleeds.Bottom);
1522
pdf.setAttribute("ImagePr", static_cast<int>(m_Doc->PDF_Options.EmbeddedI));
1523
pdf.setAttribute("PassOwner", m_Doc->PDF_Options.PassOwner);
1524
pdf.setAttribute("PassUser", m_Doc->PDF_Options.PassUser);
1525
pdf.setAttribute("Permissions", m_Doc->PDF_Options.Permissions);
1526
pdf.setAttribute("Encrypt", static_cast<int>(m_Doc->PDF_Options.Encrypt));
1527
pdf.setAttribute("UseLayers", static_cast<int>(m_Doc->PDF_Options.useLayers));
1528
pdf.setAttribute("UseLpi", static_cast<int>(m_Doc->PDF_Options.UseLPI));
1529
pdf.setAttribute("UseSpotColors", static_cast<int>(m_Doc->PDF_Options.UseSpotColors));
1530
pdf.setAttribute("doMultiFile", static_cast<int>(m_Doc->PDF_Options.doMultiFile));
1531
pdf.setAttribute("displayBookmarks", static_cast<int>(m_Doc->PDF_Options.displayBookmarks));
1532
pdf.setAttribute("displayFullscreen", static_cast<int>(m_Doc->PDF_Options.displayFullscreen));
1533
pdf.setAttribute("displayLayers", static_cast<int>(m_Doc->PDF_Options.displayLayers));
1534
pdf.setAttribute("displayThumbs", static_cast<int>(m_Doc->PDF_Options.displayThumbs));
1535
pdf.setAttribute("hideMenuBar", static_cast<int>(m_Doc->PDF_Options.hideMenuBar));
1536
pdf.setAttribute("hideToolBar", static_cast<int>(m_Doc->PDF_Options.hideToolBar));
1537
pdf.setAttribute("fitWindow", static_cast<int>(m_Doc->PDF_Options.fitWindow));
1538
pdf.setAttribute("PageLayout", m_Doc->PDF_Options.PageLayout);
1539
pdf.setAttribute("openAction", m_Doc->PDF_Options.openAction);
1540
for (int pdoF = 0; pdoF < m_Doc->PDF_Options.EmbedList.count(); ++pdoF)
1542
QDomElement pdf2 = docu.createElement("Fonts");
1543
pdf2.setAttribute("Name", m_Doc->PDF_Options.EmbedList[pdoF]);
1544
pdf.appendChild(pdf2);
1546
for (int pdoS = 0; pdoS < m_Doc->PDF_Options.SubsetList.count(); ++pdoS)
1548
QDomElement pdf4 = docu.createElement("Subset");
1549
pdf4.setAttribute("Name", m_Doc->PDF_Options.SubsetList[pdoS]);
1550
pdf.appendChild(pdf4);
1552
for (int pdoE = 0; pdoE < m_Doc->PDF_Options.PresentVals.count(); ++pdoE)
1554
QDomElement pdf3 = docu.createElement("Effekte");
1555
pdf3.setAttribute("pageEffectDuration", m_Doc->PDF_Options.PresentVals[pdoE].pageEffectDuration);
1556
pdf3.setAttribute("pageViewDuration", m_Doc->PDF_Options.PresentVals[pdoE].pageViewDuration);
1557
pdf3.setAttribute("effectType", m_Doc->PDF_Options.PresentVals[pdoE].effectType);
1558
pdf3.setAttribute("Dm", m_Doc->PDF_Options.PresentVals[pdoE].Dm);
1559
pdf3.setAttribute("M", m_Doc->PDF_Options.PresentVals[pdoE].M);
1560
pdf3.setAttribute("Di", m_Doc->PDF_Options.PresentVals[pdoE].Di);
1561
pdf.appendChild(pdf3);
1563
QMap<QString,LPIData>::Iterator itlp;
1564
for (itlp = m_Doc->PDF_Options.LPISettings.begin(); itlp != m_Doc->PDF_Options.LPISettings.end(); ++itlp)
1566
QDomElement pdf4 = docu.createElement("LPI");
1567
pdf4.setAttribute("Color", itlp.key());
1568
pdf4.setAttribute("Frequency", itlp.value().Frequency);
1569
pdf4.setAttribute("Angle", itlp.value().Angle);
1570
pdf4.setAttribute("SpotFunction", itlp.value().SpotFunc);
1571
pdf.appendChild(pdf4);
1573
dc.appendChild(pdf);
1574
QDomElement docItemAttrs = docu.createElement("DocItemAttributes");
1575
for(ObjAttrVector::Iterator objAttrIt = m_Doc->docItemAttributes.begin() ; objAttrIt != m_Doc->docItemAttributes.end(); ++objAttrIt )
1577
QDomElement itemAttr = docu.createElement("ItemAttribute");
1578
itemAttr.setAttribute("Name", (*objAttrIt).name);
1579
itemAttr.setAttribute("Type", (*objAttrIt).type);
1580
itemAttr.setAttribute("Value", (*objAttrIt).value);
1581
itemAttr.setAttribute("Parameter", (*objAttrIt).parameter);
1582
itemAttr.setAttribute("Relationship", (*objAttrIt).relationship);
1583
itemAttr.setAttribute("RelationshipTo", (*objAttrIt).relationshipto);
1584
itemAttr.setAttribute("AutoAddTo", (*objAttrIt).autoaddto);
1585
docItemAttrs.appendChild(itemAttr);
1587
dc.appendChild(docItemAttrs);
1588
QDomElement tocElem = docu.createElement("TablesOfContents");
1589
for(ToCSetupVector::Iterator tocSetupIt = m_Doc->docToCSetups.begin() ; tocSetupIt != m_Doc->docToCSetups.end(); ++tocSetupIt )
1591
QDomElement tocsetup = docu.createElement("TableOfContents");
1592
tocsetup.setAttribute("Name", (*tocSetupIt).name);
1593
tocsetup.setAttribute("ItemAttributeName", (*tocSetupIt).itemAttrName);
1594
tocsetup.setAttribute("FrameName", (*tocSetupIt).frameName);
1595
tocsetup.setAttribute("ListNonPrinting", (*tocSetupIt).listNonPrintingFrames);
1596
tocsetup.setAttribute("Style", (*tocSetupIt).textStyle);
1597
switch ((*tocSetupIt).pageLocation)
1600
tocsetup.setAttribute("NumberPlacement", "Beginning");
1603
tocsetup.setAttribute("NumberPlacement", "End");
1606
tocsetup.setAttribute("NumberPlacement", "NotShown");
1609
tocElem.appendChild(tocsetup);
1611
dc.appendChild(tocElem);
1612
QDomElement sectionElem = docu.createElement("Sections");
1613
for(DocumentSectionMap::Iterator it = m_Doc->sections.begin() ; it != m_Doc->sections.end(); ++it )
1615
QDomElement currsection = docu.createElement("Section");
1616
currsection.setAttribute("Number", (*it).number);
1617
currsection.setAttribute("Name", (*it).name);
1618
currsection.setAttribute("From", (*it).fromindex);
1619
currsection.setAttribute("To", (*it).toindex);
1623
currsection.setAttribute("Type", "Type_1_2_3");
1626
currsection.setAttribute("Type", "Type_i_ii_iii");
1629
currsection.setAttribute("Type", "Type_I_II_III");
1632
currsection.setAttribute("Type", "Type_a_b_c");
1635
currsection.setAttribute("Type", "Type_A_B_C");
1638
currsection.setAttribute("Type", "Type_None");
1641
currsection.setAttribute("Start", (*it).sectionstartindex);
1642
currsection.setAttribute("Reversed", (*it).reversed);
1643
currsection.setAttribute("Active", (*it).active);
1644
sectionElem.appendChild(currsection);
1646
dc.appendChild(sectionElem);
1648
QDomElement pageSetAttr = docu.createElement("PageSets");
1649
QList<PageSet>::Iterator itpgset;
1650
for(itpgset = m_Doc->pageSets.begin(); itpgset != m_Doc->pageSets.end(); ++itpgset )
1652
QDomElement pgst = docu.createElement("Set");
1653
pgst.setAttribute("Name", (*itpgset).Name);
1654
pgst.setAttribute("FirstPage", (*itpgset).FirstPage);
1655
pgst.setAttribute("Rows", (*itpgset).Rows);
1656
pgst.setAttribute("Columns", (*itpgset).Columns);
1657
// pgst.setAttribute("GapHorizontal", (*itpgset).GapHorizontal);
1658
// pgst.setAttribute("GapVertical", (*itpgset).GapVertical);
1659
// pgst.setAttribute("GapBelow", (*itpgset).GapBelow);
1660
QStringList pNames = (*itpgset).pageNames;
1661
QStringList::Iterator itpgsetN;
1662
for(itpgsetN = pNames.begin(); itpgsetN != pNames.end(); ++itpgsetN )
1664
QDomElement pgstN = docu.createElement("PageNames");
1665
pgstN.setAttribute("Name", (*itpgsetN));
1666
pgst.appendChild(pgstN);
1668
pageSetAttr.appendChild(pgst);
1670
dc.appendChild(pageSetAttr);
1671
if (m_mwProgressBar != 0)
1673
m_mwProgressBar->setMaximum(m_Doc->DocPages.count()+m_Doc->MasterPages.count()+m_Doc->DocItems.count()+m_Doc->MasterItems.count()+m_Doc->FrameItems.count());
1674
m_mwProgressBar->setValue(0);
1676
QString baseDir = QFileInfo(fileName).absolutePath();;
1677
WritePages(m_Doc, &docu, &dc, m_mwProgressBar, 0, true);
1678
WritePages(m_Doc, &docu, &dc, m_mwProgressBar, m_Doc->MasterPages.count(), false);
1679
WriteObjects(m_Doc, &docu, &dc, baseDir, m_mwProgressBar, m_Doc->MasterPages.count()+m_Doc->DocPages.count(), 2);
1680
WriteObjects(m_Doc, &docu, &dc, baseDir, m_mwProgressBar, m_Doc->MasterPages.count()+m_Doc->DocPages.count()+m_Doc->FrameItems.count(), 0);
1681
WriteObjects(m_Doc, &docu, &dc, baseDir, m_mwProgressBar, m_Doc->MasterPages.count()+m_Doc->DocPages.count()+m_Doc->MasterItems.count()+m_Doc->FrameItems.count(), 1);
1682
elem.appendChild(dc);
1684
* changed to enable saving
1689
QByteArray cs = docu.toByteArray(); // UTF-8 QCString
1690
if(fileName.right(2) == "gz")
1693
// XXX: latin1() should probably be local8Bit()
1694
if (!ScGzFile::writeToFile(fileName, cs))
1700
if(!f.open(QIODevice::WriteOnly))
1703
s.writeRawData(cs, cs.length());
1709
1195
// Low level plugin API