Merged develop into feature
--HG-- branch : feature
This commit is contained in:
commit
a5f16ab738
|
@ -91,15 +91,22 @@ DialogSaveLayout::DialogSaveLayout(int count, const QString &fileName, QWidget *
|
||||||
}
|
}
|
||||||
connect(bOk, &QPushButton::clicked, this, &DialogSaveLayout::Save);
|
connect(bOk, &QPushButton::clicked, this, &DialogSaveLayout::Save);
|
||||||
|
|
||||||
auto ShowExample = [this](){ui->labelExample->setText(tr("Example:") + FileName() + "1" + Formate());};
|
auto ShowExample = [this]()
|
||||||
|
{
|
||||||
|
ui->labelExample->setText(tr("Example:") + FileName() + QLatin1String("1") + Format());
|
||||||
|
};
|
||||||
|
|
||||||
connect(ui->lineEditFileName, &QLineEdit::textChanged, ShowExample);
|
connect(ui->lineEditFileName, &QLineEdit::textChanged, ShowExample);
|
||||||
connect(ui->comboBoxFormat, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), ShowExample);
|
connect(ui->comboBoxFormat, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), ShowExample);
|
||||||
connect(ui->pushButtonBrowse, &QPushButton::clicked, [this]()
|
connect(ui->pushButtonBrowse, &QPushButton::clicked, [this]()
|
||||||
{
|
{
|
||||||
const QString dir = QFileDialog::getExistingDirectory(this, tr("Select folder"), QDir::homePath(),
|
const QString dir = QFileDialog::getExistingDirectory(this, tr("Select folder"),
|
||||||
|
qApp->ValentinaSettings()->GetPathLayout(),
|
||||||
QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
|
QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
|
||||||
ui->lineEditPath->setText(dir);
|
if (not dir.isEmpty())
|
||||||
|
{// If paths equal the signal will not be called, we will do this manually
|
||||||
|
dir == ui->lineEditPath->text() ? PathChanged(dir) : ui->lineEditPath->setText(dir);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
connect(ui->lineEditPath, &QLineEdit::textChanged, this, &DialogSaveLayout::PathChanged);
|
connect(ui->lineEditPath, &QLineEdit::textChanged, this, &DialogSaveLayout::PathChanged);
|
||||||
|
|
||||||
|
@ -128,12 +135,12 @@ void DialogSaveLayout::SelectFormate(const int formate)
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
QString DialogSaveLayout::MakeHelpFormatList()
|
QString DialogSaveLayout::MakeHelpFormatList()
|
||||||
{
|
{
|
||||||
QString out = "\n";
|
QString out("\n");
|
||||||
int cntr = 0;
|
int cntr = 0;
|
||||||
const QVector<std::pair<QString, QString>> availFormats = InitAvailFormats();
|
const QVector<std::pair<QString, QString>> availFormats = InitAvailFormats();
|
||||||
foreach(auto& v, availFormats)
|
foreach(auto& v, availFormats)
|
||||||
{
|
{
|
||||||
out += "\t"+v.first+" = "+ QString::number(cntr++)+"\n";
|
out += QLatin1String("\t") + v.first+QLatin1String(" = ") + QString::number(cntr++) + QLatin1String("\n");
|
||||||
}
|
}
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
@ -184,7 +191,7 @@ QString DialogSaveLayout::FileName() const
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
QString DialogSaveLayout::Formate() const
|
QString DialogSaveLayout::Format() const
|
||||||
{
|
{
|
||||||
#if QT_VERSION < QT_VERSION_CHECK(5, 2, 0)
|
#if QT_VERSION < QT_VERSION_CHECK(5, 2, 0)
|
||||||
return ui->comboBoxFormat->itemData(ui->comboBoxFormat->currentIndex()).toString();
|
return ui->comboBoxFormat->itemData(ui->comboBoxFormat->currentIndex()).toString();
|
||||||
|
@ -198,7 +205,7 @@ void DialogSaveLayout::Save()
|
||||||
{
|
{
|
||||||
for (int i=0; i < count; ++i)
|
for (int i=0; i < count; ++i)
|
||||||
{
|
{
|
||||||
const QString name = Path()+"/"+FileName()+QString::number(i+1)+Formate();
|
const QString name = Path()+QLatin1Literal("/")+FileName()+QString::number(i+1)+Format();
|
||||||
if (QFile::exists(name))
|
if (QFile::exists(name))
|
||||||
{
|
{
|
||||||
QMessageBox::StandardButton res = QMessageBox::question(this, tr("Name conflict"),
|
QMessageBox::StandardButton res = QMessageBox::question(this, tr("Name conflict"),
|
||||||
|
@ -256,8 +263,7 @@ void DialogSaveLayout::showEvent(QShowEvent *event)
|
||||||
}
|
}
|
||||||
// do your init stuff here
|
// do your init stuff here
|
||||||
|
|
||||||
setMaximumSize(size());
|
setFixedHeight(size().height());
|
||||||
setMinimumSize(size());
|
|
||||||
|
|
||||||
isInitialized = true;//first show windows are held
|
isInitialized = true;//first show windows are held
|
||||||
}
|
}
|
||||||
|
@ -280,7 +286,8 @@ bool DialogSaveLayout::TestPdf()
|
||||||
|
|
||||||
QProcess proc;
|
QProcess proc;
|
||||||
#if defined(Q_OS_WIN) || defined(Q_OS_OSX)
|
#if defined(Q_OS_WIN) || defined(Q_OS_OSX)
|
||||||
proc.start(qApp->applicationDirPath()+"/"+PDFTOPS); // Seek pdftops in app bundle or near valentin.exe
|
// Seek pdftops in app bundle or near valentin.exe
|
||||||
|
proc.start(qApp->applicationDirPath() + QLatin1String("/")+ PDFTOPS);
|
||||||
#else
|
#else
|
||||||
proc.start(PDFTOPS); // Seek pdftops in standard path
|
proc.start(PDFTOPS); // Seek pdftops in standard path
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -53,7 +53,7 @@ public:
|
||||||
|
|
||||||
QString Path() const;
|
QString Path() const;
|
||||||
QString FileName() const;
|
QString FileName() const;
|
||||||
QString Formate() const;
|
QString Format() const;
|
||||||
void SelectFormate(const int formate);
|
void SelectFormate(const int formate);
|
||||||
static QString MakeHelpFormatList();
|
static QString MakeHelpFormatList();
|
||||||
void SetDestinationPath(const QString& cmdDestinationPath);
|
void SetDestinationPath(const QString& cmdDestinationPath);
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>692</width>
|
<width>748</width>
|
||||||
<height>179</height>
|
<height>150</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
|
@ -19,17 +19,19 @@
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QGridLayout" name="gridLayout_2">
|
<layout class="QFormLayout" name="formLayout">
|
||||||
<property name="rightMargin">
|
<property name="sizeConstraint">
|
||||||
<number>0</number>
|
<enum>QLayout::SetDefaultConstraint</enum>
|
||||||
</property>
|
</property>
|
||||||
<item row="2" column="0">
|
<property name="fieldGrowthPolicy">
|
||||||
<widget class="QLabel" name="label_3">
|
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
|
||||||
<property name="text">
|
</property>
|
||||||
<string>File name:</string>
|
<property name="labelAlignment">
|
||||||
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
|
<property name="formAlignment">
|
||||||
|
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="0">
|
<item row="0" column="0">
|
||||||
<widget class="QLabel" name="label">
|
<widget class="QLabel" name="label">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
@ -37,27 +39,28 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="1" column="0">
|
|
||||||
<widget class="QLabel" name="label_2">
|
|
||||||
<property name="text">
|
|
||||||
<string>File format:</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
<item row="0" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
||||||
|
<item>
|
||||||
<widget class="QLineEdit" name="lineEditPath">
|
<widget class="QLineEdit" name="lineEditPath">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Destination folder</string>
|
<string>Destination folder</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="placeholderText">
|
<property name="placeholderText">
|
||||||
<string>Path to destination folder.</string>
|
<string>Path to destination folder</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="2">
|
<item>
|
||||||
<widget class="QPushButton" name="pushButtonBrowse">
|
<widget class="QPushButton" name="pushButtonBrowse">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
<sizepolicy hsizetype="Preferred" vsizetype="Expanding">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
|
@ -70,27 +73,51 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>File format:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="1" column="1">
|
<item row="1" column="1">
|
||||||
<widget class="QComboBox" name="comboBoxFormat">
|
<widget class="QComboBox" name="comboBoxFormat">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
|
||||||
<horstretch>0</horstretch>
|
<horstretch>0</horstretch>
|
||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="label_3">
|
||||||
|
<property name="text">
|
||||||
|
<string>File name:</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item row="2" column="1">
|
<item row="2" column="1">
|
||||||
|
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
||||||
|
<item>
|
||||||
<widget class="QLineEdit" name="lineEditFileName">
|
<widget class="QLineEdit" name="lineEditFileName">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" vsizetype="Expanding">
|
||||||
|
<horstretch>0</horstretch>
|
||||||
|
<verstretch>0</verstretch>
|
||||||
|
</sizepolicy>
|
||||||
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>File base name</string>
|
<string>File base name</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="placeholderText">
|
<property name="placeholderText">
|
||||||
<string>File base name.</string>
|
<string>File base name</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="2" column="2">
|
<item>
|
||||||
<widget class="QLabel" name="labelExample">
|
<widget class="QLabel" name="labelExample">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
|
@ -101,10 +128,15 @@
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string notr="true">TextLabel</string>
|
<string notr="true">TextLabel</string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="alignment">
|
||||||
|
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
</layout>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QDialogButtonBox" name="buttonBox">
|
<widget class="QDialogButtonBox" name="buttonBox">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
|
|
@ -1702,6 +1702,7 @@ void MainWindow::InitToolButtons()
|
||||||
connect(ui->toolButtonGroup, &QToolButton::clicked, this, &MainWindow::ToolGroup);
|
connect(ui->toolButtonGroup, &QToolButton::clicked, this, &MainWindow::ToolGroup);
|
||||||
connect(ui->toolButtonRotation, &QToolButton::clicked, this, &MainWindow::ToolRotation);
|
connect(ui->toolButtonRotation, &QToolButton::clicked, this, &MainWindow::ToolRotation);
|
||||||
connect(ui->toolButtonMidpoint, &QToolButton::clicked, this, &MainWindow::ToolMidpoint);
|
connect(ui->toolButtonMidpoint, &QToolButton::clicked, this, &MainWindow::ToolMidpoint);
|
||||||
|
connect(ui->toolButtonLayoutExportAs, &QToolButton::clicked, this, &MainWindow::ExportLayoutAs);
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -2970,6 +2971,7 @@ void MainWindow::SetLayoutModeActions()
|
||||||
{
|
{
|
||||||
const bool enabled = not scenes.isEmpty();
|
const bool enabled = not scenes.isEmpty();
|
||||||
|
|
||||||
|
ui->toolButtonLayoutExportAs->setEnabled(enabled);
|
||||||
ui->actionExportAs->setEnabled(enabled);
|
ui->actionExportAs->setEnabled(enabled);
|
||||||
ui->actionPrintPreview->setEnabled(enabled);
|
ui->actionPrintPreview->setEnabled(enabled);
|
||||||
ui->actionPrintPreviewTiled->setEnabled(enabled);
|
ui->actionPrintPreviewTiled->setEnabled(enabled);
|
||||||
|
@ -3950,6 +3952,40 @@ void MainWindow::CreateMeasurements()
|
||||||
QProcess::startDetached(tape, QStringList(), workingDirectory);
|
QProcess::startDetached(tape, QStringList(), workingDirectory);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void MainWindow::ExportLayoutAs()
|
||||||
|
{
|
||||||
|
if (isLayoutStale)
|
||||||
|
{
|
||||||
|
if (ContinueIfLayoutStale() == QMessageBox::No)
|
||||||
|
{
|
||||||
|
ui->toolButtonLayoutExportAs->setChecked(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
DialogSaveLayout dialog(scenes.size(), FileName(), this);
|
||||||
|
|
||||||
|
if (dialog.exec() == QDialog::Rejected)
|
||||||
|
{
|
||||||
|
ui->toolButtonLayoutExportAs->setChecked(false);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
ExportLayout(dialog);
|
||||||
|
}
|
||||||
|
catch (const VException &e)
|
||||||
|
{
|
||||||
|
ui->toolButtonLayoutExportAs->setChecked(false);
|
||||||
|
qCritical("%s\n\n%s\n\n%s", qUtf8Printable(tr("Export error.")),
|
||||||
|
qUtf8Printable(e.ErrorMessage()), qUtf8Printable(e.DetailedInformation()));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ui->toolButtonLayoutExportAs->setChecked(false);
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void MainWindow::ToolBarStyle(QToolBar *bar)
|
void MainWindow::ToolBarStyle(QToolBar *bar)
|
||||||
{
|
{
|
||||||
|
|
|
@ -113,6 +113,7 @@ private slots:
|
||||||
void ShowPaper(int index);
|
void ShowPaper(int index);
|
||||||
void Preferences();
|
void Preferences();
|
||||||
void CreateMeasurements();
|
void CreateMeasurements();
|
||||||
|
void ExportLayoutAs();
|
||||||
|
|
||||||
void ArrowTool();
|
void ArrowTool();
|
||||||
void ToolEndLine(bool checked);
|
void ToolEndLine(bool checked);
|
||||||
|
|
|
@ -48,14 +48,14 @@
|
||||||
<string>Tools</string>
|
<string>Tools</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>4</number>
|
<number>6</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="page">
|
<widget class="QWidget" name="page">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>117</width>
|
<width>100</width>
|
||||||
<height>358</height>
|
<height>358</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
@ -427,7 +427,7 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>130</width>
|
<width>100</width>
|
||||||
<height>110</height>
|
<height>110</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
@ -536,7 +536,7 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>130</width>
|
<width>100</width>
|
||||||
<height>248</height>
|
<height>248</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
@ -798,7 +798,7 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>130</width>
|
<width>100</width>
|
||||||
<height>248</height>
|
<height>248</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
@ -1063,8 +1063,8 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>130</width>
|
<width>100</width>
|
||||||
<height>356</height>
|
<height>104</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<attribute name="icon">
|
<attribute name="icon">
|
||||||
|
@ -1163,7 +1163,7 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>130</width>
|
<width>100</width>
|
||||||
<height>104</height>
|
<height>104</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
@ -1316,6 +1316,32 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QToolButton" name="toolButtonLayoutExportAs">
|
||||||
|
<property name="enabled">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Export original layout</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string notr="true">...</string>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../../libs/vmisc/share/resources/icon.qrc">
|
||||||
|
<normaloff>:/icon/32x32/export_to_picture_document.png</normaloff>:/icon/32x32/export_to_picture_document.png</iconset>
|
||||||
|
</property>
|
||||||
|
<property name="iconSize">
|
||||||
|
<size>
|
||||||
|
<width>32</width>
|
||||||
|
<height>32</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</widget>
|
</widget>
|
||||||
|
|
|
@ -182,43 +182,21 @@ void MainWindowsNoGUI::ErrorConsoleMode(const LayoutErrors &state)
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void MainWindowsNoGUI::ExportLayoutAs()
|
|
||||||
{
|
|
||||||
if (isLayoutStale)
|
|
||||||
{
|
|
||||||
if (ContinueIfLayoutStale() == QMessageBox::No)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
DialogSaveLayout dialog(scenes.size(), FileName(), this);
|
|
||||||
|
|
||||||
if (dialog.exec() == QDialog::Rejected)
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ExportLayout(dialog);
|
|
||||||
}
|
|
||||||
catch (const VException &e)
|
|
||||||
{
|
|
||||||
qCritical("%s\n\n%s\n\n%s", qUtf8Printable(tr("Export error.")),
|
|
||||||
qUtf8Printable(e.ErrorMessage()), qUtf8Printable(e.DetailedInformation()));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
void MainWindowsNoGUI::ExportLayout(const DialogSaveLayout &dialog)
|
void MainWindowsNoGUI::ExportLayout(const DialogSaveLayout &dialog)
|
||||||
{
|
{
|
||||||
|
|
||||||
QString suf = dialog.Formate();
|
const QString suf = dialog.Format().replace(".", "");
|
||||||
suf.replace(".", "");
|
|
||||||
|
|
||||||
const QString path = dialog.Path();
|
const QString path = dialog.Path();
|
||||||
|
QDir dir(path);
|
||||||
|
dir.setPath(path);
|
||||||
|
if (not dir.exists(path))
|
||||||
|
{
|
||||||
|
if (not dir.mkpath(path))
|
||||||
|
{
|
||||||
|
qCritical() << tr("Can't create path");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
qApp->ValentinaSettings()->SetPathLayout(path);
|
qApp->ValentinaSettings()->SetPathLayout(path);
|
||||||
const QString mask = dialog.FileName();
|
const QString mask = dialog.FileName();
|
||||||
|
|
||||||
|
@ -227,13 +205,19 @@ void MainWindowsNoGUI::ExportLayout(const DialogSaveLayout &dialog)
|
||||||
QGraphicsRectItem *paper = qgraphicsitem_cast<QGraphicsRectItem *>(papers.at(i));
|
QGraphicsRectItem *paper = qgraphicsitem_cast<QGraphicsRectItem *>(papers.at(i));
|
||||||
if (paper)
|
if (paper)
|
||||||
{
|
{
|
||||||
const QString name = path + "/" + mask+QString::number(i+1) + dialog.Formate();
|
const QString name = path + QLatin1String("/") + mask+QString::number(i+1) + dialog.Format();
|
||||||
QBrush *brush = new QBrush();
|
QBrush *brush = new QBrush();
|
||||||
brush->setColor( QColor( Qt::white ) );
|
brush->setColor( QColor( Qt::white ) );
|
||||||
scenes[i]->setBackgroundBrush( *brush );
|
scenes[i]->setBackgroundBrush( *brush );
|
||||||
shadows[i]->setVisible(false);
|
shadows[i]->setVisible(false);
|
||||||
paper->setPen(QPen(QBrush(Qt::white, Qt::NoBrush), 0.1, Qt::NoPen));
|
paper->setPen(QPen(QBrush(Qt::white, Qt::NoBrush), 0.1, Qt::NoPen));
|
||||||
const QStringList suffix = QStringList() << "svg" << "png" << "pdf" << "eps" << "ps" << "obj" << "dxf";
|
const QStringList suffix = QStringList() << QLatin1String("svg")
|
||||||
|
<< QLatin1String("png")
|
||||||
|
<< QLatin1String("pdf")
|
||||||
|
<< QLatin1String("eps")
|
||||||
|
<< QLatin1String("ps")
|
||||||
|
<< QLatin1String("obj")
|
||||||
|
<< QLatin1String("dxf");
|
||||||
switch (suffix.indexOf(suf))
|
switch (suffix.indexOf(suf))
|
||||||
{
|
{
|
||||||
case 0: //svg
|
case 0: //svg
|
||||||
|
|
|
@ -53,7 +53,6 @@ public:
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void ToolLayoutSettings(bool checked);
|
void ToolLayoutSettings(bool checked);
|
||||||
void ExportLayoutAs();
|
|
||||||
void SaveAsTiledPDF();
|
void SaveAsTiledPDF();
|
||||||
void PrintPreviewOrigin();
|
void PrintPreviewOrigin();
|
||||||
void PrintPreviewTiled();
|
void PrintPreviewTiled();
|
||||||
|
@ -98,6 +97,8 @@ protected:
|
||||||
virtual void PrepareSceneList()=0;
|
virtual void PrepareSceneList()=0;
|
||||||
QIcon ScenePreview(int i) const;
|
QIcon ScenePreview(int i) const;
|
||||||
bool LayoutSettings(VLayoutGenerator& lGenerator);
|
bool LayoutSettings(VLayoutGenerator& lGenerator);
|
||||||
|
int ContinueIfLayoutStale();
|
||||||
|
QString FileName() const;
|
||||||
private slots:
|
private slots:
|
||||||
void PrintPages (QPrinter *printer);
|
void PrintPages (QPrinter *printer);
|
||||||
void ErrorConsoleMode(const LayoutErrors &state);
|
void ErrorConsoleMode(const LayoutErrors &state);
|
||||||
|
@ -135,9 +136,6 @@ private:
|
||||||
|
|
||||||
bool isPagesUniform() const;
|
bool isPagesUniform() const;
|
||||||
bool IsPagesFit(const QSizeF &printPaper) const;
|
bool IsPagesFit(const QSizeF &printPaper) const;
|
||||||
QString FileName() const;
|
|
||||||
|
|
||||||
int ContinueIfLayoutStale();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // MAINWINDOWSNOGUI_H
|
#endif // MAINWINDOWSNOGUI_H
|
||||||
|
|
Loading…
Reference in New Issue
Block a user