View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0015493 | Scribus | Scripter | public | 2018-11-25 18:37 | 2020-09-14 14:15 |
Reporter | Iam_TJ | Assigned To | cbradney | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 1.5.4.svn | ||||
Fixed in Version | 1.5.6.svn | ||||
Summary | 0015493: scriptplugin: Add setBleeds to API | ||||
Description | Add a ScribusDoc::setBleeds() method and allow the scripter API access to it. | ||||
Tags | patch | ||||
Patch | Yes | ||||
|
0001-scriptplugin-Add-setBleeds-to-API.patch (5,953 bytes)
From 4264c5a83a3a2c21b634c1f25cc6f83a96212809 Mon Sep 17 00:00:00 2001 From: TJ <hacker@iam.tj> Date: Sun, 25 Nov 2018 18:27:56 +0000 Subject: [PATCH] scriptplugin: Add setBleeds() to API Signed-off-by: TJ <hacker@iam.tj> --- doc/en/scripterapi-doc.html | 4 ++++ scribus/plugins/scriptplugin/cmddoc.cpp | 20 +++++++++++++++++++ scribus/plugins/scriptplugin/cmddoc.h | 11 ++++++++++ scribus/plugins/scriptplugin/scriptplugin.cpp | 1 + scribus/scribusdoc.cpp | 13 ++++++++++++ scribus/scribusdoc.h | 7 ++++++- 6 files changed, 55 insertions(+), 1 deletion(-) diff --git a/doc/en/scripterapi-doc.html b/doc/en/scripterapi-doc.html index 3bba9c334..2421ccf3c 100644 --- a/doc/en/scripterapi-doc.html +++ b/doc/en/scripterapi-doc.html @@ -154,6 +154,10 @@ relative path).</p> <dd><code>setInfo("author", "info", "description") -> bool</code> <p>Sets the document information. "Author", "Info", "Description" are strings.</p></dd> +<dt><a name="-setBleeds"><strong>setBleeds</strong></a>(...)</dt> +<dd><code>setBleeds(lr, rr, tr, br)</code> +<p>Sets the bleeds of the document, Left(lr), Right(rr), Top(tr) and Bottom(br) bleeds are given in the measurement units of the document - see UNIT_<type> constants.</p></dd> + <dt><a name="-setMargins"><strong>setMargins</strong></a>(...)</dt> <dd><code>setMargins(lr, rr, tr, br)</code> <p>Sets the margins of the document, Left(lr), Right(rr), Top(tr) and Bottom(br) margins are given in the measurement units of the document - see UNIT_<type> constants.</p></dd> diff --git a/scribus/plugins/scriptplugin/cmddoc.cpp b/scribus/plugins/scriptplugin/cmddoc.cpp index 8cfe8020b..d1fd2bcf0 100644 --- a/scribus/plugins/scriptplugin/cmddoc.cpp +++ b/scribus/plugins/scriptplugin/cmddoc.cpp @@ -112,6 +112,26 @@ PyObject *scribus_newdoc(PyObject* /* self */, PyObject* args) return PyInt_FromLong(static_cast<long>(ret)); } +PyObject *scribus_setbleeds(PyObject* /* self */, PyObject* args) +{ + double lr, tpr, btr, rr; + if (!PyArg_ParseTuple(args, "dddd", &lr, &rr, &tpr, &btr)) + return nullptr; + if (!checkHaveDocument()) + return nullptr; + MarginStruct bleeds(ValueToPoint(tpr), ValueToPoint(lr), ValueToPoint(btr), ValueToPoint(rr)); + + ScribusDoc* currentDoc = ScCore->primaryMainWindow()->doc; + ScribusView* currentView = ScCore->primaryMainWindow()->view; + if (currentDoc->setBleeds(bleeds)) + { + currentView->reformPages(); + currentDoc->setModified(true); + currentView->DrawNew(); + } + Py_RETURN_NONE; +} + PyObject *scribus_setmargins(PyObject* /* self */, PyObject* args) { double lr, tpr, btr, rr; diff --git a/scribus/plugins/scriptplugin/cmddoc.h b/scribus/plugins/scriptplugin/cmddoc.h index a4946fc8c..4237548c1 100644 --- a/scribus/plugins/scriptplugin/cmddoc.h +++ b/scribus/plugins/scriptplugin/cmddoc.h @@ -173,6 +173,17 @@ strings.\n\ /** Sets document infos - author, title and description */ PyObject *scribus_setinfo(PyObject * /*self*/, PyObject* args); +/*! docstring */ +PyDoc_STRVAR(scribus_setbleeds__doc__, +QT_TR_NOOP("setBleeds(lr, rr, tr, br)\n\ +\n\ +Sets the bleeds of the document, Left(lr), Right(rr), Top(tr) and Bottom(br)\n\ +bleeds are given in the measurement units of the document - see UNIT_<type>\n\ +constants.\n\ +")); +/** Sets document bleeds - left, right, top and bottom. */ +PyObject *scribus_setbleeds(PyObject * /*self*/, PyObject* args); + /*! docstring */ PyDoc_STRVAR(scribus_setmargins__doc__, QT_TR_NOOP("setMargins(lr, rr, tr, br)\n\ diff --git a/scribus/plugins/scriptplugin/scriptplugin.cpp b/scribus/plugins/scriptplugin/scriptplugin.cpp index d85675dbc..e6b79de73 100644 --- a/scribus/plugins/scriptplugin/scriptplugin.cpp +++ b/scribus/plugins/scriptplugin/scriptplugin.cpp @@ -535,6 +535,7 @@ PyMethodDef scribus_methods[] = { {const_cast<char*>("setLineSpacingMode"), scribus_setlinespacemode, METH_VARARGS, tr(scribus_setlinespacemode__doc__)}, {const_cast<char*>("setLineStyle"), scribus_setlinestyle, METH_VARARGS, tr(scribus_setlinestyle__doc__)}, {const_cast<char*>("setLineWidth"), scribus_setlinewidth, METH_VARARGS, tr(scribus_setlinewidth__doc__)}, + {const_cast<char*>("setBleeds"), scribus_setbleeds, METH_VARARGS, tr(scribus_setbleeds__doc__)}, {const_cast<char*>("setMargins"), scribus_setmargins, METH_VARARGS, tr(scribus_setmargins__doc__)}, {const_cast<char*>("setBaseLine"), scribus_setbaseline, METH_VARARGS, tr(scribus_setbaseline__doc__)}, {const_cast<char*>("setMultiLine"), scribus_setmultiline, METH_VARARGS, tr(scribus_setmultiline__doc__)}, diff --git a/scribus/scribusdoc.cpp b/scribus/scribusdoc.cpp index f7f6e0be2..5c2f6ead7 100644 --- a/scribus/scribusdoc.cpp +++ b/scribus/scribusdoc.cpp @@ -6298,6 +6298,19 @@ double ScribusDoc::getYOffsetForPage(const int pageNumber) return -1.0; } +bool ScribusDoc::setBleeds(MarginStruct& bleedData) +{ + bool result = false; + auto& bleeds = m_docPrefsData.docSetupPrefs.bleeds; + if (bleedData.left() >= 0 && bleedData.right() >= 0 && + bleedData.top() >= 0 && bleedData.bottom() >= 0) + { + bleeds.set(bleedData.top(), bleedData.left(), bleedData.bottom(), bleedData.right()); + result = true; + } + return result; +} + void ScribusDoc::getBleeds(int pageNumber, MarginStruct &bleedData) { if (pageNumber >= 0 && pageNumber < Pages->size()) diff --git a/scribus/scribusdoc.h b/scribus/scribusdoc.h index 88bbae4ee..d41cb634c 100644 --- a/scribus/scribusdoc.h +++ b/scribus/scribusdoc.h @@ -896,7 +896,12 @@ public: void getBleeds(int pageNumber, MarginStruct& bleedData); void getBleeds(const ScPage* page, MarginStruct& bleedData); void getBleeds(const ScPage* page, const MarginStruct& baseValues, MarginStruct& bleedData); - + + /** + * @brief set the document bleed values + */ + bool setBleeds(MarginStruct& bleedData); + /** * @brief Item type conversion functions */ -- 2.17.1 |
|
this has also been requested through github: https://github.com/scribusproject/scribus/issues/121 is there any reason why this patch has not been accepted yet? |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-11-25 18:37 | Iam_TJ | New Issue | |
2018-11-25 18:37 | Iam_TJ | File Added: 0001-scriptplugin-Add-setBleeds-to-API.patch | |
2018-11-25 18:57 | Iam_TJ | File Deleted: 0001-scriptplugin-Add-setBleeds-to-API.patch | |
2018-11-25 18:58 | Iam_TJ | File Added: 0001-scriptplugin-Add-setBleeds-to-API.patch | |
2019-07-05 14:39 | ale | Note Added: 0046367 | |
2019-07-05 14:39 | ale | Summary | scriptplugin: Add setBleeds to API => [PATCH] scriptplugin: Add setBleeds to API |
2019-07-05 14:39 | ale | Tag Attached: patch | |
2020-04-12 21:09 | cbradney | Assigned To | => cbradney |
2020-04-12 21:09 | cbradney | Status | new => resolved |
2020-04-12 21:09 | cbradney | Resolution | open => fixed |
2020-04-12 21:09 | cbradney | Fixed in Version | => 1.5.6.svn |
2020-08-11 20:56 | cbradney | Status | resolved => closed |
2020-09-14 14:14 | jghali | Relationship added | has duplicate 0016241 |
2020-09-14 14:15 | jghali | Summary | [PATCH] scriptplugin: Add setBleeds to API => scriptplugin: Add setBleeds to API |