43 lines
1.5 KiB
Python
43 lines
1.5 KiB
Python
from PyQt5 import QtCore
|
|
from gui.gui import Ui_MainWindow
|
|
from gui.modules import account
|
|
from modules.config import Config
|
|
from modules.database import Database
|
|
from modules.database.model import Profile
|
|
|
|
|
|
def on_add_click(ui: Ui_MainWindow):
|
|
height = ui.adding_new_item_lay.geometry().height()
|
|
Ui_MainWindow.animation = QtCore.QPropertyAnimation(ui.adding_new_item_lay, b"maximumHeight")
|
|
Ui_MainWindow.animation.setDuration(300)
|
|
|
|
if height == 0:
|
|
Ui_MainWindow.animation.setStartValue(0)
|
|
Ui_MainWindow.animation.setEndValue(16777215)
|
|
|
|
else:
|
|
Ui_MainWindow.animation.setStartValue(height)
|
|
Ui_MainWindow.animation.setEndValue(0)
|
|
|
|
Ui_MainWindow.animation.setEasingCurve(QtCore.QEasingCurve.InOutQuart)
|
|
Ui_MainWindow.animation.start()
|
|
|
|
|
|
def create_account(ui: Ui_MainWindow):
|
|
if ui.new_account_name_box.text() != "" and \
|
|
ui.new_account_name_box.text() not in list(Database.get().profiles):
|
|
Database.add_profile(Profile(ui.new_account_name_box.text(), []))
|
|
account.accounts.fill_accounts(ui)
|
|
|
|
|
|
def remove_account(ui: Ui_MainWindow):
|
|
if ui.accounts_list.currentItem():
|
|
to_be_removed = ui.accounts_list.currentItem().text()
|
|
Database.remove_profile(to_be_removed)
|
|
account.accounts.fill_accounts(ui)
|
|
if Config.get().profile == to_be_removed:
|
|
if ui.accounts_list.currentItem():
|
|
Config.update("profile", ui.accounts_list.currentItem().text())
|
|
else:
|
|
Config.update("profile", None)
|