Skip to content
Snippets Groups Projects

#106 Tab-lukking og "Ny SOI"-menyvalg åpner ny tab

Merged Anders H. Rebner requested to merge tab-lukking into master
All threads resolved!
1 file
+ 32
8
Compare changes
  • Side-by-side
  • Inline
+ 32
8
@@ -60,16 +60,16 @@ class MainWindow(QMainWindow):
self.timer.timeout.connect(partial(self.regenerate_codes, auto=True))
self.timer.start()
# Add SOIWorkspaceWidget-tab
self.setup_menubar()
# Add tab-widget with closeable tabs
self.tabs = QTabWidget()
self.tabs.setTabsClosable(True)
tab = SOIWorkspaceWidget()
self.tabs.addTab(tab, "MainTab")
self.tabs.tabCloseRequested.connect(
lambda index: self.close_tab(index) # pylint: disable=W0108
)
self.setCentralWidget(self.tabs)
self.setup_menubar()
# Add HV logo
filename = "media/HVlogo.PNG"
dirname = os.path.dirname(__file__)
@@ -79,6 +79,9 @@ class MainWindow(QMainWindow):
self.action_shortcut_help.triggered.connect(self.open_shortcut_help)
self.action_basic_use_help.triggered.connect(self.open_basic_use_help)
# Add SOIWorkspaceWidget-tab
self.open_soi_workspace_tab()
# pylint: disable=R0914, R0915
# Ignoring "Too many local variables" and "Too many statements"
def setup_menubar(self):
@@ -93,7 +96,7 @@ class MainWindow(QMainWindow):
new_soi.setShortcut("Ctrl+n")
new_soi.setStatusTip("Opprett en ny SOI")
file_menu.addAction(new_soi)
# new_soi.triggered.connect(self.<nySOI>)
new_soi.triggered.connect(self.open_soi_workspace_tab)
# Open file
open_file = QAction("Åpne", self)
@@ -185,7 +188,7 @@ class MainWindow(QMainWindow):
help_menu.addAction(self.action_basic_use_help)
def open_codebook_tab(self):
"""Open tab containing CodeBookTableView and CodebookRowAdder.
"""Open tab containing CodebookWidget.
Select codebook-tab if it is already open,
create and select codebook-tab if not open.
@@ -201,6 +204,27 @@ class MainWindow(QMainWindow):
self.tabs.addTab(tab, "Kodebok")
self.tabs.setCurrentWidget(tab)
def open_soi_workspace_tab(self):
"""Open tab containing a SOIWorkspaceWidget."""
tab = SOIWorkspaceWidget()
self.tabs.addTab(tab, tab.soi.title)
def close_tab(self, index):
"""Close tab at given index.
Parameters
----------
index : int
Index of the tab to close.
"""
widget_in_tab = self.tabs.widget(index)
# Close db-connection if tab is a codebook-tab
if isinstance(widget_in_tab, CodebookWidget):
widget_in_tab.view.close_db_connection()
self.tabs.removeTab(index)
def try_export_soi(self, compressed=True):
"""Export the SOI in the current tab.
Loading