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