QuranLibrary class
A class that provides utility functions for interacting with the Quran library.
This class includes methods and properties that facilitate various operations related to the Quran, such as retrieving verses, chapters, and other relevant information.
Example usage:
QuranLibrary quranLibrary = QuranLibrary();
// Use quranLibrary to access various Quran-related utilities.
Note: Ensure that you have the necessary dependencies and configurations set up in your Flutter project to use this class effectively.
Constructors
- QuranLibrary()
-
Factory constructor for creating a new instance of QuranLibrary.
factory
Properties
-
allBookmarks
→ List<
BookmarkModel> -
يعيد قائمة بجميع شارات المرجعية المحفوظة allBookmarks.
no setter
- cairoStyle → TextStyle
-
cairoStyle هو النمط الافتراضي للنصوص الآخرى.
final
- currentAndLastSurahNumber → int
-
يحصل على رقم السورة الحالية والأخيرة التي تم تشغيلها في مشغل الصوت.
هذا المعرف مفيد لمعرفة السورة التي يتم تشغيلها حالياً أو آخر سورة تم تشغيلها.
يمكن استخدام هذا الرقم للتنقل أو لعرض معلومات السورة في واجهة المستخدم.
no setter
- currentFontsSelected → int
-
لمعرفة الخط الذي تم تحديده، ما عليك سوى إستدعاء currentFontsSelected
no setter
- currentPageNumber → int
-
currentPageNumber تعيد رقم الصفحة التي يكون المستخدم عليها حاليًا.
أرقام الصفحات تبدأ من 1، لذا فإن الصفحة الأولى من القرآن هي الصفحة رقم 1.
no setter
- currentPlayingWordRef → WordRef?
-
مرجع الكلمة التي يتم تشغيلها حالياً (أو null).
no setter
- downloadingWordInfoKind → WordInfoKind?
-
نوع Word Info الذي يتم تحميله حاليًا (إن وجد).
no setter
- fontsDownloadProgress → double
-
نسبة تقدّم تحميل خطوط التجويد (0.0–1.0).
no setter
- formatLastPositionToDuration → Duration
-
يحول الموضع الأخير للتشغيل الصوتي إلى كائن Duration للاستخدام في العمليات البرمجية.
هذا مفيد عندما تحتاج لإجراء عمليات حسابية على الوقت أو للتحكم في مشغل الصوت برمجياً.
يمكن استخدام كائن Duration في العديد من عمليات Flutter الزمنية.
no setter
- formatLastPositionToTime → String
-
يحول الموضع الأخير للتشغيل الصوتي إلى نص منسق للوقت (مثل "05:23" أو "1:30:45").
هذا مفيد لعرض الموضع الأخير للمستخدم بطريقة سهلة القراءة في واجهة المستخدم.
يتم تنسيق الوقت تلقائياً ليظهر بصيغة مناسبة (دقائق:ثوان أو ساعات:دقائق:ثوان).
no setter
- hafsStyle → TextStyle
-
hafsStyle هو النمط الافتراضي للقرآن، مما يضمن عرض جميع الأحرف الخاصة بشكل صحيح.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- isDownloadingTajweedAyah → bool
-
لمعرفة ما إذا كان التجويد يتم تحميله الآن.
no setter
- isDownloadingWordInfo → bool
-
لمعرفة ما إذا كان Word Info يتم تحميله الآن.
no setter
- isFontsDownloaded → bool
-
هل خطوط التجويد المضغوطة جاهزة للعرض؟
no setter
- isPlayingAyahWords → bool
-
هل يتم تشغيل كلمات آية كاملة (وليس كلمة واحدة فقط)؟
no setter
- isPreparingDownloadFonts → bool
-
هل يجري تحميل خطوط التجويد حاليًا؟
no setter
- isPreparingDownloadTafsir → bool
-
التحقق إذا كان التفسير قيد التحميل حالياً.
Check if the tafsir is currently being downloaded.
no setter
- isPreparingDownloadTajweedAyah → bool
-
لمعرفة ما إذا كانت بيانات التجويد قيد التحضير/التحميل.
no setter
- isPreparingDownloadWordInfo → bool
-
لمعرفة ما إذا كانت بيانات Word Info قيد التحضير/التحميل.
no setter
- isTafsir → bool
-
التحقق إذا كان الوضع الحالي هو التفسير أو الترجمة.
Check if the current mode is tafsir or translation.
no setter
- isTajweedAyahDownloaded → bool
-
/////////
Tajweed (Ayah)//////////// التحقق مما إذا كانت بيانات أحكام التجويد (على مستوى الآية) مفعّلة/محمّلة.no setter - isTtranslation → bool
-
no setter
- isWordAudioInitialized → bool
-
/////////
Word Audio — صوت الكلمات//////////// هل تمت تهيئة خدمة صوت الكلمات عبر initWordAudio؟no setter - isWordAudioLoading → bool
-
هل يتم تحميل صوت كلمة حالياً؟
no setter
- isWordAudioPlaying → bool
-
هل يتم تشغيل صوت كلمة حالياً؟
no setter
- naskhStyle → TextStyle
-
naskhStyle هو النمط الافتراضي للنصوص الآخرى.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- selectedTafsirIndex → int
-
الحصول على رقم التفسير المختار حالياً.
Get the currently selected tafsir index.
no setter
- setFontsSelected ← int
-
لتحديد نوع الخط الذي تريد إستخدامه، ما عليك سوى إعطاء قيمة setFontsSelected
no getter
-
tafsirAndTraslationsCollection
→ List<
TafsirNameModel> -
الحصول على قائمة أسماء التفاسير والترجمات.
Get the list of tafsir and translation names.
no setter
-
tafsirList
→ List<
TafsirTableData> -
الحصول على قائمة بيانات التفاسير المتوفرة.
Get the list of available tafsir data.
no setter
- tajweedAyahDownloadProgress → double
-
نسبة تقدم تحميل التجويد (قيمة بين 0 و 1).
no setter
-
translationList
→ List<
TranslationModel> -
الحصول على قائمة الترجمات المتوفرة.
Get the list of available translations.
no setter
-
usedBookmarks
→ List<
BookmarkModel> -
يعيد قائمة بجميع العلامات المرجعية التي استخدمها وقام بتعيينها المستخدم في صفحات القرآن usedBookmarks.
no setter
- wordInfoDownloadProgress → double
-
نسبة تقدم تحميل Word Info (قيمة بين 0 و 1).
no setter
Methods
-
cancelDownloadSurah(
) → void - يلغي عملية تحميل الملفات الصوتية الجارية حالياً. هذه الدالة مفيدة عندما يريد المستخدم إيقاف التحميل لتوفير البيانات أو تحرير مساحة التخزين. يمكن استخدامها لإلغاء تحميل أي سورة قيد التحميل حالياً.
-
changeTafsirPopupMenu(
TafsirStyle tafsirStyle, {int? pageNumber, bool? isDark}) → Widget - إظهار قائمة منبثقة لتغيير نوع التفسير. Show a popup menu to change the tafsir style.
-
changeTafsirSwitch(
int index, {int? pageNumber}) → void - تغيير التفسير المختار عند الضغط على زر التبديل. Change the selected tafsir when the switch button is pressed.
-
clearCache(
[String? key]) → void - مسح ذاكرة التخزين المؤقت لمفتاح معين أو ذاكرة التخزين المؤقت بالكامل Clear cache for specific key or entire cache
-
downloadTajweedAyah(
) → Future< void> - بدء تحميل بيانات أحكام التجويد (على مستوى الآية).
-
downloadWordInfoKind(
{required WordInfoKind kind}) → Future< void> - بدء تحميل بيانات Word Info لنوع معيّن (تحميل اختياري).
-
fetchTafsir(
{required int pageNumber}) → Future< void> - جلب التفسير الخاص بصفحة معينة من خلال رقم الصفحة. Fetch tafsir for a specific page by its page number.
-
fetchTranslation(
) → Future< void> - جلب الترجمات من المصدر. Fetch translations from the source.
-
getAllSurahInPageByPageNumber(
{required int pageNumber}) → List< SurahModel> - لمعرفة أسماء السور في اي صفحة فقط قم بإستدعاء getAllSurahInPageByPageNumber وفقط قم بتمرير رقم الصفحة لها.
-
getAllSurahsArtPath(
{Color? color, double? fontSize, bool? withSurahWord = false}) → List< Widget> - getAllSurahsArtPath يعيد قائمة ويدجيت المخطوطات الخاصة بإسماء السور.
-
getAyahWordCount(
{required int surahNumber, required int ayahNumber}) → int - الحصول على عدد الكلمات الفعلية في آية (بدون علامة نهاية الآية).
-
getCurrentSurahDataByAyah(
{required AyahModel ayah}) → SurahModel - لجلب بيانات السورة الحالية عن طريق بيانات الآية يمكنك إستخدام getCurrentSurahDataByAyah.
-
getCurrentSurahDataByAyahUniqueNumber(
{required int ayahUniqueNumber}) → SurahModel - لجلب بيانات السورة الحالية عن طريق رقم الآية الفريد يمكنك إستخدام getCurrentSurahDataByAyahUniqueNumber.
-
getCurrentSurahDataByPageNumber(
{required int pageNumber}) → SurahModel - لجلب بيانات السورة الحالية عن طريق رقم الصفحة يمكنك إستخدام getCurrentSurahDataByPageNumber.
-
getDeleteFontsMethod(
) → Future< void> -
للحصول على طريقة إعداد الخطوط فقط قم بإستدعاء
getFontsPrepareMethodيمكنك تمرير ارقام الصفحاتpages -
getFontsDownloadDialog(
DownloadFontsDialogStyle? downloadFontsDialogStyle, String? languageCode, {bool isDark = false}) → Widget - للحصول على نافذة حوار خاصة بتحميل الخطوط، قم فقط باستدعاء: getFontsDownloadDialog.
-
getFontsDownloadMethod(
{required int fontIndex}) → Future< void> - @deprecated الخطوط مضمّنة الآن في الـ package — لا حاجة للتنزيل.
-
getFontsDownloadWidget(
BuildContext context, {DownloadFontsDialogStyle? downloadFontsDialogStyle, String? languageCode, bool isDark = false, bool isFontsLocal = false}) → Widget - للحصول على الويدجت الخاصة بتنزيل الخطوط فقط قم بإستدعاء getFontsDownloadWidget
-
getJuzByPageNumber(
{required int pageNumber}) → AyahModel - لجلب رقم الجزء الحالي عن طريق رقم الصفحة يمكنك إستخدام getJuzByPageNumber.
-
getPageAyahsByPageNumber(
{required int pageNumber}) → List< AyahModel> - لجلب آيات الصفحة عن طريق رقم الصفحة يمكنك إستخدام getPageAyahsByPageNumber.
-
getSurahArtPath(
{required int index, Color? color, double? fontSize, bool? withSurahWord = false}) → Widget - getSurahArtPath يعيد ويدجيت المخطوطة الخاصة بإسم السور.
-
getSurahInfo(
{required int surahNumber}) → SurahNamesModel - getSurahInfo تتيح لك الحصول على سورة مع جميع بياناتها. ملاحظة: تستقبل هذه الطريقة رقم السورة وليس فهرس السورة.
-
getSurahInfoBottomSheet(
{required int surahNumber, required BuildContext context, SurahInfoStyle? surahInfoStyle, String? languageCode, bool isDark = false}) → void - للحصول على معلومات السورة في نافذة حوار، قم فقط باستدعاء: getSurahInfoBottomSheet.
-
getTafsirDownloaded(
int index) → bool - التحقق إذا كان التفسير تم تحميله مسبقاً. Check if the tafsir is already downloaded.
-
getTafsirOfAyah(
{required int ayahUniqNumber, String? databaseName}) → Future< List< TafsirTableData> > - للحصول على التفسير الخاص بالآية، فقط قم بتمرير رقم الآية لـ getTafsirOfAyah.
-
getTafsirOfPage(
{required int pageNumber, String? databaseName}) → Future< List< TafsirTableData> > - للحصول على التفسير الخاص بايآت الصفحة، فقط قم بتمرير رقم الصفحة لـ getTafsirOfPage.
-
isWordInfoKindDownloaded(
WordInfoKind kind) → bool - التحقق مما إذا كانت بيانات نوع معيّن من Word Info محمّلة.
-
jumpToAyah(
int pageNumber, int ayahUQNumber) → void -
navigateToAyahيتيح لك التنقل إلى أي آية. من الأفضل استدعاء هذه الطريقة أثناء عرض شاشة القرآن، وإذا تم استدعاؤها ولم تكن شاشة القرآن معروضة، فسيتم بدء العرض من صفحة هذه الآية عند فتح شاشة القرآن في المرة التالية. -
jumpToBookmark(
BookmarkModel bookmark) → void - jumpToBookmark يتيح لك التنقل إلى علامة مرجعية معينة. ملاحظة: يجب أن يكون رقم صفحة العلامة المرجعية بين 1 و604.
-
jumpToHizb(
int hizb) → void - jumpToHizb يتيح لك التنقل إلى أي جزء في القرآن باستخدام رقم الجزء. ملاحظة: تستقبل هذه الطريقة رقم الجزء وليس فهرس الجزء.
-
jumpToJoz(
int jozz) → void - jumpToJoz let's you navigate to any quran jozz with jozz number Note it receives jozz number not jozz index
-
jumpToPage(
int page) → void - jumpToPage يتيح لك التنقل إلى أي صفحة في القرآن باستخدام رقم الصفحة. ملاحظة: تستقبل هذه الطريقة رقم الصفحة وليس فهرس الصفحة. من الأفضل استدعاء هذه الطريقة أثناء عرض شاشة القرآن، وإذا تم استدعاؤها ولم تكن شاشة القرآن معروضة، فسيتم بدء العرض من هذه الصفحة عند فتح شاشة القرآن في المرة التالية.
-
jumpToSurah(
int surah) → void - jumpToSurah يتيح لك التنقل إلى أي سورة في القرآن باستخدام رقم السورة. ملاحظة: تستقبل هذه الطريقة رقم السورة وليس فهرس السورة.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
playAyah(
{required BuildContext context, required int currentAyahUniqueNumber, required bool playSingleAyah, AyahAudioStyle? ayahAudioStyle, AyahDownloadManagerStyle? ayahDownloadManagerStyle, bool? isDarkMode}) → Future< void> - يقوم بتشغيل آية أو مجموعة من الآيات الصوتية بدءًا من الآية المحددة. يمكن تشغيل آية واحدة فقط أو الاستمرار في تشغيل الآيات التالية.
-
playAyahWordsAudio(
{required WordRef ref}) → Future< void> - تشغيل جميع كلمات آية بالتسلسل. إذا كانت نفس الآية قيد التشغيل، يتم إيقافها.
-
playAyahWordsAudioByNumbers(
{required int surahNumber, required int ayahNumber}) → Future< void> - تشغيل جميع كلمات آية عبر أرقام (سورة/آية).
-
playLastPosition(
) → Future< void> - يتابع التشغيل الصوتي من الموضع الأخير الذي توقف عنده المستخدم. هذه الدالة مفيدة جداً لتوفير تجربة مستخدم سلسة حيث يمكن للمستخدم الاستمرار من حيث توقف. تقوم بتحميل المصدر الصوتي الأخير وبدء التشغيل من الموضع المحفوظ تلقائياً.
-
playSurah(
{required BuildContext context, required int surahNumber, SurahAudioStyle? style}) → Future< void> - يقوم بتشغيل سورة كاملة صوتياً بدءًا من الآية الأولى حتى الآية الأخيرة في السورة. يمكن استخدام هذه الدالة لتشغيل أي سورة من القرآن الكريم بالكامل.
-
playWordAudio(
{required WordRef ref}) → Future< void> - تشغيل صوت كلمة واحدة. إذا كانت نفس الكلمة قيد التشغيل، يتم إيقافها.
-
playWordAudioByNumbers(
{required int surahNumber, required int ayahNumber, required int wordNumber}) → Future< void> - تشغيل صوت كلمة واحدة عبر أرقام (سورة/آية/كلمة).
-
removeBookmark(
{required int bookmarkId}) → void -
يزيل علامة مرجعية من قائمة العلامات المرجعية المحفوظة للمستخدم.
bookmarkIdهو معرّف العلامة المرجعية التي سيتم إزالتها. -
search(
String text) → List< AyahModel> - search يبحث في القرآن عن الآيات من خلال الكلمة أو رقم الصفحة. يعيد قائمة بجميع الآيات التي تحتوي نصوصها على النص المُعطى.
-
seekNextAyah(
{required BuildContext context, required int currentAyahUniqueNumber}) → Future< void> - ينتقل إلى الآية التالية وبدء تشغيلها صوتياً. يتم استخدام هذه الدالة للتنقل السريع للآية التالية أثناء التشغيل الصوتي.
-
seekPreviousAyah(
{required BuildContext context, required int currentAyahUniqueNumber}) → Future< void> - ينتقل إلى الآية السابقة وبدء تشغيلها صوتياً. يتم استخدام هذه الدالة للتنقل السريع للآية السابقة أثناء التشغيل الصوتي.
-
seekToNextSurah(
) → Future< void> - ينتقل إلى السورة التالية وبدء تشغيلها صوتياً بالكامل. يتم استخدام هذه الدالة للانتقال السريع للسورة التالية أثناء التشغيل الصوتي. إذا كانت السورة الحالية هي الأخيرة (سورة الناس)، فسيتم العودة إلى السورة الأولى (الفاتحة).
-
seekToPreviousSurah(
) → Future< void> - ينتقل إلى السورة السابقة وبدء تشغيلها صوتياً بالكامل. يتم استخدام هذه الدالة للانتقال السريع للسورة السابقة أثناء التشغيل الصوتي. إذا كانت السورة الحالية هي الأولى (الفاتحة)، فسيتم الانتقال إلى السورة الأخيرة (الناس).
-
setBookmark(
{required String surahName, required int ayahNumber, required int ayahId, required int page, required int bookmarkId}) → void -
يقوم بتعيين علامة مرجعية باستخدام
ayahIdوpageوbookmarkIdالمحددة. -
showTafsir(
{required BuildContext context, required int ayahNum, required int pageIndex, required String ayahTextN, required int ayahUQNum, required int ayahNumber, bool? isDark, TafsirStyle? tafsirStyle}) → Future< void> - لعرض التفسير، يمكنك استخدام showTafsir.
-
showWordInfo(
{required BuildContext context, required WordRef ref, WordInfoKind initialKind = WordInfoKind.recitations, bool isDark = false}) → Future< void> -
/////////
Word Info//////////// فتح نافذة معلومات الكلمة (Word Info) وتحميل البيانات عند الحاجة. -
showWordInfoByNumbers(
{required BuildContext context, required int surahNumber, required int ayahNumber, required int wordNumber, WordInfoKind initialKind = WordInfoKind.recitations, bool isDark = false}) → Future< void> - فتح نافذة معلومات الكلمة عبر أرقام (سورة/آية/كلمة).
-
startDownloadSurah(
{required int surahNumber}) → Future< void> - يبدأ تحميل ملفات الصوت الخاصة بسورة معينة لتكون متاحة للتشغيل دون الحاجة للاتصال بالإنترنت. هذه الدالة مفيدة لتحميل السور مسبقاً وتخزينها محلياً لتحسين الأداء وتوفير البيانات.
-
stopWordAudio(
) → Future< void> - إيقاف صوت الكلمات.
-
surahSearch(
String text) → List< SurahModel> - search يبحث في القرآن عن أسماء السور. يعيد قائمة بجميع السور التي يكون أسمها أو رقمها أو رفم الصفحة الخاصة بها مطابق للنص المُعطى.
-
switchFontType(
{required int fontIndex}) → Future< void> - لتبديل نوع الخط مع تحميله إذا لم يكن محملاً من قبل هذه الدالة تلقائيًا ستقوم بتحميل الخط إذا كان غير متوفر ثم تعيينه
-
tafsirDownload(
int i) → Future< void> - تحميل التفسير المحدد حسب الفهرس. Download the tafsir by the given index.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
Static Methods
-
getAllSurahs(
{bool isArabic = true}) → List< String> - getAllSurahs يعيد قائمة بأسماء السور.
-
init(
{Map< int, List< ? userBookmarks, bool overwriteBookmarks = false}) → Future<BookmarkModel> >void> - init تقوم بتهيئة القرآن ويجب استدعاؤها قبل البدء في استخدام الحزمة
-
initWordAudio(
) → void - تفعيل خدمة صوت الكلمات (word-by-word audio).