def file_open_pressed(self): unsaved_decision = None if self.changes_made: unsaved_decision = self.ask_if_to_save() if unsaved_decision == QMessageBox.Save: self.file_save_pressed() if not self.changes_made or unsaved_decision == QMessageBox.Discard: open_dialog = QFileDialog() open_dialog.setWindowTitle("Open…") open_dialog.setFileMode(QFileDialog.ExistingFile) open_dialog.setNameFilter('Text files (*.txt)') open_dialog.setViewMode(QFileDialog.List) open_dialog.setDirectory(self.last_path) open_dialog.setProxyModel(None) if open_dialog.exec_(): filepaths = open_dialog.selectedFiles() self.opened_filepath = filepaths[0] with open(filepaths[0], mode='r', encoding='utf-8') as opened_file: opened_text = opened_file.read() self.ui.textField.setPlainText(opened_text) base_filename = ntpath.basename(filepaths[0]) self.setWindowTitle(base_filename + ' — Notepad') self.reset_changes_made()
def do_add_file(self): dlg = QFileDialog() dlg.setProxyModel(None) if dlg.exec(): full_files = dlg.selectedFiles() if self.test_file(full_files): self.file_list = self.file_list + full_files self.do_show_list()
def _open(self): proxy_model = ExecutableFilterModel() options = QFileDialog.Options() options |= QFileDialog.DontUseNativeDialog dialog = QFileDialog(self.widget, "Select a source port", self.config.get("sourcePortDir")) dialog.setOptions(options) dialog.setProxyModel(proxy_model) if dialog.exec_() == QDialog.Accepted: filename = dialog.selectedUrls()[0].toLocalFile() self.saveSourcePortPath(filename) self.setSourcePort(filename)
def file_save_as_pressed(self): save_as_dialog = QFileDialog() save_as_dialog.setWindowTitle("Save as…") save_as_dialog.setAcceptMode(QFileDialog.AcceptSave) save_as_dialog.setFileMode(QFileDialog.AnyFile) save_as_dialog.setNameFilter('Text files (*.txt)') save_as_dialog.setViewMode(QFileDialog.List) save_as_dialog.setDirectory(self.last_path) save_as_dialog.setProxyModel(None) if save_as_dialog.exec_(): save_as_filename = save_as_dialog.selectedFiles() with open(save_as_filename[0], mode='w+', encoding='utf-8') as opened_file: opened_file.write(self.ui.textField.toPlainText()) base_filename = ntpath.basename(save_as_filename[0]) self.opened_filepath = save_as_filename self.setWindowTitle(base_filename + ' — Notepad') self.reset_changes_made()