Пример #1
0
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"おすすめユーザー")
Пример #2
0
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)
Пример #3
0
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
Пример #4
0
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")
Пример #5
0
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()