Semaine 4, jour 4, soir

This commit is contained in:
gauvainboiche
2026-01-15 16:52:26 +01:00
parent 4c9c3b29e8
commit 54bb4d7628
17 changed files with 620 additions and 24 deletions

View File

@@ -0,0 +1,57 @@
from Semaine_04.Bibliotheque.gui.signal_mgt import SignalManagement
from logic import actions
from gui.ui_init import Ui_Initialization
from gui.ui_base import Ui_MainWindow
from PyQt6.QtWidgets import QMessageBox
from PyQt6.QtGui import QStandardItemModel, QStandardItem
class Ui_Library(Ui_MainWindow):
##### Méthode de mise à jour de la liste des titres avec QTSignal
def setupUi(self, MainWindow):
super().setupUi(MainWindow)
ui_init = Ui_Initialization(self)
ui_init.connect_button()
ui_init.fulfill_list()
self.signal_mgt = SignalManagement(self)
self.signal_mgt.connect_signals()
def record_book(self):
title = self.title_input.text()
author = self.author_input.text()
message = actions.register_book(title, author)
QMessageBox.information(None, "Nouvel enregistrement", message)
# self.refresh_title_list()
self.signal_mgt.change_list_signal.emit()
def delete_book(self):
title = self.title_list.currentText()
message = actions.delete_book(title)
QMessageBox.information(None, "Suppression confirmée", message)
# self.refresh_title_list()
self.signal_mgt.change_list_signal.emit()
def refresh_title_list(self):
self.title_list.clear()
self.title_list.addItems(actions.list_titles())
def search_book(self):
word = self.search_input.text()
if len(word) == 1:
results = actions.search_by_letter(word)
self.display_list_view(results)
return
if len(word) > 1:
results = actions.search_by_word(word)
self.display_list_view(results)
return
def display_list_view(self, results):
self.model = QStandardItemModel()
self.results_view.setModel(self.model)
if isinstance(results, str):
self.model.appendRow(QStandardItem(results))
else:
for book in results:
self.model.appendRow(QStandardItem(str(book)))