From 6b8924e07762bd2289e51537a6eb29283005e88a Mon Sep 17 00:00:00 2001
From: "Anders H. Rebner" <anderhre@stud.ntnu.no>
Date: Tue, 14 Apr 2020 12:20:30 +0200
Subject: [PATCH] =?UTF-8?q?#40=20SOI=20kan=20lagres=20i=20db=20med=20kodeb?=
 =?UTF-8?q?ok-tab=20=C3=A5pen?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 soitool/main_window.py | 24 ++++++++++++++++--------
 1 file changed, 16 insertions(+), 8 deletions(-)

diff --git a/soitool/main_window.py b/soitool/main_window.py
index ae7c452..6992a24 100644
--- a/soitool/main_window.py
+++ b/soitool/main_window.py
@@ -310,16 +310,24 @@ class MainWindow(QMainWindow):
 
         # If tab contains an SOI
         if isinstance(tab_widget, SOIWorkspaceWidget):
-            # Update tab showing SOI's in db if it is open
+            # Update tab showing SOI's in db if it is open,
+            # and pause database-lock by codebook-tab if it is open.
+            soi_db_view = None
+            codebook_db_view = None
             for i in range(self.tabs.count()):
                 if self.tabs.tabText(i) == "SOI'er i DB":
-                    view = self.tabs.widget(i).view
-                    view.setModel(None)
-                    self.database.insert_soi(tab_widget.soi)
-                    view.setModel(SOITableModel())
-                    break
-            else:
-                self.database.insert_soi(tab_widget.soi)
+                    soi_db_view = self.tabs.widget(i).view
+                    soi_db_view.setModel(None)
+                elif self.tabs.tabText(i) == "Kodebok":
+                    codebook_db_view = self.tabs.widget(i).view
+                    codebook_db_view.setModel(None)
+
+            self.database.insert_soi(tab_widget.soi)
+
+            if soi_db_view is not None:
+                soi_db_view.setModel(SOITableModel())
+            if codebook_db_view is not None:
+                codebook_db_view.setModel(CodebookTableModel())
         else:
             exec_info_dialog(
                 "Valgt tab er ingen SOI-tab",
-- 
GitLab