~ubuntu-branches/ubuntu/wily/gajim/wily

« back to all changes in this revision

Viewing changes to src/groupchat_control.py

  • Committer: Bazaar Package Importer
  • Author(s): Yann Leboulanger
  • Date: 2011-06-07 19:30:43 UTC
  • mfrom: (10.1.12 upstream)
  • Revision ID: james.westby@ubuntu.com-20110607193043-hmjwviw7ws7mcx94
Tags: 0.14.2-1
* New upstream release.
* Fix CPU usage when testing file transfer proxies. Closes: #626576

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
import pango
35
35
import gobject
36
36
import gtkgui_helpers
 
37
import gui_menu_builder
37
38
import message_control
38
39
import tooltips
39
40
import dialogs
196
197
 
197
198
        self.session.negotiate_e2e(False)
198
199
 
 
200
    def prepare_context_menu(self, hide_buttonbar_items=False):
 
201
        """
 
202
        Set compact view menuitem active state sets active and sensitivity state
 
203
        for toggle_gpg_menuitem sets sensitivity for history_menuitem (False for
 
204
        tranasports) and file_transfer_menuitem and hide()/show() for
 
205
        add_to_roster_menuitem
 
206
        """
 
207
        menu = gui_menu_builder.get_contact_menu(self.contact, self.account,
 
208
            use_multiple_contacts=False, show_start_chat=False,
 
209
            show_encryption=True, control=self,
 
210
            show_buttonbar_items=not hide_buttonbar_items,
 
211
            gc_contact=self.gc_contact)
 
212
        return menu
 
213
 
199
214
class GroupchatControl(ChatControlBase):
200
215
    TYPE_ID = message_control.TYPE_GC
201
216
 
799
814
                self.btn_box.destroy()
800
815
            dataform = dataforms.ExtendForm(node=captcha)
801
816
            self.form_widget = dataforms_widget.DataFormWidget(dataform)
802
 
            self.form_widget.show_all()
803
 
            vbox = self.xml.get_object('gc_textviews_vbox')
804
 
            vbox.pack_start(self.form_widget, expand=False, fill=False)
805
817
 
806
818
            def on_send_dataform_clicked(widget):
807
819
                if not self.form_widget:
816
828
                self.form_widget = None
817
829
                del self.btn_box
818
830
 
 
831
            self.form_widget.connect('validated', on_send_dataform_clicked)
 
832
            self.form_widget.show_all()
 
833
            vbox = self.xml.get_object('gc_textviews_vbox')
 
834
            vbox.pack_start(self.form_widget, expand=False, fill=False)
 
835
 
819
836
            valid_button = gtk.Button(stock=gtk.STOCK_OK)
820
837
            valid_button.connect('clicked', on_send_dataform_clicked)
821
838
            self.btn_box = gtk.HButtonBox()
1039
1056
            # we have full focus (we are reading it!)
1040
1057
            return
1041
1058
 
1042
 
        self.conv_textview.show_focus_out_line()
 
1059
        at_the_end = self.conv_textview.at_the_end()
 
1060
        self.conv_textview.show_focus_out_line(scroll=at_the_end)
1043
1061
 
1044
1062
    def needs_visual_notification(self, text):
1045
1063
        """
1632
1650
 
1633
1651
        label = self.get_seclabel()
1634
1652
        if message != '' or message != '\n':
1635
 
            self.save_sent_message(message)
1636
 
 
 
1653
            self.save_message(message, 'sent')
1637
1654
            # Send the message
1638
1655
            gajim.connections[self.account].send_gc_message(self.room_jid,
1639
1656
                    message, xhtml=xhtml, label=label)
1682
1699
            # logs. We do it only when connected because if connection was lost
1683
1700
            # there may be new messages since disconnection.
1684
1701
            gajim.connections[self.account].gc_got_disconnected(self.room_jid)
1685
 
        gajim.connections[self.account].send_gc_status(self.nick, self.room_jid,
1686
 
                                                show='offline', status=status)
 
1702
            gajim.connections[self.account].send_gc_status(self.nick,
 
1703
                self.room_jid, show='offline', status=status)
1687
1704
        nick_list = gajim.contacts.get_nick_list(self.account, self.room_jid)
1688
1705
        for nick in nick_list:
1689
1706
            # Update pm chat window