Skip to content
Snippets Groups Projects
Commit e62a4f68 authored by Anders H. Rebner's avatar Anders H. Rebner
Browse files

Fikset error i codebook_widget

parent 6eb682a7
No related branches found
No related tags found
No related merge requests found
Pipeline #78188 passed
......@@ -10,7 +10,6 @@ from PySide2.QtWidgets import (
QWidget,
)
from PySide2.QtCore import Qt
from soitool.database import Database
from soitool.codebook_model_view import CodeBookTableModel, CodeBookTableView
......@@ -29,6 +28,8 @@ class CodebookRowAdder(QWidget):
database. Therefore, this reference is needed to be able to
insert new rows, but it is also used to refresh the view when
the row is inserted.
database : soitool.database.Database
Database to use.
Raises
------
......@@ -37,7 +38,7 @@ class CodebookRowAdder(QWidget):
None (default) or CodeBookTableView.
"""
def __init__(self, codebook_view=None):
def __init__(self, database, codebook_view=None):
super().__init__()
# Raise error if argument is invalid
......@@ -49,6 +50,7 @@ class CodebookRowAdder(QWidget):
+ "'{}'".format(codebook_view)
)
self.database = database
self.codebook_view = codebook_view
self.create_widgets()
......@@ -169,8 +171,6 @@ class CodebookRowAdder(QWidget):
if len(category_input) > 0:
category_input = category_input[0].upper() + category_input[1:]
db = Database()
try:
# If a view is used, remove its model temporarily
if self.codebook_view is not None:
......@@ -181,13 +181,13 @@ class CodebookRowAdder(QWidget):
"INSERT INTO CodeBook(Word, Category, Type)"
+ "VALUES(?, ?, ?)"
)
db.conn.execute(
self.database.conn.execute(
stmt, (word_input, category_input, type_input,)
)
# Add unique code to row and commit changes
db.add_code_to(word_input)
db.conn.commit()
self.database.add_code_to(word_input)
self.database.conn.commit()
# Give feedback and reset input
self.label_feedback.setText("Ord/Uttrykk lagt til.")
......
......@@ -7,12 +7,12 @@ from soitool.codebook_row_adder import CodebookRowAdder
class CodebookWidget(QWidget):
"""Widget for viewing and editing codebook."""
def __init__(self):
def __init__(self, database):
super().__init__()
# Create widgets
self.view = CodeBookTableView()
self.row_adder = CodebookRowAdder()
self.view = CodeBookTableView(database)
self.row_adder = CodebookRowAdder(database, self.view)
self.create_and_set_layouts()
......
......@@ -197,7 +197,7 @@ class MainWindow(QMainWindow):
break
# Codebook-tab does not exist, create, add and select tab
else:
tab = CodebookWidget()
tab = CodebookWidget(self.database)
self.tabs.addTab(tab, "Kodebok")
self.tabs.setCurrentWidget(tab)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment