Back to index

scribus-ng  1.3.4.dfsg+svn20071115
Functions
cmddialog.cpp File Reference
#include "cmddialog.h"
#include "cmdutil.h"
#include "scribuscore.h"
#include "valuedialog.h"
#include "editformats.h"
#include "customfdialog.h"
#include "stylemanager.h"
#include "styleitem.h"
#include <qmessagebox.h>
#include <qcursor.h>

Go to the source code of this file.

Functions

PyObject * scribus_newdocdia (PyObject *)
 Raises the Scribus New Document dialog.
PyObject * scribus_filedia (PyObject *, PyObject *args, PyObject *kw)
 Raises file dialog.
PyObject * scribus_messdia (PyObject *, PyObject *args, PyObject *kw)
 Displays a message box with - caption, message, icon, button and two more buttons optional.
PyObject * scribus_valdialog (PyObject *, PyObject *args)
PyObject * scribus_newstyledialog (PyObject *, PyObject *args)
void cmddialogdocwarnings ()
 HACK: this removes "warning: 'blash' defined but not used" compiler warnings with header files structure untouched (docstrings are kept near declarations) PV.

Function Documentation

HACK: this removes "warning: 'blash' defined but not used" compiler warnings with header files structure untouched (docstrings are kept near declarations) PV.

Definition at line 143 of file cmddialog.cpp.

{
    QStringList s;
    s << scribus_newdocdia__doc__ << scribus_filedia__doc__ << scribus_messdia__doc__;
    s << scribus_valdialog__doc__ << scribus_newstyledialog__doc__;
}
PyObject* scribus_filedia ( PyObject *  ,
PyObject *  args,
PyObject *  kw 
)

Raises file dialog.

Params - caption, filter, default name and opt. pre, mode.

Definition at line 27 of file cmddialog.cpp.

{
       char *caption = const_cast<char*>("");
       char *filter = const_cast<char*>("");
       char *defName = const_cast<char*>("");
       int haspreview = 0;
       int issave = 0;
       int isdir = 0;
       // FIXME: parsing named params failure. e.g. fileDialog(caption="foo", issave=True)
       // FIXME: it's a bug in Python. I'm monitoring it
       // https://sourceforge.net/tracker/index.php?func=detail&aid=893549&group_id=5470&atid=105470
       char* kwargs[] = {const_cast<char*>("caption"), const_cast<char*>("filter"),
                                          const_cast<char*>("defaultname"), const_cast<char*>("haspreview"),
                                          const_cast<char*>("issave"), const_cast<char*>("isdir"),
                                          NULL};
       if (!PyArg_ParseTupleAndKeywords(args, kw, "es|esesiii", kwargs,
                                                                "utf-8", &caption, "utf-8", &filter, "utf-8", &defName,
                                                                &haspreview, &issave, &isdir))
       {
              return NULL;
       }
       QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
       /* nobool = Nothing doing boolean for CFileDialog last attrs.
       Due the 'isdir' parameter. CFileDialog needs the last 2 pointers
       initialized. */
       bool nobool = false;
       int optionFlags = 0;
       if (haspreview)
              optionFlags |= fdShowPreview;
       if (issave)
              optionFlags |= fdExistingFiles;
       if (isdir)
              optionFlags |= fdDirectoriesOnly;
       QString fName = ScCore->primaryMainWindow()->CFileDialog(".",
                                                                       QString::fromUtf8(caption),
                                                                       QString::fromUtf8(filter),
                                                                       QString::fromUtf8(defName),
                                                                       optionFlags,
                                                                       &nobool,
                                                                       &nobool,
                                                                       &nobool
                                                                      );
       QApplication::restoreOverrideCursor();
       // FIXME: filename return unicode OK?
       return PyString_FromString(fName.utf8());
}

Here is the call graph for this function:

PyObject* scribus_messdia ( PyObject *  ,
PyObject *  args,
PyObject *  kw 
)

Displays a message box with - caption, message, icon, button and two more buttons optional.

Definition at line 74 of file cmddialog.cpp.

{
       char *caption = const_cast<char*>("");
       char *message = const_cast<char*>("");
       uint result;
       QMessageBox::Icon ico = QMessageBox::NoIcon;
       int butt1 = QMessageBox::Ok|QMessageBox::Default;
       int butt2 = QMessageBox::NoButton;
       int butt3 = QMessageBox::NoButton;
       char* kwargs[] = {const_cast<char*>("caption"), const_cast<char*>("message"),
                                          const_cast<char*>("icon"), const_cast<char*>("button1"),
                                          const_cast<char*>("button2"), const_cast<char*>("button3"), NULL};
       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(QString::fromUtf8(caption), QString::fromUtf8(message), ico, butt1, butt2, butt3, ScCore->primaryMainWindow());
       result = mb.exec();
       QApplication::restoreOverrideCursor();
       return PyInt_FromLong(static_cast<long>(result));
}

Here is the call graph for this function:

PyObject* scribus_newdocdia ( PyObject *  )

Raises the Scribus New Document dialog.

Definition at line 19 of file cmddialog.cpp.

{
       QApplication::setOverrideCursor(QCursor(Qt::ArrowCursor));
       bool ret = ScCore->primaryMainWindow()->slotFileNew();
       QApplication::restoreOverrideCursor();
       return PyInt_FromLong(static_cast<long>(ret));
}

Here is the call graph for this function:

PyObject* scribus_newstyledialog ( PyObject *  ,
PyObject *  args 
)

Definition at line 112 of file cmddialog.cpp.

{
       if(!checkHaveDocument())
              return NULL;

       ScribusDoc *d = ScCore->primaryMainWindow()->doc;
       bool ok;
       QString s = QInputDialog::getText(
                     "New Paragraph Style",
                     "Enter name of the new paragraph style:",
                     QLineEdit::Normal,
                     QString::null, &ok, ScCore->primaryMainWindow());

       if (ok && !s.isEmpty())
       {
              StyleSet<ParagraphStyle> st;
              st.redefine(d->paragraphStyles(), true);
              ParagraphStyle p;
              p.setName(s);
              st.create(p);
              d->redefineStyles(st, false);
              ScCore->primaryMainWindow()->styleMgr()->setDoc(d);
              return PyString_FromString(s.utf8());
       }
       else
              Py_RETURN_NONE;
}

Here is the call graph for this function:

PyObject* scribus_valdialog ( PyObject *  ,
PyObject *  args 
)

Definition at line 95 of file cmddialog.cpp.

{
       char *caption = const_cast<char*>("");
       char *message = const_cast<char*>("");
       char *value = const_cast<char*>("");
       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(ScCore->primaryMainWindow(), "d", true, 0);
       d->dialogLabel->setText(QString::fromUtf8(message));
       d->valueEdit->setText(QString::fromUtf8(value));
       d->setCaption(QString::fromUtf8(caption));
       d->exec();
       QApplication::restoreOverrideCursor();
       return PyString_FromString(d->valueEdit->text().utf8());
}

Here is the call graph for this function: