File indexing completed on 2025-06-29 04:08:24

0001 """
0002 SPDX-FileCopyrightText: 2017 Eliakin Costa <eliakim170@gmail.com>
0003 
0004 SPDX-License-Identifier: GPL-2.0-or-later
0005 """
0006 from PyQt5.QtWidgets import QAction, QMessageBox
0007 from PyQt5.QtGui import QKeySequence
0008 from PyQt5.QtCore import Qt
0009 import krita
0010 
0011 
0012 class NewAction(QAction):
0013 
0014     def __init__(self, scripter, parent=None):
0015         super(NewAction, self).__init__(parent)
0016         self.scripter = scripter
0017 
0018         self.triggered.connect(self.new)
0019 
0020         self.setText(i18n("New"))
0021         self.setObjectName('new')
0022         self.setShortcut(QKeySequence(Qt.CTRL + Qt.Key_N))
0023 
0024     @property
0025     def parent(self):
0026         return 'File',
0027 
0028     def new(self):
0029         msgBox = QMessageBox(self.scripter.uicontroller.mainWidget)
0030 
0031         msgBox.setText(i18n("The document has been modified."))
0032         msgBox.setInformativeText(i18n("Do you want to save your changes?"))
0033         msgBox.setStandardButtons(QMessageBox.Save | QMessageBox.Discard | QMessageBox.Cancel)
0034         msgBox.setDefaultButton(QMessageBox.Save)
0035 
0036         ret = msgBox.exec_()
0037 
0038         if ret == QMessageBox.Cancel:
0039             return
0040         if ret == QMessageBox.Save:
0041             self.scripter.uicontroller.invokeAction('save')
0042 
0043         self.scripter.documentcontroller.clearActiveDocument()
0044         self.scripter.uicontroller.setStatusBar()
0045         self.scripter.uicontroller.clearEditor()