def xdid_load(self, favcat_titles, favcat_selected, favnote, is_favorited): self.background_color = '#efeff4' l = ui.ListDataSource([]) l.items = [ {'title': list(i.values())[0], 'image': get_diamond(get_color_from_favcat(list(i.keys())[0])), 'accessory_type':'none'} for i in favcat_titles ] if is_favorited: l.items.append({ 'title': '取消收藏', 'image': 'iob:close_32', 'accessory_type':'none' }) self['tableview1'].height = 32*len(l.items) l.delete_enabled = False l.action = self.set_new_favcat_selected if is_favorited and favcat_selected: self['tableview1'].selected_row = (0, int(favcat_selected[6])) self.new_favcat_selected = favcat_selected self['tableview1'].scroll_enabled = False self['tableview1'].data_source = l self['tableview1'].delegate = l self['textview1'].text = favnote self['button_close'].action = self.close_view
def xdid_load(self, item): self.border_color = '#c3c3c3' self.border_width = 1 self.url = item['url'] self['label_category'].text, self[ 'label_category'].background_color = get_color( item["category"].lower()) self['label_length'].text = str(item["length"]) + '页' self['label_posted'].text = item["posted"] if item["visible"] == 'Yes': self['delete_line_view'].hidden = True else: self['delete_line_view'].hidden = False self['label_uploader'].text = item["uploader"] self['label_title'].text = item.get("title") or item.get( 'japanese_title') or item.get('english_title') x, y, w, h = self['rating_location_view'].frame if item['is_personal_rating']: rating = item['display_rating'] personal = True else: rating = item['rating'] personal = False rating_stars_view = render_rating_stars_view(rating, personal=personal, width=w, height=h, name='rating_stars_view') rating_stars_view.x = x rating_stars_view.y = y self.add_subview(rating_stars_view) favcat = item.get('favcat') if favcat: self['label_posted'].border_color = get_color_from_favcat(favcat) if type(item['taglist']) == str: taglist = json.loads(item['taglist']) else: taglist = item['taglist'] self['textview_taglist'].text = render_taglist_to_text( translate_taglist(taglist)) self['button_open_gallery'].action = self.open_gallery self.add_subview( ui.ActivityIndicator(name='indicator', center=(56, 80))) thumbnail_url = item['thumbnail_url'] self.img_path = os.path.join( CACHEPATH, os.path.split(urllib.parse.urlparse(thumbnail_url).path)[1]) glv.PARSER.start_download_pic_normal([(self.img_path, thumbnail_url)], CACHEPATH) self.refresh()
def refresh(self): if self['rating_stars_view']: self.remove_subview(self['rating_stars_view']) self['label_japanese_title'].text = self.info.get('japanese_title') self['label_english_title'].text = self.info.get('english_title') self['label_url'].text = self.info.get('url') self['label_category'].text, self[ 'label_category'].background_color = get_color( self.info['category'].lower()) self['label_length'].text = self.info["length"] + ' pages' self['label_posted'].text = self.info["posted"] if self.info["visible"] == 'Yes': self['delete_line_view'].hidden = True else: self['delete_line_view'].hidden = False self['label_uploader'].text = 'uploader: ' + self.info["uploader"] self[ 'label_favorite_num'].text = 'favorited: ' + self.info['favorited'] self['label_language'].text = self.info['language'] self['label_filesize'].text = self.info['file size'] self.set_download_progress() x, y, w, h = self['rating_location_view'].frame if self.info['is_personal_rating']: rating = self.info['display_rating'] personal = True else: rating = self.info['rating'] personal = False rating_stars_view = render_rating_stars_view(rating, personal=personal, width=w, height=h, name='rating_stars_view') rating_stars_view.x = x rating_stars_view.y = y self.add_subview(rating_stars_view) self['button_rate_gallery'].bring_to_front() self['label_review'].text = self.info['rating'] + ' on ' + self.info[ 'number of reviews'] + ' reviews' if self.info.get('favcat'): self[ 'label_favorite_title'].background_color = get_color_from_favcat( self.info['favcat']) self['label_favorite_title'].text = self.info['favcat_title'] self['label_favorite_title'].text_color = 'white' self._load_slide()
def __init__(self, favcat, num, title, action): self.chosen = False self.width = 180 self.height = 38 self.favcat = favcat self.add_subview( ui.Label(frame=(3, 3, 50, 32), text=num, alignment=ui.ALIGN_RIGHT, font=('<system>', 16))) self.add_subview( ui.ImageView(frame=(53, 3, 24, 32), image=get_diamond(get_color_from_favcat(favcat)))) self.add_subview( ui.Label(frame=(77, 3, 100, 32), text=title, alignment=ui.ALIGN_LEFT, font=('<system>', 16))) self.add_subview(ui.Button(frame=(0, 0, 180, 38), action=action))
def confirm_favorite(self, sender): if len(sender.superview['textview1'].text.encode('utf-8')) > 200: console.hud_alert('Favorite Notes超字数限制', 'error') else: t = sender.superview.new_favcat_selected try: glv.PARSER.add_fav(self.info['url'], favcat=t, favnote=sender.superview['textview1'].text, old_is_favorited=self.old_is_favorited) except: console.hud_alert('失败', 'error') else: if t != 'favdel': self.info['favcat'] = t self.info['favcat_title'] = sender.superview[ 'tableview1'].data_source.items[sender.superview[ 'tableview1'].selected_row[1]]['title'] self['gallery_info_view'][ 'label_favorite_title'].background_color = get_color_from_favcat( self.info['favcat']) self['gallery_info_view'][ 'label_favorite_title'].text = self.info[ 'favcat_title'] self['gallery_info_view'][ 'label_favorite_title'].text_color = 'white' else: self.info['favcat'] = None self.info['favcat_title'] = None self['gallery_info_view'][ 'label_favorite_title'].background_color = 'white' self['gallery_info_view'][ 'label_favorite_title'].text = '未收藏' self['gallery_info_view'][ 'label_favorite_title'].text_color = 'black' glv.PARSER.save_mangainfo( self.info, os.path.join(glv.PARSER.storage_path, verify_url(self.info['url']))) sender.superview.close()