small fixes, working state, ui update
This commit is contained in:
@@ -114,7 +114,7 @@ class Database:
|
|||||||
result = self.query_db("SELECT bookdata, id FROM media WHERE app_id=? AND prof_id=?", (app_id,prof_id))
|
result = self.query_db("SELECT bookdata, id FROM media WHERE app_id=? AND prof_id=?", (app_id,prof_id))
|
||||||
books = [(load_pickle(i[0]),i[1]) for i in result]
|
books = [(load_pickle(i[0]),i[1]) for i in result]
|
||||||
# ic(books)
|
# ic(books)
|
||||||
book = [i for i in books if i[0].signature == signature][0]
|
book = [i for i in books if i[0].signature == signature][0][1]
|
||||||
return book
|
return book
|
||||||
def getBookBasedOnSignature(self, app_id:str, prof_id:str,signature:str)->BookData:
|
def getBookBasedOnSignature(self, app_id:str, prof_id:str,signature:str)->BookData:
|
||||||
result = self.query_db("SELECT bookdata FROM media WHERE app_id=? AND prof_id=?", (app_id,prof_id))
|
result = self.query_db("SELECT bookdata FROM media WHERE app_id=? AND prof_id=?", (app_id,prof_id))
|
||||||
@@ -179,7 +179,6 @@ class Database:
|
|||||||
qdata = self.query_db(f"SELECT id,bookdata,available FROM media WHERE (app_id={app_id} AND prof_id={prof_id}) AND (deleted={deleted if deleted == 0 else '1 OR deleted=0'})")
|
qdata = self.query_db(f"SELECT id,bookdata,available FROM media WHERE (app_id={app_id} AND prof_id={prof_id}) AND (deleted={deleted if deleted == 0 else '1 OR deleted=0'})")
|
||||||
ret_result = []
|
ret_result = []
|
||||||
for result_a in qdata:
|
for result_a in qdata:
|
||||||
ic(result_a)
|
|
||||||
data = {"id": int, "bookdata": BookData, "available": int}
|
data = {"id": int, "bookdata": BookData, "available": int}
|
||||||
data["id"] = result_a[0]
|
data["id"] = result_a[0]
|
||||||
data["bookdata"] = pickle.loads(result_a[1])
|
data["bookdata"] = pickle.loads(result_a[1])
|
||||||
|
|||||||
@@ -12,9 +12,10 @@ from icecream import ic
|
|||||||
|
|
||||||
class BookGrabber(QThread):
|
class BookGrabber(QThread):
|
||||||
updateSignal = pyqtSignal(int, int)
|
updateSignal = pyqtSignal(int, int)
|
||||||
|
done = pyqtSignal()
|
||||||
def __init__(self,app_id, prof_id, mode, data, parent=None):
|
def __init__(self,app_id, prof_id, mode, data, parent=None):
|
||||||
super(BookGrabber, self).__init__(parent = None)
|
super(BookGrabber, self).__init__(parent = None)
|
||||||
|
self.is_Running = True
|
||||||
self.logger = MyLogger("Worker")
|
self.logger = MyLogger("Worker")
|
||||||
self.logger.log_info("Starting worker thread")
|
self.logger.log_info("Starting worker thread")
|
||||||
self.data = data
|
self.data = data
|
||||||
@@ -36,71 +37,71 @@ class BookGrabber(QThread):
|
|||||||
# self.book_id = None
|
# self.book_id = None
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.db = Database()
|
while self.is_Running:
|
||||||
item = 0
|
self.db = Database()
|
||||||
iterdata = self.data
|
item = 0
|
||||||
print(iterdata)
|
iterdata = self.data
|
||||||
for entry in iterdata:
|
print(iterdata)
|
||||||
signature = str(entry)
|
for entry in iterdata:
|
||||||
self.logger.log_info("Processing entry: " + signature)
|
signature = str(entry)
|
||||||
|
self.logger.log_info("Processing entry: " + signature)
|
||||||
|
|
||||||
webdata = WebRequest().get_ppn(entry).get_data()
|
webdata = WebRequest().get_ppn(entry).get_data()
|
||||||
if webdata == "error":
|
if webdata == "error":
|
||||||
continue
|
continue
|
||||||
bd = BibTextTransformer(self.mode).get_data(webdata).return_data()
|
bd = BibTextTransformer(self.mode).get_data(webdata).return_data()
|
||||||
transformer = BibTextTransformer("RDS")
|
transformer = BibTextTransformer("RDS")
|
||||||
rds = transformer.get_data(webdata).return_data("rds_availability")
|
rds = transformer.get_data(webdata).return_data("rds_availability")
|
||||||
bd.signature = entry
|
bd.signature = entry
|
||||||
# confirm lock is acquired
|
# confirm lock is acquired
|
||||||
print("lock acquired, adding book to database")
|
print("lock acquired, adding book to database")
|
||||||
self.db.addBookToDatabase(bd, self.app_id, self.prof_id)
|
self.db.addBookToDatabase(bd, self.app_id, self.prof_id)
|
||||||
# get latest book id
|
# get latest book id
|
||||||
self.book_id = self.db.getLastBookId()
|
self.book_id = self.db.getLastBookId()
|
||||||
self.logger.log_info("Added book to database")
|
self.logger.log_info("Added book to database")
|
||||||
state = 0
|
state = 0
|
||||||
print(len(rds.items))
|
print(len(rds.items))
|
||||||
for rds_item in rds.items:
|
for rds_item in rds.items:
|
||||||
sign = rds_item.superlocation
|
sign = rds_item.superlocation
|
||||||
loc = rds_item.location
|
loc = rds_item.location
|
||||||
# print(item.location)
|
ic(sign,loc)
|
||||||
if self.app_id in sign or self.app_id in loc:
|
ic(rds_item)
|
||||||
state = 1
|
if self.app_id in sign or self.app_id in loc:
|
||||||
break
|
state = 1
|
||||||
|
break
|
||||||
|
|
||||||
# for book in self.books:
|
# for book in self.books:
|
||||||
# if book["bookdata"].signature == entry:
|
# if book["bookdata"].signature == entry:
|
||||||
# book_id = book["id"]
|
# book_id = book["id"]
|
||||||
# break
|
# break
|
||||||
self.logger.log_info(f"State of {signature}: {state}")
|
self.logger.log_info(f"State of {signature}: {state}")
|
||||||
print(
|
print(
|
||||||
"lock acquired, updating availability of "
|
"updating availability of "
|
||||||
+ str(self.book_id)
|
+ str(self.book_id)
|
||||||
+ " to "
|
+ " to "
|
||||||
+ str(state)
|
+ str(state)
|
||||||
)
|
)
|
||||||
try:
|
try:
|
||||||
self.db.setAvailability(self.book_id, state)
|
self.db.setAvailability(self.book_id, state)
|
||||||
except sqlite3.OperationalError as e:
|
except sqlite3.OperationalError as e:
|
||||||
self.logger.log_error(f"Failed to update availability: {e}")
|
self.logger.log_error(f"Failed to update availability: {e}")
|
||||||
|
|
||||||
# time.sleep(5)
|
|
||||||
item += 1
|
|
||||||
self.updateSignal.emit(item, len(self.data))
|
|
||||||
self.logger.log_info("Worker thread finished")
|
|
||||||
# teminate thread
|
|
||||||
self.app_id = None
|
|
||||||
self.prof_id = None
|
|
||||||
self.mode = None
|
|
||||||
self.data = None
|
|
||||||
|
|
||||||
self.quit()
|
|
||||||
|
|
||||||
|
# time.sleep(5)
|
||||||
|
item += 1
|
||||||
|
self.updateSignal.emit(item, len(self.data))
|
||||||
|
self.logger.log_info("Worker thread finished")
|
||||||
|
# self.done.emit()
|
||||||
|
if not self.is_Running:
|
||||||
|
break
|
||||||
|
def stop(self):
|
||||||
|
self.is_Running = False
|
||||||
|
|
||||||
|
|
||||||
class AvailChecker(QThread):
|
class AvailChecker(QThread):
|
||||||
updateSignal = pyqtSignal(str, int)
|
updateSignal = pyqtSignal(str, int)
|
||||||
updateProgress = pyqtSignal(int,int)
|
updateProgress = pyqtSignal(int,int)
|
||||||
def __init__(
|
def __init__(
|
||||||
self, links: list = [], appnumber: int = None, parent=None, books=list[dict]
|
self, links: list = None, appnumber: int = None, parent=None, books=list[dict]
|
||||||
):
|
):
|
||||||
if links is None:
|
if links is None:
|
||||||
links = []
|
links = []
|
||||||
|
|||||||
@@ -174,7 +174,6 @@ class Ui(Ui_Semesterapparat):
|
|||||||
# self.tableWidget_apparate.text
|
# self.tableWidget_apparate.text
|
||||||
self.actionEinstellungen.triggered.connect(self.open_settings)
|
self.actionEinstellungen.triggered.connect(self.open_settings)
|
||||||
# set validators
|
# set validators
|
||||||
self.sem_year.setValidator(QtGui.QIntValidator())
|
|
||||||
self.sem_year.setText(str(QtCore.QDate.currentDate().year()))
|
self.sem_year.setText(str(QtCore.QDate.currentDate().year()))
|
||||||
self.prof_mail.setValidator(
|
self.prof_mail.setValidator(
|
||||||
QRegularExpressionValidator(
|
QRegularExpressionValidator(
|
||||||
@@ -306,7 +305,6 @@ class Ui(Ui_Semesterapparat):
|
|||||||
self.pushButton.clicked.connect(self.delete_user)
|
self.pushButton.clicked.connect(self.delete_user)
|
||||||
self.update_user.clicked.connect(self.update_user_data)
|
self.update_user.clicked.connect(self.update_user_data)
|
||||||
self.update_faculty_member.clicked.connect(self.edit_faculty_member_action)
|
self.update_faculty_member.clicked.connect(self.edit_faculty_member_action)
|
||||||
|
|
||||||
def populate_appfach_dropdown(self):
|
def populate_appfach_dropdown(self):
|
||||||
self.app_fach.clear()
|
self.app_fach.clear()
|
||||||
self.app_fach.addItem("")
|
self.app_fach.addItem("")
|
||||||
@@ -1100,7 +1098,6 @@ class Ui(Ui_Semesterapparat):
|
|||||||
text = f"Medium {curr}/{total}"
|
text = f"Medium {curr}/{total}"
|
||||||
self.logger.log_info(text)
|
self.logger.log_info(text)
|
||||||
self.progress_label.setText(text)
|
self.progress_label.setText(text)
|
||||||
self.MainWindow.setStatusTip(f"Medien werden hinzugefügt, bitte warten... {curr}/{total}")
|
|
||||||
# update tableWidget_apparat_media
|
# update tableWidget_apparat_media
|
||||||
self.update_app_media_list()
|
self.update_app_media_list()
|
||||||
|
|
||||||
@@ -1141,23 +1138,21 @@ class Ui(Ui_Semesterapparat):
|
|||||||
# create apparat
|
# create apparat
|
||||||
self.btn_save_apparat()
|
self.btn_save_apparat()
|
||||||
# create a thread that updates the progress label after each medium
|
# create a thread that updates the progress label after each medium
|
||||||
thread = QThread()
|
|
||||||
grabber = BookGrabber(mode=mode, app_id=app_id, prof_id=prof_id, data=data)
|
grabber = BookGrabber(mode=mode, app_id=app_id, prof_id=prof_id, data=data)
|
||||||
# grabber.mode = mode
|
# grabber.mode = mode
|
||||||
# grabber.data = data
|
# grabber.data = data
|
||||||
# grabber.app_id = app_id
|
# grabber.app_id = app_id
|
||||||
# grabber.prof_id = prof_id
|
# grabber.prof_id = prof_id
|
||||||
grabber.moveToThread(thread)
|
|
||||||
grabber.finished.connect(thread.quit)
|
|
||||||
grabber.finished.connect(grabber.deleteLater)
|
grabber.finished.connect(grabber.deleteLater)
|
||||||
grabber.finished.connect(self.hide_progress_label)
|
grabber.finished.connect(self.hide_progress_label)
|
||||||
grabber.finished.connect(self.update_app_media_list)
|
grabber.finished.connect(self.update_app_media_list)
|
||||||
grabber.updateSignal.connect(self.update_progress_label)
|
grabber.updateSignal.connect(self.update_progress_label)
|
||||||
# worker.finished.connect(worker.deleteLater)
|
|
||||||
|
|
||||||
grabber.start()
|
grabber.start()
|
||||||
self.threadeds.append(thread)
|
# run grabber.deletelater
|
||||||
self.grabbers.append(grabber)
|
grabber.stop()
|
||||||
|
grabber.wait()
|
||||||
|
grabber.quit()
|
||||||
|
|
||||||
# for book in data:
|
# for book in data:
|
||||||
# # self.progress_label.setText(f"Medium {ct}/{len(data)}")
|
# # self.progress_label.setText(f"Medium {ct}/{len(data)}")
|
||||||
@@ -1177,7 +1172,6 @@ class Ui(Ui_Semesterapparat):
|
|||||||
self.threadeds.clear()
|
self.threadeds.clear()
|
||||||
def _update_progress(current, all_titles):
|
def _update_progress(current, all_titles):
|
||||||
self.avail_status.setText( "{}/{}".format(current, all_titles))
|
self.avail_status.setText( "{}/{}".format(current, all_titles))
|
||||||
self.btn_reserve.setStatusTip(f"Verfügbarkeit wird geprüft, bitte warten... {current}/{all_titles}")
|
|
||||||
def _hide_progress_label():
|
def _hide_progress_label():
|
||||||
self.label_20.hide()
|
self.label_20.hide()
|
||||||
self.avail_status.hide()
|
self.avail_status.hide()
|
||||||
@@ -1208,18 +1202,20 @@ class Ui(Ui_Semesterapparat):
|
|||||||
deleted=0,
|
deleted=0,
|
||||||
)
|
)
|
||||||
|
|
||||||
thread = QThread()
|
# thread = QThread()
|
||||||
appnumber = self.active_apparat()
|
appnumber = self.active_apparat()
|
||||||
print(links)
|
print(links)
|
||||||
availcheck = AvailChecker(links, appnumber, books=books)
|
availcheck = AvailChecker(links, appnumber, books=books)
|
||||||
availcheck.moveToThread(thread)
|
# availcheck.moveToThread(thread)
|
||||||
availcheck.finished.connect(thread.quit)
|
# availcheck.finished.connect(thread.quit)
|
||||||
availcheck.finished.connect(availcheck.deleteLater)
|
availcheck.finished.connect(availcheck.deleteLater)
|
||||||
availcheck.finished.connect(self.update_app_media_list)
|
availcheck.finished.connect(self.update_app_media_list)
|
||||||
availcheck.updateProgress.connect(_update_progress)
|
availcheck.updateProgress.connect(_update_progress)
|
||||||
availcheck.finished.connect(_hide_progress_label)
|
availcheck.finished.connect(_hide_progress_label)
|
||||||
availcheck.start()
|
availcheck.start()
|
||||||
self.threadeds.append(thread)
|
# kill availcheck after completion
|
||||||
|
|
||||||
|
# self.threadeds.append(thread)
|
||||||
self.grabbers.append(availcheck)
|
self.grabbers.append(availcheck)
|
||||||
|
|
||||||
def btn_cancel_active_selection(self):
|
def btn_cancel_active_selection(self):
|
||||||
@@ -1533,17 +1529,16 @@ class Ui(Ui_Semesterapparat):
|
|||||||
signatures = [i for i in signatures if i != ""]
|
signatures = [i for i in signatures if i != ""]
|
||||||
ic(signatures)
|
ic(signatures)
|
||||||
print("starting thread")
|
print("starting thread")
|
||||||
thread = QThread()
|
|
||||||
grabber = BookGrabber(mode = "ARRAY", app_id = app_id,prof_id = prof_id,data = signatures)
|
grabber = BookGrabber(mode = "ARRAY", app_id = app_id,prof_id = prof_id,data = signatures)
|
||||||
# grabber.mode = "ARRAY"
|
# grabber.mode = "ARRAY"
|
||||||
# grabber.data = signatures
|
# grabber.data = signatures
|
||||||
# grabber.app_id = app_id
|
# grabber.app_id = app_id
|
||||||
# grabber.prof_id = prof_id
|
# grabber.prof_id = prof_id
|
||||||
grabber.moveToThread(thread)
|
# grabber.moveToThread(thread)
|
||||||
self.label_info.show()
|
self.label_info.show()
|
||||||
self.progress_label.show()
|
self.progress_label.show()
|
||||||
self.line_2.show()
|
self.line_2.show()
|
||||||
grabber.finished.connect(thread.quit)
|
# grabber.finished.connect(thread.quit)
|
||||||
grabber.finished.connect(grabber.deleteLater)
|
grabber.finished.connect(grabber.deleteLater)
|
||||||
grabber.finished.connect(self.hide_progress_label)
|
grabber.finished.connect(self.hide_progress_label)
|
||||||
grabber.finished.connect(self.update_app_media_list)
|
grabber.finished.connect(self.update_app_media_list)
|
||||||
@@ -1553,6 +1548,7 @@ class Ui(Ui_Semesterapparat):
|
|||||||
|
|
||||||
grabber.start()
|
grabber.start()
|
||||||
# self.thread = thread
|
# self.thread = thread
|
||||||
|
# kill grabber after completion
|
||||||
self.grabbers.append(grabber)
|
self.grabbers.append(grabber)
|
||||||
|
|
||||||
def unlock_apparate(self):
|
def unlock_apparate(self):
|
||||||
@@ -1818,7 +1814,7 @@ class Ui(Ui_Semesterapparat):
|
|||||||
signature=book,
|
signature=book,
|
||||||
prof_id=self.db.getProfId(self.drpdwn_prof_name.currentText()),
|
prof_id=self.db.getProfId(self.drpdwn_prof_name.currentText()),
|
||||||
)
|
)
|
||||||
|
book_id = self.db.getBookIdBasedOnSignature(self.active_apparat(),self.db.getProfId(self.drpdwn_prof_name.currentText()),book)
|
||||||
widget = QtWidgets.QDialog()
|
widget = QtWidgets.QDialog()
|
||||||
bookedit = edit_bookdata_ui()
|
bookedit = edit_bookdata_ui()
|
||||||
bookedit.setupUi(widget)
|
bookedit.setupUi(widget)
|
||||||
@@ -1841,28 +1837,48 @@ class Ui(Ui_Semesterapparat):
|
|||||||
selected_apparat_id = self.tableWidget_apparate.item(
|
selected_apparat_id = self.tableWidget_apparate.item(
|
||||||
self.tableWidget_apparate.currentRow(), 0
|
self.tableWidget_apparate.currentRow(), 0
|
||||||
).text()
|
).text()
|
||||||
signature = self.tableWidget_apparat_media.item(
|
# check how many rows are selected
|
||||||
self.tableWidget_apparat_media.currentRow(), 1
|
selected_rows = self.tableWidget_apparat_media.selectionModel().selectedRows()
|
||||||
).text()
|
if len(selected_rows) == 1:
|
||||||
# bookdata= self.db.getBookIdBasedOnSignature(selected_apparat_id,prof_id=self.db.get_prof_id(self.drpdwn_prof_name.currentText()),signature=signature)
|
signature = self.tableWidget_apparat_media.item(
|
||||||
book_id = self.db.getBookIdBasedOnSignature(
|
self.tableWidget_apparat_media.currentRow(), 1
|
||||||
selected_apparat_id,
|
).text()
|
||||||
prof_id=self.db.getProfId(self.drpdwn_prof_name.currentText()),
|
book_id = self.db.getBookIdBasedOnSignature(
|
||||||
signature=signature,
|
selected_apparat_id,
|
||||||
)
|
prof_id=self.db.getProfId(self.drpdwn_prof_name.currentText()),
|
||||||
message = f'Soll das Medium "{self.tableWidget_apparat_media.item(self.tableWidget_apparat_media.currentRow(),0).text()}" wirklich gelöscht werden?'
|
signature=signature,
|
||||||
state = self.confirm_popup(message)
|
)
|
||||||
print(state)
|
message = f'Soll das Medium "{self.tableWidget_apparat_media.item(self.tableWidget_apparat_media.currentRow(),0).text()}" wirklich gelöscht werden?'
|
||||||
if state == 1:
|
state = self.confirm_popup(message)
|
||||||
self.db.deleteBook(book_id)
|
print(state)
|
||||||
self.update_app_media_list()
|
if state == 1:
|
||||||
pass
|
self.db.deleteBook(book_id)
|
||||||
|
self.update_app_media_list()
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
# get all selected rows
|
||||||
|
ranges = self.tableWidget_apparat_media.selectedRanges()
|
||||||
|
rows = []
|
||||||
|
for r in ranges:
|
||||||
|
for row in range(r.topRow(), r.bottomRow() + 1):
|
||||||
|
rows.append(row)
|
||||||
|
print(rows)
|
||||||
|
message = f"Sollen die {len(rows)} Medien wirklich gelöscht werden?"
|
||||||
|
state = self.confirm_popup(message)
|
||||||
|
if state == 1:
|
||||||
|
for _ in rows:
|
||||||
|
signature = self.tableWidget_apparat_media.item(_, 1).text()
|
||||||
|
book_id = self.db.getBookIdBasedOnSignature(
|
||||||
|
selected_apparat_id,
|
||||||
|
prof_id=self.db.getProfId(self.drpdwn_prof_name.currentText()),
|
||||||
|
signature=signature,
|
||||||
|
)
|
||||||
|
self.db.deleteBook(book_id)
|
||||||
|
self.update_app_media_list()
|
||||||
def extend_apparat(self):
|
def extend_apparat(self):
|
||||||
framework = QtWidgets.QDialog()
|
framework = QtWidgets.QDialog()
|
||||||
frame = App_Ext_Dialog()
|
frame = App_Ext_Dialog()
|
||||||
frame.setupUi(framework)
|
frame.setupUi(framework)
|
||||||
frame.sem_year.setValidator(QtGui.QIntValidator())
|
|
||||||
frame.sem_year.setText(str(QtCore.QDate.currentDate().year()))
|
frame.sem_year.setText(str(QtCore.QDate.currentDate().year()))
|
||||||
framework.exec()
|
framework.exec()
|
||||||
# return data from dialog if ok is pressed
|
# return data from dialog if ok is pressed
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ class Ui_MainWindow(object):
|
|||||||
MainWindow.setMinimumSize(QtCore.QSize(1278, 800))
|
MainWindow.setMinimumSize(QtCore.QSize(1278, 800))
|
||||||
MainWindow.setMaximumSize(QtCore.QSize(1920, 800))
|
MainWindow.setMaximumSize(QtCore.QSize(1920, 800))
|
||||||
MainWindow.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu)
|
MainWindow.setContextMenuPolicy(QtCore.Qt.ContextMenuPolicy.NoContextMenu)
|
||||||
|
MainWindow.setStatusTip("")
|
||||||
self.centralwidget = QtWidgets.QWidget(MainWindow)
|
self.centralwidget = QtWidgets.QWidget(MainWindow)
|
||||||
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
|
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Fixed, QtWidgets.QSizePolicy.Policy.Fixed)
|
||||||
sizePolicy.setHorizontalStretch(0)
|
sizePolicy.setHorizontalStretch(0)
|
||||||
@@ -1227,7 +1228,7 @@ class Ui_MainWindow(object):
|
|||||||
|
|
||||||
self.retranslateUi(MainWindow)
|
self.retranslateUi(MainWindow)
|
||||||
self.tabWidget.setCurrentIndex(0)
|
self.tabWidget.setCurrentIndex(0)
|
||||||
self.tabWidget_2.setCurrentIndex(0)
|
self.tabWidget_2.setCurrentIndex(1)
|
||||||
self.stackedWidget_4.setCurrentIndex(1)
|
self.stackedWidget_4.setCurrentIndex(1)
|
||||||
self.tabWidget_3.setCurrentIndex(1)
|
self.tabWidget_3.setCurrentIndex(1)
|
||||||
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
QtCore.QMetaObject.connectSlotsByName(MainWindow)
|
||||||
@@ -1320,6 +1321,7 @@ class Ui_MainWindow(object):
|
|||||||
self.label_6.setText(_translate("MainWindow", "Semester"))
|
self.label_6.setText(_translate("MainWindow", "Semester"))
|
||||||
self.sem_year.setPlaceholderText(_translate("MainWindow", "2023"))
|
self.sem_year.setPlaceholderText(_translate("MainWindow", "2023"))
|
||||||
self.label_2.setText(_translate("MainWindow", "Apparatsnummer"))
|
self.label_2.setText(_translate("MainWindow", "Apparatsnummer"))
|
||||||
|
self.btn_apparat_save.setStatusTip(_translate("MainWindow", "searching"))
|
||||||
self.btn_apparat_save.setText(_translate("MainWindow", "Speichern"))
|
self.btn_apparat_save.setText(_translate("MainWindow", "Speichern"))
|
||||||
self.btn_apparat_apply.setText(_translate("MainWindow", "Aktualisieren"))
|
self.btn_apparat_apply.setText(_translate("MainWindow", "Aktualisieren"))
|
||||||
self.check_eternal_app.setText(_translate("MainWindow", "Dauerapparat"))
|
self.check_eternal_app.setText(_translate("MainWindow", "Dauerapparat"))
|
||||||
@@ -1350,7 +1352,8 @@ class Ui_MainWindow(object):
|
|||||||
item = self.tableWidget_apparat_media.horizontalHeaderItem(3)
|
item = self.tableWidget_apparat_media.horizontalHeaderItem(3)
|
||||||
item.setText(_translate("MainWindow", "Autor"))
|
item.setText(_translate("MainWindow", "Autor"))
|
||||||
item = self.tableWidget_apparat_media.horizontalHeaderItem(4)
|
item = self.tableWidget_apparat_media.horizontalHeaderItem(4)
|
||||||
item.setText(_translate("MainWindow", "verfügbar?"))
|
item.setText(_translate("MainWindow", "im Apparat?"))
|
||||||
|
item.setToolTip(_translate("MainWindow", "Diese Angabe ist nicht zuverlässig. Ist das ❌ vorhanden, kann das Medium im Apparat sein, aber aufgrund eines Bugs nicht gefunden worden"))
|
||||||
item = self.tableWidget_apparat_media.horizontalHeaderItem(5)
|
item = self.tableWidget_apparat_media.horizontalHeaderItem(5)
|
||||||
item.setText(_translate("MainWindow", "Vorgemerkt"))
|
item.setText(_translate("MainWindow", "Vorgemerkt"))
|
||||||
item = self.tableWidget_apparat_media.horizontalHeaderItem(6)
|
item = self.tableWidget_apparat_media.horizontalHeaderItem(6)
|
||||||
|
|||||||
@@ -40,6 +40,9 @@
|
|||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
<string>Semesterapparatsmanagement</string>
|
<string>Semesterapparatsmanagement</string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
<widget class="QWidget" name="centralwidget">
|
<widget class="QWidget" name="centralwidget">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
|
||||||
@@ -607,6 +610,9 @@
|
|||||||
<bold>false</bold>
|
<bold>false</bold>
|
||||||
</font>
|
</font>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="statusTip">
|
||||||
|
<string>searching</string>
|
||||||
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Speichern</string>
|
<string>Speichern</string>
|
||||||
</property>
|
</property>
|
||||||
@@ -1228,7 +1234,10 @@
|
|||||||
</column>
|
</column>
|
||||||
<column>
|
<column>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>verfügbar?</string>
|
<string>im Apparat?</string>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Diese Angabe ist nicht zuverlässig. Ist das ❌ vorhanden, kann das Medium im Apparat sein, aber aufgrund eines Bugs nicht gefunden worden</string>
|
||||||
</property>
|
</property>
|
||||||
</column>
|
</column>
|
||||||
<column>
|
<column>
|
||||||
@@ -1427,7 +1436,7 @@
|
|||||||
</size>
|
</size>
|
||||||
</property>
|
</property>
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>0</number>
|
<number>1</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="tab_3">
|
<widget class="QWidget" name="tab_3">
|
||||||
<attribute name="title">
|
<attribute name="title">
|
||||||
|
|||||||
Reference in New Issue
Block a user