def show(): panel=wx.Panel(gui.tab) layout=wx.BoxSizer(wx.VERTICAL) button_layout=wx.BoxSizer(wx.HORIZONTAL) button_reload=wx.Button(panel,label=u"更新",style=wx.BU_EXACTFIT) button_layout.Add(button_reload) layout.Add(button_layout) user_layout=wx.BoxSizer(wx.VERTICAL) def background(ev=None): user_layout.Clear(True) res=config.misskey.req("users/recommendations") for user in res: def adduser(user): _layout=wx.BoxSizer(wx.HORIZONTAL) bmp=wx.StaticBitmap(panel,bitmap=filemng.cacheBmp(user["avatarUrl"]+"?size=32&quality=100")) bmp.Bind(wx.EVT_LEFT_UP,pages.user.openUserTab({"user":user})) bmp.SetToolTip(wx.ToolTip(user["name"]+" @"+user["screenName"])) _layout.Add(bmp) fb=wx.Button(panel,label=u"フォヨー",style=wx.BU_EXACTFIT) def follow(ev): config.misskey.reqn("users/follow",{"user-id":user["id"]}) fb.Disable() background() fb.Bind(wx.EVT_BUTTON,follow) _layout.Add(fb,flag=wx.EXPAND) user_layout.Add(_layout) adduser(user) user_layout.Layout() background() button_reload.Bind(wx.EVT_BUTTON,background) layout.Add(user_layout) panel.SetSizer(layout) gui.addtab(panel,u"おすすめユーザー")
def show(): panel=wx.Panel(gui.tab) layout=wx.BoxSizer(wx.VERTICAL) notelist=components.AutoResizeListCtrl(panel,style=wx.LC_REPORT | wx.LC_SINGLE_SEL) notelist.setResizeColumn(3) layout.Add(notelist,1,wx.EXPAND) panel.SetSizer(layout) gui.addtab(panel,u"通知") notelist.InsertColumn(0,"type") notelist.InsertColumn(1,"from") notelist.InsertColumn(2,"to",width=-2) def add_notify(ntf): notelist.InsertStringItem(0,ntf["type"]) if(ntf["type"]=="like" or ntf["type"]=="repost"): post=ntf["content"]["post"] user=ntf["content"]["user"] elif(ntf["type"]=="mention"): post=ntf["content"]["post"] user=ntf["content"]["post"]["user"] else: if(ntf["content"].get("user")): user=ntf["content"]["user"] else: user={"screenName":"---"} post={"text":""} notelist.SetStringItem(0,1,user["screenName"]) notelist.SetStringItem(0,2,post["text"] or "") def streaming_callback(_): if(_[0]=="notification"): wx.CallAfter(add_notify,_[1]) ntfs=config.misskey.req("notifications/timeline",{"limit":30}) ntfs.reverse() for ntf in ntfs: add_notify(ntf) config.misskey.streaming("home",streaming_callback)
def show(): global latest_cursor tl=timeline.Timeline(gui.tab) gui.addtab(tl,u"хо╢") def callback(dat): if(dat[0]=="post"): tl.post_cache(dat[1]) wx.CallAfter(tl.prepend_post,dat[1]) sock=config.misskey.streaming("home",callback) posts=config.misskey.req("posts/timeline",{"limit":50}) latest_cursor=posts[0].get("cursor") posts.reverse() for post in posts: tl.prepend_post(post) def timer_call(): global latest_cursor posts=config.misskey.req("posts/timeline",{"since-cursor":latest_cursor,"limit":100}) print posts if(len(posts)): for post in posts: if(latest_cursor<post["cursor"]): latest_cursor=post["cursor"] tl.post_cache(dat[1]) wx.CallAfter(tl.prepend_post,post) # jscomp.setInterval(timer_call,10) def readmore_callback(): cur=tl.get_old_cursor() posts=config.misskey.req("posts/timeline",{"max-cursor":cur,"limit":100}) for post in posts: tl.append_post(post) tl.readmore_callback=readmore_callback
def show(): panel=wx.Panel(gui.tab) layout=wx.BoxSizer(wx.VERTICAL) layout.Add(wx.StaticText(panel,label="ScreenName")) textbox=wx.TextCtrl(panel) layout.Add(textbox,flag=wx.EXPAND) runbutton=wx.Button(panel,label=u"送る") panel.SetSizer(layout) gui.addtab(panel,"fav baku")
def show(): global notebook panel = wx.Panel(gui.tab) layout = wx.BoxSizer(wx.VERTICAL) notebook = wx.Notebook(panel, style=wx.NB_LEFT) layout.Add(notebook, 1, wx.EXPAND) panel.SetSizer(layout) gui.addtab(panel, u"設定") pages.settings.cache.show() pages.settings.mute.show()