From 82f3ad41b9953a6ba4651296b129a4ae98b30387 Mon Sep 17 00:00:00 2001 From: Samuobe Date: Tue, 16 Sep 2025 18:48:58 +0200 Subject: [PATCH 1/6] Added home page, whit monst isnatlled packages and serach by type buttons --- lpak/English.lpak | 5 ++++ lpak/Italiano.lpak | 7 +++++- main.py | 62 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 73 insertions(+), 1 deletion(-) diff --git a/lpak/English.lpak b/lpak/English.lpak index 9155036..8a48479 100644 --- a/lpak/English.lpak +++ b/lpak/English.lpak @@ -144,3 +144,8 @@ 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 diff --git a/lpak/Italiano.lpak b/lpak/Italiano.lpak index bd79181..f4a28f8 100644 --- a/lpak/Italiano.lpak +++ b/lpak/Italiano.lpak @@ -143,4 +143,9 @@ 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 \ No newline at end of file diff --git a/main.py b/main.py index 3589fee..73d9327 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 @@ -818,8 +819,61 @@ def search_program(name): #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_games_button.pressed.connect(lambda: search_program("Games")) + search_office_button.pressed.connect(lambda: search_program("Office")) + + 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) + + #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 +885,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 +944,8 @@ def open_github(): scroll_area.setWidget(scrollable_frame) content_layout.addWidget(scroll_area, 1) +generate_home_screen() + + root.show() sys.exit(app.exec()) From 16d21cbc07d4a7ffc05f0fd008b052465f4c8f98 Mon Sep 17 00:00:00 2001 From: Samuobe Date: Tue, 16 Sep 2025 18:49:56 +0200 Subject: [PATCH 2/6] Use sudo for removing AUR and installation directory in install.sh --- install.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 From 954cf114ff30362eebfa6037cff0e981f28a17ef Mon Sep 17 00:00:00 2001 From: Samuobe Date: Tue, 16 Sep 2025 18:53:58 +0200 Subject: [PATCH 3/6] Fixed installed program window dimension --- show_installed_programs.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/show_installed_programs.py b/show_installed_programs.py index 047abc8..a3ed74c 100644 --- a/show_installed_programs.py +++ b/show_installed_programs.py @@ -142,7 +142,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 From 71439b1de90d2aa3d0a157ec36575201b1145d27 Mon Sep 17 00:00:00 2001 From: Samuobe Date: Fri, 19 Sep 2025 18:57:37 +0200 Subject: [PATCH 4/6] Add graphics and multimedia search options; now the installed programs windows is bigger --- lpak/English.lpak | 2 ++ lpak/Italiano.lpak | 4 +++- main.py | 13 ++++++++----- show_installed_programs.py | 3 --- 4 files changed, 13 insertions(+), 9 deletions(-) diff --git a/lpak/English.lpak b/lpak/English.lpak index 8a48479..58466e6 100644 --- a/lpak/English.lpak +++ b/lpak/English.lpak @@ -149,3 +149,5 @@ 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 f4a28f8..4e85236 100644 --- a/lpak/Italiano.lpak +++ b/lpak/Italiano.lpak @@ -148,4 +148,6 @@ Home|Schermata iniziale Search by type|Cerca per tipo TOP 100 downloaded packages|I 100 pachetti più installati Games|Giochi -Office|Ufficio \ No newline at end of file +Office|Ufficio +Graphics|Grafica +Mulitmedia|Multimedia \ No newline at end of file diff --git a/main.py b/main.py index 73d9327..aee4bf4 100644 --- a/main.py +++ b/main.py @@ -116,8 +116,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 @@ -815,7 +814,6 @@ 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") @@ -830,13 +828,19 @@ def generate_home_screen(): 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 = { @@ -946,6 +950,5 @@ def generate_home_screen(): generate_home_screen() - root.show() -sys.exit(app.exec()) +sys.exit(app.exec()) \ No newline at end of file diff --git a/show_installed_programs.py b/show_installed_programs.py index a3ed74c..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 From 809c59353a590e32e204a28f81864bd786a32a72 Mon Sep 17 00:00:00 2001 From: Samuobe Date: Fri, 19 Sep 2025 18:59:57 +0200 Subject: [PATCH 5/6] Remove unnecessary blank line in open_setting function --- main.py | 1 - 1 file changed, 1 deletion(-) diff --git a/main.py b/main.py index aee4bf4..a8a999f 100644 --- a/main.py +++ b/main.py @@ -117,7 +117,6 @@ def open_setting(): 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": From bd5198390e6a7adebdfea940cecebb96f711d110 Mon Sep 17 00:00:00 2001 From: Samuele Oberti Date: Fri, 19 Sep 2025 19:09:27 +0200 Subject: [PATCH 6/6] Update arch_store_version to Beta_HOME-UPDATE_2.0.0 --- main.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index a8a999f..09da6b1 100644 --- a/main.py +++ b/main.py @@ -22,7 +22,7 @@ from manage_installed_method import show_window as show_installed_method #fast access variables -arch_store_version = "dev_DEV-TEST_1.0.0" +arch_store_version = "Beta_HOME-UPDATE_2.0.0" #Base variables install_pacman_packages=[] @@ -950,4 +950,4 @@ def generate_home_screen(): generate_home_screen() root.show() -sys.exit(app.exec()) \ No newline at end of file +sys.exit(app.exec())