Changeset View
Changeset View
Standalone View
Standalone View
src/mainwindow.cpp
Show First 20 Lines • Show All 64 Lines • ▼ Show 20 Line(s) | |||||
65 | void MainWindow::closeEvent(QCloseEvent *event) | 65 | void MainWindow::closeEvent(QCloseEvent *event) | ||
66 | { | 66 | { | ||
67 | if (!askToSave(m_gcodeEditor->modifiedFiles())) { | 67 | if (!askToSave(m_gcodeEditor->modifiedFiles())) { | ||
68 | event->ignore(); | 68 | event->ignore(); | ||
69 | } | 69 | } | ||
70 | 70 | | |||
71 | bool closePrompt = false; | 71 | bool closePrompt = false; | ||
72 | for (int i = 0; i < m_instances->count(); i++) { | 72 | for (int i = 0; i < m_instances->count(); i++) { | ||
73 | AtCoreInstanceWidget *instance = qobject_cast<AtCoreInstanceWidget *>(m_instances->widget(i)); | 73 | auto instance = qobject_cast<AtCoreInstanceWidget *>(m_instances->widget(i)); | ||
74 | if (instance->isPrinting()) { | 74 | if (instance->isPrinting()) { | ||
75 | closePrompt = true; | 75 | closePrompt = true; | ||
76 | break; | 76 | break; | ||
77 | } | 77 | } | ||
78 | } | 78 | } | ||
79 | if (closePrompt) { | 79 | if (closePrompt) { | ||
80 | if (askToClose()) { | 80 | if (askToClose()) { | ||
81 | event->accept(); | 81 | event->accept(); | ||
▲ Show 20 Lines • Show All 95 Lines • ▼ Show 20 Line(s) | 175 | int result = QMessageBox::question( | |||
177 | , i18n("Document Modified") | 177 | , i18n("Document Modified") | ||
178 | , i18n("%1 \n Contains Unsaved Changes That will not be in the print.\n Would you like to Save before printing?", file.toLocalFile()) | 178 | , i18n("%1 \n Contains Unsaved Changes That will not be in the print.\n Would you like to Save before printing?", file.toLocalFile()) | ||
179 | , QMessageBox::Save | 179 | , QMessageBox::Save | ||
180 | , QMessageBox::Cancel | 180 | , QMessageBox::Cancel | ||
181 | , QMessageBox::Ignore | 181 | , QMessageBox::Ignore | ||
182 | ); | 182 | ); | ||
183 | if (result == QMessageBox::Cancel) { | 183 | if (result == QMessageBox::Cancel) { | ||
184 | return; | 184 | return; | ||
185 | } else if (result == QMessageBox::Save) { | 185 | } | ||
186 | if (result == QMessageBox::Save) { | ||||
186 | m_gcodeEditor->saveFile(file); | 187 | m_gcodeEditor->saveFile(file); | ||
187 | } | 188 | } | ||
188 | } | 189 | } | ||
189 | newInstanceWidget->printFile(file); | 190 | newInstanceWidget->printFile(file); | ||
190 | }); | 191 | }); | ||
191 | 192 | | |||
192 | connect(newInstanceWidget, &AtCoreInstanceWidget::bedSizeChanged, this, [this](const QSize & newSize) { | 193 | connect(newInstanceWidget, &AtCoreInstanceWidget::bedSizeChanged, this, [this](const QSize & newSize) { | ||
193 | if (m_currInstance == m_instances->currentIndex()) { | 194 | if (m_currInstance == m_instances->currentIndex()) { | ||
▲ Show 20 Lines • Show All 226 Lines • ▼ Show 20 Line(s) | 412 | { | |||
420 | listWidget->setMinimumWidth(fontMetrics().height() / 2 * padding); | 421 | listWidget->setMinimumWidth(fontMetrics().height() / 2 * padding); | ||
421 | for (const auto &url : fileList) { | 422 | for (const auto &url : fileList) { | ||
422 | listWidget->addItem(url.toLocalFile() + " [*]"); | 423 | listWidget->addItem(url.toLocalFile() + " [*]"); | ||
423 | } | 424 | } | ||
424 | 425 | | |||
425 | auto hLayout = new QHBoxLayout(); | 426 | auto hLayout = new QHBoxLayout(); | ||
426 | auto saveBtn = new QPushButton(QIcon::fromTheme("document-save", QIcon(QStringLiteral(":/%1/save").arg(m_theme))), i18n("Save Selected")); | 427 | auto saveBtn = new QPushButton(QIcon::fromTheme("document-save", QIcon(QStringLiteral(":/%1/save").arg(m_theme))), i18n("Save Selected")); | ||
427 | saveBtn->setIconSize(iconSize); | 428 | saveBtn->setIconSize(iconSize); | ||
428 | connect(saveBtn, &QPushButton::clicked, this, [this, &listWidget, &fileList, &dialog] { | 429 | connect(saveBtn, &QPushButton::clicked, this, [this, listWidget, &fileList, dialog] { | ||
429 | if (!m_gcodeEditor->saveFile(fileList.at(listWidget->currentRow()))) | 430 | if (!m_gcodeEditor->saveFile(fileList.at(listWidget->currentRow()))) | ||
430 | { | 431 | { | ||
431 | QMessageBox::information(this, i18n("Save Failed"), i18n("Failed to save file: %1").arg(fileList.at(listWidget->currentRow()).toLocalFile())); | 432 | QMessageBox::information(this, i18n("Save Failed"), i18n("Failed to save file: %1").arg(fileList.at(listWidget->currentRow()).toLocalFile())); | ||
432 | } else | 433 | } else | ||
433 | { | 434 | { | ||
434 | QString txt = listWidget->item(listWidget->currentRow())->text(); | 435 | QString txt = listWidget->item(listWidget->currentRow())->text(); | ||
435 | txt.remove(" [*]"); | 436 | txt.remove(" [*]"); | ||
436 | listWidget->item(listWidget->currentRow())->setText(txt); | 437 | listWidget->item(listWidget->currentRow())->setText(txt); | ||
437 | for (int i = 0; i < listWidget->count(); i++) { | 438 | for (int i = 0; i < listWidget->count(); i++) { | ||
438 | QString string = listWidget->item(i)->text(); | 439 | QString string = listWidget->item(i)->text(); | ||
439 | if (string.endsWith(" [*]")) { | 440 | if (string.endsWith(" [*]")) { | ||
440 | return; | 441 | return; | ||
441 | } | 442 | } | ||
442 | } | 443 | } | ||
443 | dialog->accept(); | 444 | dialog->accept(); | ||
444 | } | 445 | } | ||
445 | }); | 446 | }); | ||
446 | hLayout->addWidget(saveBtn); | 447 | hLayout->addWidget(saveBtn); | ||
447 | 448 | | |||
448 | auto saveAllBtn = new QPushButton(QIcon::fromTheme("document-save-all", QIcon(QStringLiteral(":/%1/saveAll").arg(m_theme))), i18n("Save All")); | 449 | auto saveAllBtn = new QPushButton(QIcon::fromTheme("document-save-all", QIcon(QStringLiteral(":/%1/saveAll").arg(m_theme))), i18n("Save All")); | ||
449 | saveAllBtn->setIconSize(iconSize); | 450 | saveAllBtn->setIconSize(iconSize); | ||
450 | connect(saveAllBtn, &QPushButton::clicked, this, [this, &listWidget, &fileList, &dialog] { | 451 | connect(saveAllBtn, &QPushButton::clicked, this, [this, listWidget, &fileList, dialog] { | ||
451 | for (int i = 0; i < listWidget->count(); i++) | 452 | for (int i = 0; i < listWidget->count(); i++) | ||
452 | { | 453 | { | ||
453 | if (!m_gcodeEditor->saveFile(fileList.at(i))) { | 454 | if (!m_gcodeEditor->saveFile(fileList.at(i))) { | ||
454 | QMessageBox::information(this, i18n("Save Failed"), i18n("Failed to save file: %1").arg(fileList.at(i).toLocalFile())); | 455 | QMessageBox::information(this, i18n("Save Failed"), i18n("Failed to save file: %1").arg(fileList.at(i).toLocalFile())); | ||
455 | dialog->reject(); | 456 | dialog->reject(); | ||
456 | } else { | 457 | } else { | ||
457 | QString txt = listWidget->item(listWidget->currentRow())->text(); | 458 | QString txt = listWidget->item(listWidget->currentRow())->text(); | ||
458 | txt.remove(" [*]"); | 459 | txt.remove(" [*]"); | ||
459 | listWidget->item(listWidget->currentRow())->setText(txt); | 460 | listWidget->item(listWidget->currentRow())->setText(txt); | ||
460 | } | 461 | } | ||
461 | } | 462 | } | ||
462 | dialog->accept(); | 463 | dialog->accept(); | ||
463 | }); | 464 | }); | ||
464 | hLayout->addWidget(saveAllBtn); | 465 | hLayout->addWidget(saveAllBtn); | ||
465 | 466 | | |||
466 | auto cancelBtn = new QPushButton(QIcon::fromTheme("dialog-cancel", QIcon(QStringLiteral(":/%1/cancel").arg(m_theme))), i18n("Cancel")); | 467 | auto cancelBtn = new QPushButton(QIcon::fromTheme("dialog-cancel", QIcon(QStringLiteral(":/%1/cancel").arg(m_theme))), i18n("Cancel")); | ||
467 | cancelBtn->setIconSize(iconSize); | 468 | cancelBtn->setIconSize(iconSize); | ||
468 | connect(cancelBtn, &QPushButton::clicked, this, [&dialog] { | 469 | connect(cancelBtn, &QPushButton::clicked, this, [&dialog] { | ||
469 | dialog->reject(); | 470 | dialog->reject(); | ||
470 | }); | 471 | }); | ||
471 | hLayout->addWidget(cancelBtn); | 472 | hLayout->addWidget(cancelBtn); | ||
472 | 473 | | |||
473 | auto ignoreBtn = new QPushButton(QIcon::fromTheme("window-close", QIcon(QStringLiteral(":/icon/close"))), i18n("Ignore")); | 474 | auto ignoreBtn = new QPushButton(QIcon::fromTheme("window-close", QIcon(QStringLiteral(":/icon/close"))), i18n("Ignore")); | ||
rizzitello: I Did not forget this button see D17116 | |||||
474 | ignoreBtn->setIconSize(iconSize); | 475 | ignoreBtn->setIconSize(iconSize); | ||
475 | connect(ignoreBtn, &QPushButton::clicked, this, [&dialog] { | 476 | connect(ignoreBtn, &QPushButton::clicked, this, [&dialog] { | ||
476 | dialog->accept(); | 477 | dialog->accept(); | ||
477 | }); | 478 | }); | ||
478 | hLayout->addWidget(ignoreBtn); | 479 | hLayout->addWidget(ignoreBtn); | ||
479 | 480 | | |||
480 | auto layout = new QVBoxLayout; | 481 | auto layout = new QVBoxLayout; | ||
481 | auto label = new QLabel(i18n("Files with Unsaved Changes.")); | 482 | auto label = new QLabel(i18n("Files with Unsaved Changes.")); | ||
Show All 12 Lines |
I Did not forget this button see D17116