primitivus: change behavior of commands ":presence" and ":status" :
- ":presence " and ":status " open a dialog (like if you type it without the trailing space)
- you need to type ":presence online" to directly reset your presence (was done with ":presence " before)
- there's no more way to directly set an empty status (you now do it via the dialog)
This commit is contained in:
parent
5f1c2d3a49
commit
261d5296d4
2 changed files with 15 additions and 9 deletions
|
|
@ -40,13 +40,13 @@ def getPresence():
|
|||
("chat", _("Free for chat")),
|
||||
("away", _("Away from keyboard")),
|
||||
("dnd", _("Do not disturb")),
|
||||
("xa", _("Away"))])
|
||||
("xa", _("Extended away"))])
|
||||
except TypeError:
|
||||
presence = {"": _("Online"),
|
||||
"chat": _("Free for chat"),
|
||||
"away": _("Away from keyboard"),
|
||||
"dnd": _("Do not disturb"),
|
||||
"xa": _("Away")
|
||||
"xa": _("Extended away")
|
||||
}
|
||||
return presence
|
||||
|
||||
|
|
|
|||
|
|
@ -112,7 +112,8 @@ class EditBar(sat_widgets.ModalEdit):
|
|||
def commandHandler(self):
|
||||
#TODO: separate class with auto documentation (with introspection)
|
||||
# and completion method
|
||||
command = self.get_edit_text()
|
||||
tokens = self.get_edit_text().split(' ')
|
||||
command, args = tokens[0], tokens[1:]
|
||||
if command == 'quit':
|
||||
self.app.onExit()
|
||||
raise urwid.ExitMainLoop()
|
||||
|
|
@ -120,13 +121,18 @@ class EditBar(sat_widgets.ModalEdit):
|
|||
wid = sat_widgets.GenericList(logging.memoryGet())
|
||||
self.app.addWindow(wid)
|
||||
elif command == 'presence':
|
||||
self.app.status_bar.onPresenceClick()
|
||||
elif command in ['presence %s' % show for show in commonConst.PRESENCE.keys()]:
|
||||
self.app.status_bar.onChange(user_data=sat_widgets.ClickableText(commonConst.PRESENCE[command[9:]]))
|
||||
values = [value for value in commonConst.PRESENCE.keys()]
|
||||
values = [value if value else 'online' for value in values] # the empty value actually means 'online'
|
||||
if args and args[0] in values:
|
||||
presence = '' if args[0] == 'online' else args[0]
|
||||
self.app.status_bar.onChange(user_data=sat_widgets.ClickableText(commonConst.PRESENCE[presence]))
|
||||
else:
|
||||
self.app.status_bar.onPresenceClick()
|
||||
elif command == 'status':
|
||||
self.app.status_bar.onStatusClick()
|
||||
elif command.startswith('status '):
|
||||
self.app.status_bar.onChange(user_data=sat_widgets.AdvancedEdit(command[7:]))
|
||||
if args:
|
||||
self.app.status_bar.onChange(user_data=sat_widgets.AdvancedEdit(args[0]))
|
||||
else:
|
||||
self.app.status_bar.onStatusClick()
|
||||
else:
|
||||
return
|
||||
self.set_edit_text('')
|
||||
|
|
|
|||
Loading…
Reference in a new issue