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, QFileDialog, QMessageBox 0007 from PyQt5.QtGui import QKeySequence 0008 from PyQt5.QtCore import Qt 0009 import krita 0010 0011 import os 0012 0013 0014 class OpenAction(QAction): 0015 0016 def __init__(self, scripter, parent=None): 0017 super(OpenAction, self).__init__(parent) 0018 self.scripter = scripter 0019 0020 self.triggered.connect(self.open) 0021 0022 self.setText(i18n("Open")) 0023 self.setObjectName('open') 0024 self.setShortcut(QKeySequence(Qt.CTRL + Qt.Key_O)) 0025 0026 @property 0027 def parent(self): 0028 return 'File', 0029 0030 def open(self): 0031 dialog = QFileDialog(self.scripter.uicontroller.mainWidget) 0032 dialog.setNameFilter(i18n("Python Files (*.py)")) 0033 0034 if dialog.exec_(): 0035 try: 0036 selectedFile = dialog.selectedFiles()[0] 0037 _, fileExtension = os.path.splitext(selectedFile) 0038 0039 if fileExtension == '.py': 0040 document = self.scripter.documentcontroller.openDocument(selectedFile) 0041 self.scripter.uicontroller.setDocumentEditor(document) 0042 self.scripter.uicontroller.setStatusBar(document.filePath) 0043 except Exception: 0044 QMessageBox.information(self.scripter.uicontroller.mainWidget, 0045 i18n("Invalid File"), 0046 i18n("Open files with .py extension"))