diff --git a/install.sh b/install.sh index e488ed7..c1fc158 100644 --- a/install.sh +++ b/install.sh @@ -35,7 +35,7 @@ if [[ "$action" == "1" ]]; then rm PKGBUILD echo "FINISHED!" fi - rm /usr/share/arch-store/AUR + sudo rm /usr/share/arch-store/AUR cd .. rm -rf arch-store-install @@ -64,7 +64,7 @@ elif [[ "$action" == "5" ]]; then echo "FINISHED!" cd .. - rm -rf arch-store-install + sudo rm -rf arch-store-install fi diff --git a/lpak/English.lpak b/lpak/English.lpak index 9155036..58466e6 100644 --- a/lpak/English.lpak +++ b/lpak/English.lpak @@ -144,3 +144,10 @@ Script|Script Installated with|Installed whit updated, please restart|Updated, please restart ArchStore updated|Updated +Home|Home page +Search by type|Search by type +TOP 100 downloaded packages|TOP 100 downloaded packages +Games|Games +Office|Office +Graphics|Graphics +Multimedia|Multimedia diff --git a/lpak/Italiano.lpak b/lpak/Italiano.lpak index bd79181..4e85236 100644 --- a/lpak/Italiano.lpak +++ b/lpak/Italiano.lpak @@ -143,4 +143,11 @@ It appears that you installed ArchStore from the script. Would you like to open Script|Script Installated with|Installato con updated, please restart|Aggiornato, riavvia l'applicazione -updated|Aggiornato \ No newline at end of file +updated|Aggiornato +Home|Schermata iniziale +Search by type|Cerca per tipo +TOP 100 downloaded packages|I 100 pachetti più installati +Games|Giochi +Office|Ufficio +Graphics|Grafica +Mulitmedia|Multimedia \ No newline at end of file diff --git a/main.py b/main.py index a649d70..1b9e20f 100644 --- a/main.py +++ b/main.py @@ -11,6 +11,7 @@ from PyQt6.QtCore import QProcess import sys import glob +import requests #PY files import appimages as archstoreAppimages @@ -21,7 +22,8 @@ from manage_installed_method import show_window as show_installed_method #fast access variables -arch_store_version = "beta_INFO-INSTALLATION_1.0.1" +arch_store_version = "Beta_HOME-UPDATE_2.0.0" + #Base variables install_pacman_packages=[] @@ -115,9 +117,7 @@ def open_setting(): win = archstoreSettings.open_setting(language, working_dir, avaible_languages, arch_store_version) win.exec() load_config_data() - - - + def update_all_apps(): global install_status if setting_repo_pacman == "disable" and setting_repo_aur == "disable" and setting_repo_flatpak == "disable": @@ -814,12 +814,70 @@ def search_program(name): scrollable_layout.addWidget(no_program_found_label, row, 0, 1, 6) last_search = program_search - #small functions def open_github(): webbrowser.open("https://github.com/Samuobe/Arch-Store") + +#Big funxtions +def generate_home_screen(): + title_style="color: black; font: bold 12pt 'Arial';" + for widget in scrollable_frame.findChildren(pq.QWidget): + widget.deleteLater() + + search_app_types_label = pq.QLabel(lpak.get("Search by type", language)) + search_app_types_label.setStyleSheet(title_style) + search_games_button = pq.QPushButton(lpak.get("Games", language)) + search_office_button = pq.QPushButton(lpak.get("Office", language)) + search_graphics_button = pq.QPushButton(lpak.get("Graphics", language)) + search_multimedia_button = pq.QPushButton(lpak.get("Multimedia", language)) + + search_games_button.pressed.connect(lambda: search_program("Games")) + search_office_button.pressed.connect(lambda: search_program("Office")) + search_graphics_button.pressed.connect(lambda: search_program("Graphics")) + search_multimedia_button.pressed.connect(lambda: search_program("Multimedia")) + + scrollable_layout.addWidget(search_app_types_label, 0, 0) + scrollable_layout.addWidget(search_games_button, 1, 0) + scrollable_layout.addWidget(search_office_button, 1, 1) + scrollable_layout.addWidget(search_graphics_button, 1, 2) + scrollable_layout.addWidget(search_multimedia_button, 1, 3) + + #TOP packages + headers = { + 'accept': 'application/json', + } + params = { + 'limit': '100', + 'offset': '0', + } + response = requests.get('https://pkgstats.archlinux.de/api/packages', params=params, headers=headers) + data = response.json() + packages_names = [p["name"] for p in data["packagePopularities"]] + top_package_label = pq.QLabel(lpak.get("TOP 100 downloaded packages", language)) + top_package_label.setStyleSheet(title_style) + column = 0 + row = 2 + scrollable_layout.addWidget(top_package_label, row, 0) + row = row +1 + for package in packages_names: + package_label = pq.QLabel(package) + package_search_button = pq.QPushButton(lpak.get("search", language)) + package_search_button.pressed.connect(lambda program = package: search_program(program)) + scrollable_layout.addWidget(package_label, row, column) + scrollable_layout.addWidget(package_search_button, row+1, column) + column = column + 1 + if column > 5: + line_separazione = pq.QFrame() + line_separazione.setFrameShape(pq.QFrame.Shape.HLine) + line_separazione.setFrameShadow(pq.QFrame.Shadow.Sunken) + scrollable_layout.addWidget(line_separazione, row+2, 0, 1, 6) + column = 0 + row = row +3 + scrollable_layout.setRowStretch(scrollable_layout.rowCount(), 1) + # Inizializzazione GUI app = pq.QApplication(sys.argv) +style = app.style() root = pq.QMainWindow() root.setWindowTitle(lpak.get("arch store", language)) root.setGeometry(400, 100, 1300, 900) @@ -831,6 +889,11 @@ def open_github(): ##MENU menu_bar = root.menuBar() +# +arch_store_menu = menu_bar.addMenu(lpak.get("arch store", language)) +home_button_action = arch_store_menu.addAction(lpak.get("Home", language)) +home_button_action.triggered.connect(generate_home_screen) +# appimage_menu = menu_bar.addMenu("AppImages") update_appimages_action = appimage_menu.addAction(lpak.get("update", language)+"/"+lpak.get("remove", language)) install_appimage_action = appimage_menu.addAction(lpak.get("install", language)) @@ -885,5 +948,7 @@ def open_github(): scroll_area.setWidget(scrollable_frame) content_layout.addWidget(scroll_area, 1) +generate_home_screen() + root.show() sys.exit(app.exec()) diff --git a/show_installed_programs.py b/show_installed_programs.py index 047abc8..c5371f5 100644 --- a/show_installed_programs.py +++ b/show_installed_programs.py @@ -67,9 +67,6 @@ def on_error(err): button.pressed.connect(start_update) update_window.show() - - - def remove(name, method, aur_method, working_dir, language): global installed_packages_window @@ -142,7 +139,7 @@ def show(language, working_dir, aur_method, pacman, aur, flatpak): installed_packages_window = pq.QWidget() installed_packages_window.setWindowTitle("Installed packages") installed_packages_window.setWindowIcon(QIcon("icon.png")) - installed_packages_window.setGeometry(0, 0, 600, 500) + installed_packages_window.setGeometry(0, 0, 800, 500) main_layout = pq.QVBoxLayout(installed_packages_window) # Scroll area