Set default printing color mode.
Known issue: program doesn't print in grayscale color mode. --HG-- branch : develop
This commit is contained in:
parent
8d6c007217
commit
6b54c5bb7d
|
@ -705,7 +705,7 @@ void MainWindowsNoGUI::DxfFile(const QString &name, int i) const
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
QVector<QImage> MainWindowsNoGUI::AllSheets()
|
QVector<QImage> MainWindowsNoGUI::AllSheets() const
|
||||||
{
|
{
|
||||||
QVector<QImage> images;
|
QVector<QImage> images;
|
||||||
for (int i=0; i < scenes.size(); ++i)
|
for (int i=0; i < scenes.size(); ++i)
|
||||||
|
@ -842,14 +842,14 @@ void MainWindowsNoGUI::LayoutPrint()
|
||||||
void MainWindowsNoGUI::SetPrinterSettings(QPrinter *printer)
|
void MainWindowsNoGUI::SetPrinterSettings(QPrinter *printer)
|
||||||
{
|
{
|
||||||
SCASSERT(printer != nullptr)
|
SCASSERT(printer != nullptr)
|
||||||
printer->setCreator(qApp->applicationDisplayName()+" "+qApp->applicationVersion());
|
printer->setCreator(qApp->applicationDisplayName()+" "+qApp->applicationVersion());
|
||||||
|
|
||||||
// Set orientation
|
// Set orientation
|
||||||
if (papers.size() > 0)
|
if (papers.size() > 0)
|
||||||
{
|
{
|
||||||
QGraphicsRectItem *paper = qgraphicsitem_cast<QGraphicsRectItem *>(papers.at(0));
|
QGraphicsRectItem *paper = qgraphicsitem_cast<QGraphicsRectItem *>(papers.at(0));
|
||||||
SCASSERT(paper != nullptr)
|
SCASSERT(paper != nullptr)
|
||||||
if (paper->rect().height()>= paper->rect().width())
|
if (paper->rect().height()>= paper->rect().width())
|
||||||
{
|
{
|
||||||
printer->setOrientation(QPrinter::Portrait);
|
printer->setOrientation(QPrinter::Portrait);
|
||||||
}
|
}
|
||||||
|
@ -863,11 +863,30 @@ void MainWindowsNoGUI::SetPrinterSettings(QPrinter *printer)
|
||||||
{
|
{
|
||||||
QGraphicsRectItem *paper = qgraphicsitem_cast<QGraphicsRectItem *>(papers.at(0));
|
QGraphicsRectItem *paper = qgraphicsitem_cast<QGraphicsRectItem *>(papers.at(0));
|
||||||
SCASSERT(paper != nullptr)
|
SCASSERT(paper != nullptr)
|
||||||
printer->setPaperSize ( QSizeF(FromPixel(paper->rect().width(), Unit::Mm),
|
printer->setPaperSize ( QSizeF(FromPixel(paper->rect().width(), Unit::Mm),
|
||||||
FromPixel(paper->rect().height(), Unit::Mm)), QPrinter::Millimeter );
|
FromPixel(paper->rect().height(), Unit::Mm)), QPrinter::Millimeter );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
printer->setOutputFileName(QDir::homePath() + QDir::separator() + FileName() + QLatin1Literal(".pdf"));
|
||||||
printer->setDocName(FileName());
|
printer->setDocName(FileName());
|
||||||
|
|
||||||
|
IsLayoutGrayscale() ? printer->setColorMode(QPrinter::GrayScale) : printer->setColorMode(QPrinter::Color);
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
bool MainWindowsNoGUI::IsLayoutGrayscale() const
|
||||||
|
{
|
||||||
|
const QVector<QImage> images = AllSheets();
|
||||||
|
|
||||||
|
for(int i=0; i < images.size(); ++i)
|
||||||
|
{
|
||||||
|
if (not images.at(i).isGrayscale())
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -881,11 +900,11 @@ bool MainWindowsNoGUI::isPagesUniform() const
|
||||||
{
|
{
|
||||||
QGraphicsRectItem *paper = qgraphicsitem_cast<QGraphicsRectItem *>(papers.at(0));
|
QGraphicsRectItem *paper = qgraphicsitem_cast<QGraphicsRectItem *>(papers.at(0));
|
||||||
SCASSERT(paper != nullptr)
|
SCASSERT(paper != nullptr)
|
||||||
for (int i=1; i < papers.size(); ++i)
|
for (int i=1; i < papers.size(); ++i)
|
||||||
{
|
{
|
||||||
QGraphicsRectItem *p = qgraphicsitem_cast<QGraphicsRectItem *>(papers.at(i));
|
QGraphicsRectItem *p = qgraphicsitem_cast<QGraphicsRectItem *>(papers.at(i));
|
||||||
SCASSERT(p != nullptr)
|
SCASSERT(p != nullptr)
|
||||||
if (paper->rect() != p->rect())
|
if (paper->rect() != p->rect())
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,7 +104,6 @@ private:
|
||||||
void CreateShadows();
|
void CreateShadows();
|
||||||
void CreateScenes();
|
void CreateScenes();
|
||||||
|
|
||||||
|
|
||||||
void SvgFile(const QString &name, int i)const;
|
void SvgFile(const QString &name, int i)const;
|
||||||
void PngFile(const QString &name, int i)const;
|
void PngFile(const QString &name, int i)const;
|
||||||
void PdfFile(const QString &name, int i)const;
|
void PdfFile(const QString &name, int i)const;
|
||||||
|
@ -114,13 +113,14 @@ private:
|
||||||
void ObjFile(const QString &name, int i)const;
|
void ObjFile(const QString &name, int i)const;
|
||||||
void DxfFile(const QString &name, int i)const;
|
void DxfFile(const QString &name, int i)const;
|
||||||
|
|
||||||
QVector<QImage> AllSheets();
|
QVector<QImage> AllSheets() const;
|
||||||
|
|
||||||
void SaveLayoutAs();
|
void SaveLayoutAs();
|
||||||
void PrintPreview();
|
void PrintPreview();
|
||||||
void LayoutPrint();
|
void LayoutPrint();
|
||||||
|
|
||||||
void SetPrinterSettings(QPrinter *printer);
|
void SetPrinterSettings(QPrinter *printer);
|
||||||
|
bool IsLayoutGrayscale() const;
|
||||||
|
|
||||||
bool isPagesUniform() const;
|
bool isPagesUniform() const;
|
||||||
QString FileName() const;
|
QString FileName() const;
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#include "../ifc/ifcdef.h"
|
#include "../ifc/ifcdef.h"
|
||||||
|
|
||||||
#include <QStringList>
|
#include <QStringList>
|
||||||
|
#include <QMap>
|
||||||
|
|
||||||
class VMeasurementData;
|
class VMeasurementData;
|
||||||
class VContainer;
|
class VContainer;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user