Daniel Brötzmann pushed to branch mainwindow at gajim / gajim

Commits:

3 changed files:

Changes:

  • gajim/data/gui/chat_list_row.ui
    ... ... @@ -140,8 +140,8 @@
    140 140
                     <property name="spacing">3</property>
    
    141 141
                     <child>
    
    142 142
                       <object class="GtkLabel" id="nick_label">
    
    143
    -                    <property name="visible">True</property>
    
    144 143
                         <property name="can-focus">False</property>
    
    144
    +                    <property name="no-show-all">True</property>
    
    145 145
                         <property name="halign">start</property>
    
    146 146
                         <property name="single-line-mode">True</property>
    
    147 147
                         <property name="xalign">0</property>
    

  • gajim/gtk/chat_list.py
    ... ... @@ -140,7 +140,7 @@ def get_open_chats(self):
    140 140
             return open_chats
    
    141 141
     
    
    142 142
         def update_time(self):
    
    143
    -        for _, row in self._chats.items():
    
    143
    +        for _key, row in self._chats.items():
    
    144 144
                 row.update_time()
    
    145 145
     
    
    146 146
         def process_event(self, event):
    
    ... ... @@ -150,6 +150,8 @@ def process_event(self, event):
    150 150
                 self._on_message_received(event)
    
    151 151
             elif event.name == 'presence-received':
    
    152 152
                 self._on_presence_received(event)
    
    153
    +        elif event.name == 'message-sent':
    
    154
    +            self._on_message_sent(event)
    
    153 155
             else:
    
    154 156
                 log.warning('Unhandled Event: %s', event.name)
    
    155 157
     
    
    ... ... @@ -158,10 +160,42 @@ def _on_message_received(self, event):
    158 160
                 return
    
    159 161
     
    
    160 162
             row = self._chats.get((event.account, event.jid))
    
    161
    -        row.set_last_message_text('Me', event.msgtxt)
    
    163
    +        nick = self._get_nick_for_received_message(event)
    
    164
    +        row.set_last_message_text(nick, event.msgtxt)
    
    162 165
     
    
    163 166
             self._add_unread(row, event.properties)
    
    164 167
     
    
    168
    +    def _on_message_sent(self, event):
    
    169
    +        msgtext = event.message
    
    170
    +        if not msgtext:
    
    171
    +            return
    
    172
    +
    
    173
    +        row = self._chats.get((event.account, event.jid))
    
    174
    +        con = app.get_client(event.account)
    
    175
    +        own_jid = con.get_own_jid()
    
    176
    +
    
    177
    +        if own_jid.bare_match(event.jid):
    
    178
    +            nick = ''
    
    179
    +        else:
    
    180
    +            nick = _('Me: ')
    
    181
    +        row.set_last_message_text(nick, msgtext)
    
    182
    +
    
    183
    +    @staticmethod
    
    184
    +    def _get_nick_for_received_message(event):
    
    185
    +        nick = _('Me: ')
    
    186
    +        if event.properties.type.is_groupchat:
    
    187
    +            event_nick = event.properties.muc_nickname
    
    188
    +            our_nick = get_group_chat_nick(event.account, event.jid)
    
    189
    +            if event_nick != our_nick:
    
    190
    +                nick = _('%(incoming_nick)s: ') % {'incoming_nick': event_nick}
    
    191
    +        else:
    
    192
    +            con = app.get_client(event.account)
    
    193
    +            own_jid = con.get_own_jid()
    
    194
    +            if not own_jid.bare_match(event.properties.from_):
    
    195
    +                nick = ''
    
    196
    +
    
    197
    +        return nick
    
    198
    +
    
    165 199
         def _on_presence_received(self, event):
    
    166 200
             row = self._chats.get((event.account, event.jid))
    
    167 201
             row.update_avatar()
    
    ... ... @@ -350,4 +384,5 @@ def reset_unread(self):
    350 384
     
    
    351 385
         def set_last_message_text(self, nickname, text):
    
    352 386
             self._ui.message_label.set_text(text)
    
    387
    +        self._ui.nick_label.set_visible(bool(nickname))
    
    353 388
             self._ui.nick_label.set_text(nickname)

  • gajim/gtk/chat_list_stack.py
    ... ... @@ -12,6 +12,7 @@
    12 12
         'mam-message-received',
    
    13 13
         'gc-message-received',
    
    14 14
         'presence-received',
    
    15
    +    'message-sent',
    
    15 16
     ]
    
    16 17
     
    
    17 18