Пример #1
0
PyObject* scribus_deletemasterpage(PyObject* /* self */, PyObject* args)
{
	char* name = nullptr;
	if (!PyArg_ParseTuple(args, "es", const_cast<char*>("utf-8"), &name))
		return nullptr;
	if (!checkHaveDocument())
		return nullptr;
	const QString masterPageName(name);

	ScribusDoc* currentDoc = ScCore->primaryMainWindow()->doc;
	if (!currentDoc->MasterNames.contains(masterPageName))
	{
		PyErr_SetString(PyExc_ValueError, "Master page does not exist");
		return nullptr;
	}
	if (masterPageName == "Normal")
	{
		PyErr_SetString(PyExc_ValueError, "Can not delete the Normal master page");
		return nullptr;
	}
	bool oldMode = currentDoc->masterPageMode();
	currentDoc->setMasterPageMode(true);
	ScCore->primaryMainWindow()->deletePage2(currentDoc->MasterNames[masterPageName]);
	currentDoc->setMasterPageMode(oldMode);

	Py_RETURN_NONE;
}