def show_side(self, *a): if asm_config.getn('show_side') == 0: self.list_books.vbox_side.hide() asm_config.setv('show_side', 1) else: self.list_books.vbox_side.show_all() asm_config.setv('show_side', 0)
def search(self, *a): self.add_all_list() text = self.entry_search.get_text() if text == u'': asm_customs.erro(self.parent, 'أدخل النص المراد البحث عنه') if self.stack.get_visible_child_name() == "n1": asm_config.setv('search', 0) if self.selected_books == []: asm_customs.erro(self.parent, 'أنت لم تحدد أين ستبحث') else: try: if len(self.list_terms) == 50: self.list_terms.pop(0) if text in self.list_terms: self.list_terms.remove(text) self.list_terms.append(text) output = open(join(asm_path.HOME_DIR, u'last-terms.pkl'), 'wb') pickle.dump(self.list_terms, output) output.close() except: pass self.hide() self.parent.notebook.set_current_page(1) sr = ShowResult(self.parent) self.parent.viewerbook.append_page( sr, TabLabel(sr, u'بحث عن :' + text)) self.parent.viewerbook.set_current_page(-1) sr.search(text, self.dict_perf, self.dict_field, self.selected_books) else: asm_config.setv('search', 1)
def set_tashkil(self, *a): if asm_config.getn('tashkil') == 0: asm_config.setv('tashkil', 1) self.del_tashkil.set_label("حذف التّشكيل") else: asm_config.setv('tashkil', 0) self.del_tashkil.set_label("إعادة التّشكيل") self.viewerbook.set_tashkil()
def site_in_book(self, *a): list_marks = eval(asm_config.getv('marks')) if self.notebook.get_current_page() == 1: n = self.viewerbook.get_current_page() ch = self.viewerbook.get_nth_page(n) list_marks.append([ch.all_in_page[1], ch.nm_book, ch.id_book]) marks = repr(list_marks) asm_config.setv('marks', marks) asm_customs.info(self, 'تم تعليم هذا الموضع')
def change_view(self, *a): if self.list_books.nb.get_current_page() in [0, 1]: self.list_books.nb.set_current_page(2) asm_config.setv('view_books', 1) self.show_icons.set_label("عرض بالأيقونات") elif self.list_books.nb.get_current_page() in [2, 3]: self.list_books.nb.set_current_page(0) asm_config.setv('view_books', 0) self.show_icons.set_label("عرض بالقائمة") self.go_parts.hide()
def save_list(self, *a): list_tafsir = eval(asm_config.getv('list_tafsir')) list_tafsir[2] = 1 list_tafsir[1] = [] list_tafsir[0] = self.col_btn.get_active() for a in self.store_tafsir_added: list_tafsir[1].append(a[0]) list_tafsir = repr(list_tafsir) asm_config.setv('list_tafsir', list_tafsir) self.parent.tafsirpage.refresh_list() self.destroy()
def remove_iter(self, *a): (model, i) = self.tree_sav.get_selection().get_selected() if i: id_poem = model.get_value(i, 0) for a in self.list_marks: if a[0] == id_poem: s = self.list_marks.index(a) self.list_marks.pop(s) model.remove(i) marks = repr(self.list_marks) asm_config.setv('marks', marks)
def specified(self, cbox): v = cbox.get_active() if v == 6: self.btn_specific.set_no_show_all(True) self.btn_specific.hide() self.vbox_color.set_no_show_all(False) self.vbox_color.show_all() else: self.btn_specific.set_no_show_all(False) self.btn_specific.show_all() self.vbox_color.set_no_show_all(True) self.vbox_color.hide() asm_config.setv('theme', v) self.parent.refresh()
def delete_event_cb(self, *a): asm_config.setv('quran_pos', self.moshafpage.page_id) session = [] session.append(self.viewerbook.session) session.append(self.opened) saved = repr(session) asm_config.setv('start_session', saved) n = self.viewerbook.get_n_pages() for a in range(n): ch = self.viewerbook.get_nth_page(a) try: ch.db_list.set_last(ch.all_in_page[1], ch.id_book) except: pass Gtk.main_quit()
def change_path_db(self, *a): open_dlg = Gtk.FileChooserDialog('تغيير مسار قاعدة البيانات', self.parent, Gtk.FileChooserAction.OPEN, (Gtk.STOCK_OK, Gtk.ResponseType.OK, Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL)) Filter = Gtk.FileFilter() Filter.set_name("قاعدة البيانات") Filter.add_pattern("Listbooks.db") open_dlg.add_filter(Filter) res = open_dlg.run() if res == Gtk.ResponseType.OK: asm_config.setv('path', open_dlg.get_filenames()[0]) asm_customs.info(self.parent, 'يرجى إعادة تشغيل المكتبة ليتغير المسار فعليا!') open_dlg.destroy()
def load_tafasir(self, *a): list_tafsir = eval(asm_config.getv('list_tafsir')) all_tafsir = self.parent.db.all_tafsir() if list_tafsir[2] == 0: for a in all_tafsir: self.store_tafsir_added.append(a) list_tafsir[1].append(a[0]) else: for a in list_tafsir[1]: self.store_tafsir_added.append(self.parent.db.tit_book(a)) for t in all_tafsir: if t[0] not in list_tafsir[1]: self.store_tafsir_no_added.append(t) self.col_btn.set_active(list_tafsir[0]) list_tafsir[2] = 1 list_tafsir = repr(list_tafsir) asm_config.setv('list_tafsir', list_tafsir)
def copy_to_home_cb(self, *a): res = asm_customs.sure(self.parent, 'قد تحتاج هذه العملية إذا كان لديك قاعدة بيانات\nفي مسار لا تملك الصلاحيات \ للتعديل عليها فيه\nهل تريد المواصلة ؟') if res == -8: if not exists(expanduser('~/مكتبة أسماء')): os.mkdir(expanduser('~/مكتبة أسماء')) if not exists(join(expanduser('~/مكتبة أسماء'), 'books')): os.mkdir(join(expanduser('~/مكتبة أسماء'), 'books')) groups = self.db.all_parts() for g in groups: copytree(join(asm_path.LIBRARY_DIR, 'books', g[1]), join(expanduser('~/مكتبة أسماء'), 'books', g[1])) copytree(join(asm_path.LIBRARY_DIR, 'data'), join(expanduser('~/مكتبة أسماء'), 'data')) copytree(join(asm_path.LIBRARY_DIR, 'index'), join(expanduser('~/مكتبة أسماء'), 'index')) asm_customs.info(self.parent, 'تمت عملية النسخ بنجاح') res = asm_customs.sure(self.parent, 'قد تحتاج تغيير المسار إلى القاعدة الجديدة\nهل تريد فعل ذلك ؟') if res == -8: asm_config.setv('path', join(expanduser('~/مكتبة أسماء'), 'data', 'Listbooks.db')) asm_customs.info(self.parent, "سوف تحتاج إلى إعادة تشغيل مكتبة أسماء")
def ch_font(self, btn): nconf = btn.get_name() font = btn.get_font() asm_config.setv(nconf, font) self.parent.refresh()
def specific_cb(self, *a): asm_config.setv('color_lists_parts', self.parent.theme.color_lists_parts) asm_config.setv('color_lists_books', self.parent.theme.color_lists_books) asm_config.setv('color_nasse_books', self.parent.theme.color_nasse_books) asm_config.setv('color_nasse_others', self.parent.theme.color_nasse_others) asm_config.setv('color_anawin', self.parent.theme.color_anawin) asm_config.setv('color_lists_titles', self.parent.theme.color_lists_titles) asm_config.setv('color_quran', self.parent.theme.color_quran) asm_config.setv('background_quran', self.parent.theme.background_quran) asm_config.setv('background_lists_parts', self.parent.theme.background_lists_parts) asm_config.setv('background_lists_books', self.parent.theme.background_lists_books) asm_config.setv('background_nasse_books', self.parent.theme.background_nasse_books) asm_config.setv('background_nasse_others', self.parent.theme.background_nasse_others) asm_config.setv('background_anawin', self.parent.theme.background_anawin) asm_config.setv('background_lists_titles', self.parent.theme.background_lists_titles) asm_config.setv('color_selected', self.parent.theme.color_selected) asm_config.setv('background_selected', self.parent.theme.background_selected) asm_config.setv('color_searched', self.parent.theme.color_searched) asm_config.setv('background_searched', self.parent.theme.background_searched) asm_config.setv('color_hover', self.parent.theme.color_hover) asm_config.setv('background_hover', self.parent.theme.background_hover) self.style_btn.set_active(6) self.vbox_color.set_no_show_all(False) self.vbox_color.show_all() self.btn_specific.set_no_show_all(True) self.btn_specific.hide() self.set_btns_color()
def active_mouse_browse_cb(self, *a): if self.active_mouse_browse.get_active(): asm_config.setv('mouse_browse', 1) else: asm_config.setv('mouse_browse', 0) self.parent.viewerbook.convert_browse()
def auto_browse_cb(self, btn): v = btn.get_active_text() asm_config.setv('auto_browse', int(v)) self.parent.viewerbook.convert_browse()
def time_browse_cb(self, btn): v = btn.get_active() asm_config.setv('time_browse', v) self.parent.viewerbook.convert_browse()
def numbers_cb(self, *a): if self.numbers.get_active(): asm_config.setv('nmbrs', 1) else: asm_config.setv('nmbrs', 0)
def saved_session_cb(self, *a): if self.saved_session.get_active(): asm_config.setv('saved_session', 1) else: asm_config.setv('saved_session', 0)
def change_vls(self, btn, nm): v = btn.get_active() asm_config.setv(nm, v)
def ch_color(self, btn): nconf = btn.get_name() color = btn.get_rgba().to_string() asm_config.setv(nconf, color) self.parent.refresh()
def remove_iters(self, *a): asm_config.setv('marks', '[]') self.list_marks = [] self.store_sav.clear()
def scale_fonts_c(self, *a): sf = self.h_scale.get_value() asm_config.setv('scale_fonts', sf) self.parent.refresh()
if not exists(asm_config.getv('path')): res = sure_start() # a تحديد المسار-------------------------- if res == 2: open_dlg = Gtk.FileChooserDialog( 'تحديد مسار قاعدة البيانات', None, Gtk.FileChooserAction.OPEN, (Gtk.STOCK_OK, Gtk.ResponseType.OK, Gtk.STOCK_CANCEL, Gtk.ResponseType.CANCEL)) Filter = Gtk.FileFilter() Filter.set_name("قاعدة البيانات") Filter.add_pattern("Listbooks.db") open_dlg.add_filter(Filter) res = open_dlg.run() if res == Gtk.ResponseType.OK: asm_config.setv('path', open_dlg.get_filenames()[0]) open_dlg.destroy() else: open_dlg.destroy() quit() # a إلغاء التحديد------------------------- elif res == 1: my_return = 0 quit() # a مكتبة مفرغة-------------------------- elif res == 3: save_dlg = Gtk.FileChooserDialog( 'مسار قاعدة البيانات الجديدة', None, Gtk.FileChooserAction.SELECT_FOLDER,