diff --git a/main.py b/main.py index 5eec7b2..6737a21 100644 --- a/main.py +++ b/main.py @@ -24,6 +24,10 @@ class MainWindow(QMainWindow): self.setDockNestingEnabled(True) self.tabs = self.create_tabs() + self.create_tab("/home/andi/ws/performanceDb/data/production/logs_2018-09-06_2018-09-06.csv") + self.create_tab("/home/andi/ws/ravenlog/example.log") + + self.setCentralWidget(self.tabs) self.main_tool_bar = self.create_main_tool_bar() self.addToolBar(self.main_tool_bar) @@ -54,33 +58,43 @@ class MainWindow(QMainWindow): tabs = QTabWidget() tabs.setTabsClosable(True) tabs.tabCloseRequested.connect(lambda index: tabs.removeTab(index) ) - - model = LogFileModel("/home/andi/ws/ravenlog/example.log") - big_text = BigText(model, self.settings) - tabs.addTab(big_text, model.get_tab_name()) - - - model = LogFileModel("/home/andi/ws/performanceDb/data/production/logs_2018-09-06_2018-09-06.csv") - big_text = BigText(model, self.settings) - tabs.addTab(big_text, model.get_tab_name()) - return tabs + def create_tab(self, file: str): + if not os.path.isfile(file): + message = QMessageBox(QMessageBox.Icon.Warning, "File not found", "'%s' is not a file or cannot be opened" % (file)) + message.exec() + return + + model = LogFileModel(file) + big_text = BigText(model, self.settings) + self.tabs.addTab(big_text, model.get_tab_name()) + # open the new tab + self.tabs.setCurrentIndex(self.tabs.count()-1) + def create_menu_bar(self) -> QMenuBar: menu_bar = QMenuBar() file_menu = QMenu(self.tr("File", "name of the file menu"), self) + + open_file = QAction(self.tr("Open..."), self) + open_file.triggered.connect(self._open_file) + close_action = QAction(self.tr("Close", "menu item to close the application"), self) close_action.triggered.connect(self.close) + file_menu.addAction(open_file) file_menu.addAction(close_action) menu_bar.addMenu(file_menu) return menu_bar - def onMyToolBarButtonClick(self, s) -> None: - print("click", s) + def _open_file(self) -> None: + dialog = QFileDialog(self) + (selected_file, _filter) = dialog.getOpenFileName(caption=self.tr("Open File")) + self.create_tab(selected_file) + if __name__ == "__main__":