Merge branch 'master' into insanity

pull/4/head
Blake DeMarcy 2017-04-15 15:23:58 -05:00
commit 9cefe28135
1 changed files with 41 additions and 41 deletions

View File

@ -415,9 +415,6 @@ class App(object):
) )
def edit_post(self, button, message): def edit_post(self, button, message):
post_id = message["post_id"] post_id = message["post_id"]
thread_id = message["thread_id"] thread_id = message["thread_id"]
@ -428,21 +425,8 @@ class App(object):
except UserWarning as e: except UserWarning as e:
self.remove_overlays() self.remove_overlays()
return self.temp_footer_message(e.description) return self.temp_footer_message(e.description)
self.remove_overlays()
self.loop.widget = urwid.Overlay( self.compose(init_body=message["body"], edit=message)
urwid.LineBox(
ExternalEditor(
"edit_post",
init_body=message["body"],
post_id=post_id,
thread_id=thread_id),
title="[F1]Abort [F3]Formatting Help (save/quit to commit)",
**frame_theme()),
self.loop.widget,
align="center",
valign="middle",
width=("relative", 75),
height=("relative", 75))
def reply(self, button, message): def reply(self, button, message):
@ -1097,7 +1081,7 @@ class App(object):
return body.strip() return body.strip()
def compose(self, title=None, init_body=""): def compose(self, title=None, init_body="", edit=False):
""" """
Dispatches the appropriate composure mode and widget based on application Dispatches the appropriate composure mode and widget based on application
context and user preferences. context and user preferences.
@ -1111,20 +1095,28 @@ class App(object):
return self.footer_prompt( return self.footer_prompt(
"Title", self.compose, extra_text=e.description) "Title", self.compose, extra_text=e.description)
if self.prefs["editor"] and not self.prefs["integrate_external_editor"]: if not self.prefs["integrate_external_editor"]:
body = self.overthrow_ext_edit(init_body) body = self.overthrow_ext_edit(init_body)
if not body: if not body:
return self.temp_footer_message("EMPTY POST DISCARDED") return self.temp_footer_message("EMPTY POST DISCARDED")
params = {"body": body} params = {"body": body}
if self.mode == "thread": if self.mode == "thread" and not edit:
endpoint = "reply" endpoint = "thread_reply"
params.update({"thread_id": self.thread["thread_id"]}) params.update({"thread_id": self.thread["thread_id"]})
elif edit:
endpoint = "edit_post"
params.update({
"thread_id": self.thread["thread_id"],
"post_id": edit["post_id"]
})
else: else:
endpoint = "create" endpoint = "thread_create"
params.update({"title": title}) params.update({"title": title})
network.request("thread_" + endpoint, **params) network.request(endpoint, **params)
return self.refresh(True) return self.refresh(True)
if self.mode == "index": if self.mode == "index":
@ -1140,24 +1132,32 @@ class App(object):
valign="middle", valign="middle",
width=("relative", 90), width=("relative", 90),
height=("relative", 80)) height=("relative", 80))
return
elif self.mode == "thread": params = {"thread_id": self.thread["thread_id"]}
self.window_split=True
self.set_header('Replying to "{}"', self.thread["title"]) if edit:
self.loop.widget.footer = urwid.Pile([ _id = edit["post_id"]
urwid.AttrMap(urwid.Text(""), "bar"), params.update({"post_id": _id})
urwid.BoxAdapter( header = ["Editing your post; >>{}", _id]
urwid.AttrMap( endpoint = "edit_post"
urwid.LineBox( else:
ExternalEditor( header = ['Replying to "{}"', self.thread["title"]]
"thread_reply", endpoint = "thread_reply"
init_body=init_body,
thread_id=self.thread["thread_id"]), self.loop.widget.footer = urwid.Pile([
**frame_theme() urwid.AttrMap(urwid.Text(""), "bar"),
), urwid.BoxAdapter(
"bar"), urwid.AttrMap(
self.loop.screen_size[1] // 2)]) urwid.LineBox(
self.switch_editor() ExternalEditor(endpoint, init_body=init_body, **params),
**frame_theme()
), "bar"),
self.loop.screen_size[1] // 2)])
self.set_header(*header)
self.window_split=True
self.switch_editor()
class MessageBody(urwid.Text): class MessageBody(urwid.Text):