Exemple #1
0
def imageNameFilters():
    result = []
    mimeDatabase = QMimeDatabase()
    supportedMimeTypes = QImageReader.supportedMimeTypes()
    for m in supportedMimeTypes:
        suffixes = mimeDatabase.mimeTypeForName(m.data().decode()).suffixes()
        for suffix in suffixes:
            result.append(f"*.{suffix}")
    return result
Exemple #2
0
 def addImages(self, directory):
     fileDialog = QFileDialog(self, "Open Images", directory)
     mimeTypeFilters = []
     for mimeTypeName in QImageReader.supportedMimeTypes():
         mimeTypeFilters.append(str(mimeTypeName))
     mimeTypeFilters.sort()
     fileDialog.setMimeTypeFilters(mimeTypeFilters)
     fileDialog.selectMimeTypeFilter('image/png')
     fileDialog.setAcceptMode(QFileDialog.AcceptOpen)
     fileDialog.setFileMode(QFileDialog.ExistingFiles)
     if not self.nativeFileDialogAct.isChecked():
         fileDialog.setOption(QFileDialog.DontUseNativeDialog)
     if fileDialog.exec_() == QDialog.Accepted:
         self.loadImages(fileDialog.selectedFiles())
Exemple #3
0
    def _createLoadImagesDialog(self):
        dialog = QFileDialog(self, "Load photos")

        if self._firstLoadDialog:
            self._firstLoadDialog = False
            locations = QStandardPaths.standardLocations(
                QStandardPaths.PicturesLocation)
            dialog.setDirectory(
                locations[-1] if locations else QDir.currentPath())

        supportedTypes = []
        for mtype in QImageReader.supportedMimeTypes():
            supportedTypes.append(str(mtype))
        supportedTypes.sort()
        dialog.setMimeTypeFilters(supportedTypes)

        dialog.setFileMode(QFileDialog.ExistingFiles)
        return dialog
Exemple #4
0
    def init_image_file_dialog(self, dialog, accept_mode):
        if self.firstDialog:
            self.firstDialog = False
            pictures_locations = QStandardPaths.standardLocations(
                QStandardPaths.PicturesLocation)
            dialog.setDirectory(QDir.currentPath(
            ) if len(pictures_locations) == 0 else pictures_locations[-1])

        mime_type_filters = []
        supported_mime_types = QImageReader.supportedMimeTypes() if (accept_mode == QFileDialog.AcceptOpen) \
            else QImageWriter.supportedMimeTypes()
        for mimeTypeName in supported_mime_types:
            mime_type_filters.append(mimeTypeName.data().decode())
        mime_type_filters.sort()
        dialog.setMimeTypeFilters(mime_type_filters)
        dialog.selectMimeTypeFilter("image/jpeg")
        if accept_mode == QFileDialog.AcceptSave:
            dialog.setDefaultSuffix("jpg")
        dialog.setOption(QFileDialog.DontUseNativeDialog, True)
Exemple #5
0
def loadImage():
    # file picker
    f_diag = QFileDialog()
    f_diag.labelText = "Open image"

    # lets pick supported file types
    mimeTypes = QImageReader.supportedMimeTypes()
    for x in range(len(mimeTypes)):
        mimeTypes[x] = str(mimeTypes[x], 'utf-8')

    f_diag.setMimeTypeFilters(mimeTypes)

    f_diag.setFileMode(QFileDialog.ExistingFile)

    # checks wherever anything was picked
    if f_diag.exec():
        res = loadImageFile(f_diag.selectedFiles()[0])
        if res:
            sb_txt.setText("current image: " +
                           QFileInfo(f_diag.selectedFiles()[0]).fileName())
            imageLabel.setPixmap(QPixmap.fromImage(res))
            imageLabel.resize(res.width(), res.height())
Exemple #6
0
###############################################################################
# MINIMAP
###############################################################################

###############################################################################
# FILE MANAGER
###############################################################################

# File types supported by Ninja-IDE
FILE_TYPES = [("Python files", (".py", ".pyw")), ("QML files", (".qml", )),
              ("HTML document", (".html", ".htm")),
              ("JavaScript program", (".js", ".jsm")),
              ("Ninja project", (".nja", ))]
# Mime types
image_mimetypes = [
    f.data().decode() for f in QImageReader.supportedMimeTypes()
][1:]

db = QMimeDatabase()
for mt in image_mimetypes:
    mimetype = db.mimeTypeForName(mt)
    suffixes = [".{}".format(s) for s in mimetype.suffixes()]
    FILE_TYPES.append((mimetype.comment(), suffixes))

LANGUAGE_MAP = {
    "py": "python",
    "pyw": "python",
    "js": "javascript",
    "html": "html",
    "md": "markdown",
    "yml": "yaml",
Exemple #7
0
###############################################################################
# FILE MANAGER
###############################################################################

# File types supported by Ninja-IDE
FILE_TYPES = [
    ("Python files", (".py", ".pyw")),
    ("QML files", (".qml",)),
    ("HTML document", (".html", ".htm")),
    ("JavaScript program", (".js", ".jsm")),
    ("Ninja project", (".nja",))
]
# Mime types
image_mimetypes = [f.data().decode()
                   for f in QImageReader.supportedMimeTypes()][1:]

db = QMimeDatabase()
for mt in image_mimetypes:
    mimetype = db.mimeTypeForName(mt)
    suffixes = [".{}".format(s) for s in mimetype.suffixes()]
    FILE_TYPES.append((mimetype.comment(), suffixes))

LANGUAGE_MAP = {
    "py": "python",
    "pyw": "python",
    "js": "javascript",
    "html": "html",
    "md": "markdown",
    "yml": "yaml",
    "qml": "qml",
Exemple #8
0
###############################################################################
# FILE MANAGER
###############################################################################

# File types supported by Ninja-IDE
FILE_TYPES = [
    ("Python files", (".py", ".pyw")),
    ("QML files", (".qml",)),
    ("HTML document", (".html", ".htm")),
    ("JavaScript program", (".js", ".jsm")),
    ("Ninja project", (".nja",))
]
# Mime types
image_mimetypes = [f.data().decode()
                   for f in QImageReader.supportedMimeTypes()][1:]

db = QMimeDatabase()
for mt in image_mimetypes:
    mimetype = db.mimeTypeForName(mt)
    suffixes = [".{}".format(s) for s in mimetype.suffixes()]
    FILE_TYPES.append((mimetype.comment(), suffixes))

LANGUAGE_MAP = {
    "py": "python",
    "pyw": "python",
    "js": "javascript",
    "html": "html",
    "md": "markdown",
    "yml": "yaml",
    "qml": "qml",