diff options
| author | Jan Zeleny <jz@janzeleny.cz> | 2012-03-03 14:06:39 +0100 |
|---|---|---|
| committer | Jan Zeleny <jzeleny@redhat.com> | 2012-09-29 23:02:50 +0200 |
| commit | 8139c0ead3410cdc6b5057befb30a0636acfbbdd (patch) | |
| tree | 52e94c0ae0dc8d48306c1a6d72e417fd5c36b068 /scribus/plugins/scriptplugin | |
| parent | 0afad437fe816bf593833d9b6b5209d914a7cb37 (diff) | |
| download | scribus-8139c0ead3410cdc6b5057befb30a0636acfbbdd.tar.gz scribus-8139c0ead3410cdc6b5057befb30a0636acfbbdd.tar.xz scribus-8139c0ead3410cdc6b5057befb30a0636acfbbdd.zip | |
Added the base function for importing HTML files from Python scripts
Diffstat (limited to 'scribus/plugins/scriptplugin')
| -rw-r--r-- | scribus/plugins/scriptplugin/cmdtext.cpp | 34 | ||||
| -rw-r--r-- | scribus/plugins/scriptplugin/cmdtext.h | 11 | ||||
| -rw-r--r-- | scribus/plugins/scriptplugin/scriptplugin.cpp | 1 |
3 files changed, 46 insertions, 0 deletions
diff --git a/scribus/plugins/scriptplugin/cmdtext.cpp b/scribus/plugins/scriptplugin/cmdtext.cpp index 8249fb1..0b7934c 100644 --- a/scribus/plugins/scriptplugin/cmdtext.cpp +++ b/scribus/plugins/scriptplugin/cmdtext.cpp @@ -315,6 +315,40 @@ PyObject *scribus_inserttext(PyObject* /* self */, PyObject* args) Py_RETURN_NONE; } +PyObject *scribus_inserthtmltext(PyObject* /* self */, PyObject* args) +{ + char *name; + char *file; + QString data; + gtGetText *gt; + + if (!PyArg_ParseTuple(args, "eses", "utf-8", &file, "utf-8", &name)) { + return NULL; + } + + if(!checkHaveDocument()) { + return NULL; + } + + PageItem *it = GetUniqueItem(QString::fromUtf8(name)); + if (it == NULL) { + return NULL; + } + + if (!(it->asTextFrame()) && !(it->asPathText())) { + PyErr_SetString(WrongFrameTypeError, + QObject::tr("Cannot insert text into non-text frame.", + "python error").toLocal8Bit().constData()); + return NULL; + } + + gt = new gtGetText(ScCore->primaryMainWindow()->doc); + gt->launchImporter(-1, QString(file), false, QString("utf-8"), false, it); + + // FIXME: PyMem_Free() - are any needed?? + Py_RETURN_NONE; +} + PyObject *scribus_setalign(PyObject* /* self */, PyObject* args) { char *Name = const_cast<char*>(""); diff --git a/scribus/plugins/scriptplugin/cmdtext.h b/scribus/plugins/scriptplugin/cmdtext.h index ffff82d..3232551 100644 --- a/scribus/plugins/scriptplugin/cmdtext.h +++ b/scribus/plugins/scriptplugin/cmdtext.h @@ -148,6 +148,17 @@ May throw IndexError for an insertion out of bounds.\n\ PyObject *scribus_inserttext(PyObject * /*self*/, PyObject* args); /*! docstring */ +PyDoc_STRVAR(scribus_inserthtmltext__doc__, +QT_TR_NOOP("insertHTMLText(\"file\", [\"name\"])\n\ +\n\ +Inserts the text from \"file\" into the text frame \"name\".\n\ +Text must be UTF encoded (see setText() as reference). If \"name\" is\n\ +not given the currently selected Item is used.\n\ +")); +/*! Insert HTML text */ +PyObject *scribus_inserthtmltext(PyObject * /*self*/, PyObject* args); + +/*! docstring */ PyDoc_STRVAR(scribus_setfont__doc__, QT_TR_NOOP("setFont(\"font\", [\"name\"])\n\ \n\ diff --git a/scribus/plugins/scriptplugin/scriptplugin.cpp b/scribus/plugins/scriptplugin/scriptplugin.cpp index 3f043b0..464f65f 100644 --- a/scribus/plugins/scriptplugin/scriptplugin.cpp +++ b/scribus/plugins/scriptplugin/scriptplugin.cpp @@ -374,6 +374,7 @@ PyMethodDef scribus_methods[] = { {const_cast<char*>("placeSXD"), scribus_placesxd, METH_VARARGS, tr(scribus_placesxd__doc__)}, {const_cast<char*>("placeODG"), scribus_placeodg, METH_VARARGS, tr(scribus_placeodg__doc__)}, {const_cast<char*>("insertText"), scribus_inserttext, METH_VARARGS, tr(scribus_inserttext__doc__)}, + {const_cast<char*>("insertHtmlText"), scribus_inserthtmltext, METH_VARARGS, tr(scribus_inserthtmltext__doc__)}, {const_cast<char*>("isLayerPrintable"), scribus_glayerprint, METH_VARARGS, tr(scribus_glayerprint__doc__)}, {const_cast<char*>("isLayerVisible"), scribus_glayervisib, METH_VARARGS, tr(scribus_glayervisib__doc__)}, {const_cast<char*>("isLayerLocked"), scribus_glayerlock, METH_VARARGS, tr(scribus_glayerlock__doc__)}, |
