Merging
--HG-- branch : feature
This commit is contained in:
commit
9943fa7c8b
|
@ -49,13 +49,10 @@ TapeConfigurationPage::TapeConfigurationPage(QWidget *parent)
|
|||
langCombo(nullptr),
|
||||
systemCombo(nullptr),
|
||||
labelCombo(nullptr),
|
||||
unitCombo(nullptr),
|
||||
osOptionCheck(nullptr),
|
||||
langChanged(false),
|
||||
systemChanged(false),
|
||||
defGradationChanged(false),
|
||||
unitChanged(false),
|
||||
labelLangChanged(false),
|
||||
sendReportCheck(nullptr),
|
||||
askPointDeletionCheck(nullptr),
|
||||
toolBarStyleCheck(nullptr),
|
||||
|
@ -118,49 +115,6 @@ void TapeConfigurationPage::Apply()
|
|||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TapeConfigurationPage::LangChanged()
|
||||
{
|
||||
langChanged = true;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TapeConfigurationPage::SystemChanged()
|
||||
{
|
||||
systemChanged = true;
|
||||
#if QT_VERSION < QT_VERSION_CHECK(5, 2, 0)
|
||||
QString text = qApp->TrVars()->PMSystemAuthor(systemCombo->itemData(systemCombo->currentIndex()).toString());
|
||||
#else
|
||||
QString text = qApp->TrVars()->PMSystemAuthor(systemCombo->currentData().toString());
|
||||
#endif
|
||||
systemAuthorValueLabel->setText(text);
|
||||
systemAuthorValueLabel->setToolTip(text);
|
||||
#if QT_VERSION < QT_VERSION_CHECK(5, 2, 0)
|
||||
text = qApp->TrVars()->PMSystemBook(systemCombo->itemData(systemCombo->currentIndex()).toString());
|
||||
#else
|
||||
text = qApp->TrVars()->PMSystemBook(systemCombo->currentData().toString());
|
||||
#endif
|
||||
systemBookValueLabel->setPlainText(text);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TapeConfigurationPage::DefGradationChanged()
|
||||
{
|
||||
defGradationChanged = true;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TapeConfigurationPage::UnitChanged()
|
||||
{
|
||||
this->unitChanged = true;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TapeConfigurationPage::LabelLangChanged()
|
||||
{
|
||||
labelLangChanged = true;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TapeConfigurationPage::changeEvent(QEvent *event)
|
||||
{
|
||||
|
@ -219,8 +173,10 @@ QGroupBox *TapeConfigurationPage::LangGroup()
|
|||
{
|
||||
langCombo->setCurrentIndex(index);
|
||||
}
|
||||
connect(langCombo, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,
|
||||
&TapeConfigurationPage::LangChanged);
|
||||
connect(langCombo, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [this]()
|
||||
{
|
||||
langChanged = true;
|
||||
});
|
||||
|
||||
QFormLayout *langLayout = new QFormLayout;
|
||||
langLayout->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow);
|
||||
|
@ -267,8 +223,23 @@ QGroupBox *TapeConfigurationPage::PMSystemGroup()
|
|||
|
||||
pmSystemLayout->addRow(systemBookLabel, systemBookValueLabel);
|
||||
|
||||
connect(systemCombo, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,
|
||||
&TapeConfigurationPage::SystemChanged);
|
||||
connect(systemCombo, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [this]()
|
||||
{
|
||||
systemChanged = true;
|
||||
#if QT_VERSION < QT_VERSION_CHECK(5, 2, 0)
|
||||
QString text = qApp->TrVars()->PMSystemAuthor(systemCombo->itemData(systemCombo->currentIndex()).toString());
|
||||
#else
|
||||
QString text = qApp->TrVars()->PMSystemAuthor(systemCombo->currentData().toString());
|
||||
#endif
|
||||
systemAuthorValueLabel->setText(text);
|
||||
systemAuthorValueLabel->setToolTip(text);
|
||||
#if QT_VERSION < QT_VERSION_CHECK(5, 2, 0)
|
||||
text = qApp->TrVars()->PMSystemBook(systemCombo->itemData(systemCombo->currentIndex()).toString());
|
||||
#else
|
||||
text = qApp->TrVars()->PMSystemBook(systemCombo->currentData().toString());
|
||||
#endif
|
||||
systemBookValueLabel->setPlainText(text);
|
||||
});
|
||||
|
||||
// set default pattern making system
|
||||
const VTapeSettings *settings = qApp->TapeSettings();
|
||||
|
@ -300,8 +271,14 @@ QGroupBox *TapeConfigurationPage::GradationGroup()
|
|||
{
|
||||
defHeightCombo->setCurrentIndex(index);
|
||||
}
|
||||
connect(defHeightCombo, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,
|
||||
&TapeConfigurationPage::DefGradationChanged);
|
||||
|
||||
auto DefGradationChanged = [this]()
|
||||
{
|
||||
defGradationChanged = true;
|
||||
};
|
||||
|
||||
connect(defHeightCombo, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
|
||||
DefGradationChanged);
|
||||
gradationLayout->addRow(defHeightLabel, defHeightCombo);
|
||||
|
||||
|
||||
|
@ -314,7 +291,7 @@ QGroupBox *TapeConfigurationPage::GradationGroup()
|
|||
defSizeCombo->setCurrentIndex(index);
|
||||
}
|
||||
connect(defHeightCombo, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,
|
||||
&TapeConfigurationPage::DefGradationChanged);
|
||||
DefGradationChanged);
|
||||
gradationLayout->addRow(defSizeLabel, defSizeCombo);
|
||||
|
||||
gradationGroup->setLayout(gradationLayout);
|
||||
|
|
|
@ -45,12 +45,6 @@ class TapeConfigurationPage : public QWidget
|
|||
public:
|
||||
explicit TapeConfigurationPage(QWidget *parent = nullptr);
|
||||
void Apply();
|
||||
public slots:
|
||||
void LangChanged();
|
||||
void SystemChanged();
|
||||
void DefGradationChanged();
|
||||
void UnitChanged();
|
||||
void LabelLangChanged();
|
||||
protected:
|
||||
virtual void changeEvent(QEvent* event) Q_DECL_OVERRIDE;
|
||||
private:
|
||||
|
@ -58,13 +52,10 @@ private:
|
|||
QComboBox *langCombo;
|
||||
QComboBox *systemCombo;
|
||||
QComboBox *labelCombo;
|
||||
QComboBox *unitCombo;
|
||||
QCheckBox *osOptionCheck;
|
||||
bool langChanged;
|
||||
bool systemChanged;
|
||||
bool defGradationChanged;
|
||||
bool unitChanged;
|
||||
bool labelLangChanged;
|
||||
QCheckBox *sendReportCheck;
|
||||
QCheckBox *askPointDeletionCheck;
|
||||
QCheckBox *toolBarStyleCheck;
|
||||
|
|
|
@ -71,16 +71,6 @@ void TapePathPage::Apply()
|
|||
settings->SetPathTemplate(pathTable->item(2, 1)->text());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TapePathPage::TableActivated()
|
||||
{
|
||||
defaultButton->setEnabled(true);
|
||||
defaultButton->setDefault(false);
|
||||
|
||||
editButton->setEnabled(true);
|
||||
editButton->setDefault(true);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TapePathPage::DefaultPath()
|
||||
{
|
||||
|
@ -129,8 +119,8 @@ void TapePathPage::EditPath()
|
|||
default:
|
||||
break;
|
||||
}
|
||||
QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"), path,
|
||||
QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
|
||||
const QString dir = QFileDialog::getExistingDirectory(this, tr("Open Directory"), path,
|
||||
QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
|
||||
if (dir.isEmpty())
|
||||
{
|
||||
DefaultPath();
|
||||
|
@ -223,7 +213,14 @@ void TapePathPage::InitTable()
|
|||
pathTable->resizeRowsToContents();
|
||||
pathTable->horizontalHeader()->setStretchLastSection(true);
|
||||
|
||||
connect(pathTable, &QTableWidget::itemSelectionChanged, this, &TapePathPage::TableActivated);
|
||||
connect(pathTable, &QTableWidget::itemSelectionChanged, [this]
|
||||
{
|
||||
defaultButton->setEnabled(true);
|
||||
defaultButton->setDefault(false);
|
||||
|
||||
editButton->setEnabled(true);
|
||||
editButton->setDefault(true);
|
||||
});
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -42,12 +42,11 @@ class TapePathPage : public QWidget
|
|||
public:
|
||||
explicit TapePathPage(QWidget *parent = nullptr);
|
||||
void Apply();
|
||||
public slots:
|
||||
void TableActivated();
|
||||
void DefaultPath();
|
||||
void EditPath();
|
||||
protected:
|
||||
virtual void changeEvent(QEvent* event) Q_DECL_OVERRIDE;
|
||||
private slots:
|
||||
void DefaultPath();
|
||||
void EditPath();
|
||||
private:
|
||||
Q_DISABLE_COPY(TapePathPage)
|
||||
QPushButton *defaultButton;
|
||||
|
|
|
@ -57,7 +57,13 @@ DialogExportToCSV::DialogExportToCSV(QWidget *parent)
|
|||
|
||||
QPushButton *bDefaults = ui->buttonBox->button(QDialogButtonBox::RestoreDefaults);
|
||||
SCASSERT(bDefaults != nullptr);
|
||||
connect(bDefaults, &QPushButton::clicked, this, &DialogExportToCSV::RestoreDefaults);
|
||||
connect(bDefaults, &QPushButton::clicked, [this]()
|
||||
{
|
||||
ui->checkBoxWithHeader->setChecked(qApp->TapeSettings()->GetDefCSVWithHeader());
|
||||
ui->comboBoxCodec->setCurrentIndex(ui->comboBoxCodec->findData(qApp->TapeSettings()->GetDefCSVCodec()));
|
||||
|
||||
SetSeparator(qApp->TapeSettings()->GetDefCSVSeparator());
|
||||
});
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -137,15 +143,6 @@ void DialogExportToCSV::showEvent(QShowEvent *event)
|
|||
isInitialized = true;//first show windows are held
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void DialogExportToCSV::RestoreDefaults()
|
||||
{
|
||||
ui->checkBoxWithHeader->setChecked(qApp->TapeSettings()->GetDefCSVWithHeader());
|
||||
ui->comboBoxCodec->setCurrentIndex(ui->comboBoxCodec->findData(qApp->TapeSettings()->GetDefCSVCodec()));
|
||||
|
||||
SetSeparator(qApp->TapeSettings()->GetDefCSVSeparator());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void DialogExportToCSV::SetSeparator(const QChar &separator)
|
||||
{
|
||||
|
|
|
@ -51,9 +51,6 @@ protected:
|
|||
virtual void changeEvent(QEvent* event) Q_DECL_OVERRIDE;
|
||||
virtual void showEvent(QShowEvent *event) Q_DECL_OVERRIDE;
|
||||
|
||||
private slots:
|
||||
void RestoreDefaults();
|
||||
|
||||
private:
|
||||
Q_DISABLE_COPY(DialogExportToCSV)
|
||||
Ui::DialogExportToCSV *ui;
|
||||
|
|
|
@ -70,7 +70,15 @@ TapeConfigDialog::TapeConfigDialog(QWidget *parent)
|
|||
okButton = new QPushButton(tr("&Ok"));
|
||||
|
||||
createIcons();
|
||||
connect(contentsWidget, &QListWidget::currentItemChanged, this, &TapeConfigDialog::changePage);
|
||||
connect(contentsWidget, &QListWidget::currentItemChanged,
|
||||
[this](QListWidgetItem *current, QListWidgetItem *previous)
|
||||
{
|
||||
if (current == nullptr)
|
||||
{
|
||||
current = previous;
|
||||
}
|
||||
pagesWidget->setCurrentIndex(contentsWidget->row(current));
|
||||
});
|
||||
contentsWidget->setCurrentRow(0);
|
||||
|
||||
connect(cancelButton, &QPushButton::clicked, this, &TapeConfigDialog::close);
|
||||
|
@ -100,16 +108,6 @@ TapeConfigDialog::TapeConfigDialog(QWidget *parent)
|
|||
qApp->TapeSettings()->GetOsSeparator() ? setLocale(QLocale::system()) : setLocale(QLocale(QLocale::C));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TapeConfigDialog::changePage(QListWidgetItem *current, QListWidgetItem *previous)
|
||||
{
|
||||
if (current == nullptr)
|
||||
{
|
||||
current = previous;
|
||||
}
|
||||
pagesWidget->setCurrentIndex(contentsWidget->row(current));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TapeConfigDialog::closeEvent(QCloseEvent *event)
|
||||
{
|
||||
|
|
|
@ -42,15 +42,13 @@ class TapeConfigDialog : public QDialog
|
|||
Q_OBJECT
|
||||
public:
|
||||
explicit TapeConfigDialog(QWidget *parent = nullptr);
|
||||
public slots:
|
||||
void changePage(QListWidgetItem *current, QListWidgetItem *previous);
|
||||
signals:
|
||||
void UpdateProperties();
|
||||
void UpdateProperties();
|
||||
protected:
|
||||
virtual void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE;
|
||||
virtual void changeEvent(QEvent* event) Q_DECL_OVERRIDE;
|
||||
virtual void showEvent(QShowEvent *event) Q_DECL_OVERRIDE;
|
||||
virtual void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE;
|
||||
virtual void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE;
|
||||
virtual void changeEvent(QEvent* event) Q_DECL_OVERRIDE;
|
||||
virtual void showEvent(QShowEvent *event) Q_DECL_OVERRIDE;
|
||||
virtual void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE;
|
||||
private:
|
||||
Q_DISABLE_COPY(TapeConfigDialog)
|
||||
QListWidget *contentsWidget;
|
||||
|
|
|
@ -760,12 +760,6 @@ void MApplication::ProcessCMD()
|
|||
ParseCommandLine(SocketConnection::Client, arguments());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void MApplication::OpenFile(const QString &path)
|
||||
{
|
||||
MainWindow()->LoadFile(path);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void MApplication::NewLocalSocketConnection()
|
||||
{
|
||||
|
|
|
@ -60,6 +60,7 @@ public:
|
|||
virtual bool IsAppInGUIMode() const Q_DECL_OVERRIDE;
|
||||
TMainWindow *MainWindow();
|
||||
QList<TMainWindow*> MainWindows();
|
||||
TMainWindow *NewMainWindow();
|
||||
|
||||
void InitOptions();
|
||||
|
||||
|
@ -77,7 +78,6 @@ public:
|
|||
void ParseCommandLine(const SocketConnection &connection, const QStringList &arguments);
|
||||
|
||||
public slots:
|
||||
TMainWindow *NewMainWindow();
|
||||
void ProcessCMD();
|
||||
|
||||
protected:
|
||||
|
@ -85,7 +85,6 @@ protected:
|
|||
virtual bool event(QEvent *e) Q_DECL_OVERRIDE;
|
||||
|
||||
private slots:
|
||||
void OpenFile(const QString &path);
|
||||
void NewLocalSocketConnection();
|
||||
|
||||
private:
|
||||
|
|
|
@ -750,7 +750,7 @@ void TMainWindow::AboutToShowWindowMenu()
|
|||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::ShowWindow()
|
||||
void TMainWindow::ShowWindow() const
|
||||
{
|
||||
if (QAction *action = qobject_cast<QAction*>(sender()))
|
||||
{
|
||||
|
@ -758,27 +758,13 @@ void TMainWindow::ShowWindow()
|
|||
if (v.canConvert<int>())
|
||||
{
|
||||
const int offset = qvariant_cast<int>(v);
|
||||
QList<TMainWindow*> windows = qApp->MainWindows();
|
||||
const QList<TMainWindow*> windows = qApp->MainWindows();
|
||||
windows.at(offset)->raise();
|
||||
windows.at(offset)->activateWindow();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::AboutApplication()
|
||||
{
|
||||
DialogAboutTape * aboutDialog = new DialogAboutTape(this);
|
||||
aboutDialog->setAttribute(Qt::WA_DeleteOnClose, true);
|
||||
aboutDialog->show();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::AboutQt()
|
||||
{
|
||||
QMessageBox::aboutQt(this, tr("About Qt"));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
#if defined(Q_OS_MAC)
|
||||
void TMainWindow::AboutToShowDockMenu()
|
||||
|
@ -1720,20 +1706,6 @@ void TMainWindow::SaveMFullName()
|
|||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::NewWindow()
|
||||
{
|
||||
qApp->NewMainWindow();
|
||||
qApp->MainWindow()->activateWindow();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::Preferences()
|
||||
{
|
||||
TapeConfigDialog dlg(this);
|
||||
dlg.exec();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void TMainWindow::PatternUnitChanged(int index)
|
||||
{
|
||||
|
@ -1762,7 +1734,11 @@ void TMainWindow::SetupMenu()
|
|||
|
||||
connect(ui->actionExportToCSV, &QAction::triggered, this, &TMainWindow::ExportToCSV);
|
||||
connect(ui->actionReadOnly, &QAction::triggered, this, &TMainWindow::ReadOnly);
|
||||
connect(ui->actionPreferences, &QAction::triggered, this, &TMainWindow::Preferences);
|
||||
connect(ui->actionPreferences, &QAction::triggered, [this]()
|
||||
{
|
||||
TapeConfigDialog dlg(this);
|
||||
dlg.exec();
|
||||
});
|
||||
|
||||
for (int i = 0; i < MaxRecentFiles; ++i)
|
||||
{
|
||||
|
@ -1798,8 +1774,13 @@ void TMainWindow::SetupMenu()
|
|||
AboutToShowWindowMenu();
|
||||
|
||||
// Help
|
||||
connect(ui->actionAboutQt, &QAction::triggered, this, &TMainWindow::AboutQt);
|
||||
connect(ui->actionAboutTape, &QAction::triggered, this, &TMainWindow::AboutApplication);
|
||||
connect(ui->actionAboutQt, &QAction::triggered, [this](){QMessageBox::aboutQt(this, tr("About Qt"));});
|
||||
connect(ui->actionAboutTape, &QAction::triggered, [this]()
|
||||
{
|
||||
DialogAboutTape *aboutDialog = new DialogAboutTape(this);
|
||||
aboutDialog->setAttribute(Qt::WA_DeleteOnClose, true);
|
||||
aboutDialog->show();
|
||||
});
|
||||
|
||||
//Actions for recent files loaded by a tape window application.
|
||||
UpdateRecentFileActions();
|
||||
|
@ -2765,11 +2746,16 @@ void TMainWindow::CreateWindowMenu(QMenu *menu)
|
|||
{
|
||||
SCASSERT(menu != nullptr);
|
||||
|
||||
QAction *action = menu->addAction(tr("&New Window"), this, SLOT(NewWindow()));
|
||||
QAction *action = menu->addAction(tr("&New Window"));
|
||||
connect(action, &QAction::triggered, [this]()
|
||||
{
|
||||
qApp->NewMainWindow();
|
||||
qApp->MainWindow()->activateWindow();
|
||||
});
|
||||
action->setMenuRole(QAction::NoRole);
|
||||
menu->addSeparator();
|
||||
|
||||
QList<TMainWindow*> windows = qApp->MainWindows();
|
||||
const QList<TMainWindow*> windows = qApp->MainWindows();
|
||||
for (int i = 0; i < windows.count(); ++i)
|
||||
{
|
||||
TMainWindow *window = windows.at(i);
|
||||
|
|
|
@ -62,14 +62,7 @@ public:
|
|||
void SetBaseMSize(int size);
|
||||
void SetPUnit(Unit unit);
|
||||
|
||||
public slots:
|
||||
bool LoadFile(const QString &path);
|
||||
void FileNew();
|
||||
void OpenIndividual();
|
||||
void OpenStandard();
|
||||
void OpenTemplate();
|
||||
void CreateFromExisting();
|
||||
void OpenRecentFile();
|
||||
|
||||
protected:
|
||||
virtual void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE;
|
||||
|
@ -77,13 +70,18 @@ protected:
|
|||
virtual void showEvent(QShowEvent *event) Q_DECL_OVERRIDE;
|
||||
|
||||
private slots:
|
||||
void FileNew();
|
||||
void OpenIndividual();
|
||||
void OpenStandard();
|
||||
void OpenTemplate();
|
||||
void CreateFromExisting();
|
||||
void OpenRecentFile();
|
||||
|
||||
void FileSave();
|
||||
void FileSaveAs();
|
||||
void ExportToCSV();
|
||||
void AboutToShowWindowMenu();
|
||||
void ShowWindow();
|
||||
void AboutApplication();
|
||||
void AboutQt();
|
||||
void ShowWindow() const;
|
||||
|
||||
#if defined(Q_OS_MAC)
|
||||
void AboutToShowDockMenu();
|
||||
|
@ -125,8 +123,6 @@ private slots:
|
|||
void SaveMDescription();
|
||||
void SaveMFullName();
|
||||
|
||||
void NewWindow();
|
||||
void Preferences();
|
||||
void PatternUnitChanged(int index);
|
||||
|
||||
private:
|
||||
|
|
|
@ -49,9 +49,10 @@ public:
|
|||
void ClearPropertyBrowser();
|
||||
public slots:
|
||||
void itemClicked(QGraphicsItem *item);
|
||||
void userChangedData(VPE::VProperty* property);
|
||||
void UpdateOptions();
|
||||
void RefreshOptions();
|
||||
private slots:
|
||||
void userChangedData(VPE::VProperty* property);
|
||||
private:
|
||||
Q_DISABLE_COPY(VToolOptionsPropertyBrowser)
|
||||
|
||||
|
|
|
@ -97,16 +97,6 @@ ConfigDialog::ConfigDialog(QWidget *parent) :
|
|||
qApp->Settings()->GetOsSeparator() ? setLocale(QLocale::system()) : setLocale(QLocale(QLocale::C));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void ConfigDialog::changePage(QListWidgetItem *current, QListWidgetItem *previous)
|
||||
{
|
||||
if (current == nullptr)
|
||||
{
|
||||
current = previous;
|
||||
}
|
||||
pagesWidget->setCurrentIndex(contentsWidget->row(current));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void ConfigDialog::closeEvent(QCloseEvent *event)
|
||||
{
|
||||
|
@ -177,7 +167,15 @@ void ConfigDialog::createIcons()
|
|||
createIcon("://icon/community_config.png", tr("Community"));
|
||||
createIcon("://icon/path_config.png", tr("Paths"));
|
||||
|
||||
connect(contentsWidget, &QListWidget::currentItemChanged, this, &ConfigDialog::changePage);
|
||||
connect(contentsWidget, &QListWidget::currentItemChanged,
|
||||
[this](QListWidgetItem *current, QListWidgetItem *previous)
|
||||
{
|
||||
if (current == nullptr)
|
||||
{
|
||||
current = previous;
|
||||
}
|
||||
pagesWidget->setCurrentIndex(contentsWidget->row(current));
|
||||
});
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -41,15 +41,13 @@ class ConfigDialog : public QDialog
|
|||
Q_OBJECT
|
||||
public:
|
||||
explicit ConfigDialog(QWidget *parent = nullptr);
|
||||
public slots:
|
||||
void changePage(QListWidgetItem *current, QListWidgetItem *previous);
|
||||
signals:
|
||||
void UpdateProperties();
|
||||
void UpdateProperties();
|
||||
protected:
|
||||
virtual void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE;
|
||||
virtual void changeEvent(QEvent* event) Q_DECL_OVERRIDE;
|
||||
virtual void showEvent(QShowEvent *event) Q_DECL_OVERRIDE;
|
||||
virtual void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE;
|
||||
virtual void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE;
|
||||
virtual void changeEvent(QEvent* event) Q_DECL_OVERRIDE;
|
||||
virtual void showEvent(QShowEvent *event) Q_DECL_OVERRIDE;
|
||||
virtual void resizeEvent(QResizeEvent *event) Q_DECL_OVERRIDE;
|
||||
private:
|
||||
Q_DISABLE_COPY(ConfigDialog)
|
||||
QListWidget *contentsWidget;
|
||||
|
|
|
@ -70,16 +70,6 @@ void PathPage::Apply()
|
|||
settings->SetPathTemplate(pathTable->item(4, 1)->text());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void PathPage::TableActivated()
|
||||
{
|
||||
defaultButton->setEnabled(true);
|
||||
defaultButton->setDefault(false);
|
||||
|
||||
editButton->setEnabled(true);
|
||||
editButton->setDefault(true);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void PathPage::DefaultPath()
|
||||
{
|
||||
|
@ -243,7 +233,14 @@ void PathPage::InitTable()
|
|||
pathTable->resizeRowsToContents();
|
||||
pathTable->horizontalHeader()->setStretchLastSection(true);
|
||||
|
||||
connect(pathTable, &QTableWidget::itemSelectionChanged, this, &PathPage::TableActivated);
|
||||
connect(pathTable, &QTableWidget::itemSelectionChanged, [this]()
|
||||
{
|
||||
defaultButton->setEnabled(true);
|
||||
defaultButton->setDefault(false);
|
||||
|
||||
editButton->setEnabled(true);
|
||||
editButton->setDefault(true);
|
||||
});
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
|
|
@ -42,12 +42,11 @@ class PathPage : public QWidget
|
|||
public:
|
||||
explicit PathPage(QWidget *parent = nullptr);
|
||||
void Apply();
|
||||
public slots:
|
||||
void TableActivated();
|
||||
void DefaultPath();
|
||||
void EditPath();
|
||||
protected:
|
||||
virtual void changeEvent(QEvent* event) Q_DECL_OVERRIDE;
|
||||
private slots:
|
||||
void DefaultPath();
|
||||
void EditPath();
|
||||
private:
|
||||
Q_DISABLE_COPY(PathPage)
|
||||
QPushButton *defaultButton;
|
||||
|
|
|
@ -232,35 +232,35 @@ QString DialogHistory::Record(const VToolRecord &tool)
|
|||
Q_UNREACHABLE(); //-V501
|
||||
break;
|
||||
case Tool::BasePoint:
|
||||
return QString(tr("%1 - Base point")).arg(PointName(tool.getId()));
|
||||
return tr("%1 - Base point").arg(PointName(tool.getId()));
|
||||
case Tool::EndLine:
|
||||
return QString(tr("%1_%2 - Line from point %1 to point %2"))
|
||||
return tr("%1_%2 - Line from point %1 to point %2")
|
||||
.arg(PointName(AttrUInt(domElem, AttrBasePoint)))
|
||||
.arg(PointName(tool.getId()));
|
||||
case Tool::Line:
|
||||
return QString(tr("%1_%2 - Line from point %1 to point %2"))
|
||||
return tr("%1_%2 - Line from point %1 to point %2")
|
||||
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrSecondPoint)));
|
||||
case Tool::AlongLine:
|
||||
return QString(tr("%3 - Point along line %1_%2"))
|
||||
return tr("%3 - Point along line %1_%2")
|
||||
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrSecondPoint)))
|
||||
.arg(PointName(tool.getId()));
|
||||
case Tool::ShoulderPoint:
|
||||
return QString(tr("%1 - Point of shoulder")).arg(PointName(tool.getId()));
|
||||
return tr("%1 - Point of shoulder").arg(PointName(tool.getId()));
|
||||
case Tool::Normal:
|
||||
return QString(tr("%3 - normal to line %1_%2"))
|
||||
return tr("%3 - normal to line %1_%2")
|
||||
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrSecondPoint)))
|
||||
.arg(PointName(tool.getId()));
|
||||
case Tool::Bisector:
|
||||
return QString(tr("%4 - bisector of angle %1_%2_%3"))
|
||||
return tr("%4 - bisector of angle %1_%2_%3")
|
||||
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrSecondPoint)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrThirdPoint)))
|
||||
.arg(PointName(tool.getId()));
|
||||
case Tool::LineIntersect:
|
||||
return QString(tr("%5 - intersection of lines %1_%2 and %3_%4"))
|
||||
return tr("%5 - intersection of lines %1_%2 and %3_%4")
|
||||
.arg(PointName(AttrUInt(domElem, AttrP1Line1)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrP2Line1)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrP1Line2)))
|
||||
|
@ -288,7 +288,7 @@ QString DialogHistory::Record(const VToolRecord &tool)
|
|||
{
|
||||
const QSharedPointer<VArc> arc = data->GeometricObject<VArc>(tool.getId());
|
||||
SCASSERT(arc != nullptr);
|
||||
return QString(tr("%1 with length %2"))
|
||||
return tr("%1 with length %2")
|
||||
.arg(arc->NameForHistory(tr("Arc")))
|
||||
.arg(arc->GetLength());
|
||||
}
|
||||
|
@ -305,24 +305,24 @@ QString DialogHistory::Record(const VToolRecord &tool)
|
|||
return splPath->NameForHistory(tr("Cubic bezier curve path"));
|
||||
}
|
||||
case Tool::PointOfContact:
|
||||
return QString(tr("%4 - point of contact of arc with the center in point %1 and line %2_%3"))
|
||||
return tr("%4 - point of contact of arc with the center in point %1 and line %2_%3")
|
||||
.arg(PointName(AttrUInt(domElem, AttrCenter)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrSecondPoint)))
|
||||
.arg(PointName(tool.getId()));
|
||||
case Tool::Height:
|
||||
return QString(tr("Point of perpendicular from point %1 to line %2_%3"))
|
||||
return tr("Point of perpendicular from point %1 to line %2_%3")
|
||||
.arg(PointName(AttrUInt(domElem, AttrBasePoint)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrP1Line)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrP2Line)));
|
||||
case Tool::Triangle:
|
||||
return QString(tr("Triangle: axis %1_%2, points %3 and %4"))
|
||||
return tr("Triangle: axis %1_%2, points %3 and %4")
|
||||
.arg(PointName(AttrUInt(domElem, AttrAxisP1)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrAxisP2)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrSecondPoint)));
|
||||
case Tool::PointOfIntersection:
|
||||
return QString(tr("%1 - point of intersection %2 and %3"))
|
||||
return tr("%1 - point of intersection %2 and %3")
|
||||
.arg(PointName(tool.getId()))
|
||||
.arg(PointName(AttrUInt(domElem, AttrFirstPoint)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrSecondPoint)));
|
||||
|
@ -330,7 +330,7 @@ QString DialogHistory::Record(const VToolRecord &tool)
|
|||
{
|
||||
const QSharedPointer<VArc> arc = data->GeometricObject<VArc>(AttrUInt(domElem, AttrArc));
|
||||
SCASSERT(arc != nullptr);
|
||||
return QString(tr("%1 - cut %2"))
|
||||
return tr("%1 - cut %2")
|
||||
.arg(PointName(tool.getId()))
|
||||
.arg(arc->NameForHistory(tr("arc")));
|
||||
}
|
||||
|
@ -339,7 +339,7 @@ QString DialogHistory::Record(const VToolRecord &tool)
|
|||
const quint32 splineId = AttrUInt(domElem, VToolCutSpline::AttrSpline);
|
||||
const QSharedPointer<VAbstractCubicBezier> spl = data->GeometricObject<VAbstractCubicBezier>(splineId);
|
||||
SCASSERT(spl != nullptr);
|
||||
return QString(tr("%1 - cut %2"))
|
||||
return tr("%1 - cut %2")
|
||||
.arg(PointName(tool.getId()))
|
||||
.arg(spl->NameForHistory(tr("curve")));
|
||||
}
|
||||
|
@ -349,32 +349,32 @@ QString DialogHistory::Record(const VToolRecord &tool)
|
|||
const QSharedPointer<VAbstractCubicBezierPath> splPath =
|
||||
data->GeometricObject<VAbstractCubicBezierPath>(splinePathId);
|
||||
SCASSERT(splPath != nullptr);
|
||||
return QString(tr("%1 - cut %2"))
|
||||
return tr("%1 - cut %2")
|
||||
.arg(PointName(tool.getId()))
|
||||
.arg(splPath->NameForHistory(tr("curve path")));
|
||||
}
|
||||
case Tool::LineIntersectAxis:
|
||||
return QString(tr("%1 - point of intersection line %2_%3 and axis through point %4"))
|
||||
return tr("%1 - point of intersection line %2_%3 and axis through point %4")
|
||||
.arg(PointName(tool.getId()))
|
||||
.arg(PointName(AttrUInt(domElem, AttrP1Line)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrP2Line)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrBasePoint)));
|
||||
case Tool::CurveIntersectAxis:
|
||||
return QString(tr("%1 - point of intersection curve and axis through point %2"))
|
||||
return tr("%1 - point of intersection curve and axis through point %2")
|
||||
.arg(PointName(tool.getId()))
|
||||
.arg(PointName(AttrUInt(domElem, AttrBasePoint)));
|
||||
case Tool::PointOfIntersectionArcs:
|
||||
return QString(tr("%1 - point of arcs intersection")).arg(PointName(tool.getId()));
|
||||
return tr("%1 - point of arcs intersection").arg(PointName(tool.getId()));
|
||||
case Tool::PointOfIntersectionCircles:
|
||||
return QString(tr("%1 - point of circles intersection")).arg(PointName(tool.getId()));
|
||||
return tr("%1 - point of circles intersection").arg(PointName(tool.getId()));
|
||||
case Tool::PointOfIntersectionCurves:
|
||||
return QString(tr("%1 - point of curves intersection")).arg(PointName(tool.getId()));
|
||||
return tr("%1 - point of curves intersection").arg(PointName(tool.getId()));
|
||||
case Tool::PointFromCircleAndTangent:
|
||||
return QString(tr("%1 - point from circle and tangent")).arg(PointName(tool.getId()));
|
||||
return tr("%1 - point from circle and tangent").arg(PointName(tool.getId()));
|
||||
case Tool::PointFromArcAndTangent:
|
||||
return QString(tr("%1 - point from arc and tangent")).arg(PointName(tool.getId()));
|
||||
return tr("%1 - point from arc and tangent").arg(PointName(tool.getId()));
|
||||
case Tool::TrueDarts:
|
||||
return QString(tr("Correction the dart %1_%2_%3"))
|
||||
return tr("Correction the dart %1_%2_%3")
|
||||
.arg(PointName(AttrUInt(domElem, AttrDartP1)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrDartP2)))
|
||||
.arg(PointName(AttrUInt(domElem, AttrDartP2)));
|
||||
|
|
|
@ -122,17 +122,16 @@ public:
|
|||
protected:
|
||||
virtual void showEvent(QShowEvent *event) Q_DECL_OVERRIDE;
|
||||
public slots:
|
||||
void DialogAccepted();
|
||||
private slots:
|
||||
void ConvertPaperSize();
|
||||
void ConvertLayoutSize();
|
||||
|
||||
void TemplateSelected();
|
||||
void FindTemplate();
|
||||
void PaperSizeChanged();
|
||||
void Swap(bool checked);
|
||||
|
||||
void DialogAccepted();
|
||||
void RestoreDefaults();
|
||||
private slots:
|
||||
|
||||
void CorrectMaxFileds();
|
||||
void IgnoreAllFields(int state);
|
||||
private:
|
||||
|
|
|
@ -45,13 +45,13 @@ class DialogNewPattern : public QDialog
|
|||
Q_OBJECT
|
||||
public:
|
||||
DialogNewPattern(VContainer *data, const QString &patternPieceName, QWidget *parent = nullptr);
|
||||
~DialogNewPattern();
|
||||
virtual ~DialogNewPattern();
|
||||
QString name() const;
|
||||
Unit PatternUnit() const;
|
||||
public slots:
|
||||
void CheckState();
|
||||
protected:
|
||||
virtual void showEvent(QShowEvent *event) Q_DECL_OVERRIDE;
|
||||
private slots:
|
||||
void CheckState();
|
||||
private:
|
||||
Q_DISABLE_COPY(DialogNewPattern)
|
||||
Ui::DialogNewPattern *ui;
|
||||
|
|
|
@ -134,22 +134,27 @@ DialogPatternProperties::DialogPatternProperties(const QString &filePath, VPatte
|
|||
const QString size = QString().setNum(doc->GetDefCustomSize());
|
||||
SetDefaultSize(size);
|
||||
|
||||
connect(ui->radioButtonDefFromP, &QRadioButton::toggled, this, &DialogPatternProperties::ToggleComboBox);
|
||||
connect(ui->radioButtonDefFromP, &QRadioButton::toggled, this, &DialogPatternProperties::DefValueChanged);
|
||||
connect(ui->radioButtonDefFromP, &QRadioButton::toggled, [this]()
|
||||
{
|
||||
ui->comboBoxHeight->setEnabled(ui->radioButtonDefFromP->isChecked());
|
||||
ui->comboBoxSize->setEnabled(ui->radioButtonDefFromP->isChecked());
|
||||
});
|
||||
|
||||
auto DefValueChanged = [this](){defaultChanged = true;};
|
||||
|
||||
connect(ui->radioButtonDefFromP, &QRadioButton::toggled, DefValueChanged);
|
||||
|
||||
ui->radioButtonDefFromP->setChecked(doc->IsDefCustom());
|
||||
|
||||
connect(ui->comboBoxHeight, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,
|
||||
&DialogPatternProperties::DefValueChanged);
|
||||
connect(ui->comboBoxSize, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,
|
||||
&DialogPatternProperties::DefValueChanged);
|
||||
connect(ui->comboBoxHeight, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
|
||||
DefValueChanged);
|
||||
connect(ui->comboBoxSize, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), DefValueChanged);
|
||||
|
||||
const bool readOnly = doc->IsReadOnly();
|
||||
ui->checkBoxPatternReadOnly->setChecked(readOnly);
|
||||
if (not readOnly)
|
||||
{
|
||||
connect(ui->checkBoxPatternReadOnly, &QRadioButton::toggled, this,
|
||||
&DialogPatternProperties::SecurityValueChanged);
|
||||
connect(ui->checkBoxPatternReadOnly, &QRadioButton::toggled, [this](){securityChanged = true;});
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -387,6 +392,7 @@ void DialogPatternProperties::DescEdited()
|
|||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
<<<<<<< local
|
||||
void DialogPatternProperties::ToggleComboBox()
|
||||
{
|
||||
ui->comboBoxHeight->setEnabled(ui->radioButtonDefFromP->isChecked());
|
||||
|
@ -412,6 +418,8 @@ void DialogPatternProperties::GeneralInfoChanged()
|
|||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
=======
|
||||
>>>>>>> other
|
||||
void DialogPatternProperties::SetHeightsChecked(bool enabled)
|
||||
{
|
||||
ui->checkBoxH92->setChecked(enabled);
|
||||
|
@ -686,17 +694,41 @@ void DialogPatternProperties::InitImage()
|
|||
{
|
||||
ui->imageLabel->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||
ui->imageLabel->setScaledContents(true);
|
||||
connect(ui->imageLabel, &QWidget::customContextMenuRequested, this, &DialogPatternProperties::ShowContextMenu);
|
||||
connect(ui->imageLabel, &QWidget::customContextMenuRequested, [this]()
|
||||
{
|
||||
QMenu menu(this);
|
||||
menu.addAction(deleteAction);
|
||||
menu.addAction(changeImageAction);
|
||||
menu.addAction(saveImageAction);
|
||||
menu.addAction(showImageAction);
|
||||
menu.exec(QCursor::pos());
|
||||
menu.show();
|
||||
});
|
||||
|
||||
deleteAction = new QAction(tr("Delete image"), this);
|
||||
changeImageAction = new QAction(tr("Change image"), this);
|
||||
saveImageAction = new QAction(tr("Save image to file"), this);
|
||||
showImageAction = new QAction(tr("Show image"), this);
|
||||
|
||||
connect(deleteAction, &QAction::triggered, this, &DialogPatternProperties::DeleteImage);
|
||||
connect(deleteAction, &QAction::triggered, [this]()
|
||||
{
|
||||
doc->DeleteImage();
|
||||
ui->imageLabel->setText(tr("Change image"));
|
||||
deleteAction->setEnabled(false);
|
||||
saveImageAction->setEnabled(false);
|
||||
showImageAction->setEnabled(false);
|
||||
});
|
||||
|
||||
connect(changeImageAction, &QAction::triggered, this, &DialogPatternProperties::ChangeImage);
|
||||
connect(saveImageAction, &QAction::triggered, this, &DialogPatternProperties::SaveImage);
|
||||
connect(showImageAction, &QAction::triggered, this, &DialogPatternProperties::ShowImage);
|
||||
connect(showImageAction, &QAction::triggered, [this]()
|
||||
{
|
||||
QLabel *label = new QLabel(this, Qt::Window);
|
||||
const QImage image = GetImage();
|
||||
label->setPixmap(QPixmap::fromImage(image));
|
||||
label->setGeometry(QRect(QCursor::pos(), image.size()));
|
||||
label->show();
|
||||
});
|
||||
|
||||
const QImage image = GetImage();
|
||||
if (not image.isNull())
|
||||
|
@ -752,16 +784,6 @@ void DialogPatternProperties::ChangeImage()
|
|||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void DialogPatternProperties::DeleteImage()
|
||||
{
|
||||
doc->DeleteImage();
|
||||
ui->imageLabel->setText(tr("Change image"));
|
||||
deleteAction->setEnabled(false);
|
||||
saveImageAction->setEnabled(false);
|
||||
showImageAction->setEnabled(false);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void DialogPatternProperties::SaveImage()
|
||||
{
|
||||
|
@ -785,25 +807,3 @@ void DialogPatternProperties::SaveImage()
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void DialogPatternProperties::ShowImage()
|
||||
{
|
||||
QLabel *label = new QLabel(this, Qt::Window);
|
||||
const QImage image = GetImage();
|
||||
label->setPixmap(QPixmap::fromImage(image));
|
||||
label->setGeometry(QRect(QCursor::pos(), image.size()));
|
||||
label->show();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void DialogPatternProperties::ShowContextMenu()
|
||||
{
|
||||
QMenu menu(this);
|
||||
menu.addAction(deleteAction);
|
||||
menu.addAction(changeImageAction);
|
||||
menu.addAction(saveImageAction);
|
||||
menu.addAction(showImageAction);
|
||||
menu.exec(QCursor::pos());
|
||||
menu.show();
|
||||
}
|
||||
|
|
|
@ -50,24 +50,24 @@ public:
|
|||
QWidget *parent = nullptr);
|
||||
virtual ~DialogPatternProperties() Q_DECL_OVERRIDE;
|
||||
signals:
|
||||
void UpdateGradation();
|
||||
public slots:
|
||||
void Apply();
|
||||
void Ok();
|
||||
void SelectAll(int state);
|
||||
void CheckStateHeight(int state);
|
||||
void CheckStateSize(int state);
|
||||
void DescEdited();
|
||||
void ChangeImage();
|
||||
void ShowContextMenu();
|
||||
void UpdateGradation();
|
||||
private slots:
|
||||
<<<<<<< local
|
||||
void ToggleComboBox();
|
||||
void DefValueChanged();
|
||||
void SecurityValueChanged();
|
||||
void GeneralInfoChanged();
|
||||
void DeleteImage();
|
||||
=======
|
||||
void Apply();
|
||||
void Ok();
|
||||
void SelectAll(int state);
|
||||
void CheckStateHeight(int state);
|
||||
void CheckStateSize(int state);
|
||||
void DescEdited();
|
||||
void ChangeImage();
|
||||
>>>>>>> other
|
||||
void SaveImage();
|
||||
void ShowImage();
|
||||
private:
|
||||
Q_DISABLE_COPY(DialogPatternProperties)
|
||||
Ui::DialogPatternProperties *ui;
|
||||
|
|
|
@ -90,10 +90,17 @@ DialogSaveLayout::DialogSaveLayout(int count, const QString &fileName, QWidget *
|
|||
ui->comboBoxFormat->addItem(v.first, QVariant(v.second));
|
||||
}
|
||||
connect(bOk, &QPushButton::clicked, this, &DialogSaveLayout::Save);
|
||||
connect(ui->lineEditFileName, &QLineEdit::textChanged, this, &DialogSaveLayout::ShowExample);
|
||||
connect(ui->comboBoxFormat, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this,
|
||||
&DialogSaveLayout::ShowExample);
|
||||
connect(ui->pushButtonBrowse, &QPushButton::clicked, this, &DialogSaveLayout::Browse);
|
||||
|
||||
auto ShowExample = [this](){ui->labelExample->setText(tr("Example:") + FileName() + "1" + Formate());};
|
||||
|
||||
connect(ui->lineEditFileName, &QLineEdit::textChanged, ShowExample);
|
||||
connect(ui->comboBoxFormat, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), ShowExample);
|
||||
connect(ui->pushButtonBrowse, &QPushButton::clicked, [this]()
|
||||
{
|
||||
const QString dir = QFileDialog::getExistingDirectory(this, tr("Select folder"), QDir::homePath(),
|
||||
QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
|
||||
ui->lineEditPath->setText(dir);
|
||||
});
|
||||
connect(ui->lineEditPath, &QLineEdit::textChanged, this, &DialogSaveLayout::PathChanged);
|
||||
|
||||
ui->lineEditPath->setText(qApp->ValentinaSettings()->GetPathLayout());
|
||||
|
@ -210,20 +217,6 @@ void DialogSaveLayout::Save()
|
|||
accept();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void DialogSaveLayout::ShowExample()
|
||||
{
|
||||
ui->labelExample->setText(tr("Example:") + FileName() + "1" + Formate());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void DialogSaveLayout::Browse()
|
||||
{
|
||||
const QString dir = QFileDialog::getExistingDirectory(this, tr("Select folder"), QDir::homePath(),
|
||||
QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks);
|
||||
ui->lineEditPath->setText(dir);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void DialogSaveLayout::PathChanged(const QString &text)
|
||||
{
|
||||
|
|
|
@ -57,13 +57,11 @@ public:
|
|||
void SelectFormate(const int formate);
|
||||
static QString MakeHelpFormatList();
|
||||
void SetDestinationPath(const QString& cmdDestinationPath);
|
||||
public slots:
|
||||
void Save();
|
||||
void ShowExample();
|
||||
void Browse();
|
||||
void PathChanged(const QString &text);
|
||||
protected:
|
||||
virtual void showEvent(QShowEvent *event) Q_DECL_OVERRIDE;
|
||||
private slots:
|
||||
void Save();
|
||||
void PathChanged(const QString &text);
|
||||
private:
|
||||
Q_DISABLE_COPY(DialogSaveLayout)
|
||||
Ui::DialogSaveLAyout *ui;
|
||||
|
|
|
@ -137,7 +137,7 @@ MainWindow::MainWindow(QWidget *parent)
|
|||
|
||||
doc = new VPattern(pattern, &mode, sceneDraw, sceneDetails);
|
||||
connect(doc, &VPattern::ClearMainWindow, this, &MainWindow::Clear);
|
||||
connect(doc, &VPattern::patternChanged, this, &MainWindow::PatternWasModified);
|
||||
connect(doc, &VPattern::patternChanged, this, &MainWindow::PatternChangesWereSaved);
|
||||
connect(doc, &VPattern::UndoCommand, this, &MainWindow::FullParseFile);
|
||||
connect(doc, &VPattern::SetEnabledGUI, this, &MainWindow::SetEnabledGUI);
|
||||
connect(doc, &VPattern::CheckLayout, [this](){
|
||||
|
@ -163,7 +163,7 @@ MainWindow::MainWindow(QWidget *parent)
|
|||
|
||||
ToolBarTools();
|
||||
|
||||
connect(qApp->getUndoStack(), &QUndoStack::cleanChanged, this, &MainWindow::PatternWasModified);
|
||||
connect(qApp->getUndoStack(), &QUndoStack::cleanChanged, this, &MainWindow::PatternChangesWereSaved);
|
||||
|
||||
InitAutoSave();
|
||||
|
||||
|
@ -178,7 +178,27 @@ MainWindow::MainWindow(QWidget *parent)
|
|||
ui->dockWidgetLayoutPages->setVisible(false);
|
||||
|
||||
connect(watcher, &QFileSystemWatcher::fileChanged, this, &MainWindow::MeasurementsChanged);
|
||||
connect(qApp, &QApplication::focusChanged, this, &MainWindow::OnWindowFocusChanged);
|
||||
connect(qApp, &QApplication::focusChanged, [this](QWidget *old, QWidget *now)
|
||||
{
|
||||
if (old == nullptr && isAncestorOf(now) == true)
|
||||
{// focus IN
|
||||
if (mChanges && not mChangesAsked)
|
||||
{
|
||||
mChangesAsked = true;
|
||||
const auto answer = QMessageBox::question(this, tr("Measurements"),
|
||||
tr("Measurements was changed. Do you want to sync measurements now?"),
|
||||
QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes);
|
||||
if (answer == QMessageBox::Yes)
|
||||
{
|
||||
SyncMeasurements();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// In case we will need it
|
||||
// else if (isAncestorOf(old) == true && now == nullptr)
|
||||
// focus OUT
|
||||
});
|
||||
|
||||
#if defined(Q_OS_MAC)
|
||||
// On Mac deafault icon size is 32x32.
|
||||
|
@ -215,28 +235,6 @@ MainWindow::MainWindow(QWidget *parent)
|
|||
#endif //defined(Q_OS_MAC)
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief ActionNewPP add to scene new pattern piece.
|
||||
*/
|
||||
void MainWindow::NewPP()
|
||||
{
|
||||
qCDebug(vMainWindow, "New PP.");
|
||||
QString patternPieceName = QString(tr("Pattern piece %1")).arg(comboBoxDraws->count()+1);
|
||||
qCDebug(vMainWindow, "Generated PP name: %s", qUtf8Printable(patternPieceName));
|
||||
|
||||
qCDebug(vMainWindow, "PP count %d", comboBoxDraws->count());
|
||||
patternPieceName = PatternPieceName(patternPieceName);
|
||||
qCDebug(vMainWindow, "PP name: %s", qUtf8Printable(patternPieceName));
|
||||
if (patternPieceName.isEmpty())
|
||||
{
|
||||
qCDebug(vMainWindow, "Name empty.");
|
||||
return;
|
||||
}
|
||||
|
||||
AddPP(patternPieceName);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void MainWindow::AddPP(const QString &PPName)
|
||||
{
|
||||
|
@ -335,7 +333,7 @@ void MainWindow::InitScenes()
|
|||
connect(this, &MainWindow::EnableSplineHover, sceneDraw, &VMainGraphicsScene::ToggleSplineHover);
|
||||
connect(this, &MainWindow::EnableSplinePathHover, sceneDraw, &VMainGraphicsScene::ToggleSplinePathHover);
|
||||
|
||||
connect(sceneDraw, &VMainGraphicsScene::mouseMove, this, &MainWindow::mouseMove);
|
||||
connect(sceneDraw, &VMainGraphicsScene::mouseMove, this, &MainWindow::MouseMove);
|
||||
|
||||
sceneDetails = new VMainGraphicsScene();
|
||||
connect(this, &MainWindow::EnableItemMove, sceneDetails, &VMainGraphicsScene::EnableItemMove);
|
||||
|
@ -348,7 +346,7 @@ void MainWindow::InitScenes()
|
|||
connect(this, &MainWindow::EnableNodePointHover, sceneDetails, &VMainGraphicsScene::ToggleNodePointHover);
|
||||
connect(this, &MainWindow::EnableDetailHover, sceneDetails, &VMainGraphicsScene::ToggleDetailHover);
|
||||
|
||||
connect(sceneDetails, &VMainGraphicsScene::mouseMove, this, &MainWindow::mouseMove);
|
||||
connect(sceneDetails, &VMainGraphicsScene::mouseMove, this, &MainWindow::MouseMove);
|
||||
|
||||
ui->view->setScene(currentScene);
|
||||
|
||||
|
@ -525,22 +523,6 @@ bool MainWindow::UpdateMeasurements(const QString &path, int size, int height)
|
|||
return true;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief OptionDraw help change name of pattern piece.
|
||||
*/
|
||||
void MainWindow::DrawOption()
|
||||
{
|
||||
const QString activDraw = doc->GetNameActivPP();
|
||||
const QString nameDraw = PatternPieceName(activDraw);
|
||||
if (nameDraw.isEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
RenamePP *renamePP = new RenamePP(doc, nameDraw, comboBoxDraws);
|
||||
qApp->getUndoStack()->push(renamePP);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief SetToolButton set tool and show dialog.
|
||||
|
@ -633,7 +615,7 @@ void MainWindow::SetToolButtonWithApply(bool checked, Tool t, const QString &cur
|
|||
connect(dialogTool.data(), &DialogTool::DialogClosed, this, closeDialogSlot);
|
||||
connect(dialogTool.data(), &DialogTool::DialogApplied, this, applyDialogSlot);
|
||||
connect(dialogTool.data(), &DialogTool::ToolTip, this, &MainWindow::ShowToolTip);
|
||||
connect(ui->view, &VMainGraphicsView::MouseRelease, this, &MainWindow::ClickEndVisualization);
|
||||
connect(ui->view, &VMainGraphicsView::MouseRelease, [this](){EndVisualization(true);});
|
||||
ui->view->itemClicked(nullptr);
|
||||
}
|
||||
else
|
||||
|
@ -1200,26 +1182,6 @@ void MainWindow::ToolTrueDarts(bool checked)
|
|||
&MainWindow::ApplyDialog<VToolTrueDarts>);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief About show widows about.
|
||||
*/
|
||||
void MainWindow::About()
|
||||
{
|
||||
DialogAboutApp * about_dialog = new DialogAboutApp(this);
|
||||
about_dialog->setAttribute(Qt::WA_DeleteOnClose, true);
|
||||
about_dialog->show();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief AboutQt show widows aboutQt.
|
||||
*/
|
||||
void MainWindow::AboutQt()
|
||||
{
|
||||
QMessageBox::aboutQt(this, tr("About Qt"));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief ShowTool highlight tool.Tip show tools tooltip.
|
||||
|
@ -1230,36 +1192,6 @@ void MainWindow::ShowToolTip(const QString &toolTip)
|
|||
helpLabel->setText(toolTip);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void MainWindow::OpenRecentFile()
|
||||
{
|
||||
QAction *action = qobject_cast<QAction *>(sender());
|
||||
if (action)
|
||||
{
|
||||
const QString filePath = action->data().toString();
|
||||
if (filePath.isEmpty() == false)
|
||||
{
|
||||
LoadPattern(filePath);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void MainWindow::PatternProperties()
|
||||
{
|
||||
DialogPatternProperties proper(curFile, doc, pattern, this);
|
||||
connect(&proper, &DialogPatternProperties::UpdateGradation, this, &MainWindow::UpdateGradation);
|
||||
proper.exec();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void MainWindow::EditPatternCode()
|
||||
{
|
||||
DialogPatternXmlEdit *Pattern = new DialogPatternXmlEdit (this, doc);
|
||||
Pattern->setAttribute(Qt::WA_DeleteOnClose, true);
|
||||
Pattern->show();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief showEvent handle after show window.
|
||||
|
@ -1379,7 +1311,7 @@ void MainWindow::LoadIndividual()
|
|||
ui->actionUnloadMeasurements->setEnabled(true);
|
||||
doc->SetPath(RelativeMPath(curFile, mPath));
|
||||
watcher->addPath(mPath);
|
||||
PatternWasModified(false);
|
||||
PatternChangesWereSaved(false);
|
||||
ui->actionShowM->setEnabled(true);
|
||||
helpLabel->setText(tr("Measurements loaded"));
|
||||
doc->LiteParseTree(Document::LiteParse);
|
||||
|
@ -1419,7 +1351,7 @@ void MainWindow::LoadStandard()
|
|||
ui->actionUnloadMeasurements->setEnabled(true);
|
||||
doc->SetPath(RelativeMPath(curFile, mPath));
|
||||
watcher->addPath(mPath);
|
||||
PatternWasModified(false);
|
||||
PatternChangesWereSaved(false);
|
||||
ui->actionShowM->setEnabled(true);
|
||||
helpLabel->setText(tr("Measurements loaded"));
|
||||
doc->LiteParseTree(Document::LiteParse);
|
||||
|
@ -1455,7 +1387,7 @@ void MainWindow::UnloadMeasurements()
|
|||
{
|
||||
watcher->removePath(AbsoluteMPath(curFile, doc->MPath()));
|
||||
doc->SetPath(QString());
|
||||
PatternWasModified(false);
|
||||
PatternChangesWereSaved(false);
|
||||
ui->actionShowM->setEnabled(false);
|
||||
ui->actionUnloadMeasurements->setDisabled(true);
|
||||
helpLabel->setText(tr("Measurements unloaded"));
|
||||
|
@ -1469,14 +1401,6 @@ void MainWindow::UnloadMeasurements()
|
|||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void MainWindow::CreateMeasurements()
|
||||
{
|
||||
const QString tape = qApp->TapeFilePath();
|
||||
const QString workingDirectory = QFileInfo(tape).absoluteDir().absolutePath();
|
||||
QProcess::startDetached(tape, QStringList(), workingDirectory);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void MainWindow::ShowMeasurements()
|
||||
{
|
||||
|
@ -1572,29 +1496,6 @@ void MainWindow::SyncMeasurements()
|
|||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void MainWindow::OnWindowFocusChanged(QWidget *old, QWidget *now)
|
||||
{
|
||||
if (old == nullptr && isAncestorOf(now) == true)
|
||||
{// focus IN
|
||||
if (mChanges && not mChangesAsked)
|
||||
{
|
||||
mChangesAsked = true;
|
||||
const auto answer = QMessageBox::question(this, tr("Measurements"),
|
||||
tr("Measurements was changed. Do you want to sync measurements now?"),
|
||||
QMessageBox::Yes|QMessageBox::No, QMessageBox::Yes);
|
||||
if (answer == QMessageBox::Yes)
|
||||
{
|
||||
SyncMeasurements();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// In case we will need it
|
||||
// else if (isAncestorOf(old) == true && now == nullptr)
|
||||
// focus OUT
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
#if defined(Q_OS_MAC)
|
||||
void MainWindow::OpenAt(QAction *where)
|
||||
|
@ -1709,9 +1610,19 @@ void MainWindow::ToolBarDraws()
|
|||
comboBoxDraws->setSizeAdjustPolicy(QComboBox::AdjustToContents);
|
||||
comboBoxDraws->setEnabled(false);
|
||||
connect(comboBoxDraws, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
|
||||
this, &MainWindow::currentPPChanged);
|
||||
[this](int index){ChangePP(index);});
|
||||
|
||||
connect(ui->actionOptionDraw, &QAction::triggered, this, &MainWindow::DrawOption);
|
||||
connect(ui->actionOptionDraw, &QAction::triggered, [this]()
|
||||
{
|
||||
const QString activDraw = doc->GetNameActivPP();
|
||||
const QString nameDraw = PatternPieceName(activDraw);
|
||||
if (nameDraw.isEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
RenamePP *renamePP = new RenamePP(doc, nameDraw, comboBoxDraws);
|
||||
qApp->getUndoStack()->push(renamePP);
|
||||
});
|
||||
}
|
||||
|
||||
void MainWindow::ToolBarTools()
|
||||
|
@ -1800,30 +1711,19 @@ void MainWindow::InitToolButtons()
|
|||
connect(ui->toolButtonMidpoint, &QToolButton::clicked, this, &MainWindow::ToolMidpoint);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief currentPPChanged change active pattern piece.
|
||||
* @param index index in combobox.
|
||||
*/
|
||||
void MainWindow::currentPPChanged(int index)
|
||||
{
|
||||
ChangePP(index);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief mouseMove save mouse position and show user.
|
||||
* @param scenePos position mouse.
|
||||
*/
|
||||
void MainWindow::mouseMove(const QPointF &scenePos)
|
||||
void MainWindow::MouseMove(const QPointF &scenePos)
|
||||
{
|
||||
//: Coords in status line: "X, Y (units)"
|
||||
QString string = QString(tr("%1, %2 (%3)")).arg(static_cast<qint32>(qApp->fromPixel(scenePos.x())))
|
||||
.arg(static_cast<qint32>(qApp->fromPixel(scenePos.y())))
|
||||
.arg(doc->UnitsToStr(qApp->patternUnit(), true));
|
||||
if (mouseCoordinate != nullptr)
|
||||
if (mouseCoordinate)
|
||||
{
|
||||
mouseCoordinate->setText(string);
|
||||
//: Coords in status line: "X, Y (units)"
|
||||
mouseCoordinate->setText(QString("%1, %2 (%3)").arg(static_cast<qint32>(qApp->fromPixel(scenePos.x())))
|
||||
.arg(static_cast<qint32>(qApp->fromPixel(scenePos.y())))
|
||||
.arg(doc->UnitsToStr(qApp->patternUnit(), true)));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2497,36 +2397,6 @@ void MainWindow::Open()
|
|||
LoadPattern(filePath);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief Preferences config dialog.
|
||||
*/
|
||||
void MainWindow::Preferences()
|
||||
{
|
||||
ConfigDialog dlg(this);
|
||||
connect(&dlg, &ConfigDialog::UpdateProperties, this, &MainWindow::WindowsLocale); // Must be first
|
||||
connect(&dlg, &ConfigDialog::UpdateProperties, toolOptions, &VToolOptionsPropertyBrowser::RefreshOptions);
|
||||
connect(&dlg, &ConfigDialog::UpdateProperties, this, &MainWindow::ToolBarStyles);
|
||||
if (dlg.exec() == QDialog::Accepted)
|
||||
{
|
||||
InitAutoSave();
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void MainWindow::RepotBug()
|
||||
{
|
||||
qCDebug(vMainWindow, "Reporting bug");
|
||||
QDesktopServices::openUrl(QUrl("https://bitbucket.org/dismine/valentina/issues/new"));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void MainWindow::OnlineHelp()
|
||||
{
|
||||
qCDebug(vMainWindow, "Showing online help");
|
||||
QDesktopServices::openUrl(QUrl("https://bitbucket.org/dismine/valentina/wiki/manual/Content"));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief Clear reset to default window.
|
||||
|
@ -2607,20 +2477,6 @@ void MainWindow::FileClosedCorrect()
|
|||
qCDebug(vMainWindow, "File %s closed correct.", qUtf8Printable(curFile));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void MainWindow::ResetWindow()
|
||||
{
|
||||
if (MaybeSave())
|
||||
{
|
||||
FileClosedCorrect();
|
||||
}
|
||||
else
|
||||
{
|
||||
return;
|
||||
}
|
||||
Clear();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void MainWindow::FullParseFile()
|
||||
{
|
||||
|
@ -2840,19 +2696,6 @@ void MainWindow::SetEnableWidgets(bool enable)
|
|||
ui->view->setEnabled(enable);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void MainWindow::ClickEndVisualization()
|
||||
{
|
||||
EndVisualization(true);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void MainWindow::UpdateGradation()
|
||||
{
|
||||
UpdateHeightsList(VMeasurement::ListHeights(doc->GetGradationHeights(), qApp->patternUnit()));
|
||||
UpdateSizesList(VMeasurement::ListSizes(doc->GetGradationSizes(), qApp->patternUnit()));
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void MainWindow::UpdateHeightsList(const QStringList &list)
|
||||
{
|
||||
|
@ -2912,7 +2755,7 @@ void MainWindow::New()
|
|||
if (comboBoxDraws->count() == 0)
|
||||
{
|
||||
qCDebug(vMainWindow, "New PP.");
|
||||
QString patternPieceName = QString(tr("Pattern piece %1")).arg(comboBoxDraws->count()+1);
|
||||
QString patternPieceName = tr("Pattern piece %1").arg(comboBoxDraws->count()+1);
|
||||
qCDebug(vMainWindow, "Generated PP name: %s", qUtf8Printable(patternPieceName));
|
||||
|
||||
qCDebug(vMainWindow, "First PP");
|
||||
|
@ -2948,7 +2791,7 @@ void MainWindow::New()
|
|||
/**
|
||||
* @brief haveChange enable action save if we have unsaved change.
|
||||
*/
|
||||
void MainWindow::PatternWasModified(bool saved)
|
||||
void MainWindow::PatternChangesWereSaved(bool saved)
|
||||
{
|
||||
if (guiEnabled)
|
||||
{
|
||||
|
@ -3055,78 +2898,6 @@ void MainWindow::SetDefaultSize()
|
|||
pattern->SetSize(gradationSizes->currentText().toInt());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief ActionTable show table with variables.
|
||||
* @param checked true - button checked.
|
||||
*/
|
||||
void MainWindow::ActionTable(bool checked)
|
||||
{
|
||||
if (checked)
|
||||
{
|
||||
dialogTable = new DialogIncrements(pattern, doc, this);
|
||||
connect(dialogTable, &DialogIncrements::DialogClosed, this, &MainWindow::ClosedActionTable);
|
||||
dialogTable->show();
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->actionTable->setChecked(true);
|
||||
dialogTable->activateWindow();
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief ClosedActionTable actions after closing table with variables.
|
||||
*/
|
||||
void MainWindow::ClosedActionTable()
|
||||
{
|
||||
ui->actionTable->setChecked(false);
|
||||
delete dialogTable;
|
||||
dialogTable = nullptr;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief ActionHistory show tool history.
|
||||
* @param checked true - button checked.
|
||||
*/
|
||||
void MainWindow::ActionHistory(bool checked)
|
||||
{
|
||||
if (checked)
|
||||
{
|
||||
dialogHistory = new DialogHistory(pattern, doc, this);
|
||||
dialogHistory->setWindowFlags(Qt::Window);
|
||||
connect(this, &MainWindow::RefreshHistory, dialogHistory.data(), &DialogHistory::UpdateHistory);
|
||||
connect(dialogHistory.data(), &DialogHistory::DialogClosed, this, &MainWindow::ClosedActionHistory);
|
||||
// Fix issue #526. Dialog Detail is not on top after selection second object on Mac.
|
||||
dialogHistory->setWindowFlags(dialogHistory->windowFlags() | Qt::WindowStaysOnTopHint);
|
||||
dialogHistory->show();
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->actionHistory->setChecked(true);
|
||||
dialogHistory->activateWindow();
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void MainWindow::ActionCurveDetailsMode(bool checked)
|
||||
{
|
||||
ui->view->itemClicked(nullptr);
|
||||
sceneDraw->EnableDetailsMode(checked);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief ClosedActionHistory actions after closing history window with variables.
|
||||
*/
|
||||
void MainWindow::ClosedActionHistory()
|
||||
{
|
||||
ui->actionHistory->setChecked(false);
|
||||
delete dialogHistory;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
/**
|
||||
* @brief SetEnableTool enable button.
|
||||
|
@ -3253,7 +3024,7 @@ bool MainWindow::SavePattern(const QString &fileName, QString &error)
|
|||
setCurrentFile(fileName);
|
||||
helpLabel->setText(tr("File saved"));
|
||||
qCDebug(vMainWindow, "File %s saved.", qUtf8Printable(fileName));
|
||||
PatternWasModified(result);
|
||||
PatternChangesWereSaved(result);
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -3701,28 +3472,156 @@ void MainWindow::CreateActions()
|
|||
connect(ui->actionDraw, &QAction::triggered, this, &MainWindow::ActionDraw);
|
||||
connect(ui->actionDetails, &QAction::triggered, this, &MainWindow::ActionDetails);
|
||||
connect(ui->actionLayout, &QAction::triggered, this, &MainWindow::ActionLayout);
|
||||
connect(ui->actionHistory, &QAction::triggered, this, &MainWindow::ActionHistory);
|
||||
connect(ui->actionNewDraw, &QAction::triggered, this, &MainWindow::NewPP);
|
||||
|
||||
connect(ui->actionHistory, &QAction::triggered, [this](bool checked)
|
||||
{
|
||||
if (checked)
|
||||
{
|
||||
dialogHistory = new DialogHistory(pattern, doc, this);
|
||||
dialogHistory->setWindowFlags(Qt::Window);
|
||||
connect(this, &MainWindow::RefreshHistory, dialogHistory.data(), &DialogHistory::UpdateHistory);
|
||||
connect(dialogHistory.data(), &DialogHistory::DialogClosed, [this]()
|
||||
{
|
||||
ui->actionHistory->setChecked(false);
|
||||
delete dialogHistory;
|
||||
});
|
||||
// Fix issue #526. Dialog Detail is not on top after selection second object on Mac.
|
||||
dialogHistory->setWindowFlags(dialogHistory->windowFlags() | Qt::WindowStaysOnTopHint);
|
||||
dialogHistory->show();
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->actionHistory->setChecked(true);
|
||||
dialogHistory->activateWindow();
|
||||
}
|
||||
});
|
||||
|
||||
connect(ui->actionNewDraw, &QAction::triggered, [this]()
|
||||
{
|
||||
qCDebug(vMainWindow, "New PP.");
|
||||
QString patternPieceName = tr("Pattern piece %1").arg(comboBoxDraws->count()+1);
|
||||
qCDebug(vMainWindow, "Generated PP name: %s", qUtf8Printable(patternPieceName));
|
||||
|
||||
qCDebug(vMainWindow, "PP count %d", comboBoxDraws->count());
|
||||
patternPieceName = PatternPieceName(patternPieceName);
|
||||
qCDebug(vMainWindow, "PP name: %s", qUtf8Printable(patternPieceName));
|
||||
if (patternPieceName.isEmpty())
|
||||
{
|
||||
qCDebug(vMainWindow, "Name empty.");
|
||||
return;
|
||||
}
|
||||
|
||||
AddPP(patternPieceName);
|
||||
});
|
||||
|
||||
connect(ui->actionSaveAs, &QAction::triggered, this, &MainWindow::SaveAs);
|
||||
connect(ui->actionSave, &QAction::triggered, this, &MainWindow::Save);
|
||||
connect(ui->actionOpen, &QAction::triggered, this, &MainWindow::Open);
|
||||
connect(ui->actionNew, &QAction::triggered, this, &MainWindow::New);
|
||||
connect(ui->actionTable, &QAction::triggered, this, &MainWindow::ActionTable);
|
||||
connect(ui->actionAbout_Qt, &QAction::triggered, this, &MainWindow::AboutQt);
|
||||
connect(ui->actionAbout_Valentina, &QAction::triggered, this, &MainWindow::About);
|
||||
|
||||
connect(ui->actionTable, &QAction::triggered, [this](bool checked)
|
||||
{
|
||||
if (checked)
|
||||
{
|
||||
dialogTable = new DialogIncrements(pattern, doc, this);
|
||||
connect(dialogTable.data(), &DialogIncrements::DialogClosed, [this]()
|
||||
{
|
||||
ui->actionTable->setChecked(false);
|
||||
delete dialogTable;
|
||||
});
|
||||
dialogTable->show();
|
||||
}
|
||||
else
|
||||
{
|
||||
ui->actionTable->setChecked(true);
|
||||
dialogTable->activateWindow();
|
||||
}
|
||||
});
|
||||
|
||||
connect(ui->actionAbout_Qt, &QAction::triggered, [this]()
|
||||
{
|
||||
QMessageBox::aboutQt(this, tr("About Qt"));
|
||||
});
|
||||
|
||||
connect(ui->actionAbout_Valentina, &QAction::triggered, [this]()
|
||||
{
|
||||
DialogAboutApp *aboutDialog = new DialogAboutApp(this);
|
||||
aboutDialog->setAttribute(Qt::WA_DeleteOnClose, true);
|
||||
aboutDialog->show();
|
||||
});
|
||||
|
||||
connect(ui->actionExit, &QAction::triggered, this, &MainWindow::close);
|
||||
connect(ui->actionPreferences, &QAction::triggered, this, &MainWindow::Preferences);
|
||||
connect(ui->actionReportBug, &QAction::triggered, this, &MainWindow::RepotBug);
|
||||
connect(ui->actionOnlineHelp, &QAction::triggered, this, &MainWindow::OnlineHelp);
|
||||
|
||||
connect(ui->actionPreferences, &QAction::triggered, [this]()
|
||||
{
|
||||
ConfigDialog dlg(this);
|
||||
connect(&dlg, &ConfigDialog::UpdateProperties, this, &MainWindow::WindowsLocale); // Must be first
|
||||
connect(&dlg, &ConfigDialog::UpdateProperties, toolOptions, &VToolOptionsPropertyBrowser::RefreshOptions);
|
||||
connect(&dlg, &ConfigDialog::UpdateProperties, this, &MainWindow::ToolBarStyles);
|
||||
if (dlg.exec() == QDialog::Accepted)
|
||||
{
|
||||
InitAutoSave();
|
||||
}
|
||||
});
|
||||
|
||||
connect(ui->actionReportBug, &QAction::triggered, [this]()
|
||||
{
|
||||
qCDebug(vMainWindow, "Reporting bug");
|
||||
QDesktopServices::openUrl(QUrl(QStringLiteral("https://bitbucket.org/dismine/valentina/issues/new")));
|
||||
});
|
||||
|
||||
connect(ui->actionOnlineHelp, &QAction::triggered, [this]()
|
||||
{
|
||||
qCDebug(vMainWindow, "Showing online help");
|
||||
QDesktopServices::openUrl(QUrl(QStringLiteral("https://bitbucket.org/dismine/valentina/wiki/manual/Content")));
|
||||
});
|
||||
|
||||
connect(ui->actionLast_tool, &QAction::triggered, this, &MainWindow::LastUsedTool);
|
||||
connect(ui->actionPattern_properties, &QAction::triggered, this, &MainWindow::PatternProperties);
|
||||
|
||||
connect(ui->actionPattern_properties, &QAction::triggered, [this]()
|
||||
{
|
||||
DialogPatternProperties proper(curFile, doc, pattern, this);
|
||||
connect(&proper, &DialogPatternProperties::UpdateGradation, [this]()
|
||||
{
|
||||
UpdateHeightsList(VMeasurement::ListHeights(doc->GetGradationHeights(), qApp->patternUnit()));
|
||||
UpdateSizesList(VMeasurement::ListSizes(doc->GetGradationSizes(), qApp->patternUnit()));
|
||||
});
|
||||
proper.exec();
|
||||
});
|
||||
|
||||
ui->actionPattern_properties->setEnabled(false);
|
||||
connect(ui->actionEdit_pattern_code, &QAction::triggered, this, &MainWindow::EditPatternCode);
|
||||
connect(ui->actionClosePattern, &QAction::triggered, this, &MainWindow::ResetWindow);
|
||||
connect(ui->actionShowCurveDetails, &QAction::triggered, this, &MainWindow::ActionCurveDetailsMode);
|
||||
connect(ui->actionEdit_pattern_code, &QAction::triggered, [this]()
|
||||
{
|
||||
DialogPatternXmlEdit *pattern = new DialogPatternXmlEdit (this, doc);
|
||||
pattern->setAttribute(Qt::WA_DeleteOnClose, true);
|
||||
pattern->show();
|
||||
});
|
||||
|
||||
connect(ui->actionClosePattern, &QAction::triggered, [this]()
|
||||
{
|
||||
if (MaybeSave())
|
||||
{
|
||||
FileClosedCorrect();
|
||||
Clear();
|
||||
}
|
||||
});
|
||||
|
||||
connect(ui->actionShowCurveDetails, &QAction::triggered, [this](bool checked)
|
||||
{
|
||||
ui->view->itemClicked(nullptr);
|
||||
sceneDraw->EnableDetailsMode(checked);
|
||||
});
|
||||
|
||||
connect(ui->actionLoadIndividual, &QAction::triggered, this, &MainWindow::LoadIndividual);
|
||||
connect(ui->actionLoadStandard, &QAction::triggered, this, &MainWindow::LoadStandard);
|
||||
connect(ui->actionCreateNew, &QAction::triggered, this, &MainWindow::CreateMeasurements);
|
||||
|
||||
connect(ui->actionCreateNew, &QAction::triggered, [this]()
|
||||
{
|
||||
const QString tape = qApp->TapeFilePath();
|
||||
const QString workingDirectory = QFileInfo(tape).absoluteDir().absolutePath();
|
||||
QProcess::startDetached(tape, QStringList(), workingDirectory);
|
||||
});
|
||||
|
||||
connect(ui->actionShowM, &QAction::triggered, this, &MainWindow::ShowMeasurements);
|
||||
connect(ui->actionExportAs, &QAction::triggered, this, &MainWindow::ExportLayoutAs);
|
||||
connect(ui->actionPrintPreview, &QAction::triggered, this, &MainWindow::PrintPreviewOrigin);
|
||||
|
@ -3737,7 +3636,18 @@ void MainWindow::CreateActions()
|
|||
{
|
||||
recentFileActs[i] = new QAction(this);
|
||||
recentFileActs[i]->setVisible(false);
|
||||
connect(recentFileActs[i], &QAction::triggered, this, &MainWindow::OpenRecentFile);
|
||||
connect(recentFileActs[i], &QAction::triggered, [this]()
|
||||
{
|
||||
QAction *action = qobject_cast<QAction *>(sender());
|
||||
if (action)
|
||||
{
|
||||
const QString filePath = action->data().toString();
|
||||
if (not filePath.isEmpty())
|
||||
{
|
||||
LoadPattern(filePath);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
connect(ui->actionSyncMeasurements, &QAction::triggered, this, &MainWindow::SyncMeasurements);
|
||||
|
@ -4078,8 +3988,8 @@ void MainWindow::ReopenFilesAfterCrash(QStringList &args)
|
|||
if (restoreFiles.size() > 0)
|
||||
{
|
||||
QMessageBox::StandardButton reply;
|
||||
QString mes=QString(tr("Valentina didn't shut down correctly. "
|
||||
"Do you want reopen files (%1) you had open?")).arg(restoreFiles.size());
|
||||
const QString mes = tr("Valentina didn't shut down correctly. Do you want reopen files (%1) you had open?")
|
||||
.arg(restoreFiles.size());
|
||||
reply = QMessageBox::question(this, tr("Reopen files."), mes, QMessageBox::Yes|QMessageBox::No,
|
||||
QMessageBox::Yes);
|
||||
if (reply == QMessageBox::Yes)
|
||||
|
@ -4228,7 +4138,7 @@ QString MainWindow::CheckPathToMeasurements(const QString &patternPath, const QS
|
|||
}
|
||||
|
||||
doc->SetPath(RelativeMPath(patternPath, mPath));
|
||||
PatternWasModified(false);
|
||||
PatternChangesWereSaved(false);
|
||||
qApp->setPatternType(patternType);
|
||||
return mPath;
|
||||
}
|
||||
|
|
|
@ -62,151 +62,117 @@ public:
|
|||
explicit MainWindow(QWidget *parent = nullptr);
|
||||
virtual ~MainWindow() Q_DECL_OVERRIDE;
|
||||
|
||||
bool LoadPattern(const QString &curFile, const QString &customMeasureFile = QString());
|
||||
bool LoadPattern(const QString &curFile, const QString &customMeasureFile = QString());
|
||||
|
||||
public slots:
|
||||
void ProcessCMD();
|
||||
void ProcessCMD();
|
||||
void ShowToolTip(const QString &toolTip);
|
||||
|
||||
void mouseMove(const QPointF &scenePos);
|
||||
void ArrowTool();
|
||||
|
||||
void ActionDraw(bool checked);
|
||||
void ActionDetails(bool checked);
|
||||
void ActionLayout(bool checked);
|
||||
|
||||
void ActionTable(bool checked);
|
||||
void ActionHistory(bool checked);
|
||||
void ActionCurveDetailsMode(bool checked);
|
||||
void DrawOption();
|
||||
|
||||
void ClosedActionTable();
|
||||
void ClosedActionHistory();
|
||||
|
||||
void New();
|
||||
bool SaveAs();
|
||||
bool Save();
|
||||
void Open();
|
||||
void NewPP();
|
||||
|
||||
void Preferences();
|
||||
void RepotBug();
|
||||
void OnlineHelp();
|
||||
void About();
|
||||
void AboutQt();
|
||||
void PatternProperties();
|
||||
void ShowToolTip(const QString &toolTip);
|
||||
void OpenRecentFile();
|
||||
void Clear();
|
||||
void ResetWindow();
|
||||
|
||||
void currentPPChanged(int index);
|
||||
|
||||
void PatternWasModified(bool saved);
|
||||
|
||||
void ToolEndLine(bool checked);
|
||||
void ToolLine(bool checked);
|
||||
void ToolAlongLine(bool checked);
|
||||
void ToolMidpoint(bool checked);
|
||||
void ToolShoulderPoint(bool checked);
|
||||
void ToolNormal(bool checked);
|
||||
void ToolBisector(bool checked);
|
||||
void ToolLineIntersect(bool checked);
|
||||
void ToolSpline(bool checked);
|
||||
void ToolCubicBezier(bool checked);
|
||||
void ToolCutSpline(bool checked);
|
||||
void ToolArc(bool checked);
|
||||
void ToolSplinePath(bool checked);
|
||||
void ToolCubicBezierPath(bool checked);
|
||||
void ToolCutSplinePath(bool checked);
|
||||
void ToolPointOfContact(bool checked);
|
||||
void ToolDetail(bool checked);
|
||||
void ToolHeight(bool checked);
|
||||
void ToolTriangle(bool checked);
|
||||
void ToolPointOfIntersection(bool checked);
|
||||
void ToolUnionDetails(bool checked);
|
||||
void ToolGroup(bool checked);
|
||||
void ToolRotation(bool checked);
|
||||
void ToolCutArc(bool checked);
|
||||
void ToolLineIntersectAxis(bool checked);
|
||||
void ToolCurveIntersectAxis(bool checked);
|
||||
void ToolArcIntersectAxis(bool checked);
|
||||
void ToolPointOfIntersectionArcs(bool checked);
|
||||
void ToolPointOfIntersectionCircles(bool checked);
|
||||
void ToolPointOfIntersectionCurves(bool checked);
|
||||
void ToolPointFromCircleAndTangent(bool checked);
|
||||
void ToolPointFromArcAndTangent(bool checked);
|
||||
void ToolArcWithLength(bool checked);
|
||||
void ToolTrueDarts(bool checked);
|
||||
|
||||
void ClosedDialogDetail(int result);
|
||||
void ClosedDialogUnionDetails(int result);
|
||||
void ClosedDialogGroup(int result);
|
||||
|
||||
//tmp
|
||||
void LastUsedTool();
|
||||
|
||||
/**
|
||||
* @brief Edit XML code of pattern
|
||||
*/
|
||||
void EditPatternCode();
|
||||
void FullParseFile();
|
||||
|
||||
void SetEnabledGUI(bool enabled);
|
||||
|
||||
void ClickEndVisualization();
|
||||
void UpdateGradation();
|
||||
void GlobalChangePP(const QString &patternPiece);
|
||||
void WindowsLocale();
|
||||
void ToolBarStyles();
|
||||
|
||||
void ShowPaper(int index);
|
||||
signals:
|
||||
void RefreshHistory();
|
||||
void EnableItemMove(bool move);
|
||||
void ItemsSelection(SelectionType type) const;
|
||||
void RefreshHistory();
|
||||
void EnableItemMove(bool move);
|
||||
void ItemsSelection(SelectionType type) const;
|
||||
|
||||
void EnableLabelSelection(bool enable) const;
|
||||
void EnablePointSelection(bool enable) const;
|
||||
void EnableLineSelection(bool enable) const;
|
||||
void EnableArcSelection(bool enable) const;
|
||||
void EnableSplineSelection(bool enable) const;
|
||||
void EnableSplinePathSelection(bool enable) const;
|
||||
void EnableNodeLabelSelection(bool enable) const;
|
||||
void EnableNodePointSelection(bool enable) const;
|
||||
void EnableDetailSelection(bool enable) const;
|
||||
void EnableLabelSelection(bool enable) const;
|
||||
void EnablePointSelection(bool enable) const;
|
||||
void EnableLineSelection(bool enable) const;
|
||||
void EnableArcSelection(bool enable) const;
|
||||
void EnableSplineSelection(bool enable) const;
|
||||
void EnableSplinePathSelection(bool enable) const;
|
||||
void EnableNodeLabelSelection(bool enable) const;
|
||||
void EnableNodePointSelection(bool enable) const;
|
||||
void EnableDetailSelection(bool enable) const;
|
||||
|
||||
void EnableLabelHover(bool enable) const;
|
||||
void EnablePointHover(bool enable) const;
|
||||
void EnableLineHover(bool enable) const;
|
||||
void EnableArcHover(bool enable) const;
|
||||
void EnableSplineHover(bool enable) const;
|
||||
void EnableSplinePathHover(bool enable) const;
|
||||
void EnableNodeLabelHover(bool enable) const;
|
||||
void EnableNodePointHover(bool enable) const;
|
||||
void EnableDetailHover(bool enable) const;
|
||||
void EnableLabelHover(bool enable) const;
|
||||
void EnablePointHover(bool enable) const;
|
||||
void EnableLineHover(bool enable) const;
|
||||
void EnableArcHover(bool enable) const;
|
||||
void EnableSplineHover(bool enable) const;
|
||||
void EnableSplinePathHover(bool enable) const;
|
||||
void EnableNodeLabelHover(bool enable) const;
|
||||
void EnableNodePointHover(bool enable) const;
|
||||
void EnableDetailHover(bool enable) const;
|
||||
protected:
|
||||
virtual void keyPressEvent(QKeyEvent *event) Q_DECL_OVERRIDE;
|
||||
virtual void showEvent(QShowEvent *event) Q_DECL_OVERRIDE;
|
||||
virtual void changeEvent(QEvent* event) Q_DECL_OVERRIDE;
|
||||
virtual void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE;
|
||||
virtual void customEvent(QEvent * event) Q_DECL_OVERRIDE;
|
||||
virtual void CleanLayout() Q_DECL_OVERRIDE;
|
||||
virtual void PrepareSceneList() Q_DECL_OVERRIDE;
|
||||
virtual void keyPressEvent(QKeyEvent *event) Q_DECL_OVERRIDE;
|
||||
virtual void showEvent(QShowEvent *event) Q_DECL_OVERRIDE;
|
||||
virtual void changeEvent(QEvent* event) Q_DECL_OVERRIDE;
|
||||
virtual void closeEvent(QCloseEvent *event) Q_DECL_OVERRIDE;
|
||||
virtual void customEvent(QEvent * event) Q_DECL_OVERRIDE;
|
||||
virtual void CleanLayout() Q_DECL_OVERRIDE;
|
||||
virtual void PrepareSceneList() Q_DECL_OVERRIDE;
|
||||
private slots:
|
||||
void MouseMove(const QPointF &scenePos);
|
||||
void Clear();
|
||||
void PatternChangesWereSaved(bool saved);
|
||||
void LastUsedTool();
|
||||
void FullParseFile();
|
||||
void SetEnabledGUI(bool enabled);
|
||||
void GlobalChangePP(const QString &patternPiece);
|
||||
void WindowsLocale();
|
||||
void ToolBarStyles();
|
||||
void ShowPaper(int index);
|
||||
|
||||
void ArrowTool();
|
||||
void ToolEndLine(bool checked);
|
||||
void ToolLine(bool checked);
|
||||
void ToolAlongLine(bool checked);
|
||||
void ToolMidpoint(bool checked);
|
||||
void ToolShoulderPoint(bool checked);
|
||||
void ToolNormal(bool checked);
|
||||
void ToolBisector(bool checked);
|
||||
void ToolLineIntersect(bool checked);
|
||||
void ToolSpline(bool checked);
|
||||
void ToolCubicBezier(bool checked);
|
||||
void ToolCutSpline(bool checked);
|
||||
void ToolArc(bool checked);
|
||||
void ToolSplinePath(bool checked);
|
||||
void ToolCubicBezierPath(bool checked);
|
||||
void ToolCutSplinePath(bool checked);
|
||||
void ToolPointOfContact(bool checked);
|
||||
void ToolDetail(bool checked);
|
||||
void ToolHeight(bool checked);
|
||||
void ToolTriangle(bool checked);
|
||||
void ToolPointOfIntersection(bool checked);
|
||||
void ToolUnionDetails(bool checked);
|
||||
void ToolGroup(bool checked);
|
||||
void ToolRotation(bool checked);
|
||||
void ToolCutArc(bool checked);
|
||||
void ToolLineIntersectAxis(bool checked);
|
||||
void ToolCurveIntersectAxis(bool checked);
|
||||
void ToolArcIntersectAxis(bool checked);
|
||||
void ToolPointOfIntersectionArcs(bool checked);
|
||||
void ToolPointOfIntersectionCircles(bool checked);
|
||||
void ToolPointOfIntersectionCurves(bool checked);
|
||||
void ToolPointFromCircleAndTangent(bool checked);
|
||||
void ToolPointFromArcAndTangent(bool checked);
|
||||
void ToolArcWithLength(bool checked);
|
||||
void ToolTrueDarts(bool checked);
|
||||
|
||||
void ActionDraw(bool checked);
|
||||
void ActionDetails(bool checked);
|
||||
void ActionLayout(bool checked);
|
||||
|
||||
void New();
|
||||
bool SaveAs();
|
||||
bool Save();
|
||||
void Open();
|
||||
|
||||
void ClosedDialogDetail(int result);
|
||||
void ClosedDialogUnionDetails(int result);
|
||||
void ClosedDialogGroup(int result);
|
||||
|
||||
void LoadIndividual();
|
||||
void LoadStandard();
|
||||
void UnloadMeasurements();
|
||||
void CreateMeasurements();
|
||||
void ShowMeasurements();
|
||||
void MeasurementsChanged(const QString &path);
|
||||
void SyncMeasurements();
|
||||
void OnWindowFocusChanged(QWidget* old, QWidget* now);
|
||||
#if defined(Q_OS_MAC)
|
||||
void OpenAt(QAction *where);
|
||||
#endif //defined(Q_OS_MAC)
|
||||
|
||||
void ChangedSize(const QString &text);
|
||||
void ChangedHeight(const QString & text);
|
||||
void ChangedHeight(const QString &text);
|
||||
|
||||
private:
|
||||
Q_DISABLE_COPY(MainWindow)
|
||||
|
@ -242,9 +208,9 @@ private:
|
|||
|
||||
bool patternReadOnly;
|
||||
|
||||
DialogIncrements *dialogTable;
|
||||
QPointer<DialogTool> dialogTool;
|
||||
QPointer<DialogHistory> dialogHistory;
|
||||
QPointer<DialogIncrements> dialogTable;
|
||||
QPointer<DialogTool> dialogTool;
|
||||
QPointer<DialogHistory> dialogHistory;
|
||||
|
||||
/** @brief comboBoxDraws comboc who show name of pattern peaces. */
|
||||
QComboBox *comboBoxDraws;
|
||||
|
|
|
@ -726,7 +726,7 @@ void MainWindowsNoGUI::PdfToPs(const QStringList ¶ms) const
|
|||
QFile f(params.last());
|
||||
if (f.exists() == false)
|
||||
{
|
||||
QString msg = QString(tr("Creating file '%1' failed! %2")).arg(params.last()).arg(proc.errorString());
|
||||
const QString msg = tr("Creating file '%1' failed! %2").arg(params.last()).arg(proc.errorString());
|
||||
QMessageBox msgBox(QMessageBox::Critical, tr("Critical error!"), msg, QMessageBox::Ok | QMessageBox::Default);
|
||||
msgBox.exec();
|
||||
}
|
||||
|
|
|
@ -54,12 +54,10 @@ public slots:
|
|||
void ToolLayoutSettings(bool checked);
|
||||
void ExportLayoutAs();
|
||||
void SaveAsTiledPDF();
|
||||
void PrintPages (QPrinter *printer);
|
||||
void PrintPreviewOrigin();
|
||||
void PrintPreviewTiled();
|
||||
void PrintOrigin();
|
||||
void PrintTiled();
|
||||
void ErrorConsoleMode(const LayoutErrors &state);
|
||||
protected:
|
||||
QVector<VLayoutDetail> listDetails;
|
||||
|
||||
|
@ -99,6 +97,9 @@ protected:
|
|||
virtual void PrepareSceneList()=0;
|
||||
QIcon ScenePreview(int i) const;
|
||||
bool LayoutSettings(VLayoutGenerator& lGenerator);
|
||||
private slots:
|
||||
void PrintPages (QPrinter *printer);
|
||||
void ErrorConsoleMode(const LayoutErrors &state);
|
||||
private:
|
||||
Q_DISABLE_COPY(MainWindowsNoGUI)
|
||||
|
||||
|
|
|
@ -261,8 +261,24 @@ void FvUpdater::startDownloadFeed(const QUrl &url)
|
|||
|
||||
m_reply = m_qnam.get(request);
|
||||
|
||||
connect(m_reply, &QNetworkReply::readyRead, this, &FvUpdater::httpFeedReadyRead);
|
||||
connect(m_reply, &QNetworkReply::downloadProgress, this, &FvUpdater::httpFeedUpdateDataReadProgress);
|
||||
connect(m_reply, &QNetworkReply::readyRead, [this]()
|
||||
{
|
||||
// this slot gets called every time the QNetworkReply has new data.
|
||||
// We read all of its new data and write it into the file.
|
||||
// That way we use less RAM than when reading it at the finished()
|
||||
// signal of the QNetworkReply
|
||||
m_xml.addData(m_reply->readAll());
|
||||
});
|
||||
connect(m_reply, &QNetworkReply::downloadProgress, [this](qint64 bytesRead, qint64 totalBytes)
|
||||
{
|
||||
Q_UNUSED(bytesRead);
|
||||
Q_UNUSED(totalBytes);
|
||||
|
||||
if (m_httpRequestAborted)
|
||||
{
|
||||
return;
|
||||
}
|
||||
});
|
||||
connect(m_reply, &QNetworkReply::finished, this, &FvUpdater::httpFeedDownloadFinished);
|
||||
}
|
||||
|
||||
|
@ -276,28 +292,6 @@ void FvUpdater::cancelDownloadFeed()
|
|||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void FvUpdater::httpFeedReadyRead()
|
||||
{
|
||||
// this slot gets called every time the QNetworkReply has new data.
|
||||
// We read all of its new data and write it into the file.
|
||||
// That way we use less RAM than when reading it at the finished()
|
||||
// signal of the QNetworkReply
|
||||
m_xml.addData(m_reply->readAll());
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void FvUpdater::httpFeedUpdateDataReadProgress(qint64 bytesRead, qint64 totalBytes)
|
||||
{
|
||||
Q_UNUSED(bytesRead);
|
||||
Q_UNUSED(totalBytes);
|
||||
|
||||
if (m_httpRequestAborted)
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void FvUpdater::httpFeedDownloadFinished()
|
||||
{
|
||||
|
|
|
@ -70,8 +70,6 @@ protected slots:
|
|||
void UpdateInstallationConfirmed();
|
||||
|
||||
private slots:
|
||||
void httpFeedReadyRead();
|
||||
void httpFeedUpdateDataReadProgress(qint64 bytesRead, qint64 totalBytes);
|
||||
void httpFeedDownloadFinished();
|
||||
|
||||
private:
|
||||
|
|
|
@ -52,7 +52,7 @@ public:
|
|||
|
||||
QmuParserTester(QObject *parent = nullptr);
|
||||
|
||||
public slots:
|
||||
private slots:
|
||||
void Run();
|
||||
|
||||
private:
|
||||
|
|
|
@ -72,7 +72,13 @@ VAbstractApplication::VAbstractApplication(int &argc, char **argv)
|
|||
// Enable support for HiDPI bitmap resources
|
||||
setAttribute(Qt::AA_UseHighDpiPixmaps);
|
||||
|
||||
connect(this, &QApplication::aboutToQuit, this, &VAbstractApplication::SyncSettings);
|
||||
connect(this, &QApplication::aboutToQuit, [this]()
|
||||
{
|
||||
// If try to use the method QApplication::exit program can't sync settings and show warning about QApplication
|
||||
// instance. Solution is to call sync() before quit.
|
||||
// Connect this slot with VApplication::aboutToQuit.
|
||||
Settings()->sync();
|
||||
});
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
|
@ -256,15 +262,6 @@ double VAbstractApplication::fromPixel(double pix) const
|
|||
return FromPixel(pix, _patternUnit);
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VAbstractApplication::SyncSettings()
|
||||
{
|
||||
// If try to use the method QApplication::exit program can't sync settings and show warning about QApplication
|
||||
// instance. Solution is to call sync() before quit.
|
||||
// Connect this slot with VApplication::aboutToQuit.
|
||||
Settings()->sync();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void VAbstractApplication::LoadTranslation(const QString &locale)
|
||||
{
|
||||
|
|
|
@ -96,9 +96,6 @@ public:
|
|||
|
||||
virtual bool IsAppInGUIMode()const =0;
|
||||
|
||||
protected slots:
|
||||
void SyncSettings();
|
||||
|
||||
protected:
|
||||
QUndoStack *undoStack;
|
||||
|
||||
|
|
|
@ -39,14 +39,14 @@
|
|||
//VFormula
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
VFormula::VFormula()
|
||||
:formula(QString()), value(QString(tr("Error"))), checkZero(true), data(nullptr), toolId(NULL_ID),
|
||||
:formula(QString()), value(tr("Error")), checkZero(true), data(nullptr), toolId(NULL_ID),
|
||||
postfix(QString()), _error(true), dValue(0)
|
||||
{}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
VFormula::VFormula(const QString &formula, const VContainer *container)
|
||||
: formula(qApp->TrVars()->FormulaToUser(formula, qApp->Settings()->GetOsSeparator())),
|
||||
value(QString(tr("Error"))),
|
||||
value(tr("Error")),
|
||||
checkZero(true),
|
||||
data(container),
|
||||
toolId(NULL_ID),
|
||||
|
@ -226,7 +226,7 @@ void VFormula::Eval()
|
|||
}
|
||||
if (formula.isEmpty())
|
||||
{
|
||||
value = QString(tr("Error"));
|
||||
value = tr("Error");
|
||||
_error = true;
|
||||
dValue = 0;
|
||||
}
|
||||
|
@ -240,7 +240,7 @@ void VFormula::Eval()
|
|||
|
||||
if (qIsInf(result) || qIsNaN(result))
|
||||
{
|
||||
value = QString(tr("Error"));
|
||||
value = tr("Error");
|
||||
_error = true;
|
||||
dValue = 0;
|
||||
}
|
||||
|
@ -263,7 +263,7 @@ void VFormula::Eval()
|
|||
}
|
||||
catch (qmu::QmuParserError &e)
|
||||
{
|
||||
value = QString(tr("Error"));
|
||||
value = tr("Error");
|
||||
_error = true;
|
||||
dValue = 0;
|
||||
qDebug() << "\nMath parser error:\n"
|
||||
|
|
|
@ -48,9 +48,17 @@ DialogUndo::DialogUndo(QWidget *parent)
|
|||
}
|
||||
else
|
||||
{
|
||||
connect(ui->pushButtonUndo, &QPushButton::clicked, this, &DialogUndo::Undo);
|
||||
connect(ui->pushButtonUndo, &QPushButton::clicked, [this]()
|
||||
{
|
||||
result = UndoButton::Undo;
|
||||
accept();
|
||||
});
|
||||
}
|
||||
connect(ui->pushButtonFix, &QPushButton::clicked, this, &DialogUndo::Fix);
|
||||
connect(ui->pushButtonFix, &QPushButton::clicked, [this]()
|
||||
{
|
||||
result = UndoButton::Fix;
|
||||
accept();
|
||||
});
|
||||
connect(ui->pushButtonCancel, &QPushButton::clicked, this, &DialogUndo::Cancel);
|
||||
|
||||
setCursor(Qt::ArrowCursor);
|
||||
|
@ -62,20 +70,6 @@ DialogUndo::~DialogUndo()
|
|||
delete ui;
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void DialogUndo::Undo()
|
||||
{
|
||||
result = UndoButton::Undo;
|
||||
accept();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void DialogUndo::Fix()
|
||||
{
|
||||
result = UndoButton::Fix;
|
||||
accept();
|
||||
}
|
||||
|
||||
//---------------------------------------------------------------------------------------------------------------------
|
||||
void DialogUndo::Cancel()
|
||||
{
|
||||
|
|
|
@ -42,15 +42,13 @@ class DialogUndo : public QDialog
|
|||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit DialogUndo(QWidget *parent = 0);
|
||||
explicit DialogUndo(QWidget *parent = nullptr);
|
||||
UndoButton Result() const;
|
||||
virtual ~DialogUndo() Q_DECL_OVERRIDE;
|
||||
public slots:
|
||||
void Undo();
|
||||
void Fix();
|
||||
void Cancel();
|
||||
protected:
|
||||
virtual void closeEvent ( QCloseEvent * event ) Q_DECL_OVERRIDE;
|
||||
virtual void closeEvent ( QCloseEvent *event ) Q_DECL_OVERRIDE;
|
||||
private slots:
|
||||
void Cancel();
|
||||
private:
|
||||
Q_DISABLE_COPY(DialogUndo)
|
||||
Ui::DialogUndo *ui;
|
||||
|
|
|
@ -78,8 +78,8 @@ void VisToolCurveIntersectAxis::RefreshGeometry()
|
|||
|
||||
DrawPoint(point, p, mainColor);
|
||||
|
||||
Visualization::toolTip = QString(tr("<b>Intersection curve and axis</b>: angle = %1°; <b>Shift</b> - "
|
||||
"sticking angle, <b>Enter</b> - finish creation"))
|
||||
Visualization::toolTip = tr("<b>Intersection curve and axis</b>: angle = %1°; <b>Shift</b> - "
|
||||
"sticking angle, <b>Enter</b> - finish creation")
|
||||
.arg(this->line().angle());
|
||||
}
|
||||
}
|
||||
|
|
|
@ -70,8 +70,8 @@ void VisToolEndLine::RefreshGeometry()
|
|||
}
|
||||
DrawLine(this, line, mainColor, lineStyle);
|
||||
static const QString prefix = VDomDocument::UnitsToStr(qApp->patternUnit(), true);
|
||||
Visualization::toolTip = QString(tr("<b>Point at distance and angle</b>: angle = %1°, length = %2%3; "
|
||||
"<b>Shift</b> - sticking angle, <b>Enter</b> - finish creation"))
|
||||
Visualization::toolTip = tr("<b>Point at distance and angle</b>: angle = %1°, length = %2%3; "
|
||||
"<b>Shift</b> - sticking angle, <b>Enter</b> - finish creation")
|
||||
.arg(this->line().angle())
|
||||
.arg(qApp->TrVars()->FormulaToUser(QString::number(qApp->fromPixel(this->line().length())),
|
||||
qApp->Settings()->GetOsSeparator()))
|
||||
|
|
|
@ -93,8 +93,8 @@ void VisToolLineIntersectAxis::RefreshGeometry()
|
|||
DrawPoint(point, p, mainColor);
|
||||
ShowIntersection(axis_line, base_line);
|
||||
|
||||
Visualization::toolTip = QString(tr("<b>Intersection line and axis</b>: angle = %1°; <b>Shift</b> - "
|
||||
"sticking angle, <b>Enter</b> - finish creation"))
|
||||
Visualization::toolTip = tr("<b>Intersection line and axis</b>: angle = %1°; <b>Shift</b> - "
|
||||
"sticking angle, <b>Enter</b> - finish creation")
|
||||
.arg(this->line().angle());
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user