コード例 #1
0
void PrintOrderDocumentController::printPreviewFile()
{
        Order order = getDocumentService()->getOrder(getSymbol());
        if(!getView()->isDuplicate())
          getOrderManager()->print(&order,"ORYGINAŁ",getPrinter());
        else
           getOrderManager()->print(&order,"DUPLIKAT",getPrinter());

}
コード例 #2
0
void PrintDialogController::setOptions()
{
    getPrinter()->setOutputFormat(QPrinter::NativeFormat);
    getPrinter()->setPageMargins(5,15,5,10,QPrinter::Millimeter);
     if(getView()->getBoxPrint()->currentIndex()==0){
         setSaveToPdf(true);
        setPrintAndSave(2);}
     else if(getView()->getBoxPrint()->currentIndex()==1)
          {  setSaveToPdf(false);
             setPrintAndSave(1);}
    else if(getView()->getBoxPrint()->currentIndex()==2)
         {  setSaveToPdf(true);
            setPrintAndSave(1);}
}
コード例 #3
0
void PrintDialogController::printPreview()
{
    PrintPreviewDialog *preview = new PrintPreviewDialog(getPrinter());
    connect(preview->getPreview(),SIGNAL(paintRequested(QPrinter*)),this,SLOT(printPreviewFile()));
    preview->show();
    delete preview;
}
コード例 #4
0
void QEnhancedTableView::print()
{
    QPrinter* tablePrinter=getPrinter(NULL);

    if (tablePrinter) {
        QDialog* dlg=new QDialog(this);
        dlg->setWindowTitle(tr("Table print options ..."));
        QGridLayout* lay=new QGridLayout(dlg);
        dlg->setLayout(lay);
        lay->addWidget(new QLabel(tr("<b>scaling:</b>")), 0,0);
        QCheckBox* chk1Wide=new QCheckBox(tr("one page wide"), dlg);
        QCheckBox* chk1High=new QCheckBox(tr("one page high"), dlg);
        lay->addWidget(chk1Wide, 0, 1);
        lay->addWidget(chk1High, 1, 1);

        QDialogButtonBox* btns=new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel,Qt::Horizontal,dlg);
        connect(btns, SIGNAL(accepted()), dlg, SLOT(accept()));
        connect(btns, SIGNAL(rejected()), dlg, SLOT(reject()));
        lay->addWidget(btns, 2, 0,1,1);

        if (dlg->exec()) {
            print(tablePrinter, chk1Wide->isChecked(), chk1High->isChecked());
        }
        delete dlg;
        delete tablePrinter;
    }
}
コード例 #5
0
void PrintDialogController::options(QString symbol,int print,QString copy)
{
    setCopyOrOriginal(copy);
    setSymbol(symbol);
    if(copy=="ORYGINAŁ"||copy=="DUPLIKAT")
    initOptions();
    setOutputFile();
    if(print) //usuniecie deafultowego miejsca zapisania powoduje przekierowanie na drukarke
    getPrinter()->setOutputFileName("");

}
コード例 #6
0
void PrintOrderDocumentController::setOutputFile()
{
    QString documentsDirPath=getView()->getPath()->text();

    QString dir = getSymbol().section('/',0,0).toUpper().append('/');

    QString symbolCopy = getSymbol();
    if(getSaveToPdf())
    {
            getPrinter()->setOutputFileName(documentsDirPath +"Dokumenty zamówień/"+dir+symbolCopy.replace('/','_')+"_"+getCopyOrOriginal().toLower()+".pdf");
    }
}
コード例 #7
0
void PrintOrderDocumentController::print(Order *document)
{
    setSymbol(document->getSymbol());
    setType(document->getDocumentType());
    int viewSignal=0;
    if(!getPrintReleated())
    {
        addDocToTable(document->getRelatedDocuments());
        viewSignal=getView()->exec();
    }

    if(viewSignal==1||getPrintReleated())
    {
        for(int i =0; i <getPrintAndSave();i++)
        {
            if(!getView()->isDuplicate())
                options(document->getSymbol(),i,"ORYGINAŁ");
            else
                options(document->getSymbol(),i,"DUPLIKAT");
            getOrderManager()->print(document,getCopyOrOriginal(),getPrinter());

            if(!getView()->isDuplicate())
                options(document->getSymbol(),i,"KOPIA");
            else
                options(document->getSymbol(),i,"DUPLIKAT");
            for(int i=0;i<getView()->getSpinBox()->text().toInt();i++)
            {
                getOrderManager()->print(document,getCopyOrOriginal(),getPrinter());
            }
            setSaveToPdf(false);

        }
    }
    if(viewSignal!=0)
    printRelated(document->getRelatedDocuments());
}
コード例 #8
0
void PrintDialogController::printerChooser(QString name)
{
    getPrinter()->setPrinterName(name);
    getPrinter()->setPrinterSelectionOption(name);
}