Exemple #1
0
    def _import_multiple_stages_btn_clicked(self):
        file_dialog = QFileDialog()
        file_dialog.setParent(self.sender())
        stages_folder_path = QFileDialog.getExistingDirectory(
            file_dialog, "import folder with multiple objs/mtls/configs",
            get_mbreplacer_dir())
        stages_folder_path = QtCore.QDir.toNativeSeparators(stages_folder_path)

        obj_filepaths = [
            os.path.join(dp, f)
            for dp, dn, filenames in os.walk(stages_folder_path)
            for f in filenames if os.path.splitext(f)[1] == '.obj'
        ]

        for obj_filepath in obj_filepaths:
            if obj_filepath in self._imported_obj_filepaths:
                duplicate_idx = self._imported_obj_filepaths.index(
                    obj_filepath)
                duplicate_item = self._imported_stages_list.item(duplicate_idx)
                self._imported_stages_list.takeItem(
                    self._imported_stages_list.row(duplicate_item))
                del self._imported_obj_filepaths[duplicate_idx]

            self._add_single_stage(obj_filepath)
            self._imported_obj_filepaths.append(obj_filepath)

        if obj_filepaths:
            self._imported_stages_list.sortItems()

        return Status.OK
Exemple #2
0
 def spellsSoundSelectButtonClicked(self):
     fd = QFileDialog(self)
     fd.setDirectory("./data/mp3")
     f = fd.getOpenFileName(filter="*.mp3")
     if f[0]:
         self.spellsSoundFileLabel.setText(f[0])
     fd.setParent(None)
Exemple #3
0
def choose_file_dialog(parent, title, want_folder=True):
    dialog = QFileDialog(parent, title, os.path.expanduser('~'))
    dialog.setFileMode(
        QFileDialog.Directory if want_folder else QFileDialog.ExistingFiles)
    dialog.setParent(parent, QtCore.Qt.Sheet)
    if want_folder:
        dialog.setOption(QFileDialog.ShowDirsOnly)
    return dialog
Exemple #4
0
def choose_file_dialog(parent, title, want_folder=True):
    options = QFileDialog.Options()
    if want_folder:
        options |= QFileDialog.ShowDirsOnly
    dialog = QFileDialog(parent, title, os.path.expanduser('~'), options=options)
    dialog.setFileMode(QFileDialog.Directory if want_folder else QFileDialog.AnyFile)
    dialog.setParent(parent, QtCore.Qt.Sheet)
    return dialog
Exemple #5
0
def choose_sources_dialog(parent, title, directory=True, initial=None):
    options = QFileDialog.Options()
    if directory:
        options |= QFileDialog.ShowDirsOnly
    dialog = QFileDialog(parent, title, os.path.expanduser('~'), options=options)
    dialog.setFileMode(QFileDialog.Directory if directory else QFileDialog.ExistingFiles)
    dialog.setParent(parent, QtCore.Qt.Sheet)
    if initial:
        dialog.setDirectory(initial)
    return dialog
Exemple #6
0
 def endSoundFileButtonClicked(self) -> None:
     fd = QFileDialog(self)
     fd.setDirectory("./data/tts")
     f = fd.getOpenFileName(filter="*.mp3")
     if f and os.path.isfile(f[0]):
         name = self.trigger.package.add_audio(f[0])
         self.trigger.end_action.sound.name = name
         self.endSoundFileLabel.setText(self.trigger.end_action.sound.name)
     fd.deleteLater()
     fd.setParent(None)
Exemple #7
0
def choose_folder_dialog(parent, title):
    options = QFileDialog.Options()
    options |= QFileDialog.ShowDirsOnly
    dialog = QFileDialog(parent,
                         title,
                         os.path.expanduser('~'),
                         options=options)
    dialog.setFileMode(QFileDialog.Directory)
    dialog.setParent(parent, QtCore.Qt.Sheet)
    return dialog
Exemple #8
0
    def _import_root_btn_clicked(self):
        file_dialog = QFileDialog()
        file_dialog.setParent(self.sender())
        self._root_folder_path = QFileDialog.getExistingDirectory(
            file_dialog, "import root folder extracted from .iso",
            get_mbreplacer_dir())
        self._root_folder_path = QtCore.QDir.toNativeSeparators(
            self._root_folder_path)

        if not os.path.exists(os.path.join(self._root_folder_path, 'stage')):
            self._root_folder_path = None
            self._give_error_message(
                "root folder seems to be invalid, no 'stage' folder found")
            return

        self._root_folder_label.setText(self._root_folder_path)