creating and removing accounts

This commit is contained in:
BarsTiger
2022-08-09 11:07:20 +03:00
parent eb3f494bd3
commit 12cc20175e
13 changed files with 772 additions and 264 deletions

View File

@@ -0,0 +1,2 @@
from .manager import *
from .accounts import *

View File

@@ -0,0 +1,19 @@
from gui.gui import Ui_MainWindow
from modules.database import Database
from modules.config import Config
def fill_accounts(ui: Ui_MainWindow):
ui.accounts_list.clear()
if not Database.get().profiles:
return
for i in range(len(Database.get().profiles)):
ui.accounts_list.addItem(list(Database.get().profiles)[i])
if list(Database.get().profiles)[i] == Config.get().profile:
ui.accounts_list.setCurrentRow(i)
def set_current_profile(ui: Ui_MainWindow):
if ui.accounts_list.currentItem():
Config.update("profile", ui.accounts_list.currentItem().text())

View File

@@ -0,0 +1,42 @@
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)