Changeset 9603
- Timestamp:
- 05/10/08 13:39:25 (3 months ago)
- Files:
-
- trunk/data/glade/chat_control_popup_menu.glade (modified) (2 diffs)
- trunk/data/glade/message_window.glade (modified) (9 diffs)
- trunk/src/chat_control.py (modified) (10 diffs)
- trunk/src/groupchat_control.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/data/glade/chat_control_popup_menu.glade
r9602 r9603 6 6 <child> 7 7 <widget class="GtkImageMenuItem" id="add_to_roster_menuitem"> 8 <property name=" visible">True</property>8 <property name="no_show_all">True</property> 9 9 <property name="label" translatable="yes">_Add to Roster</property> 10 10 <property name="use_underline">True</property> … … 74 74 <child> 75 75 <widget class="GtkMenuItem" id="otr_submenu"> 76 <property name="no_show_all">True</property> 76 <property name="visible">True</property> 77 <property name="sensitive">False</property> 77 78 <property name="label" translatable="yes">Off-the-Record Encryption</property> 78 79 <property name="use_underline">True</property> trunk/data/glade/message_window.glade
r9601 r9603 185 185 </child> 186 186 <child> 187 <widget class="GtkButton" id="add_to_roster_button"> 188 <property name="can_focus">True</property> 189 <property name="receives_default">True</property> 190 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> 191 <property name="no_show_all">True</property> 192 <property name="tooltip" translatable="yes">Add this contact to roster (Ctrl-D)</property> 193 <property name="relief">GTK_RELIEF_NONE</property> 194 <property name="response_id">0</property> 195 <child> 196 <widget class="GtkImage" id="image9"> 197 <property name="visible">True</property> 198 <property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property> 199 <property name="stock">gtk-add</property> 200 <property name="icon_size">1</property> 201 </widget> 202 </child> 203 </widget> 204 <packing> 205 <property name="expand">False</property> 206 <property name="fill">False</property> 207 <property name="position">2</property> 208 </packing> 209 </child> 210 <child> 187 211 <widget class="GtkButton" id="send_file_button"> 188 212 <property name="visible">True</property> … … 203 227 <packing> 204 228 <property name="expand">False</property> 205 <property name="position"> 2</property>229 <property name="position">3</property> 206 230 </packing> 207 231 </child> … … 225 249 <packing> 226 250 <property name="expand">False</property> 227 <property name="position"> 3</property>251 <property name="position">4</property> 228 252 </packing> 229 253 </child> … … 247 271 <packing> 248 272 <property name="expand">False</property> 249 <property name="position"> 4</property>273 <property name="position">5</property> 250 274 </packing> 251 275 </child> … … 269 293 <packing> 270 294 <property name="expand">False</property> 271 <property name="position"> 5</property>295 <property name="position">6</property> 272 296 </packing> 273 297 </child> … … 279 303 <packing> 280 304 <property name="expand">False</property> 281 <property name="position"> 6</property>305 <property name="position">7</property> 282 306 </packing> 283 307 </child> … … 300 324 <packing> 301 325 <property name="expand">False</property> 302 <property name="position"> 7</property>326 <property name="position">8</property> 303 327 </packing> 304 328 </child> … … 312 336 </widget> 313 337 <packing> 314 <property name="position"> 8</property>338 <property name="position">9</property> 315 339 </packing> 316 340 </child> … … 358 382 <packing> 359 383 <property name="expand">False</property> 360 <property name="position"> 9</property>384 <property name="position">10</property> 361 385 </packing> 362 386 </child> trunk/src/chat_control.py
r9602 r9603 1034 1034 self.handlers[id] = self.actions_button 1035 1035 1036 widget = self.xml.get_widget('send_file_button') 1037 id = widget.connect('clicked', self._on_send_file_menuitem_activate) 1038 self.handlers[id] = widget 1039 1040 widget = self.xml.get_widget('convert_to_gc_button') 1041 id = widget.connect('clicked', self._on_convert_to_gc_menuitem_activate) 1042 self.handlers[id] = widget 1043 1044 widget = self.xml.get_widget('contact_information_button') 1045 id = widget.connect('clicked', self._on_contact_information_menuitem_activate) 1046 self.handlers[id] = widget 1036 add_to_roster_button = self.xml.get_widget('add_to_roster_button') 1037 id = add_to_roster_button.connect('clicked', self._on_add_to_roster_menuitem_activate) 1038 self.handlers[id] = add_to_roster_button 1039 1040 send_file_button = self.xml.get_widget('send_file_button') 1041 id = send_file_button.connect('clicked', self._on_send_file_menuitem_activate) 1042 self.handlers[id] = send_file_button 1043 1044 convert_to_gc_button = self.xml.get_widget('convert_to_gc_button') 1045 id = convert_to_gc_button.connect('clicked', self._on_convert_to_gc_menuitem_activate) 1046 self.handlers[id] = convert_to_gc_button 1047 1048 contact_information_button = self.xml.get_widget('contact_information_button') 1049 id = contact_information_button.connect('clicked', self._on_contact_information_menuitem_activate) 1050 self.handlers[id] = contact_information_button 1047 1051 1048 1052 compact_view = gajim.config.get('compact_view') … … 1058 1062 img = self.xml.get_widget('convert_to_gc_button_image') 1059 1063 img.set_from_pixbuf(gtkgui_helpers.load_icon('muc_active').get_pixbuf()) 1064 1065 # Add to roster button 1066 if _('Not in Roster') in contact.groups: 1067 add_to_roster_button.show() 1068 1069 # If we don't have resource, we can't do file transfer 1070 # in transports, contact holds our info we need to disable it too 1071 if self.TYPE_ID == message_control.TYPE_PM and self.gc_contact.jid and \ 1072 self.gc_contact.resource: 1073 send_file_button.set_sensitive(True) 1074 elif contact.resource and contact.jid.find('@') != -1: 1075 send_file_button.set_sensitive(True) 1076 else: 1077 send_file_button.set_sensitive(False) 1078 1079 # check if it's possible to convert to groupchat 1080 if gajim.get_transport_name_from_jid(self.contact.jid) or \ 1081 gajim.connections[self.account].is_zeroconf: 1082 convert_to_gc_button.set_sensitive(False) 1060 1083 1061 1084 # keep timeout id and window obj for possible big avatar … … 1111 1134 1112 1135 self.status_tooltip = gtk.Tooltips() 1136 1137 if gajim.otr_module: 1138 self.update_otr(True) 1139 1113 1140 self.update_ui() 1114 1141 # restore previous conversation … … 1177 1204 1178 1205 def update_ui(self): 1179 if gajim.otr_module:1180 self.update_otr(True)1181 1206 # The name banner is drawn here 1182 1207 ChatControlBase.update_ui(self) … … 1722 1747 menu = xml.get_widget('chat_control_popup_menu') 1723 1748 1749 add_to_roster_menuitem = xml.get_widget('add_to_roster_menuitem') 1724 1750 history_menuitem = xml.get_widget('history_menuitem') 1725 1751 toggle_gpg_menuitem = xml.get_widget('toggle_gpg_menuitem') … … 1730 1756 start_otr_menuitem = xml.get_widget('start_otr_menuitem') 1731 1757 end_otr_menuitem = xml.get_widget('end_otr_menuitem') 1732 add_to_roster_menuitem = xml.get_widget('add_to_roster_menuitem')1733 1758 send_file_menuitem = xml.get_widget('send_file_menuitem') 1734 1759 information_menuitem = xml.get_widget('information_menuitem') … … 1770 1795 toggle_e2e_menuitem.set_sensitive(not self.gpg_is_active) 1771 1796 1797 # add_to_roster_menuitem 1798 if _('Not in Roster') in contact.groups: 1799 add_to_roster_menuitem.show() 1800 1772 1801 # If we don't have resource, we can't do file transfer 1773 1802 # in transports, contact holds our info we need to disable it too … … 1784 1813 gajim.connections[self.account].is_zeroconf: 1785 1814 convert_to_gc_menuitem.set_sensitive(False) 1786 1787 # add_to_roster_menuitem1788 if _('Not in Roster') in contact.groups:1789 add_to_roster_menuitem.show()1790 add_to_roster_menuitem.set_no_show_all(False)1791 else:1792 add_to_roster_menuitem.hide()1793 add_to_roster_menuitem.set_no_show_all(True)1794 1815 1795 1816 # connect signals … … 1817 1838 1818 1839 if gajim.otr_module: 1819 otr_submenu.s how()1840 otr_submenu.set_sensitive(True) 1820 1841 id = otr_settings_menuitem.connect('activate', 1821 1842 self._on_otr_settings_menuitem_activate) … … 1842 1863 gajim.otr_module.OTRL_MSGSTATE_ENCRYPTED) 1843 1864 1844 menu.connect('selection-done', self.destroy_menu, history_menuitem, 1845 information_menuitem) 1865 menu.connect('selection-done', self.destroy_menu, 1866 send_file_menuitem, convert_to_gc_menuitem, 1867 information_menuitem, history_menuitem) 1846 1868 return menu 1847 1869 1848 def destroy_menu(self, menu, history_menuitem, information_menuitem): 1870 def destroy_menu(self, menu, send_file_menuitem, 1871 convert_to_gc_menuitem, information_menuitem, history_menuitem): 1849 1872 # destroy accelerators 1850 1873 ag = gtk.accel_groups_from_object(self.parent_win.window)[0] 1874 send_file_menuitem.remove_accelerator(ag, gtk.keysyms.f, gtk.gdk.CONTROL_MASK) 1875 convert_to_gc_menuitem.remove_accelerator(ag, gtk.keysyms.g, gtk.gdk.CONTROL_MASK) 1876 information_menuitem.remove_accelerator(ag, gtk.keysyms.i, gtk.gdk.CONTROL_MASK) 1851 1877 history_menuitem.remove_accelerator(ag, gtk.keysyms.h, gtk.gdk.CONTROL_MASK) 1852 information_menuitem.remove_accelerator(ag, gtk.keysyms.i, gtk.gdk.CONTROL_MASK)1853 1878 # destroy menu 1854 1879 menu.destroy() trunk/src/groupchat_control.py
r9601 r9603 594 594 self.change_subject_menuitem.set_sensitive(False) 595 595 self.change_nick_menuitem.set_sensitive(False) 596 596 597 return self.gc_popup_menu 597 598
