Exemple #1
0
 def openfile(self, filepath=''):
     """open file"""
     action = self.sender()
     if isinstance(action, QtGui.QAction) and os.path.isfile(action.text()):
         filepath = action.text()
     if not os.path.isfile(filepath):
         filepath = QtGui.QFileDialog.getOpenFileName(self,
                                                      caption='请选择698日志文件',
                                                      filter='*')
     if filepath:
         print('filepath: ', filepath)
         save_config = master_config.MasterConfig()
         save_config.add_last_file(filepath)
         save_config.commit()
         file_size = os.path.getsize(filepath)
         if file_size > 3000000:
             reply = QtGui.QMessageBox.question(self, '警告', '打开大型文件会使用较长时间,确定打开吗?',\
                             QtGui.QMessageBox.Yes | QtGui.QMessageBox.No, QtGui.QMessageBox.No)
             if reply != QtGui.QMessageBox.Yes:
                 return
         self.proc_bar.setVisible(True)
         self.open_action.setEnabled(False)
         self.setAcceptDrops(False)
         self.proc_l.setText('处理中')
         self.setWindowTitle('698日志解析工具_{ver} - {file}'.\
                     format(ver=config.MASTER_WINDOW_TITLE_ADD, file=filepath))
         self.file_now = filepath
         threading.Thread(target=self.read_file,\
                             args=(filepath,)).start()
Exemple #2
0
    def __init__(self):
        super(TransWindow, self).__init__()
        qss_file = open(
            os.path.join(config.SOFTWARE_PATH,
                         'styles/white_blue.qss')).read()
        self.setStyleSheet(qss_file)
        if config.IS_USE_PYSIDE:
            self.setup_ui()
        self.proc_bar.setVisible(False)
        self.show_level_cb.setChecked(True)
        self.auto_wrap_cb.setChecked(False)

        apply_config = master_config.MasterConfig()
        file_list = apply_config.get_last_file()[::-1]
        for file_name in file_list:
            self.file_action = QtWidgets.QAction('%s' % file_name, self)
            self.file_menu.addAction(self.file_action)
            self.file_action.triggered.connect(self.openfile)
        font_size = apply_config.get_font_size()
        self.input_box.set_font_size(font_size)
        self.update_wrap_mode()

        self.setAcceptDrops(True)
        self.input_box.cursorPositionChanged.connect(self.cursor_changed)
        self.input_box.textChanged.connect(self.take_input_text)
        self.msg_box.textChanged.connect(self.start_trans)
        self.find_last_b.clicked.connect(lambda: self.find_last(True))
        self.find_next_b.clicked.connect(lambda: self.find_next(True))
        self.msg_next_b.clicked.connect(lambda: self.jump_to_msg('next'))
        self.msg_priv_b.clicked.connect(lambda: self.jump_to_msg('priv'))
        self.input_zoom_in_b.clicked.connect(self.input_box.zoomIn)
        self.input_zoom_out_b.clicked.connect(self.input_box.zoomOut)
        self.output_zoom_in_b.clicked.connect(self.output_box.zoomIn)
        self.output_zoom_out_b.clicked.connect(self.output_box.zoomOut)
        self.output_copy_b.clicked.connect(self.copy_to_clipboard)
        self.auto_wrap_cb.clicked.connect(self.update_wrap_mode)
        self.show_level_cb.clicked.connect(self.start_trans)
        self.show_dtype_cb.clicked.connect(self.start_trans)
        self.always_top_cb.clicked.connect(self.set_always_top)
        self.open_action.triggered.connect(self.openfile)
        self.reload_action.triggered.connect(
            lambda: self.openfile(filepath=self.file_now))
        self.clear_action.triggered.connect(self.clear_box)
        self.about_action.triggered.connect(config.ABOUT_WINDOW.show)
        self.find_action.triggered.connect(
            lambda: self.find_box.setFocus() or self.find_box.selectAll())
        self.next_msg_action.triggered.connect(
            lambda: self.jump_to_msg('next'))
        self.priv_msg_action.triggered.connect(
            lambda: self.jump_to_msg('priv'))
        self.load_file.connect(self.load_text, QtCore.Qt.QueuedConnection)
        self.set_progress.connect(self.set_progressbar,
                                  QtCore.Qt.QueuedConnection)
        self.find_box.returnPressed.connect(lambda: self.find_next(False))

        self.file_now = ''
        self.msg_find_dict = []
        self.last_selection = (0, 0)
        self.text_find_list = []
        self.last_find_text = ''
Exemple #3
0
    def __init__(self):
        super(CommuDialog, self).__init__()
        if config.IS_USE_PYSIDE:
            self.setup_ui()  # fixme: CommuDialogUi中已经默认setup_ui了这里可以不用设置
        self.setWindowFlags(QtCore.Qt.WindowStaysOnTopHint)

        self.master_addr_change_b.clicked.connect(lambda: self.master_addr_box.setText('%02X'%random.randint(0, 255)))
        self.master_addr_box.textChanged.connect(self.set_master_addr)
        self.serial_combo.addItems(communication.serial_com_scan())
        self.serial_link_b.clicked.connect(self.connect_serial)
        self.serial_cut_b.clicked.connect(self.cut_serial)
        self.frontend_link_b.clicked.connect(self.connect_frontend)
        self.frontend_cut_b.clicked.connect(self.cut_frontend)
        self.server_link_b.clicked.connect(self.connect_server)
        self.server_cut_b.clicked.connect(self.cut_server)
        self.close_b.clicked.connect(self.close)

        # apply config
        apply_config = master_config.MasterConfig()
        try:
            index = communication.serial_com_scan().index(apply_config.get_serial_com())
            self.serial_combo.setCurrentIndex(index)
        except ValueError:
            pass
        self.serial_baud.setCurrentIndex(apply_config.get_serial_baud_index())
        self.master_addr_box.setText(apply_config.get_master_addr())
        self.frontend_box.setText(apply_config.get_frontend_ip())
        self.server_box.setText(apply_config.get_server_port())
        self.master_addr_filter_cb.setChecked(True)

        self.close_b.setFocus()

        self.is_serial_connect = False
        self.is_frontend_connect = False
        self.is_server_connect = False
Exemple #4
0
 def apply_config(self):
     """apply config"""
     apply_config = master_config.MasterConfig()
     tmn_list = eval(apply_config.get_tmn_list())
     for tmn in tmn_list:
         self.add_tmn_table_row(is_checked=tmn[0], tmn_addr=tmn[1],\
                                 logic_addr=tmn[2], chan_index=tmn[3])
     self.always_top_cb.setChecked(apply_config.get_windows_top())
     self.quick_read_panel.oad_box.setText(apply_config.get_oad_r())
Exemple #5
0
    def closeEvent(self, event):
        """close event"""
        # save config
        save_config = master_config.MasterConfig()
        save_config.set_font_size(self.input_box.get_font_size())
        save_config.commit()

        # quit
        event.accept()
        os._exit(0)
Exemple #6
0
 def closeEvent(self, event):
     """close event"""
     self.set_master_addr()
     # save config
     save_config = master_config.MasterConfig()
     save_config.set_serial_com(self.serial_combo.currentText())
     save_config.set_serial_band_index(self.serial_baud.currentIndex())
     save_config.set_master_addr(self.master_addr_box.text())
     save_config.set_serial_baud_index(self.serial_baud.currentIndex())
     save_config.set_frontend_ip(self.frontend_box.text())
     save_config.set_server_port(self.server_box.text())
     save_config.commit()
     event.accept()
Exemple #7
0
    def closeEvent(self, event):
        """close event"""
        # save config
        save_config = master_config.MasterConfig()
        tmn_list = []
        for row_num in range(self.tmn_table.rowCount()):
            tmn_list.append([self.tmn_table.cellWidget(row_num, 0).isChecked(),\
                                self.tmn_table.item(row_num, 1).text(),\
                                self.tmn_table.cellWidget(row_num, 2).value(),\
                                self.tmn_table.cellWidget(row_num, 3).currentIndex()])
        save_config.set_tmn_list(tmn_list)
        save_config.set_windows_top(self.always_top_cb.isChecked())
        save_config.set_oad_r(self.quick_read_panel.oad_box.text().replace(' ', ''))
        save_config.commit()

        # quit
        config.COMMU.quit()
        event.accept()
        os._exit(0)