Skip to content
palmoni5 edited this page Jul 18, 2026 · 2 revisions

הניווט והמסך הראשי

lib/navigation/ — סרגל הניווט, מעבר בין המסכים הראשיים, וניהול המסך הראשי.

NavigationBloc

  • Screen enum — ‏library / find / reading / search / more / settings.
  • מסך הפתיחה: "עיון" אם יש טאבים שמורים, אחרת "ספרייה".
  • CheckLibrary — בדיקה אם הספרייה ריקה (קיום נתיב + ‏seforim.db).
  • NavigationRepository.refreshLibrary() — רענון מלא: איפוס providers, ניקוי כל המטמונים, פתיחת אינדקס החיפוש מחדש.

MainWindowScreen — הקובץ המרכזי

view/main_window_screen.dart (~3550 שורות) — הלב של ה־UI:

  • סרגל הניווט — רשימה קבועה: ספרייה / איתור / עיון / חיפוש / כלים / הגדרות, עם אייקוני Fluent (‏regular+filled) וקיצורי מקלדת. תוספים וכלים מוצמדים משתלבים בין "כלים" ל"הגדרות" (_PinnedToolNavItem).
  • PageView מנוהל ידנית עם מנגנון slide חוצה — מעבר ישיר בין מסכים לא סמוכים בלי להציג את מסכי הביניים.
  • חשיפת החלון — תיאום עם ה־splash הנייטיבי; אם המסך ההתחלתי הוא ספר שנטען, ממתינים לטעינה (עם failsafe של 8 שניות). ראו רצף האתחול.
  • אינדוקס בעלייה — דרך הפונקציה הטהורה decideStartupIndexing, כולל דיאלוג אינדוקס ידני בעת הצורך.
  • הפעלות חיצוניות — ה־dispatcher‏ _dispatchExternalUriAction מטפל בכל סוגי ה־deep links: פתיחת מסך, כלי, תוסף, ספר, ‏PDF, חיפוש, התקנת תוסף, לוח שנה, סימניות, היסטוריה, הגדרות.
  • אינטגרציות: לוח שנה, סיור מודרך, ‏Jump List של Windows, מעקב מיקום קריאה לתוספים, סנכרון מסך מלא, שחזור פוקוס.

שורת הכותרת — CustomTitleBar

החלון רץ בלי title bar נייטיבי; view/custom_title_bar.dart מכיל את פס הטאבים, כפתורי החלון, גישה להיסטוריה/סימניות/שולחנות עבודה והגדרות קריאה.

מסכים נוספים

  • view/favorites_screen.dart — מסך סימניות + היסטוריה.
  • view/startup_work_gate.dart — שער עבודות ה־startup (ראו רצף האתחול).

הסיור המודרך — lib/tour/

סיור היכרות למשתמש חדש: ‏overlay עם spotlight על אלמנטים במסך, כרטיס הסבר לכל שלב, ופעולות מקדימות (ניווט, פתיחת דיאלוג/תפריט) שמריץ MainWindowScreen לפני הצגת שלב.

  • models/tour_step.dart + ‏tour_steps.dart — הגדרת TourStep (אזור spotlight, פעולה, טקסטים) ורשימת השלבים.
  • bloc/tour_cubit.dart — התחלה, מעבר, דילוג, סיום ו־autoplay.
  • tour_target_keys.dart — ‏GlobalKeyים לאלמנטים המסומנים; view/tour_overlay_screen.dart — ציור ה־overlay וחישוב ה־rects.

מדריך מלא להוספת שלבים: docs/guided_tour_developer_guide.md. בדיקות: test/tour/tour_cubit_test.dart. הסיור נדחה מפני בדיקת העדכון הראשונית (ראו עדכון האפליקציה), וניתן להפעלה מחדש מהגדרות ← מערכת.

דפים קשורים

Clone this wiki locally