r19710 by jghali - refactor objpdffile.cpp for better code readability
scribus-commit
scribus-commit at lists.scribus.net
Thu Jan 1 00:20:59 UTC 2015
Author: jghali
Date: Thu Jan 1 00:20:59 2015
New Revision: 19710
URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=19710
Log:
refactor objpdffile.cpp for better code readability
Modified:
trunk/Scribus/scribus/plugins/scriptplugin/objpdffile.cpp
Modified: trunk/Scribus/scribus/plugins/scriptplugin/objpdffile.cpp
URL: http://scribus.net/websvn/diff.php?repname=Scribus&rev=19710&path=/trunk/Scribus/scribus/plugins/scriptplugin/objpdffile.cpp
==============================================================================
--- trunk/Scribus/scribus/plugins/scriptplugin/objpdffile.cpp (original)
+++ trunk/Scribus/scribus/plugins/scriptplugin/objpdffile.cpp Thu Jan 1 00:20:59 2015
@@ -319,10 +319,14 @@
PyErr_SetString(PyExc_SystemError, "Must open doc first");
return -1;
}
+
+ ScribusDoc* currentDoc = ScCore->primaryMainWindow()->doc;
+ PDFOptions& pdfOptions = currentDoc->pdfOptions();
+
// defaut save into file
- QString tf = ScCore->primaryMainWindow()->doc->pdfOptions().fileName;
+ QString tf = pdfOptions.fileName;
if (tf.isEmpty()) {
- QFileInfo fi = QFileInfo(ScCore->primaryMainWindow()->doc->DocName);
+ QFileInfo fi = QFileInfo(currentDoc->DocName);
tf = fi.path()+"/"+fi.baseName()+".pdf";
}
PyObject *file = NULL;
@@ -345,7 +349,7 @@
return -1;
}
// get all used fonts
- QMap<QString,int> ReallyUsed = ScCore->primaryMainWindow()->doc->UsedFonts;
+ QMap<QString,int> ReallyUsed = currentDoc->UsedFonts;
// create list of all used fonts
QList<QString> tmpEm;
tmpEm = ReallyUsed.keys();
@@ -378,10 +382,10 @@
return -1;
}
// copied from TabPDFOptions::restoreDefaults()
- for (int fe = 0; fe < ScCore->primaryMainWindow()->doc->pdfOptions().SubsetList.count(); ++fe)
+ for (int fe = 0; fe < pdfOptions.SubsetList.count(); ++fe)
{
PyObject *tmp= NULL;
- tmp = PyString_FromString(ScCore->primaryMainWindow()->doc->pdfOptions().SubsetList[fe].toLatin1().data());
+ tmp = PyString_FromString(pdfOptions.SubsetList[fe].toLatin1().data());
if (tmp) {
PyList_Append(self->SubsetList, tmp);
Py_DECREF(tmp);
@@ -397,7 +401,7 @@
int num = 0;
// which one should I use ???
// new = ScCore->primaryMainWindow()->view->Pages.count()
- num = ScCore->primaryMainWindow()->doc->Pages->count();
+ num = currentDoc->Pages->count();
pages = PyList_New(num);
if (!pages){
PyErr_SetString(PyExc_SystemError, "Can not initialize 'pages' attribute");
@@ -416,24 +420,24 @@
Py_DECREF(self->pages);
self->pages = pages;
// print thumbnails ?
- self->thumbnails = ScCore->primaryMainWindow()->doc->pdfOptions().Thumbnails;
+ self->thumbnails = pdfOptions.Thumbnails;
// output crop marks ?
- self->cropMarks = ScCore->primaryMainWindow()->doc->pdfOptions().cropMarks;
+ self->cropMarks = pdfOptions.cropMarks;
// output bleed marks ?
- self->bleedMarks = ScCore->primaryMainWindow()->doc->pdfOptions().bleedMarks;
+ self->bleedMarks = pdfOptions.bleedMarks;
// output registration marks ?
- self->registrationMarks = ScCore->primaryMainWindow()->doc->pdfOptions().registrationMarks;
+ self->registrationMarks = pdfOptions.registrationMarks;
// output color bars ?
- self->colorMarks = ScCore->primaryMainWindow()->doc->pdfOptions().colorMarks;
+ self->colorMarks = pdfOptions.colorMarks;
// output doc info marks ?
- self->docInfoMarks = ScCore->primaryMainWindow()->doc->pdfOptions().docInfoMarks;
+ self->docInfoMarks = pdfOptions.docInfoMarks;
// cropmarks offset
- self->markOffset = ScCore->primaryMainWindow()->doc->pdfOptions().markOffset;
+ self->markOffset = pdfOptions.markOffset;
// set automatic compression
- self->compress = ScCore->primaryMainWindow()->doc->pdfOptions().Compress;
- self->compressmtd = ScCore->primaryMainWindow()->doc->pdfOptions().CompressMethod;
+ self->compress = pdfOptions.Compress;
+ self->compressmtd = pdfOptions.CompressMethod;
// use maximum image quality
- self->quality = ScCore->primaryMainWindow()->doc->pdfOptions().Quality;
+ self->quality = pdfOptions.Quality;
// default resolution
PyObject *resolution = NULL;
resolution = PyInt_FromLong(300);
@@ -445,7 +449,7 @@
return -1;
}
// do not downsample images
- int down = ScCore->primaryMainWindow()->doc->pdfOptions().RecalcPic ? ScCore->primaryMainWindow()->doc->pdfOptions().PicRes : 0;
+ int down = pdfOptions.RecalcPic ? pdfOptions.PicRes : 0;
PyObject *downsample = NULL;
downsample = PyInt_FromLong(down);
if (downsample){
@@ -456,17 +460,17 @@
return -1;
}
// no bookmarks
- self->bookmarks = ScCore->primaryMainWindow()->doc->pdfOptions().Bookmarks;
+ self->bookmarks = pdfOptions.Bookmarks;
// left margin binding
- self->binding = ScCore->primaryMainWindow()->doc->pdfOptions().Binding;
+ self->binding = pdfOptions.Binding;
// do not enable presentation effects
- self->presentation = ScCore->primaryMainWindow()->doc->pdfOptions().PresentMode;
+ self->presentation = pdfOptions.PresentMode;
// set effects values for all pages
PyObject *effval = NULL;
num = 0;
// which one should I use ???
// new = ScCore->primaryMainWindow()->view->Pages.count();
- num = ScCore->primaryMainWindow()->doc->Pages->count();
+ num = currentDoc->Pages->count();
effval = PyList_New(num);
if (!effval){
PyErr_SetString(PyExc_SystemError, "Can not initialize 'effval' attribute");
@@ -475,7 +479,7 @@
for (i = 0; i < num; ++i)
{
PyObject *tmp;
- PDFPresentationData t = ScCore->primaryMainWindow()->doc->Pages->at(i)->PresentVals;
+ PDFPresentationData t = currentDoc->Pages->at(i)->PresentVals;
tmp = Py_BuildValue(const_cast<char*>("[iiiiii]"), t.pageEffectDuration, t.pageViewDuration, t.effectType, t.Dm, t.M, t.Di );
if (tmp)
PyList_SetItem(effval, i, tmp);
@@ -497,22 +501,22 @@
Py_DECREF(self->effval);
self->effval = effval;
// do not save linked text frames as PDF article
- self->article = ScCore->primaryMainWindow()->doc->pdfOptions().Articles;
+ self->article = pdfOptions.Articles;
// do not encrypt file
- self->encrypt = ScCore->primaryMainWindow()->doc->pdfOptions().Encrypt;
+ self->encrypt = pdfOptions.Encrypt;
// do not Use Custom Rendering Settings
- self->uselpi = ScCore->primaryMainWindow()->doc->pdfOptions().UseLPI;
- self->usespot = ScCore->primaryMainWindow()->doc->pdfOptions().UseSpotColors;
- self->domulti = ScCore->primaryMainWindow()->doc->pdfOptions().doMultiFile;
+ self->uselpi = pdfOptions.UseLPI;
+ self->usespot = pdfOptions.UseSpotColors;
+ self->domulti = pdfOptions.doMultiFile;
// get default values for lpival
- int n = ScCore->primaryMainWindow()->doc->pdfOptions().LPISettings.size();
+ int n = pdfOptions.LPISettings.size();
PyObject *lpival=PyList_New(n);
if (!lpival){
PyErr_SetString(PyExc_SystemError, "Can not initialize 'lpival' attribute");
return -1;
}
- QMap<QString,LPIData>::Iterator it = ScCore->primaryMainWindow()->doc->pdfOptions().LPISettings.begin();
- while (it != ScCore->primaryMainWindow()->doc->pdfOptions().LPISettings.end()) {
+ QMap<QString,LPIData>::Iterator it = pdfOptions.LPISettings.begin();
+ while (it != pdfOptions.LPISettings.end()) {
PyObject *tmp;
tmp = Py_BuildValue(const_cast<char*>("[siii]"), it.key().toLatin1().constData(), it.value().Frequency, it.value().Angle, it.value().SpotFunc);
if (!tmp) {
@@ -527,7 +531,7 @@
self->lpival = lpival;
// set owner's password
PyObject *owner = NULL;
- owner = PyString_FromString(ScCore->primaryMainWindow()->doc->pdfOptions().PassOwner.toLatin1());
+ owner = PyString_FromString(pdfOptions.PassOwner.toLatin1());
if (owner){
Py_DECREF(self->owner);
self->owner = owner;
@@ -537,7 +541,7 @@
}
// set user'a password
PyObject *user = NULL;
- user = PyString_FromString(ScCore->primaryMainWindow()->doc->pdfOptions().PassUser.toLatin1());
+ user = PyString_FromString(pdfOptions.PassUser.toLatin1());
if (user){
Py_DECREF(self->user);
self->user = user;
@@ -546,26 +550,26 @@
return -1;
}
// allow printing document
- self->aprint = ScCore->primaryMainWindow()->doc->pdfOptions().Permissions & 4;
+ self->aprint = pdfOptions.Permissions & 4;
// allow changing document
- self->achange = ScCore->primaryMainWindow()->doc->pdfOptions().Permissions & 8;
+ self->achange = pdfOptions.Permissions & 8;
// allow copying document
- self->acopy = ScCore->primaryMainWindow()->doc->pdfOptions().Permissions & 16;
+ self->acopy = pdfOptions.Permissions & 16;
// allow adding annotation and fields
- self->aanot = ScCore->primaryMainWindow()->doc->pdfOptions().Permissions & 32;
+ self->aanot = pdfOptions.Permissions & 32;
// use 1.4 pdf version *aka. Acrobat 5)
- self->version = ScCore->primaryMainWindow()->doc->pdfOptions().Version;
+ self->version = pdfOptions.Version;
// output destination is screen
- self->outdst = ScCore->primaryMainWindow()->doc->pdfOptions().UseRGB ? 0 : 1;
-
- self->profiles = ScCore->primaryMainWindow()->doc->pdfOptions().UseProfiles; // bool
- self->profilei = ScCore->primaryMainWindow()->doc->pdfOptions().UseProfiles2; // bool
- self->noembicc = ScCore->primaryMainWindow()->doc->pdfOptions().EmbeddedI; // bool
- self->intents = ScCore->primaryMainWindow()->doc->pdfOptions().Intent; // int - 0 - 3
- self->intenti = ScCore->primaryMainWindow()->doc->pdfOptions().Intent2; // int - 0 - 3
- QString tp = ScCore->primaryMainWindow()->doc->pdfOptions().SolidProf;
+ self->outdst = pdfOptions.UseRGB ? 0 : 1;
+
+ self->profiles = pdfOptions.UseProfiles; // bool
+ self->profilei = pdfOptions.UseProfiles2; // bool
+ self->noembicc = pdfOptions.EmbeddedI; // bool
+ self->intents = pdfOptions.Intent; // int - 0 - 3
+ self->intenti = pdfOptions.Intent2; // int - 0 - 3
+ QString tp = pdfOptions.SolidProf;
if (!ScCore->InputProfiles.contains(tp))
- tp = ScCore->primaryMainWindow()->view->Doc->cmsSettings().DefaultSolidColorRGBProfile;
+ tp = currentDoc->cmsSettings().DefaultSolidColorRGBProfile;
PyObject *solidpr = NULL;
solidpr = PyString_FromString(tp.toLatin1());
if (solidpr){
@@ -575,9 +579,9 @@
PyErr_SetString(PyExc_SystemError, "Can not initialize 'solidpr' attribute");
return -1;
}
- QString tp2 = ScCore->primaryMainWindow()->doc->pdfOptions().ImageProf;
+ QString tp2 = pdfOptions.ImageProf;
if (!ScCore->InputProfiles.contains(tp2))
- tp2 = ScCore->primaryMainWindow()->view->Doc->cmsSettings().DefaultSolidColorRGBProfile;
+ tp2 = currentDoc->cmsSettings().DefaultSolidColorRGBProfile;
PyObject *imagepr = NULL;
imagepr = PyString_FromString(tp2.toLatin1());
if (imagepr){
@@ -587,9 +591,9 @@
PyErr_SetString(PyExc_SystemError, "Can not initialize 'imagepr' attribute");
return -1;
}
- QString tp3 = ScCore->primaryMainWindow()->doc->pdfOptions().PrintProf;
+ QString tp3 = pdfOptions.PrintProf;
if (!ScCore->PDFXProfiles.contains(tp3))
- tp3 = ScCore->primaryMainWindow()->view->Doc->cmsSettings().DefaultPrinterProfile;
+ tp3 = currentDoc->cmsSettings().DefaultPrinterProfile;
PyObject *printprofc = NULL;
printprofc = PyString_FromString(tp3.toLatin1());
if (printprofc){
@@ -599,7 +603,7 @@
PyErr_SetString(PyExc_SystemError, "Can not initialize 'printprofc' attribute");
return -1;
}
- QString tinfo = ScCore->primaryMainWindow()->doc->pdfOptions().Info;
+ QString tinfo = pdfOptions.Info;
PyObject *info = NULL;
info = PyString_FromString(tinfo.toLatin1());
if (info){
@@ -609,16 +613,16 @@
PyErr_SetString(PyExc_SystemError, "Can not initialize 'info' attribute");
return -1;
}
- self->bleedt = ScCore->primaryMainWindow()->doc->pdfOptions().bleeds.Top*ScCore->primaryMainWindow()->doc->unitRatio(); // double -
- self->bleedl = ScCore->primaryMainWindow()->doc->pdfOptions().bleeds.Left*ScCore->primaryMainWindow()->doc->unitRatio(); // double -
- self->bleedr = ScCore->primaryMainWindow()->doc->pdfOptions().bleeds.Right*ScCore->primaryMainWindow()->doc->unitRatio(); // double -
- self->bleedb = ScCore->primaryMainWindow()->doc->pdfOptions().bleeds.Bottom*ScCore->primaryMainWindow()->doc->unitRatio(); // double -
- self->usedocbleeds = ScCore->primaryMainWindow()->doc->pdfOptions().useDocBleeds; // bool
- self->useLayers = ScCore->primaryMainWindow()->doc->pdfOptions().useLayers; // bool
- self->embedPDF = ScCore->primaryMainWindow()->doc->pdfOptions().embedPDF; // bool
- self->mirrorH = ScCore->primaryMainWindow()->doc->pdfOptions().MirrorH; // bool
- self->mirrorV = ScCore->primaryMainWindow()->doc->pdfOptions().MirrorV; // bool
- self->doClip = ScCore->primaryMainWindow()->doc->pdfOptions().doClip; // bool
+ self->bleedt = pdfOptions.bleeds.Top * currentDoc->unitRatio(); // double -
+ self->bleedl = pdfOptions.bleeds.Left * currentDoc->unitRatio(); // double -
+ self->bleedr = pdfOptions.bleeds.Right * currentDoc->unitRatio(); // double -
+ self->bleedb = pdfOptions.bleeds.Bottom * currentDoc->unitRatio(); // double -
+ self->usedocbleeds = pdfOptions.useDocBleeds; // bool
+ self->useLayers = pdfOptions.useLayers; // bool
+ self->embedPDF = pdfOptions.embedPDF; // bool
+ self->mirrorH = pdfOptions.MirrorH; // bool
+ self->mirrorV = pdfOptions.MirrorV; // bool
+ self->doClip = pdfOptions.doClip; // bool
PyObject *RotateDeg = NULL;
RotateDeg = PyInt_FromLong(0);
if (RotateDeg){
@@ -628,18 +632,18 @@
PyErr_SetString(PyExc_SystemError, "Can not initialize 'RotateDeg' attribute");
return -1;
}
- self->isGrayscale = ScCore->primaryMainWindow()->doc->pdfOptions().isGrayscale; // bool
- self->pageLayout = ScCore->primaryMainWindow()->doc->pdfOptions().PageLayout; // int
- self->displayBookmarks = ScCore->primaryMainWindow()->doc->pdfOptions().displayBookmarks; // bool
- self->displayThumbs = ScCore->primaryMainWindow()->doc->pdfOptions().displayThumbs; // bool
- self->displayLayers = ScCore->primaryMainWindow()->doc->pdfOptions().displayLayers; // bool
- self->displayFullscreen = ScCore->primaryMainWindow()->doc->pdfOptions().displayFullscreen; // bool
- self->hideToolBar = ScCore->primaryMainWindow()->doc->pdfOptions().hideToolBar; // bool
- self->hideMenuBar = ScCore->primaryMainWindow()->doc->pdfOptions().hideMenuBar; // bool
- self->fitWindow = ScCore->primaryMainWindow()->doc->pdfOptions().fitWindow; // bool
+ self->isGrayscale = pdfOptions.isGrayscale; // bool
+ self->pageLayout = pdfOptions.PageLayout; // int
+ self->displayBookmarks = pdfOptions.displayBookmarks; // bool
+ self->displayThumbs = pdfOptions.displayThumbs; // bool
+ self->displayLayers = pdfOptions.displayLayers; // bool
+ self->displayFullscreen = pdfOptions.displayFullscreen; // bool
+ self->hideToolBar = pdfOptions.hideToolBar; // bool
+ self->hideMenuBar = pdfOptions.hideMenuBar; // bool
+ self->fitWindow = pdfOptions.fitWindow; // bool
PyObject *openAction = NULL;
- openAction = PyString_FromString(ScCore->primaryMainWindow()->doc->pdfOptions().openAction.toLatin1().data());
+ openAction = PyString_FromString(pdfOptions.openAction.toLatin1().data());
if (openAction){
Py_DECREF(self->openAction);
self->openAction = openAction;
@@ -653,7 +657,7 @@
static PyMemberDef PDFfile_members[] = {
{const_cast<char*>("thumbnails"), T_INT, offsetof(PDFfile, thumbnails), 0, const_cast<char*>("Generate thumbnails. Bool value.")},
- {const_cast<char*>("cropMarks"), T_INT, offsetof(PDFfile, cropMarks), 0, const_cast<char*>("Creates crop marks in the PDF indicating where the paper should be cut or trimmed after printing.")},
+ {const_cast<char*>("cropMarks"), T_INT, offsetof(PDFfile, cropMarks), 0, const_cast<char*>("Create crop marks in the PDF indicating where the paper should be cut or trimmed after printing.")},
{const_cast<char*>("bleedMarks"), T_INT, offsetof(PDFfile, bleedMarks), 0, const_cast<char*>("Create marks delimiting the bleed area.")},
{const_cast<char*>("registrationMarks"), T_INT, offsetof(PDFfile, registrationMarks), 0, const_cast<char*>("Add registration marks to each separation.")},
{const_cast<char*>("colorMarks"), T_INT, offsetof(PDFfile, colorMarks), 0, const_cast<char*>("Add color calibration bars.")},
@@ -702,8 +706,8 @@
{const_cast<char*>("displayThumbs"), T_INT, offsetof(PDFfile, displayThumbs), 0, const_cast<char*>("Display the page thumbnails upon opening")},
{const_cast<char*>("displayLayers"), T_INT, offsetof(PDFfile, displayLayers), 0, const_cast<char*>("Display the layer list upon opening. Useful only for PDF 1.5+.")},
{const_cast<char*>("displayFullscreen"), T_INT, offsetof(PDFfile, displayFullscreen), 0, const_cast<char*>("Display the document in full screen mode upon opening.")},
- {const_cast<char*>("hideToolBar"), T_INT, offsetof(PDFfile, hideToolBar), 0, const_cast<char*>("Hides the viewer toolbar. The toolbar has usually selection and other editing capabilities.")},
- {const_cast<char*>("hideMenuBar"), T_INT, offsetof(PDFfile, hideMenuBar), 0, const_cast<char*>("Hides the viewer menu bar, the PDF will display in a plain window.")},
+ {const_cast<char*>("hideToolBar"), T_INT, offsetof(PDFfile, hideToolBar), 0, const_cast<char*>("Hide the viewer toolbar. The toolbar has usually selection and other editing capabilities.")},
+ {const_cast<char*>("hideMenuBar"), T_INT, offsetof(PDFfile, hideMenuBar), 0, const_cast<char*>("Hide the viewer menu bar, the PDF will display in a plain window.")},
{const_cast<char*>("fitWindow"), T_INT, offsetof(PDFfile, fitWindow), 0, const_cast<char*>("Fit the document page or pages to the available space in the viewer window.")},
{NULL, 0, 0, 0, NULL} // sentinel
};
@@ -1203,33 +1207,36 @@
return NULL;
};
+ ScribusDoc* currentDoc = ScCore->primaryMainWindow()->doc;
+ PDFOptions& pdfOptions = currentDoc->pdfOptions();
+
// copied from file scribus.cpp
//void ScribusMainWindow::SaveAsPDF()
int Components = 3;
QString nam = "";
if (ScCore->primaryMainWindow()->bookmarkPalette->BView->topLevelItemCount() == 0)
- ScCore->primaryMainWindow()->doc->pdfOptions().Bookmarks = false;
+ pdfOptions.Bookmarks = false;
// apply fonts attribute
- ScCore->primaryMainWindow()->doc->pdfOptions().EmbedList.clear();
+ pdfOptions.EmbedList.clear();
int n = PyList_Size(self->fonts);
for ( int i=0; i<n; ++i){
QString tmpFon;
tmpFon = QString(PyString_AsString(PyList_GetItem(self->fonts, i)));
- ScCore->primaryMainWindow()->doc->pdfOptions().EmbedList.append(tmpFon);
+ pdfOptions.EmbedList.append(tmpFon);
}
// apply SubsetList attribute
- ScCore->primaryMainWindow()->doc->pdfOptions().SubsetList.clear();
+ pdfOptions.SubsetList.clear();
n = PyList_Size(self->SubsetList);
for ( int i=0; i<n; ++i){
QString tmpFon;
tmpFon = QString(PyString_AsString(PyList_GetItem(self->SubsetList, i)));
- ScCore->primaryMainWindow()->doc->pdfOptions().SubsetList.append(tmpFon);
+ pdfOptions.SubsetList.append(tmpFon);
}
// apply file attribute
QString fn;
fn = QString(PyString_AsString(self->file));
- ScCore->primaryMainWindow()->doc->pdfOptions().fileName = fn;
+ pdfOptions.fileName = fn;
// apply pages attribute
std::vector<int> pageNs;
int nn=PyList_Size(self->pages);
@@ -1237,40 +1244,40 @@
pageNs.push_back((int)PyInt_AsLong(PyList_GetItem(self->pages, i)));
}
// apply thumbnails attribute
- ScCore->primaryMainWindow()->doc->pdfOptions().Thumbnails = self->thumbnails;
+ pdfOptions.Thumbnails = self->thumbnails;
// apply cropmarks attribute
- ScCore->primaryMainWindow()->doc->pdfOptions().cropMarks = self->cropMarks;
+ pdfOptions.cropMarks = self->cropMarks;
// apply bleedmarks attribute
- ScCore->primaryMainWindow()->doc->pdfOptions().bleedMarks = self->bleedMarks;
+ pdfOptions.bleedMarks = self->bleedMarks;
// apply registrationmarks attribute
- ScCore->primaryMainWindow()->doc->pdfOptions().registrationMarks = self->registrationMarks;
+ pdfOptions.registrationMarks = self->registrationMarks;
// apply colormarks attribute
- ScCore->primaryMainWindow()->doc->pdfOptions().colorMarks = self->colorMarks;
+ pdfOptions.colorMarks = self->colorMarks;
// apply docInfoMark attribute
- ScCore->primaryMainWindow()->doc->pdfOptions().docInfoMarks = self->docInfoMarks;
+ pdfOptions.docInfoMarks = self->docInfoMarks;
// apply mark offset attribute
- ScCore->primaryMainWindow()->doc->pdfOptions().markOffset = self->markOffset;
+ pdfOptions.markOffset = self->markOffset;
// apply compress attribute
self->compressmtd = minmaxi(self->compressmtd, 0, 3);
- ScCore->primaryMainWindow()->doc->pdfOptions().Compress = self->compress;
- ScCore->primaryMainWindow()->doc->pdfOptions().CompressMethod = (PDFOptions::PDFCompression) self->compressmtd;
+ pdfOptions.Compress = self->compress;
+ pdfOptions.CompressMethod = (PDFOptions::PDFCompression) self->compressmtd;
// apply quality attribute
self->quality = minmaxi(self->quality, 0, 4);
- ScCore->primaryMainWindow()->doc->pdfOptions().Quality = self->quality;
+ pdfOptions.Quality = self->quality;
// apply resolusion attribute
- ScCore->primaryMainWindow()->doc->pdfOptions().Resolution = PyInt_AsLong(self->resolution);
+ pdfOptions.Resolution = PyInt_AsLong(self->resolution);
// apply downsample attribute
- ScCore->primaryMainWindow()->doc->pdfOptions().RecalcPic = PyInt_AsLong(self->downsample);
- if (ScCore->primaryMainWindow()->doc->pdfOptions().RecalcPic)
- ScCore->primaryMainWindow()->doc->pdfOptions().PicRes = PyInt_AsLong(self->downsample);
+ pdfOptions.RecalcPic = PyInt_AsLong(self->downsample);
+ if (pdfOptions.RecalcPic)
+ pdfOptions.PicRes = PyInt_AsLong(self->downsample);
else
- ScCore->primaryMainWindow()->doc->pdfOptions().PicRes = ScCore->primaryMainWindow()->doc->pdfOptions().Resolution;
+ pdfOptions.PicRes = pdfOptions.Resolution;
// apply bookmarks attribute
- ScCore->primaryMainWindow()->doc->pdfOptions().Bookmarks = self->bookmarks;
+ pdfOptions.Bookmarks = self->bookmarks;
// apply binding attribute
- ScCore->primaryMainWindow()->doc->pdfOptions().Binding = self->binding;
+ pdfOptions.Binding = self->binding;
// apply presentation attribute
- ScCore->primaryMainWindow()->doc->pdfOptions().PresentMode = self->presentation;
+ pdfOptions.PresentMode = self->presentation;
QList<PDFPresentationData> PresentVals;
PresentVals.clear();
@@ -1303,7 +1310,7 @@
}
-// ScCore->primaryMainWindow()->doc->pdfOptions().PresentVals = PresentVals;
+// pdfOptions.PresentVals = PresentVals;
// apply lpival
int n2 = PyList_Size(self->lpival);
for (int i=0; i<n2; ++i){
@@ -1316,27 +1323,27 @@
// PyErr_SetString(PyExc_SystemError, "while parsing 'lpival'. WHY THIS HAPPENED????");
// return NULL;
// }
-// ScCore->primaryMainWindow()->doc->pdfOptions().LPISettings[QString(s)]=lpi;
+// pdfOptions.LPISettings[QString(s)]=lpi;
QString st;
st = QString(PyString_AsString(PyList_GetItem(t,0)));
lpi.Frequency = PyInt_AsLong(PyList_GetItem(t, 1));
lpi.Angle = PyInt_AsLong(PyList_GetItem(t, 2));
lpi.SpotFunc = PyInt_AsLong(PyList_GetItem(t, 3));
- ScCore->primaryMainWindow()->doc->pdfOptions().LPISettings[st]=lpi;
- }
-
- ScCore->primaryMainWindow()->doc->pdfOptions().Articles = self->article;
- ScCore->primaryMainWindow()->doc->pdfOptions().Encrypt = self->encrypt;
- ScCore->primaryMainWindow()->doc->pdfOptions().UseLPI = self->uselpi;
- ScCore->primaryMainWindow()->doc->pdfOptions().UseSpotColors = self->usespot;
- ScCore->primaryMainWindow()->doc->pdfOptions().doMultiFile = self->domulti;
+ pdfOptions.LPISettings[st]=lpi;
+ }
+
+ pdfOptions.Articles = self->article;
+ pdfOptions.Encrypt = self->encrypt;
+ pdfOptions.UseLPI = self->uselpi;
+ pdfOptions.UseSpotColors = self->usespot;
+ pdfOptions.doMultiFile = self->domulti;
self->version = minmaxi(self->version, PDFOptions::PDFVersion_Min, PDFOptions::PDFVersion_Max);
// FIXME: Sanity check version
- ScCore->primaryMainWindow()->doc->pdfOptions().Version = (PDFOptions::PDFVersion)self->version;
+ pdfOptions.Version = (PDFOptions::PDFVersion)self->version;
if (self->encrypt)
{
int Perm = -64;
- if (ScCore->primaryMainWindow()->doc->pdfOptions().Version == PDFOptions::PDFVersion_14)
+ if (pdfOptions.Version == PDFOptions::PDFVersion_14)
Perm &= ~0x00240000;
if (self->aprint)
Perm += 4;
@@ -1346,37 +1353,37 @@
Perm += 16;
if (self->aanot)
Perm += 32;
- ScCore->primaryMainWindow()->doc->pdfOptions().Permissions = Perm;
- ScCore->primaryMainWindow()->doc->pdfOptions().PassOwner = QString(PyString_AsString(self->owner));
- ScCore->primaryMainWindow()->doc->pdfOptions().PassUser = QString(PyString_AsString(self->user));
+ pdfOptions.Permissions = Perm;
+ pdfOptions.PassOwner = QString(PyString_AsString(self->owner));
+ pdfOptions.PassUser = QString(PyString_AsString(self->user));
}
if (self->outdst == 0)
{
- ScCore->primaryMainWindow()->doc->pdfOptions().UseRGB = true;
- ScCore->primaryMainWindow()->doc->pdfOptions().UseProfiles = false;
- ScCore->primaryMainWindow()->doc->pdfOptions().UseProfiles2 = false;
+ pdfOptions.UseRGB = true;
+ pdfOptions.UseProfiles = false;
+ pdfOptions.UseProfiles2 = false;
}
else
{
- ScCore->primaryMainWindow()->doc->pdfOptions().UseRGB = false;
+ pdfOptions.UseRGB = false;
if (ScCore->primaryMainWindow()->doc->HasCMS)
{
- ScCore->primaryMainWindow()->doc->pdfOptions().UseProfiles = self->profiles;
- ScCore->primaryMainWindow()->doc->pdfOptions().UseProfiles2 = self->profilei;
+ pdfOptions.UseProfiles = self->profiles;
+ pdfOptions.UseProfiles2 = self->profilei;
self->intents = minmaxi(self->intents, 0, 3);
- ScCore->primaryMainWindow()->doc->pdfOptions().Intent = self->intents;
+ pdfOptions.Intent = self->intents;
self->intenti = minmaxi(self->intenti, 0, 3);
- ScCore->primaryMainWindow()->doc->pdfOptions().Intent2 = self->intenti;
- ScCore->primaryMainWindow()->doc->pdfOptions().EmbeddedI = self->noembicc;
- ScCore->primaryMainWindow()->doc->pdfOptions().SolidProf = PyString_AsString(self->solidpr);
- ScCore->primaryMainWindow()->doc->pdfOptions().ImageProf = PyString_AsString(self->imagepr);
- ScCore->primaryMainWindow()->doc->pdfOptions().PrintProf = PyString_AsString(self->printprofc);
- if (ScCore->primaryMainWindow()->doc->pdfOptions().Version == PDFOptions::PDFVersion_X1a ||
- ScCore->primaryMainWindow()->doc->pdfOptions().Version == PDFOptions::PDFVersion_X3 ||
- ScCore->primaryMainWindow()->doc->pdfOptions().Version == PDFOptions::PDFVersion_X4)
+ pdfOptions.Intent2 = self->intenti;
+ pdfOptions.EmbeddedI = self->noembicc;
+ pdfOptions.SolidProf = PyString_AsString(self->solidpr);
+ pdfOptions.ImageProf = PyString_AsString(self->imagepr);
+ pdfOptions.PrintProf = PyString_AsString(self->printprofc);
+ if (pdfOptions.Version == PDFOptions::PDFVersion_X1a ||
+ pdfOptions.Version == PDFOptions::PDFVersion_X3 ||
+ pdfOptions.Version == PDFOptions::PDFVersion_X4)
{
ScColorProfile profile;
- profile = ScCore->defaultEngine.openProfileFromFile(ScCore->PrinterProfiles[ScCore->primaryMainWindow()->doc->pdfOptions().PrintProf]);
+ profile = ScCore->defaultEngine.openProfileFromFile(ScCore->PrinterProfiles[pdfOptions.PrintProf]);
nam = profile.productDescription();
if (profile.colorSpace() == ColorSpace_Rgb)
Components = 3;
@@ -1384,64 +1391,64 @@
Components = 4;
if (profile.colorSpace() == ColorSpace_Cmy)
Components = 3;
- ScCore->primaryMainWindow()->doc->pdfOptions().Info = PyString_AsString(self->info);
- ScCore->primaryMainWindow()->doc->pdfOptions().Encrypt = false;
- ScCore->primaryMainWindow()->doc->pdfOptions().PresentMode = false;
+ pdfOptions.Info = PyString_AsString(self->info);
+ pdfOptions.Encrypt = false;
+ pdfOptions.PresentMode = false;
}
}
else
{
- ScCore->primaryMainWindow()->doc->pdfOptions().UseProfiles = false;
- ScCore->primaryMainWindow()->doc->pdfOptions().UseProfiles2 = false;
+ pdfOptions.UseProfiles = false;
+ pdfOptions.UseProfiles2 = false;
}
}
QMap<int,QPixmap> thumbs;
for (uint ap = 0; ap < pageNs.size(); ++ap)
{
QPixmap pm(10,10);
- if (ScCore->primaryMainWindow()->doc->pdfOptions().Thumbnails)
+ if (pdfOptions.Thumbnails)
pm = QPixmap::fromImage(ScCore->primaryMainWindow()->view->PageToPixmap(pageNs[ap]-1, 100));
thumbs.insert(pageNs[ap], pm);
}
ReOrderText(ScCore->primaryMainWindow()->doc, ScCore->primaryMainWindow()->view);
- MarginStruct optBleeds(ScCore->primaryMainWindow()->doc->pdfOptions().bleeds);
- ScCore->primaryMainWindow()->doc->pdfOptions().useDocBleeds = self->usedocbleeds;
+ MarginStruct optBleeds(pdfOptions.bleeds);
+ pdfOptions.useDocBleeds = self->usedocbleeds;
if (self->usedocbleeds)
- ScCore->primaryMainWindow()->doc->pdfOptions().bleeds = ScCore->primaryMainWindow()->doc->bleedsVal();
+ pdfOptions.bleeds = ScCore->primaryMainWindow()->doc->bleedsVal();
else {
- self->bleedt = minmaxd(self->bleedt, 0, ScCore->primaryMainWindow()->view->Doc->pageHeight()*ScCore->primaryMainWindow()->view->Doc->unitRatio());
- ScCore->primaryMainWindow()->doc->pdfOptions().bleeds.Top = self->bleedt/ScCore->primaryMainWindow()->view->Doc->unitRatio();
- self->bleedl = minmaxd(self->bleedl, 0, ScCore->primaryMainWindow()->view->Doc->pageWidth()*ScCore->primaryMainWindow()->view->Doc->unitRatio());
- ScCore->primaryMainWindow()->doc->pdfOptions().bleeds.Left = self->bleedl/ScCore->primaryMainWindow()->view->Doc->unitRatio();
- self->bleedr = minmaxd(self->bleedr, 0, ScCore->primaryMainWindow()->view->Doc->pageWidth()*ScCore->primaryMainWindow()->view->Doc->unitRatio());
- ScCore->primaryMainWindow()->doc->pdfOptions().bleeds.Right = self->bleedr/ScCore->primaryMainWindow()->view->Doc->unitRatio();
- self->bleedb = minmaxd(self->bleedb, 0, ScCore->primaryMainWindow()->view->Doc->pageHeight()*ScCore->primaryMainWindow()->view->Doc->unitRatio());
- ScCore->primaryMainWindow()->doc->pdfOptions().bleeds.Bottom = self->bleedb/ScCore->primaryMainWindow()->view->Doc->unitRatio();
- }
- ScCore->primaryMainWindow()->doc->pdfOptions().useLayers = self->useLayers;
- ScCore->primaryMainWindow()->doc->pdfOptions().embedPDF = self->embedPDF;
- ScCore->primaryMainWindow()->doc->pdfOptions().MirrorH = self->mirrorH;
- ScCore->primaryMainWindow()->doc->pdfOptions().MirrorV = self->mirrorV;
- ScCore->primaryMainWindow()->doc->pdfOptions().doClip = self->doClip;
- ScCore->primaryMainWindow()->doc->pdfOptions().RotateDeg = PyInt_AsLong(self->RotateDeg);
- ScCore->primaryMainWindow()->doc->pdfOptions().isGrayscale = self->isGrayscale;
- ScCore->primaryMainWindow()->doc->pdfOptions().PageLayout = minmaxi(self->pageLayout, 0, 3);
- ScCore->primaryMainWindow()->doc->pdfOptions().displayBookmarks = self->displayBookmarks;
- ScCore->primaryMainWindow()->doc->pdfOptions().displayThumbs = self->displayThumbs;
- ScCore->primaryMainWindow()->doc->pdfOptions().displayLayers = self->displayLayers;
- ScCore->primaryMainWindow()->doc->pdfOptions().displayFullscreen = self->displayFullscreen;
- ScCore->primaryMainWindow()->doc->pdfOptions().hideToolBar = self->hideToolBar;
- ScCore->primaryMainWindow()->doc->pdfOptions().hideMenuBar = self->hideMenuBar;
- ScCore->primaryMainWindow()->doc->pdfOptions().fitWindow = self->fitWindow;
- ScCore->primaryMainWindow()->doc->pdfOptions().cropMarks = self->cropMarks;
- ScCore->primaryMainWindow()->doc->pdfOptions().bleedMarks = self->bleedMarks;
- ScCore->primaryMainWindow()->doc->pdfOptions().registrationMarks = self->registrationMarks;
- ScCore->primaryMainWindow()->doc->pdfOptions().colorMarks = self->colorMarks;
- ScCore->primaryMainWindow()->doc->pdfOptions().docInfoMarks = self->docInfoMarks;
- ScCore->primaryMainWindow()->doc->pdfOptions().markOffset = self->markOffset;
- ScCore->primaryMainWindow()->doc->pdfOptions().openAction = QString(PyString_AsString(self->openAction));
- ScCore->primaryMainWindow()->doc->pdfOptions().firstUse = false;
+ self->bleedt = minmaxd(self->bleedt, 0, currentDoc->pageHeight() * currentDoc->unitRatio());
+ pdfOptions.bleeds.Top = self->bleedt / currentDoc->unitRatio();
+ self->bleedl = minmaxd(self->bleedl, 0, currentDoc->pageWidth() * currentDoc->unitRatio());
+ pdfOptions.bleeds.Left = self->bleedl / currentDoc->unitRatio();
+ self->bleedr = minmaxd(self->bleedr, 0, currentDoc->pageWidth() * currentDoc->unitRatio());
+ pdfOptions.bleeds.Right = self->bleedr / currentDoc->unitRatio();
+ self->bleedb = minmaxd(self->bleedb, 0, currentDoc->pageHeight() * currentDoc->unitRatio());
+ pdfOptions.bleeds.Bottom = self->bleedb / currentDoc->unitRatio();
+ }
+ pdfOptions.useLayers = self->useLayers;
+ pdfOptions.embedPDF = self->embedPDF;
+ pdfOptions.MirrorH = self->mirrorH;
+ pdfOptions.MirrorV = self->mirrorV;
+ pdfOptions.doClip = self->doClip;
+ pdfOptions.RotateDeg = PyInt_AsLong(self->RotateDeg);
+ pdfOptions.isGrayscale = self->isGrayscale;
+ pdfOptions.PageLayout = minmaxi(self->pageLayout, 0, 3);
+ pdfOptions.displayBookmarks = self->displayBookmarks;
+ pdfOptions.displayThumbs = self->displayThumbs;
+ pdfOptions.displayLayers = self->displayLayers;
+ pdfOptions.displayFullscreen = self->displayFullscreen;
+ pdfOptions.hideToolBar = self->hideToolBar;
+ pdfOptions.hideMenuBar = self->hideMenuBar;
+ pdfOptions.fitWindow = self->fitWindow;
+ pdfOptions.cropMarks = self->cropMarks;
+ pdfOptions.bleedMarks = self->bleedMarks;
+ pdfOptions.registrationMarks = self->registrationMarks;
+ pdfOptions.colorMarks = self->colorMarks;
+ pdfOptions.docInfoMarks = self->docInfoMarks;
+ pdfOptions.markOffset = self->markOffset;
+ pdfOptions.openAction = QString(PyString_AsString(self->openAction));
+ pdfOptions.firstUse = false;
QString errorMessage;
bool success = ScCore->primaryMainWindow()->getPDFDriver(fn, nam, Components, pageNs, thumbs, errorMessage);
@@ -1453,7 +1460,7 @@
}
if (self->usedocbleeds)
- ScCore->primaryMainWindow()->doc->pdfOptions().bleeds = optBleeds;
+ pdfOptions.bleeds = optBleeds;
if (success)
Py_RETURN_NONE;
More information about the scribus-commit
mailing list