View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0015306 | Scribus | Scripter | public | 2018-05-08 12:05 | 2019-06-04 20:56 |
Reporter | jurajF | Assigned To | jghali | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Platform | x86_64 | OS | GNU/Linux | OS Version | Debian 8/Jessie |
Product Version | 1.5.4.svn | ||||
Fixed in Version | 1.5.5.svn | ||||
Summary | 0015306: Add python command setScaleFrameToImage | ||||
Description | This patch will add setScaleFrameToImage() function to python scripter. Also included is very short script that uses this function as example. | ||||
Additional Information | PS; I had an impression I sent this patch back in 2016 but I can not find it in bugtracker so I am sending it now (sorry if there is duplicate somewhere) | ||||
Tags | No tags attached. | ||||
Patch | Yes | ||||
|
0001-Add-python-command-setScaleFrameToImage.patch (4,153 bytes)
From 9a4856a5416759ad6ed1bd5234bb0f63c6070a93 Mon Sep 17 00:00:00 2001 From: Juraj Fedel <wtxnh-scribus@yahoo.com.au> Date: Tue, 8 May 2018 10:16:17 +0200 Subject: [PATCH] Add python command setScaleFrameToImage --- scribus/plugins/scriptplugin/cmdmani.cpp | 24 +++++++++++++++++++ scribus/plugins/scriptplugin/cmdmani.h | 9 +++++++ scribus/plugins/scriptplugin/scriptplugin.cpp | 1 + 3 files changed, 34 insertions(+) diff --git a/scribus/plugins/scriptplugin/cmdmani.cpp b/scribus/plugins/scriptplugin/cmdmani.cpp index c77e0bdfb..187cd4f7a 100644 --- a/scribus/plugins/scriptplugin/cmdmani.cpp +++ b/scribus/plugins/scriptplugin/cmdmani.cpp @@ -536,6 +536,29 @@ PyObject *scribus_islocked(PyObject* /* self */, PyObject* args) return PyBool_FromLong(0); } +PyObject *scribus_setscaleframetoimage(PyObject* /* self */, PyObject* args) +{ + if(!checkHaveDocument()) + return NULL; + char *Name = const_cast<char*>(""); + if (!PyArg_ParseTuple(args, "|es", "utf-8", &Name)) + return NULL; + PageItem *item = GetUniqueItem(QString::fromUtf8(Name)); + if (item == NULL) + return NULL; + if (!item->asImageFrame()) + { + PyErr_SetString(WrongFrameTypeError, QObject::tr("Specified item not an image frame.","python error").toLocal8Bit().constData()); + return NULL; + } + Selection *sel = new Selection(ScCore->primaryMainWindow()); + sel->addItem(item); + ScCore->primaryMainWindow()->doc->itemSelection_AdjustFrametoImageSize(sel); + delete sel; + + Py_RETURN_NONE; +} + PyObject *scribus_setscaleimagetoframe(PyObject* /* self */, PyObject* args, PyObject* kw) { char *name = const_cast<char*>(""); @@ -629,5 +652,6 @@ void cmdmanidocwarnings() << scribus_loadimage__doc__ << scribus_scaleimage__doc__ << scribus_setimagescale__doc__ << scribus_lockobject__doc__ << scribus_islocked__doc__ << scribus_setscaleimagetoframe__doc__ << scribus_setimagebrightness__doc__ << scribus_setimagegrayscale__doc__ << scribus_setimageoffset__doc__ + << scribus_setscaleframetoimage__doc__ << scribus_flipobject__doc__; } diff --git a/scribus/plugins/scriptplugin/cmdmani.h b/scribus/plugins/scriptplugin/cmdmani.h index cfef82da1..c03a42717 100644 --- a/scribus/plugins/scriptplugin/cmdmani.h +++ b/scribus/plugins/scriptplugin/cmdmani.h @@ -241,6 +241,15 @@ currently selected item is used.\n\ /*! Status of locking 2004/7/10 pv.*/ PyObject *scribus_islocked(PyObject * /*self*/, PyObject* args); +PyDoc_STRVAR(scribus_setscaleframetoimage__doc__, +QT_TR_NOOP("setScaleFrameToImage([name])\n\ +\n\ +Set frame size to image size.\n\ +\n\ +May raise WrongFrameTypeError.\n\ +")); +PyObject *scribus_setscaleframetoimage(PyObject * /*self*/, PyObject* args); + PyDoc_STRVAR(scribus_setscaleimagetoframe__doc__, QT_TR_NOOP("setScaleImageToFrame(scaletoframe, proportional=None, name=<selection>)\n\ \n\ diff --git a/scribus/plugins/scriptplugin/scriptplugin.cpp b/scribus/plugins/scriptplugin/scriptplugin.cpp index f17c31a03..96f159860 100644 --- a/scribus/plugins/scriptplugin/scriptplugin.cpp +++ b/scribus/plugins/scriptplugin/scriptplugin.cpp @@ -540,6 +540,7 @@ PyMethodDef scribus_methods[] = { // missing? {"setSelectedObject", scribus_setselobjnam, METH_VARARGS, "Returns the Name of the selecteted Object. \"nr\" if given indicates the Number of the selected Object, e.g. 0 means the first selected Object, 1 means the second selected Object and so on."}, {const_cast<char*>("hyphenateText"), scribus_hyphenatetext, METH_VARARGS, tr(scribus_hyphenatetext__doc__)}, {const_cast<char*>("dehyphenateText"), scribus_dehyphenatetext, METH_VARARGS, tr(scribus_dehyphenatetext__doc__)}, + {const_cast<char*>("setScaleFrameToImage"), (PyCFunction)scribus_setscaleframetoimage, METH_VARARGS, tr(scribus_setscaleframetoimage__doc__)}, {const_cast<char*>("setScaleImageToFrame"), (PyCFunction)scribus_setscaleimagetoframe, METH_KEYWORDS, tr(scribus_setscaleimagetoframe__doc__)}, {const_cast<char*>("setStyle"), scribus_setstyle, METH_VARARGS, tr(scribus_setstyle__doc__)}, {const_cast<char*>("setCharacterStyle"), scribus_setcharstyle, METH_VARARGS, tr(scribus_setcharstyle__doc__) }, -- 2.17.0 scaleframe.py (532 bytes)
scribus.newDocument(scribus.PAPER_A4, (15,15, 20, 20), scribus.PORTRAIT, 1, scribus.UNIT_POINTS, scribus.PAGE_1, 0, 1) # supply your own image file here image_file = "smiley_bw.png" pic = scribus.createImage(50, 50, 200, 200, "ImageToFrame") scribus.loadImage(image_file, pic) scribus.setScaleImageToFrame(True, True, pic) pic2 = scribus.createImage(300, 300, 200, 200, "FrameToImage") scribus.loadImage(image_file, pic2) scribus.setScaleFrameToImage(pic2) scribus.saveDocAs("scaleFrame.sla") pdf = scribus.PDFfile() pdf.save() |
|
You add previously posted a patch for setScaleImageToFrame(), patch for setScaleFrameToImage() was indeed missing. |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-05-08 12:05 | jurajF | New Issue | |
2018-05-08 12:05 | jurajF | File Added: 0001-Add-python-command-setScaleFrameToImage.patch | |
2018-05-08 12:05 | jurajF | File Added: scaleframe.py | |
2018-05-09 06:36 | ale | Summary | Add python command setScaleFrameToImage => [PATCH] Add python command setScaleFrameToImage |
2018-05-13 12:54 | jghali | Summary | [PATCH] Add python command setScaleFrameToImage => Add python command setScaleFrameToImage |
2018-05-13 12:56 | jghali | Assigned To | => jghali |
2018-05-13 12:56 | jghali | Status | new => resolved |
2018-05-13 12:56 | jghali | Resolution | open => fixed |
2018-05-13 12:56 | jghali | Fixed in Version | => 1.5.5.svn |
2018-05-13 12:56 | jghali | Note Added: 0045233 | |
2019-06-04 20:56 | cbradney | Status | resolved => closed |