Skip to content

Commit

Permalink
הצגת "מה חדש" בפתיחה ראשונה של גרסה חדשה, תיקוני עיצוב קריטיים עבור א…
Browse files Browse the repository at this point in the history
…נדרואיד
  • Loading branch information
NHLOCAL committed Aug 26, 2024
1 parent 6c5bcfd commit 5088b97
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 28 deletions.
9 changes: 6 additions & 3 deletions src/core/add_singer_dialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import flet as ft
import csv

def create_add_singer_dialog(page: ft.Page, csv_file="app/personal-singer-list.csv"):
def create_add_singer_dialog(page: ft.Page, ANDROID_MODE=False, csv_file="app/personal-singer-list.csv"):
# אייקונים
singer_icon = ft.Icon(ft.icons.PERSON_2_OUTLINED, size=24)
folder_icon = ft.Icon(ft.icons.FOLDER_OPEN_ROUNDED, size=24)
Expand Down Expand Up @@ -60,6 +60,8 @@ def cancel_clicked(e):
# סגירת הדיאלוג
dialog.open = False
page.update()

cell_width = page.window.width * 0.3 if ANDROID_MODE else 150

# יצירת הטבלה
table = ft.DataTable(
Expand All @@ -71,16 +73,17 @@ def cancel_clicked(e):
horizontal_margin=10,
divider_thickness=1,
columns=[
ft.DataColumn(ft.Row([folder_icon, ft.Text("שם תיקיה", text_align=ft.TextAlign.RIGHT, rtl=True, size=16)], width=150, rtl=True, alignment=ft.MainAxisAlignment.CENTER), # כותרת עמודה א'
ft.DataColumn(ft.Row([folder_icon, ft.Text("שם תיקיה", text_align=ft.TextAlign.RIGHT, rtl=True, size=16)], width=cell_width, rtl=True, alignment=ft.MainAxisAlignment.CENTER), # כותרת עמודה א'
numeric=False),
ft.DataColumn(ft.Row([singer_icon, ft.Text("שם זמר", text_align=ft.TextAlign.RIGHT, rtl=True, size=16)], width=150, rtl=True, alignment=ft.MainAxisAlignment.CENTER), # כותרת עמודה ב'
ft.DataColumn(ft.Row([singer_icon, ft.Text("שם זמר", text_align=ft.TextAlign.RIGHT, rtl=True, size=16)], width=cell_width, rtl=True, alignment=ft.MainAxisAlignment.CENTER), # כותרת עמודה ב'
numeric=False),
],
rows=load_data()
)

# יצירת הדיאלוג
dialog = ft.AlertDialog(
inset_padding=0 if ANDROID_MODE else 24,
title=ft.Row([
ft.Icon(ft.icons.PERSON_ADD, size=40, color=ft.colors.ON_PRIMARY_CONTAINER),
ft.Text("הוספת זמרים", color=ft.colors.ON_PRIMARY_CONTAINER, text_align=ft.TextAlign.CENTER, weight=ft.FontWeight.BOLD),
Expand Down
32 changes: 20 additions & 12 deletions src/core/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,9 +53,13 @@ def main(page: ft.Page):

# פונקציה לפתיחת הודעת מה חדש בהפעלה הראשונה של התוכנה
def first_run_menu():
if not page.client_storage.get("first_run"):

first_run_status = page.client_storage.get("singlesorter_first_run")
first_run_status = "0.0" if first_run_status is None else first_run_status

if first_run_status < VERSION:
show_content('whats-new', 'מה חדש', ft.icons.NEW_RELEASES)
page.client_storage.set("first_run", True) # סימון שההודעה הוצגה
page.client_storage.set("singlesorter_first_run", VERSION) # סימון שההודעה הוצגה
page.update()


Expand Down Expand Up @@ -367,7 +371,7 @@ def export_csv_result(e: ft.FilePickerResultEvent):

def open_csv(e):
# יצירת הדיאלוג באמצעות הפונקציה מיובאת
dialog = create_add_singer_dialog(page)
dialog = create_add_singer_dialog(page, ANDROID_MODE)

page.overlay.append(dialog)
dialog.open = True
Expand All @@ -392,7 +396,15 @@ def toggle_content(e):
title_add_singers = ft.Text("הוספת זמרים", weight=ft.FontWeight.BOLD, size=16)
info_add_singers = ft.Markdown(add_singers_info, visible=False)

add_singers_options = [
ft.TextButton("ערוך רשימה", on_click=open_csv),
ft.TextButton("יבא קובץ CSV", on_click=import_csv),
ft.TextButton("יצא לקובץ CSV", on_click=export_csv),
]


dialog = ft.AlertDialog(
inset_padding=0 if ANDROID_MODE else 20,
modal=True,
#bgcolor=ft.colors.SURFACE_VARIANT,
title=ft.Row([
Expand All @@ -404,7 +416,8 @@ def toggle_content(e):
),

content=ft.Container( # הוספת Container לשליטה ברוחב
width=page.window.width * 1.0 if ANDROID_MODE else page.window.width * 0.7, # קביעת רוחב קבוע
width=page.window.width if ANDROID_MODE else page.window.width * 0.7, # קביעת רוחב קבוע
#height=page.window.width if ANDROID_MODE else page.window.width * 0.7
content=ft.Column(
[
ft.Column(
Expand Down Expand Up @@ -436,13 +449,7 @@ def toggle_content(e):
ft.Row([icon_arrow, title_add_singers]),
info_add_singers,

ft.Row(
[
ft.TextButton("ערוך רשימה", on_click=open_csv, disabled=ANDROID_MODE),
ft.TextButton("יבא קובץ CSV", on_click=import_csv),
ft.TextButton("יצא לקובץ CSV", on_click=export_csv),
]
),
ft.Row(add_singers_options, wrap=ANDROID_MODE,)
],

),
Expand Down Expand Up @@ -529,10 +536,11 @@ def on_duet_mode_changed(e):
page.client_storage.set("duet_mode", duet_mode.value)

duet_mode = ft.RadioGroup(
content=ft.Column([
content=ft.Row([
ft.Radio(value=False, label="העתק לזמר הראשון בשם השיר", disabled=False),
ft.Radio(value=True, label="העתק לכל הזמרים המופיעים בשם השיר", disabled=False)
],
wrap=True,
rtl=True),
value=page.client_storage.get("duet_mode") or False,
on_change=on_duet_mode_changed # הוספת טיפול באירוע שינוי
Expand Down
21 changes: 9 additions & 12 deletions src/core/try2.py
Original file line number Diff line number Diff line change
@@ -1,21 +1,18 @@
import flet as ft
from add_singer_dialog import create_add_singer_dialog

def main(page: ft.Page):
page.title = "טבלה ניתנת לעריכה"
page.rtl = True

# יצירת הדיאלוג באמצעות הפונקציה מיובאת
dialog = create_add_singer_dialog(page)

# פונקציה לפתיחת הדיאלוג
def open_dlg_modal(e):
page.overlay.append(dialog)
dialog.open = True
def radio_changed(e):
print(f"Selected value: {e.control.value}")
page.update()

page.add(
ft.ElevatedButton("פתח טבלה", on_click=open_dlg_modal),
ft.Row(
controls=[
ft.Radio(value="Option 1", label=ft.Text("Option 1 with a very long label that should wrap", overflow=ft.TextOverflow.ELLIPSIS),),
ft.Radio(value="Option 2", label=ft.Text("Option 2 with a very long label that should wrap", overflow=ft.TextOverflow.ELLIPSIS),),
],
wrap=True,
),
)

ft.app(target=main)
2 changes: 1 addition & 1 deletion src/tasks/Work Plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
- [x] ביטול פס הגלילה באנדרואיד
- [x] הפעלת כפתור ניקוי קבצים בלבד - צריך לחשוב איך והיכן
- [x] קישור לאתר שיר בוט בתחתית התוכנה במקום "כל הזכויות שמורות"
- [ ] הוספת זיהוי זמרים לפי שם "אמן אלבום" במטאדאטה
- [x] הוספת זיהוי זמרים לפי שם "אמן אלבום" במטאדאטה


# מקרי קצה והגדרות עבור מיון אלבומים
Expand Down

0 comments on commit 5088b97

Please sign in to comment.