self.language = "en" # FIXME: find a better default from somewhere
self.content_warning = ""
+ self.visibility = "public"
def render(self):
y = 0
def post(self):
params = {
"status": self.text.rstrip("\n"),
- "visibility": "public",
+ "visibility": self.visibility,
"language": self.language,
}
if self.reply_id is not None:
self.items.append(text.MenuKeypressLine(
'A', text.ColouredString("Re-edit post")))
self.items.append(text.BlankLine())
+ self.items.append(text.MenuKeypressLine(
+ 'V', text.ColouredString("Visibility: " +
+ self.composer.visibility)))
+ # FIXME: including a help string here would be nice - plus a
+ # warning if you haven't actually mentioned any users and are
+ # selecting 'direct'?
+ self.items.append(text.BlankLine())
cw = ('none' if self.composer.content_warning == ''
else f"'{self.composer.content_warning}'")
self.items.append(text.MenuKeypressLine(
self.push_to(BottomLinePrompt(
self.cc, self.set_content_warning, "Content warning: ",
self.composer.content_warning))
+ elif ch in {'v', 'V'}:
+ visibilities = ['public', 'unlisted', 'private', 'direct']
+ nextvis = {visibilities[i-1]: visibilities[i]
+ for i in range(len(visibilities))}
+ self.composer.visibility = nextvis[self.composer.visibility]
+ self.refresh_items()
elif ch in {' '}:
self.composer.post()
self.cc.composer = None