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.new()
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
fontsDownloadProgress double
للحصول على تقدم تنزيل الخطوط، ما عليك سوى إستدعاء fontsDownloadProgress
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
isFontsDownloaded bool
لمعرفة ما إذا كانت الخطوط محملة او لا، ما عليك سوى إستدعاء isFontsDownloaded
no setter
isPreparingDownloadFonts bool
لمعرفة ما إذا كانت الخطوط قيد التحميل، ما عليك سوى إستدعاء isPreparingDownloadFonts
no setter
isTafsir bool
التحقق إذا كان الوضع الحالي هو التفسير أو الترجمة. Check if the current mode is tafsir or translation.
no setter
isTtranslation 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
translationList List<TranslationModel>
الحصول على قائمة الترجمات المتوفرة. Get the list of available translations.
no setter
usedBookmarks List<BookmarkModel>
يعيد قائمة بجميع العلامات المرجعية التي استخدمها وقام بتعيينها المستخدم في صفحات القرآن usedBookmarks.
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
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}) List<Widget>
getAllSurahsArtPath يعيد قائمة ويدجيت المخطوطات الخاصة بإسماء السور.
getCurrentSurahDataByAyah({required AyahModel ayah}) SurahModel
لجلب بيانات السورة الحالية عن طريق بيانات الآية يمكنك إستخدام getCurrentSurahDataByAyah.
getCurrentSurahDataByAyahUniqueNumber({required int ayahUniqueNumber}) SurahModel
لجلب بيانات السورة الحالية عن طريق رقم الآية الفريد يمكنك إستخدام getCurrentSurahDataByAyahUniqueNumber.
getCurrentSurahDataByPageNumber({required int pageNumber}) SurahModel
لجلب بيانات السورة الحالية عن طريق رقم الصفحة يمكنك إستخدام getCurrentSurahDataByPageNumber.
getDeleteFontsMethod() Future<void>
لحذف الخطوط فقط قم بإستدعاء deleteFontsMethod
getFontsDownloadDialog(DownloadFontsDialogStyle? downloadFontsDialogStyle, String? languageCode, {bool isDark = false}) Widget
للحصول على نافذة حوار خاصة بتحميل الخطوط، قم فقط باستدعاء: getFontsDownloadDialog.
getFontsDownloadMethod({required int fontIndex}) Future<void>
للحصول على طريقة تنزيل الخطوط فقط قم بإستدعاء fontsDownloadMethod
getFontsDownloadWidget(BuildContext context, {DownloadFontsDialogStyle? downloadFontsDialogStyle, String? languageCode, bool isDark = false, bool isFontsLocal = false}) Widget
للحصول على الويدجت الخاصة بتنزيل الخطوط فقط قم بإستدعاء getFontsDownloadWidget
getFontsPrepareMethod({required int pageIndex, bool isFontsLocal = false}) Future<void>
للحصول على طريقة تنزيل الخطوط فقط قم بإستدعاء getFontsPrepareMethod مطلوب تمرير رقم الصفحة pageIndex
getJuzByPageNumber({required int pageNumber}) AyahModel
لجلب رقم الجزء الحالي عن طريق رقم الصفحة يمكنك إستخدام getJuzByPageNumber.
getPageAyahsByPageNumber({required int pageNumber}) List<AyahModel>
لجلب آيات الصفحة عن طريق رقم الصفحة يمكنك إستخدام getPageAyahsByPageNumber.
getSurahArtPath({required int index, Color? color}) 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.
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}) Future<void>
يقوم بتشغيل آية أو مجموعة من الآيات الصوتية بدءًا من الآية المحددة. يمكن تشغيل آية واحدة فقط أو الاستمرار في تشغيل الآيات التالية.
playLastPosition() Future<void>
يتابع التشغيل الصوتي من الموضع الأخير الذي توقف عنده المستخدم. هذه الدالة مفيدة جداً لتوفير تجربة مستخدم سلسة حيث يمكن للمستخدم الاستمرار من حيث توقف. تقوم بتحميل المصدر الصوتي الأخير وبدء التشغيل من الموضع المحفوظ تلقائياً.
playSurah({required int surahNumber}) Future<void>
يقوم بتشغيل سورة كاملة صوتياً بدءًا من الآية الأولى حتى الآية الأخيرة في السورة. يمكن استخدام هذه الدالة لتشغيل أي سورة من القرآن الكريم بالكامل.
removeBookmark({required int bookmarkId}) → void
يزيل علامة مرجعية من قائمة العلامات المرجعية المحفوظة للمستخدم. bookmarkId هو معرّف العلامة المرجعية التي سيتم إزالتها.
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, TafsirStyle? tafsirStyle}) Future<void>
لعرض التفسير، يمكنك استخدام showTafsir.
startDownloadSurah({required int surahNumber}) 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

allHizb List<String>
allHizb يعيد قائمة بأسماء جميع أجزاء القرآن.
no setter
allJoz List<String>
allJoz returns list of all Quran joz' names
no setter
quranCtrl QuranCtrl
A singleton instance of the QuranCtrl class.
final

Static Methods

getAllSurahs({bool isArabic = true}) List<String>
getAllSurahs يعيد قائمة بأسماء السور.
init({Map<int, List<BookmarkModel>>? userBookmarks, bool overwriteBookmarks = false}) Future<void>
init تقوم بتهيئة القرآن ويجب استدعاؤها قبل البدء في استخدام الحزمة