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"))