File indexing completed on 2025-03-09 04:10:20
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 QIcon, QKeySequence 0008 from PyQt5.QtCore import Qt 0009 from .... import utils 0010 import krita 0011 0012 0013 class ReloadAction(QAction): 0014 0015 def __init__(self, scripter, parent=None): 0016 super(ReloadAction, self).__init__(parent) 0017 self.scripter = scripter 0018 self.editor = self.scripter.uicontroller.editor 0019 0020 self.triggered.connect(self.reloadFile) 0021 0022 self.setText(i18n("Reload File")) 0023 self.setObjectName('reloadfile') 0024 self.setShortcut(QKeySequence(Qt.ALT + Qt.Key_R)) 0025 0026 self.setToolTip(i18n('Reload File Alt+R')) 0027 self.setIcon(utils.getThemedIcon(':/icons/reload_script.svg')) 0028 0029 @property 0030 def parent(self): 0031 return 'File', 'toolBar' 0032 0033 def reloadFile(self): 0034 # get the currently open document's path 0035 curr_doc_fpath = '' 0036 document = self.scripter.documentcontroller._activeDocument 0037 if document is None: 0038 QMessageBox.critical(self.scripter.uicontroller.mainWidget, 0039 i18n("No existing document"), 0040 i18n("Please specify a document by opening it before reloading")) 0041 return 0042 else: 0043 curr_doc_fpath = document.filePath 0044 0045 # clear the editor 0046 self.scripter.documentcontroller.clearActiveDocument() 0047 self.scripter.uicontroller.setStatusBar() 0048 self.scripter.uicontroller.clearEditor() 0049 0050 # reload the document 0051 document = self.scripter.documentcontroller.openDocument(curr_doc_fpath) 0052 self.scripter.uicontroller.setDocumentEditor(document) 0053 self.scripter.uicontroller.setStatusBar(document.filePath) 0054 0055 return document