def new_proj(self): """New file.""" filename, _ = QFileDialog.getSaveFileName( self, "New Project", self.env, SUPPORT_FILE_FORMATS ) if not filename: return self.env = QFileInfo(filename).absolutePath() root_node = QTreeRoot( QFileInfo(filename).baseName(), filename, str(self.data.new_num()) ) suffix_text = file_suffix(filename) if suffix_text == 'md': root_node.setIcon(0, file_icon("markdown")) elif suffix_text == 'html': root_node.setIcon(0, file_icon("html")) elif suffix_text == 'kmol': root_node.setIcon(0, file_icon("kmol")) else: root_node.setIcon(0, file_icon("txt")) self.tree_main.addTopLevelItem(root_node)
def open_proj(self): """Open file.""" file_names, ok = QFileDialog.getOpenFileNames( self, "Open Projects", self.env, SUPPORT_FILE_FORMATS ) if not ok: return def in_widget(path: str) -> int: """Is name in tree widget.""" for i in range(self.tree_main.topLevelItemCount()): if path == self.tree_main.topLevelItem(i).text(1): return i return -1 for file_name in file_names: self.env = QFileInfo(file_name).absolutePath() index = in_widget(file_name) if index == -1: root_node = QTreeRoot(QFileInfo(file_name).baseName(), file_name, '') self.tree_main.addTopLevelItem(root_node) parse(root_node, self.data) self.tree_main.setCurrentItem(root_node) else: self.tree_main.setCurrentItem(self.tree_main.topLevelItem(index)) self.__add_macros()
def on_savefile_btn_clicked(self): filename, _ = QFileDialog.getSaveFileName(self, 'Save file', '', 'Python Script(*.py)') if not filename: return with open(filename, 'w') as f: f.write(self.text_editor.text())
def __new_proj(self): """New file.""" file_name, suffix_type = QFileDialog.getSaveFileName( self, "New Project", self.env, SUPPORT_FILE_FORMATS) if not file_name: return suffix = _str_between(suffix_type, '(', ')').split('*')[-1] if QFileInfo(file_name).completeSuffix() != suffix[1:]: file_name += suffix self.env = QFileInfo(file_name).absolutePath() root_node = QTreeRoot( QFileInfo(file_name).baseName(), file_name, str(self.data.new_num())) suffix_text = file_suffix(file_name) if suffix_text == 'md': root_node.setIcon(0, file_icon("markdown")) elif suffix_text == 'py': root_node.setIcon(0, file_icon("python")) elif suffix_text == 'html': root_node.setIcon(0, file_icon("html")) elif suffix_text == 'kmol': root_node.setIcon(0, file_icon("kmol")) else: root_node.setIcon(0, file_icon("txt")) self.tree_main.addTopLevelItem(root_node)
def on_loadfile_btn_clicked(self): file, _ = QFileDialog.getOpenFileName(self, 'open file', '', 'Python Script(*.py)') if not file: return with open(file, "r") as f: self.text_editor.setText(f.read())
def __set_dir(self): """Choose path and it will be set as environment variable if accepted.""" path = self.path_edit.text() if not isdir(path): path = self.path_edit.placeholderText() path = QFileDialog.getExistingDirectory(self, "Choose a directory", path) if path: self.path_edit.setText(path)
def inputFrom(self, format_name: str, format_choose: List[str], multiple: bool = False) -> str: """Get file name(s).""" args = (f"Open {format_name} file{'s' if multiple else ''}...", self.env, ';;'.join(format_choose)) if multiple: file_name_s, suffix = QFileDialog.getOpenFileNames(self, *args) else: file_name_s, suffix = QFileDialog.getOpenFileName(self, *args) if file_name_s: suffix = str_between(suffix, '(', ')').split('*')[-1] print(f"Format: {suffix}") if type(file_name_s) == str: self.setLocate(QFileInfo(file_name_s).absolutePath()) else: self.setLocate(QFileInfo(file_name_s[0]).absolutePath()) return file_name_s
def set_path(self): """Set file directory.""" node = self.tree_main.currentItem() file_name, ok = QFileDialog.getOpenFileName(self, "Open File", self.env, SUPPORT_FILE_FORMATS) if not ok: return self.env = QFileInfo(file_name).absolutePath() project_path = QDir(_get_root(node).text(1)) project_path.cdUp() node.setText(1, project_path.relativeFilePath(file_name))
def outputTo(self, format_name: str, format_choose: List[str]) -> str: """Simple to support multiple format.""" file_name, suffix = QFileDialog.getSaveFileName( self, f"Save to {format_name}...", self.env + '/' + self.DatabaseWidget.file_name.baseName(), ';;'.join(format_choose)) if file_name: suffix = str_between(suffix, '(', ')').split('*')[-1] print(f"Format: {suffix}") if QFileInfo(file_name).completeSuffix() != suffix[1:]: file_name += suffix self.setLocate(QFileInfo(file_name).absolutePath()) return file_name
def on_loadfile_clicked(self): file, _ = QFileDialog.getOpenFileName(self, 'open file', '', 'Excel(*.xlsx)') if not file: return dlg = Dialog(file, 'signal') dlg.show() if dlg.exec_(): dlg.data self.sigtmp = [] for col in dlg.data: for row, value in enumerate(col[1:]): self.sigtmp.append(value)
def input_from(self, format_name: str, format_choose: Sequence[str]) -> str: """Get file name(s).""" file_name_s, suffix = QFileDialog.getOpenFileName( self, f"Open {format_name} file...", self.env, ';;'.join(format_choose) ) if file_name_s: suffix = str_between(suffix, '(', ')').split('*')[-1] print(f"Format: {suffix}") self.set_locate(QFileInfo(file_name_s).absolutePath()) self.set_file_name(file_name_s) return file_name_s
def output_to(self, format_name: str, format_choose: Sequence[str]) -> str: """Simple to support multiple format.""" file_name, suffix = QFileDialog.getSaveFileName( self, f"Save to {format_name}...", self.env + '/Untitled', ';;'.join(format_choose) ) if file_name: suffix = str_between(suffix, '(', ')').split('*')[-1] print(f"Format: {suffix}") if QFileInfo(file_name).completeSuffix() != suffix[1:]: file_name += suffix return file_name
def outputTo(self, formatName: str, formatChoose: List[str]) -> str: """Simple to support mutiple format.""" suffix0 = strbetween(formatChoose[0], '(', ')').split('*')[-1] file_name, suffix = QFileDialog.getSaveFileName( self, "Save to {}...".format(formatName), self.env + '/' + self.FileWidget.file_name.baseName() + suffix0, ';;'.join(formatChoose)) if file_name: suffix = strbetween(suffix, '(', ')').split('*')[-1] print("Format: {}".format(suffix)) if QFileInfo(file_name).suffix() != suffix[1:]: file_name += suffix self.setLocate(QFileInfo(file_name).absolutePath()) return file_name
def on_actionLoad_data_triggered(self): """ Loading data from excel """ file, _ = QFileDialog.getOpenFileName(self, 'open file', '', 'Excel(*.xlsx)') if not file: return dlg = Dialog(file, 'data') dlg.show() if dlg.exec_(): self.original_data = dlg.data self.sampletime = dlg.time if dlg.fftchose: tabtitle = "FFT" else: tabtitle = "Original data" self.addChart(tabtitle, self.original_data, dlg.fftchose)
def __open_proj(self, file_names: Optional[Sequence[str]] = None): """Open file.""" if file_names is None: file_names, ok = QFileDialog.getOpenFileNames( self, "Open Projects", self.env, SUPPORT_FILE_FORMATS) if not ok: return for file_name in file_names: self.env = QFileInfo(file_name).absolutePath() index = self.__in_widget(file_name) if index == -1: root_node = QTreeRoot( QFileInfo(file_name).baseName(), file_name, '') self.tree_main.addTopLevelItem(root_node) self.refresh_proj(root_node) self.tree_main.setCurrentItem(root_node) else: self.tree_main.setCurrentItem( self.tree_main.topLevelItem(index))