From 4217fcccbc61a5858cab8d38bbb8e721ebc0459c Mon Sep 17 00:00:00 2001 From: BarsTiger Date: Wed, 26 Jan 2022 19:56:07 +0200 Subject: [PATCH] GUI development --- horsygui.py | 21 ++++++++++++++++++++- modules/manager.py | 21 ++++++++++----------- 2 files changed, 30 insertions(+), 12 deletions(-) diff --git a/horsygui.py b/horsygui.py index 2363ca7..74aab34 100644 --- a/horsygui.py +++ b/horsygui.py @@ -6,7 +6,6 @@ from PyQt5 import QtCore, QtGui, QtWidgets import modules.gui as gui from modules.console import cls -from modules.manager import install, uninstall, apps_list from modules.virustotal import add_to_cfg from modules.uploader import upload from modules.source import get_source @@ -23,17 +22,37 @@ MainWindow.show() # Functions def installed_apps(): + from modules.manager import apps_list + ui.installed_table.clear() apps = apps_list(True) ui.installed_table.setColumnCount(4) ui.installed_table.setRowCount(math.ceil(len(apps) / 4)) for i in range(len(apps)): ui.installed_table.setItem(i // 4, i % 4, QtWidgets.QTableWidgetItem(str(apps[i]))) +def update_app(): + app_name = ui.installed_table.currentItem().text() + if app_name == "": + return + else: + from modules.manager import install + install(app_name) + +def uninstall_app(): + app_name = ui.installed_table.currentItem().text() + if app_name == "": + return + else: + from modules.manager import uninstall + uninstall(app_name) + installed_apps() # Run functions on startup installed_apps() # Binds +ui.update_button.clicked.connect(update_app) +ui.delete_button.clicked.connect(uninstall_app) # Handle GUI exiting to exit whole program diff --git a/modules/manager.py b/modules/manager.py index 194c537..d13171f 100644 --- a/modules/manager.py +++ b/modules/manager.py @@ -126,17 +126,16 @@ def install(package, is_gui=False): def uninstall(package, is_gui=False): - if not is_gui: - if os.path.exists('{1}apps/{0}'.format(package, horsy_vars.horsypath)): - os.system('rmdir /s /q "{1}apps/{0}"'.format(package, horsy_vars.horsypath)) - print(f"[green][OK] Files deleted[/]") - else: - print(f"[red]App {package} is not installed or doesn't have files[/]") - if os.path.isfile('{1}apps/{0}.bat'.format(package, horsy_vars.horsypath)): - os.remove("{1}apps/{0}.bat".format(package, horsy_vars.horsypath)) - print(f"[green][OK] Launch script deleted[/]") - else: - print(f"[red]App {package} is not installed or doesn't have launch script[/]") + if os.path.exists('{1}apps/{0}'.format(package, horsy_vars.horsypath)): + os.system('rmdir /s /q "{1}apps/{0}"'.format(package, horsy_vars.horsypath)) + print(f"[green][OK] Files deleted[/]") + else: + print(f"[red]App {package} is not installed or doesn't have files[/]") + if os.path.isfile('{1}apps/{0}.bat'.format(package, horsy_vars.horsypath)): + os.remove("{1}apps/{0}.bat".format(package, horsy_vars.horsypath)) + print(f"[green][OK] Launch script deleted[/]") + else: + print(f"[red]App {package} is not installed or doesn't have launch script[/]") def apps_list(is_gui=False):