Added saving and filling buttons from file.

TODO: Fix too long names and add functionality that removes buttons that are removed from list
This commit is contained in:
BarsTiger
2022-11-13 23:17:48 +02:00
parent 7fdea66d03
commit 4213b7333d
8 changed files with 291 additions and 183 deletions

View File

@@ -1,4 +1,5 @@
import os
from modules.padslist import Pads
from gui.gui import Ui_MainWindow
from PyQt5 import QtWidgets, QtCore
from PyQt5.QtWidgets import QMainWindow
@@ -22,12 +23,24 @@ def fill_pads(ui: Ui_MainWindow, MainWindow: QMainWindow):
button.setText(os.path.split(item)[-1] if os.path.exists(item) else "File doesn't exist")
button.clicked.connect(lambda: print(ui.first_pads_dict[MainWindow.sender().text()]
if MainWindow.sender().text() != "File doesn't exist" else None))
print(ui.first_pads_dict)
print('First: ', ui.first_pads_dict)
Pads.update("first_pads", ui.first_pads_dict)
ui.pads_collection_1_lay.addWidget(button, i // 4, i % 4)
for i in range(16):
item = QtWidgets.QListWidgetItem()
item.setFlags(
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEditable | QtCore.Qt.ItemIsEnabled
)
ui.edit_second_pads_collection_list.addItem(item)
second_pads_list = \
[ui.edit_second_pads_collection_list.item(x).text() for x in range(ui.edit_second_pads_collection_list.count())]
for i in range(len(second_pads_list)):
item = second_pads_list[i]
if item == '':
continue
ui.second_pads_dict[os.path.split(item)[-1]] = item
button = QtWidgets.QPushButton()
button.setSizePolicy(QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding,
QtWidgets.QSizePolicy.Expanding))
button.setText(os.path.split(item)[-1] if os.path.exists(item) else "File doesn't exist")
button.clicked.connect(lambda: print(ui.second_pads_dict[MainWindow.sender().text()]
if MainWindow.sender().text() != "File doesn't exist" else None))
print('Second', ui.second_pads_dict)
Pads.update("second_pads", ui.second_pads_dict)
ui.pads_collection_2_lay.addWidget(button, i // 4, i % 4)

View File

@@ -14,3 +14,4 @@ def register_handlers(ui: Ui_MainWindow, MainWindow: QMainWindow):
fill_settings(ui)
fill_pads(ui, MainWindow)
ui.edit_first_pads_collection_list.itemChanged.connect(lambda: fill_pads(ui, MainWindow))
ui.edit_second_pads_collection_list.itemChanged.connect(lambda: fill_pads(ui, MainWindow))

View File

@@ -1,3 +1,4 @@
from modules.padslist import Pads
from gui.gui import Ui_MainWindow
from PyQt5 import QtWidgets, QtCore
@@ -8,6 +9,7 @@ def fill_settings(ui: Ui_MainWindow):
item.setFlags(
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEditable | QtCore.Qt.ItemIsEnabled
)
item.setText(Pads.get().first_pads[list(Pads.get().first_pads)[i]] if i < len(Pads.get().first_pads) else "")
ui.edit_first_pads_collection_list.addItem(item)
for i in range(16):
@@ -15,4 +17,5 @@ def fill_settings(ui: Ui_MainWindow):
item.setFlags(
QtCore.Qt.ItemIsSelectable | QtCore.Qt.ItemIsEditable | QtCore.Qt.ItemIsEnabled
)
item.setText(Pads.get().second_pads[list(Pads.get().second_pads)[i]] if i < len(Pads.get().second_pads) else "")
ui.edit_second_pads_collection_list.addItem(item)