def slot_new_project(ui): dp = get_default_proj_path(ui) path = "" while True: path, _ = QFileDialog.getSaveFileName(None, "Save New Project", dp, "XML(*.xml)") if path is None or path == "": return base_filename = os.path.basename(path) stem, ext = os.path.splitext(base_filename) if stem == "tf_proj" or stem == "cmd_history": QMessageBox.about(ui, "Error", "'tf_proj' and 'cmd_history' is reserved filename, please change project name!") continue if ext != ".xml": path += ".xml" break if path == "": return p = project_io.Project() p._configFile = path ui._p = p ui._p.save_xml(path) ui.fill_ui_info(ui._p) new_item = ptree_add_item(ui._pTree, path) ui.fill_proj_list() set_project_selected(ui._qlv_all_proj, new_item.attrib["name"]) utils.indent_xml(ui._pTree.getroot()) ui._pTree.write(ui._ptName)
def save_xml(self, filename=""): file_save = self._configFile if filename != "": file_save = filename if file_save == "": return self._tree = self.collect_xml() utils.indent_xml(self._tree.getroot()) self._tree.write(file_save)
def load_ptree_obj(ui): dir_lp = os.path.dirname(os.path.realpath(__file__)) file_lp = os.path.join(dir_lp, "tf_proj.xml") if not os.path.exists(file_lp): # create new xml if not os.path.exists(dir_lp): os.makedirs(dir_lp) root_new = ET.Element("projects") ui._pTree = ET.ElementTree(root_new) utils.indent_xml(ui._pTree.getroot()) ui._pTree.write(file_lp) else: # has existing, load info ui._pTree = ET.parse(file_lp)
def slot_delete_project(ui): sl = ui._qlv_all_proj.selectedIndexes() if len(sl) < 1: QMessageBox.about(ui, "Error", "No Selection to Delete!") return # save old del_item = find_ptree_item(ui._pTree, sl[0].data()) ui._pTree.getroot().remove(del_item) utils.indent_xml(ui._pTree.getroot()) ui._pTree.write(ui._ptName) ui.fill_proj_list() # get new new_p = project_io.Project() ui._p = new_p ui.fill_ui_info(ui._p) return
def slot_load_project(ui): dp = get_default_proj_path(ui) path, _filter = QFileDialog.getOpenFileName(None, 'Open File', dp, 'XML (*.xml)') if path is None or path == "": return if not os.path.exists(path): QMessageBox.about(None, "Error", "Wrong file: {}!".format(path)) return p = project_io.Project() p.load_xml(path) ui.fill_ui_info(p) new_item = ptree_add_item(ui._pTree, path) ui.fill_proj_list() set_project_selected(ui._qlv_all_proj, new_item.attrib["name"]) utils.indent_xml(ui._pTree.getroot()) ui._pTree.write(ui._ptName) return
def save_ptree_obj(ui): dir_lp = os.path.dirname(os.path.realpath(__file__)) file_lp = os.path.join(dir_lp, "tf_proj.xml") utils.indent_xml(ui._pTree.getroot()) ui._pTree.write(file_lp) return