Esempio n. 1
0
 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)
Esempio n. 2
0
    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()
Esempio n. 3
0
 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())
Esempio n. 4
0
 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)
Esempio n. 5
0
 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())
Esempio n. 6
0
 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)
Esempio n. 7
0
 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
Esempio n. 8
0
 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))
Esempio n. 9
0
 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
Esempio n. 10
0
 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)
Esempio n. 11
0
 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
Esempio n. 12
0
 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
Esempio n. 13
0
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
Esempio n. 14
0
 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)
Esempio n. 15
0
    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))