# HG changeset patch # User Goffi # Date 1580156228 -3600 # Node ID abb57182ebfb1e3de60754fd2a1e18ff76b3d04d # Parent 58e395c0777e349d0331553e199c133f4fc82858 chat: prepend nick to message input when occupant avatar is touched on group chat. diff -r 58e395c0777e -r abb57182ebfb cagou/plugins/plugin_wid_chat.kv --- a/cagou/plugins/plugin_wid_chat.kv Mon Jan 27 21:17:08 2020 +0100 +++ b/cagou/plugins/plugin_wid_chat.kv Mon Jan 27 21:17:08 2020 +0100 @@ -58,6 +58,7 @@ MessAvatar: id: avatar source: (root.mess_data.avatar or '') if root.mess_data else '' + on_press: root.chat.addNick(root.nick) Widget: # use to push the avatar on the top size_hint: 1, 1 diff -r 58e395c0777e -r abb57182ebfb cagou/plugins/plugin_wid_chat.py --- a/cagou/plugins/plugin_wid_chat.py Mon Jan 27 21:17:08 2020 +0100 +++ b/cagou/plugins/plugin_wid_chat.py Mon Jan 27 21:17:08 2020 +0100 @@ -24,6 +24,7 @@ from kivy.uix.textinput import TextInput from kivy.uix.screenmanager import Screen, NoTransition from kivy.uix import screenmanager +from kivy.uix.behaviors import ButtonBehavior from kivy.metrics import sp, dp from kivy.clock import Clock from kivy import properties @@ -73,7 +74,7 @@ INFINITE_SCROLL_LIMIT = dp(600) -class MessAvatar(Image): +class MessAvatar(ButtonBehavior, Image): pass @@ -455,6 +456,7 @@ return self.messages_widget.children ## keyboard ## + def key_input(self, window, key, scancode, codepoint, modifier): if key == 27: screen_manager = self.screen_manager @@ -650,6 +652,13 @@ room_jid=self.target) ) + # message input + + def addNick(self, nick): + """Add a nickname to message_input if suitable""" + if (self.type == C.CHAT_GROUP and not self.message_input.text.startswith(nick)): + self.message_input.text = f'{nick}: {self.message_input.text}' + def onSend(self, input_widget): G.host.messageSend( self.target,