Author: jghali
Date: Fri Dec 14 22:56:06 2018
New Revision: 22784

URL: http://scribus.net/websvn/listing.php?repname=Scribus&sc=1&rev=22784
Log:
#15509: puzzling definition of scripter getTextColor() function

Modified:
    trunk/Scribus/scribus/plugins/scriptplugin/cmdgetprop.cpp
    trunk/Scribus/scribus/plugins/scriptplugin/cmdtext.cpp
    trunk/Scribus/scribus/plugins/scriptplugin/cmdtext.h
    trunk/Scribus/scribus/plugins/scriptplugin/scriptplugin.cpp

Modified: trunk/Scribus/scribus/plugins/scriptplugin/cmdgetprop.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22784&path=/trunk/Scribus/scribus/plugins/scriptplugin/cmdgetprop.cpp
==============================================================================
--- trunk/Scribus/scribus/plugins/scriptplugin/cmdgetprop.cpp   (original)
+++ trunk/Scribus/scribus/plugins/scriptplugin/cmdgetprop.cpp   Fri Dec 14 
22:56:06 2018
@@ -105,18 +105,7 @@
        it = GetUniqueItem(QString::fromUtf8(Name));
        if (it == nullptr)
                return nullptr;
-       if ((it->HasSel) && ((it->itemType() == PageItem::TextFrame) || 
(it->itemType() == PageItem::PathText)))
-       {
-               for (int b = 0; b < it->itemText.length(); ++b)
-               {
-                       if (it->itemText.selected(b))
-                               return 
PyString_FromString(it->itemText.charStyle(b).fillColor().toUtf8());
-               }
-       }
-       else
-               return PyString_FromString(it->lineColor().toUtf8());
-       PyErr_SetString(NotFoundError, QObject::tr("Color not found - python 
error", "python error").toLocal8Bit().constData());
-       return nullptr;
+       return PyString_FromString(it->lineColor().toUtf8());
 }
 
 PyObject *scribus_getlinetrans(PyObject* /* self */, PyObject* args)
@@ -163,17 +152,7 @@
        it = GetUniqueItem(QString::fromUtf8(Name));
        if (it == nullptr)
                return nullptr;
-       if ((it->HasSel) && ((it->itemType() == PageItem::TextFrame) || 
(it->itemType() == PageItem::PathText)))
-       {
-               for (int b = 0; b < it->itemText.length(); ++b)
-               {
-                       if (it->itemText.selected(b))
-                               return 
PyInt_FromLong(static_cast<long>(it->itemText.charStyle(b).fillShade()));
-               }
-       }
-       else
-               return PyInt_FromLong(static_cast<long>(it->lineShade()));
-       return PyInt_FromLong(0L);
+       return PyInt_FromLong(static_cast<long>(it->lineShade()));
 }
 
 PyObject *scribus_getlinejoin(PyObject* /* self */, PyObject* args)

Modified: trunk/Scribus/scribus/plugins/scriptplugin/cmdtext.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22784&path=/trunk/Scribus/scribus/plugins/scriptplugin/cmdtext.cpp
==============================================================================
--- trunk/Scribus/scribus/plugins/scriptplugin/cmdtext.cpp      (original)
+++ trunk/Scribus/scribus/plugins/scriptplugin/cmdtext.cpp      Fri Dec 14 
22:56:06 2018
@@ -98,6 +98,60 @@
        return 
PyString_FromString(item->currentCharStyle().font().scName().toUtf8());
 }
 
+PyObject *scribus_gettextcolor(PyObject* /* self */, PyObject* args)
+{
+       char *Name = const_cast<char*>("");
+       if (!PyArg_ParseTuple(args, "|es", "utf-8", &Name))
+               return nullptr;
+       if (!checkHaveDocument())
+               return nullptr;
+       PageItem *item = GetUniqueItem(QString::fromUtf8(Name));
+       if (item == nullptr)
+               return nullptr;
+    if (!(item->isTextFrame()) && !(item->isPathText()))
+       {
+               PyErr_SetString(WrongFrameTypeError, QObject::tr("Cannot get 
text color of non-text frame.", "python error").toLocal8Bit().constData());
+               return nullptr;
+       }
+       if (item->HasSel)
+       {
+               for (int i = 0; i < item->itemText.length(); ++i)
+               {
+                       if (item->itemText.selected(i))
+                               return 
PyString_FromString(item->itemText.charStyle(i).fillColor().toUtf8());
+               }
+        return nullptr;
+       }
+    return PyString_FromString(item->currentCharStyle().fillColor().toUtf8());
+}
+
+PyObject *scribus_gettextshade(PyObject* /* self */, PyObject* args)
+{
+       char *Name = const_cast<char*>("");
+       if (!PyArg_ParseTuple(args, "|es", "utf-8", &Name))
+               return nullptr;
+       if (!checkHaveDocument())
+               return nullptr;
+       PageItem *item = GetUniqueItem(QString::fromUtf8(Name));
+       if (item == nullptr)
+               return nullptr;
+       if (!(item->isTextFrame()) && !(item->isPathText()))
+       {
+               PyErr_SetString(WrongFrameTypeError, QObject::tr("Cannot get 
text color of non-text frame.", "python error").toLocal8Bit().constData());
+               return nullptr;
+       }
+       if (item->HasSel)
+       {
+               for (int i = 0; i < item->itemText.length(); ++i)
+               {
+                       if (item->itemText.selected(i))
+                               return 
PyInt_FromLong(item->itemText.charStyle(i).fillShade());
+               }
+               return nullptr;
+       }
+       return PyInt_FromLong(item->currentCharStyle().fillShade());
+}
+
 PyObject *scribus_gettextsize(PyObject* /* self */, PyObject* args)
 {
        char *Name = const_cast<char*>("");
@@ -200,7 +254,7 @@
                return nullptr;
        if (!(item->isTextFrame()) && !(item->isPathText()))
        {
-        PyErr_SetString(WrongFrameTypeError, QObject::tr("Cannot get 
fontfeatures of non-text frame.","python error").toLocal8Bit().constData());
+               PyErr_SetString(WrongFrameTypeError, QObject::tr("Cannot get 
fontfeatures of non-text frame.","python error").toLocal8Bit().constData());
                return nullptr;
        }
        if (item->HasSel)

Modified: trunk/Scribus/scribus/plugins/scriptplugin/cmdtext.h
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22784&path=/trunk/Scribus/scribus/plugins/scriptplugin/cmdtext.h
==============================================================================
--- trunk/Scribus/scribus/plugins/scriptplugin/cmdtext.h        (original)
+++ trunk/Scribus/scribus/plugins/scriptplugin/cmdtext.h        Fri Dec 14 
22:56:06 2018
@@ -48,6 +48,29 @@
 /*! Get fontfeatures */
 PyObject *scribus_getfontfeatures(PyObject * /*self*/, PyObject* args);
 
+/*! docstring */
+PyDoc_STRVAR(scribus_gettextcolor__doc__,
+       QT_TR_NOOP("getTextColor([\"name\"]) -> string\n\
+\n\
+Returns the name of the text color used for text frame \"name\".\n\
+If this text frame has some text selected the value assigned\n\
+to the first character of the selection is returned.\n\
+If \"name\" is not given the currently selected item is used.\n\
+"));
+/*! Returns color of the line */
+PyObject *scribus_gettextcolor(PyObject * /*self*/, PyObject* args);
+
+/*! docstring */
+PyDoc_STRVAR(scribus_gettextshade__doc__,
+       QT_TR_NOOP("getTextShade([\"name\"]) -> integer\n\
+\n\
+Returns the shade of text color used for text frame \"name\".\n\
+If this text frame has some text selected the value assigned\n\
+to the first character of the selection is returned.\n\
+If \"name\" is not given the currently selected item is used.\n\
+"));
+/*! Returns color of the line */
+PyObject *scribus_gettextshade(PyObject * /*self*/, PyObject* args);
 
 /*! docstring */
 PyDoc_STRVAR(scribus_gettextsize__doc__,

Modified: trunk/Scribus/scribus/plugins/scriptplugin/scriptplugin.cpp
URL: 
http://scribus.net/websvn/diff.php?repname=Scribus&rev=22784&path=/trunk/Scribus/scribus/plugins/scriptplugin/scriptplugin.cpp
==============================================================================
--- trunk/Scribus/scribus/plugins/scriptplugin/scriptplugin.cpp (original)
+++ trunk/Scribus/scribus/plugins/scriptplugin/scriptplugin.cpp Fri Dec 14 
22:56:06 2018
@@ -410,11 +410,11 @@
        {const_cast<char*>("getTableColumnWidth"), scribus_gettablecolumnwidth, 
METH_VARARGS, tr(scribus_gettablecolumnwidth__doc__)},
        {const_cast<char*>("getTableStyle"), scribus_gettablestyle, 
METH_VARARGS, tr(scribus_gettablestyle__doc__)},
        {const_cast<char*>("getTableFillColor"), scribus_gettablefillcolor, 
METH_VARARGS, tr(scribus_gettablefillcolor__doc__)},
-       {const_cast<char*>("getTextColor"), scribus_getlinecolor, METH_VARARGS, 
tr(scribus_getlinecolor__doc__)},
+       {const_cast<char*>("getText"), scribus_getframetext, METH_VARARGS, 
tr(scribus_getframetext__doc__)},
+       {const_cast<char*>("getTextColor"), scribus_gettextcolor, METH_VARARGS, 
tr(scribus_gettextcolor__doc__)},
        {const_cast<char*>("getTextLength"), scribus_gettextsize, METH_VARARGS, 
tr(scribus_gettextsize__doc__)},
        {const_cast<char*>("getTextLines"), scribus_gettextlines, METH_VARARGS, 
tr(scribus_gettextlines__doc__)},
-       {const_cast<char*>("getText"), scribus_getframetext, METH_VARARGS, 
tr(scribus_getframetext__doc__)},
-       {const_cast<char*>("getTextShade"), scribus_getlineshade, METH_VARARGS, 
tr(scribus_getlineshade__doc__)},
+       {const_cast<char*>("getTextShade"), scribus_gettextshade, METH_VARARGS, 
tr(scribus_gettextshade__doc__)},
        {const_cast<char*>("getTextVerticalAlignment"), 
scribus_gettextverticalalignment, METH_VARARGS, 
tr(scribus_gettextverticalalignment__doc__)},
        {const_cast<char*>("getUnit"), (PyCFunction)scribus_getunit, 
METH_NOARGS, tr(scribus_getunit__doc__)},
        {const_cast<char*>("getVGuides"), (PyCFunction)scribus_getVguides, 
METH_NOARGS, tr(scribus_getVguides__doc__)},


_______________________________________________
scribus-commit mailing list
[email protected]
http://lists.scribus.net/mailman/listinfo/scribus-commit

Reply via email to