creating and removing accounts
This commit is contained in:
2
gui/modules/account/__init__.py
Normal file
2
gui/modules/account/__init__.py
Normal file
@@ -0,0 +1,2 @@
|
||||
from .manager import *
|
||||
from .accounts import *
|
||||
19
gui/modules/account/accounts.py
Normal file
19
gui/modules/account/accounts.py
Normal 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())
|
||||
42
gui/modules/account/manager.py
Normal file
42
gui/modules/account/manager.py
Normal 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)
|
||||
@@ -4,6 +4,7 @@ from gui.modules.handlers import on_item_remove
|
||||
from gui.modules.adding_item import on_add_click
|
||||
from gui.modules.filters import menu
|
||||
from gui.modules.core import items_list
|
||||
from gui.modules import account
|
||||
|
||||
|
||||
def register_handlers(ui: Ui_MainWindow):
|
||||
@@ -19,4 +20,14 @@ def register_handlers(ui: Ui_MainWindow):
|
||||
ui.filter_class_box.currentIndexChanged.connect(lambda: menu.refill_types(ui))
|
||||
ui.filters_apply_button.clicked.connect(lambda: items_list.refill_list(ui))
|
||||
|
||||
ui.manage_profiles_button.clicked.connect(lambda: (ui.content.setCurrentWidget(ui.account_page),
|
||||
account.accounts.fill_accounts(ui)))
|
||||
ui.cancel_account.clicked.connect(lambda: ui.content.setCurrentWidget(ui.main_page))
|
||||
|
||||
ui.create_new_account.clicked.connect(lambda: account.manager.on_add_click(ui))
|
||||
ui.remove_selected_account.clicked.connect(lambda: account.manager.remove_account(ui))
|
||||
ui.cancel_account_creation.clicked.connect(lambda: account.manager.on_add_click(ui))
|
||||
ui.accept_account_name.clicked.connect(lambda: account.manager.create_account(ui))
|
||||
ui.use_this_account_button.clicked.connect(lambda: account.accounts.set_current_profile(ui))
|
||||
|
||||
on_add_click.register_add_handlers(ui)
|
||||
|
||||
@@ -6,6 +6,7 @@ from modules.config import Config
|
||||
from gui.modules.core import items_list
|
||||
from gui.modules.handlers.register import register_handlers
|
||||
from gui.modules.filters.menu import refill_filters
|
||||
from gui.modules import account
|
||||
|
||||
|
||||
def on_load(ui: Ui_MainWindow, MainWindow: QMainWindow):
|
||||
@@ -20,5 +21,6 @@ def on_load(ui: Ui_MainWindow, MainWindow: QMainWindow):
|
||||
|
||||
refill_filters(ui)
|
||||
items_list.refill_list(ui)
|
||||
account.accounts.fill_accounts(ui)
|
||||
|
||||
register_handlers(ui)
|
||||
|
||||
Reference in New Issue
Block a user