Index: scriptplugin.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/scriptplugin.cpp,v
retrieving revision 1.51
diff -u -r1.51 scriptplugin.cpp
--- scriptplugin.cpp	10 Dec 2004 21:22:58 -0000	1.51
+++ scriptplugin.cpp	11 Dec 2004 18:18:49 -0000
@@ -657,7 +657,7 @@
 	{"openDoc", scribus_opendoc, METH_VARARGS, tr(scribus_opendoc__doc__)},
 	{"pageCount", (PyCFunction)scribus_pagecount, METH_NOARGS, tr(scribus_pagecount__doc__)},
 	{"pageDimension", (PyCFunction)scribus_pagedimension, METH_NOARGS, tr(scribus_pagedimension__doc__)},
-	{"progressReset", scribus_progressreset, METH_VARARGS, tr(scribus_progressreset__doc__)},
+	{"progressReset", (PyCFunction)scribus_progressreset, METH_NOARGS, tr(scribus_progressreset__doc__)},
 	{"progressSet", scribus_progresssetprogress, METH_VARARGS, tr(scribus_progresssetprogress__doc__)},
 	{"progressTotal", scribus_progresssettotalsteps, METH_VARARGS, tr(scribus_progresssettotalsteps__doc__)},
 	{"redrawAll", (PyCFunction)scribus_redraw, METH_NOARGS, tr(scribus_redraw__doc__)},
Index: guiapp.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/guiapp.cpp,v
retrieving revision 1.10
diff -u -r1.10 guiapp.cpp
--- guiapp.cpp	3 Dec 2004 15:02:55 -0000	1.10
+++ guiapp.cpp	11 Dec 2004 18:18:49 -0000
@@ -14,10 +14,8 @@
 	return Py_None;
 }
 
-PyObject *scribus_progressreset(PyObject *self, PyObject* args)
+PyObject *scribus_progressreset(PyObject *self)
 {
-	if (!PyArg_ParseTuple(args, ""))
-		return NULL;
 	Carrier->FProg->reset();
 	qApp->processEvents();
 	Py_INCREF(Py_None);
@@ -57,9 +55,9 @@
 {
 	char *aCursor;
 	qDebug("WARNING! SetCursor() is not stable!");
-	if (!PyArg_ParseTuple(args, "s", &aCursor))
+	if (!PyArg_ParseTuple(args, "es", "ascii", &aCursor))
 		return NULL;
-	if (aCursor=="wait")
+	if (strcmp(aCursor, "wait") == 0)
 		qApp->setOverrideCursor(Qt::WaitCursor);
 	else
 		qApp->restoreOverrideCursor();
Index: guiapp.h
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/guiapp.h,v
retrieving revision 1.6
diff -u -r1.6 guiapp.h
--- guiapp.h	10 Dec 2004 19:28:41 -0000	1.6
+++ guiapp.h	11 Dec 2004 18:18:49 -0000
@@ -32,7 +32,7 @@
 TODO: check total vs. set values.
 (Petr Vanek 02/19/04)
 */
-PyObject *scribus_progressreset(PyObject *self, PyObject* args);
+PyObject *scribus_progressreset(PyObject *self);
 
 /*! docstring */
 PyDoc_STRVAR(scribus_progresssettotalsteps__doc__,
Index: cmddialog.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/plugins/scriptplugin/cmddialog.cpp,v
retrieving revision 1.19
diff -u -r1.19 cmddialog.cpp
--- cmddialog.cpp	10 Dec 2004 19:28:41 -0000	1.19
+++ cmddialog.cpp	11 Dec 2004 18:18:49 -0000
@@ -22,28 +22,33 @@
 	int haspreview = 0;
 	int issave = 0;
 	char* kwargs[] = {"caption", "filter", "defaultname", "haspreview", "issave", NULL};
-	if (!PyArg_ParseTupleAndKeywords(args, kw, "s|ssii", kwargs, &caption, &filter, &defName, &haspreview, &issave))
+	if (!PyArg_ParseTupleAndKeywords(args, kw, "es|esesii", kwargs,
+									 "utf-8", &caption, "utf-8", &filter, "utf-8", &defName,
+									 &haspreview, &issave))
 		return NULL;
 	QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
-	QString fName = Carrier->CFileDialog(".", caption, filter, defName, static_cast<bool>(haspreview), static_cast<bool>(issave), 0, 0);
+	QString fName = Carrier->CFileDialog(".", QString::fromUtf8(caption), QString::fromUtf8(filter),
+										 QString::fromUtf8(defName), static_cast<bool>(haspreview),
+										 static_cast<bool>(issave), 0, 0);
 	QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
+	// FIXME: filename return unicode OK?
 	return PyString_FromString(fName.utf8());
 }
 
 PyObject *scribus_messdia(PyObject *self, PyObject* args, PyObject* kw)
 {
-	char *caption = "";
-	char *message = "";
+	char *caption = NULL;
+	char *message = NULL;
 	uint result;
 	QMessageBox::Icon ico = QMessageBox::NoIcon;
 	int butt1 = QMessageBox::Ok|QMessageBox::Default;
 	int butt2 = QMessageBox::NoButton;
 	int butt3 = QMessageBox::NoButton;
 	char* kwargs[] = {"caption", "message", "icon", "button1", "button2", "button3", NULL};
-	if (!PyArg_ParseTupleAndKeywords(args, kw, "ss|iiii", kwargs, &caption, &message, &ico, &butt1, &butt2, &butt3))
+	if (!PyArg_ParseTupleAndKeywords(args, kw, "eses|iiii", kwargs, "utf-8", &caption, "utf-8", &message, &ico, &butt1, &butt2, &butt3))
 		return NULL;
 	QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
-	QMessageBox mb(caption, message, ico, butt1, butt2, butt3, Carrier);
+	QMessageBox mb(QString::fromUtf8(caption), QString::fromUtf8(message), ico, butt1, butt2, butt3, Carrier);
 	result = mb.exec();
 	QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
 	return PyInt_FromLong(static_cast<long>(result));
@@ -51,16 +56,16 @@
 
 PyObject *scribus_valdialog(PyObject *self, PyObject* args)
 {
-	char *caption = "";
-	char *message = "";
+	char *caption = NULL;
+	char *message = NULL;
 	char *value = "";
-	if (!PyArg_ParseTuple(args, "ss|s", &caption, &message, &value))
+	if (!PyArg_ParseTuple(args, "eses|es", "utf-8", &caption, "utf-8", &message, "utf-8", &value))
 		return NULL;
 	QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
 	ValueDialog *d = new ValueDialog(Carrier, "d", TRUE, 0);
-	d->dialogLabel->setText(message);
-	d->valueEdit->setText(value);
-	d->setCaption(caption);
+	d->dialogLabel->setText(QString::fromUtf8(message));
+	d->valueEdit->setText(QString::fromUtf8(value));
+	d->setCaption(QString::fromUtf8(caption));
 	d->exec();
 	QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
 	return PyString_FromString(d->valueEdit->text().utf8());
