Scenario: Save dialog at scenarios switch.

scenarios
Pierre-Antoine 2025-10-02 11:14:26 +02:00
parent 2a926a8d73
commit fa8fe508a7
2 changed files with 33 additions and 2 deletions

View File

@ -31,7 +31,7 @@ from PyQt5.QtGui import (
)
from PyQt5.QtWidgets import (
QApplication, QGraphicsScene, QGraphicsView,
QGraphicsItem, QGraphicsTextItem, QMenu,
QGraphicsItem, QGraphicsTextItem, QMenu, QMessageBox,
)
from View.WaitingDialog import WaitingDialog
@ -410,13 +410,37 @@ class GraphWidget(QGraphicsView):
)
m.run()
def dialog_save(self):
dlg = QMessageBox(self)
dlg.setWindowTitle(self._trad["mb_save_title"])
dlg.setText(self._trad["mb_save_msg"])
opt = QMessageBox.Save | QMessageBox.Cancel
dlg.setStandardButtons(opt)
dlg.setIcon(QMessageBox.Warning)
dlg.button(QMessageBox.Save).setText(self._trad["Save"])
dlg.button(QMessageBox.Cancel).setText(self._trad["Cancel"])
res = dlg.exec()
if res == QMessageBox.Save:
return True
elif res == QMessageBox.Cancel:
return False
def select_scenario(self, item):
if type(item) is not ScenarioItem:
return
must_saved = self.dialog_save()
def fn():
self._close_other_window()
if must_saved:
self._study.save()
self._undo.push(
SelectScenariosCommand(
self._study,

View File

@ -66,3 +66,10 @@ class ScenariosTranslate(MainTranslate):
self._dict["redo_waiting"] = _translate(
"Scenarios", "Redo ..."
)
self._dict["mb_save_title"] = _translate(
"Scenarios", "Save scenarios before scenarios switching"
)
self._dict["mb_save_msg"] = _translate(
"Scenarios", "Save scenarios before scenarios switching ?"
)