Skip to content

Commit

Permalink
Работает некоторые настройки (звук и поменять букву диска на котором …
Browse files Browse the repository at this point in the history
…будет хранится папка с файлами)
  • Loading branch information
Kexi8BiT committed Mar 26, 2024
1 parent ab1cba3 commit d72474c
Show file tree
Hide file tree
Showing 6 changed files with 108 additions and 7 deletions.
8 changes: 8 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,12 @@ llamareq.py - лол я сам хз что это

также для настройки интерфейса используется ui.py в нем прописаны ввсе стили кнопок и слайдеров в лаунчере

client_storage:
```python
on_sound: bool # Настройка - обозначает проигрывается ли звуки в лаунчере
```




дальше ебитесь сами, мой лс всегда открыт а также есть issues или как там их
82 changes: 82 additions & 0 deletions expert.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
import flet as ft
import string
import os
import psutil
from sound_effect import BoopSound
def get_available_drives():
return [drive for drive in string.ascii_uppercase if os.path.exists(drive + ':\\')]

def get_disk_usage(drive_letter):
disk_usage = psutil.disk_usage(drive_letter + ':\\')
percent_used = disk_usage.percent / 100
gb_free = disk_usage.free / (2**30) # конвертируем байты в гигабайты
return percent_used, gb_free


def disk_select(page: ft.Page):
boop = BoopSound(page)
boop.play()
catalog = page.client_storage.get("catalog_games")
if catalog is None:
catalog = "C"
page.client_storage.set("catalog_games", catalog)


def change_disk(disk):
boop.play()
catalog = disk
page.client_storage.set("catalog_games", catalog)
page.overlay.remove(message)
page.update()
def prew_change_disk(e):
boop.play()
disk = e.control.value
percent_used, gb_free = get_disk_usage(disk)
progress.value = percent_used
progress.update()
progress_right.value = f"{gb_free:.2f} GB"
progress_right.update()
if gb_free < 1:
btn.disabled = True
btn.update()
else:
btn.disabled = False
btn.update()

catalogs = get_available_drives()
dd = ft.Dropdown(width=380, value=page.client_storage.get("catalog_games"),
options=[ft.dropdown.Option(catalog) for catalog in catalogs],
border_color=ft.colors.with_opacity(0.1, ft.colors.BLACK), border_radius=30,
prefix_icon=ft.icons.STORAGE_ROUNDED, on_change=prew_change_disk)

percent_used, gb_free = get_disk_usage(page.client_storage.get("catalog_games"))
progress = ft.ProgressBar(width=295, bgcolor=ft.colors.BLACK12, color=ft.colors.WHITE, value=percent_used)
progress_right = ft.Text(f"{gb_free:.2f} GB")

btn = ft.ElevatedButton("Применить", width=380, on_click=lambda _: change_disk(dd.value), disabled=True if gb_free < 1 else False, bgcolor=ft.colors.BLACK12, style=ft.ButtonStyle(bgcolor=ft.colors.TRANSPARENT, shadow_color=ft.colors.TRANSPARENT, overlay_color=ft.colors.TRANSPARENT, surface_tint_color=ft.colors.TRANSPARENT, ),color=ft.colors.WHITE)
message = ft.Stack(
[ft.Container(
ft.Container(
width=400,
height=200,
bgcolor="#2e2e2e",
border_radius=20,
border=ft.border.all(1, ft.colors.BLACK12),
padding=20,
content=ft.Column([
ft.Text("Выберите каталог", size=20, color=ft.colors.WHITE),
dd,
ft.Row([progress, progress_right]),
btn
])
),
bgcolor=ft.colors.with_opacity(0.5, ft.colors.BLACK), alignment=ft.alignment.center)

],

)
page.overlay.append(message)

page.update()


3 changes: 1 addition & 2 deletions main.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,5 +54,4 @@ def go_to_home(e):
page.add(drag_area)
page.add(ft.Row([nav_left, content]))


ft.app(main)
ft.app(main)
Binary file modified requirements.txt
Binary file not shown.
15 changes: 12 additions & 3 deletions settings_page.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
from sound_effect import BoopSound
from ui import interface_button, interface_switch, interface_input
from internets import check_api
from expert import disk_select

def go_to_settings(content, page: ft.Page):
boop = BoopSound(page)
Expand Down Expand Up @@ -56,11 +57,19 @@ def one_change(e):
dialog.open = True
page.update()
boop = BoopSound(page)
def on_off_sound(e):
page.client_storage.set("on_sound", e.control.value)
print("Звуки отключены" if e.control.value == False else "Звуки включены")
boop.play()
on_sound = page.client_storage.get("on_sound")
if on_sound == None:
page.client_storage.set("on_sound", True)

settings = ft.Container(
ft.Column([
ft.Row([
ft.ElevatedButton("Поменять путь установки", **interface_button,
icon=ft.icons.DRIVE_FILE_RENAME_OUTLINE_ROUNDED, on_click=boop.play_e),
ft.ElevatedButton("Поменять диск установки", **interface_button,
icon=ft.icons.DRIVE_FILE_RENAME_OUTLINE_ROUNDED, on_click=lambda _: disk_select(page)),
ft.ElevatedButton("Управление установками", **interface_button, icon=ft.icons.MEMORY,
on_click=boop.play_e),
ft.ElevatedButton("Отчистить кэш", **interface_button, icon=ft.icons.CLEAR, on_click=boop.play_e)]),
Expand All @@ -71,7 +80,7 @@ def one_change(e):
border_radius=10),
ft.Container(content=ft.Row(
[ft.Icon(ft.icons.AUDIOTRACK_SHARP, color="white", size=20), ft.Text("Звуки"),
ft.Switch(**interface_switch, value=True, on_change=boop.play_e)]), bgcolor="#1c2024", padding=10,
ft.Switch(**interface_switch, value=page.client_storage.get("on_sound"), on_change=on_off_sound)]), bgcolor="#1c2024", padding=10,
border_radius=10),
]),
ft.Row([
Expand Down
7 changes: 5 additions & 2 deletions sound_effect.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,14 @@
class BoopSound:
def __init__(self, page: ft.Page):
self.boop = ft.Audio("assets/audio/boop.mp3", autoplay=False, volume=0.2)
self.page = page
page.overlay.append(self.boop)
page.update()

def play(self):
self.boop.play()
is_sound = self.page.client_storage.get("on_sound")
if is_sound != False:
self.boop.play()

def play_e(self, e):
self.boop.play()
self.play()

0 comments on commit d72474c

Please sign in to comment.