From 6b26a5d3325f543998d063bcfe9c3035162c8e57 Mon Sep 17 00:00:00 2001 From: Yann Leboulanger Date: Thu, 4 Aug 2005 09:42:34 +0000 Subject: [PATCH] when we right click on a tab, we switch to it, so popup menu item are correct :) --- src/chat.py | 29 +++-- src/gtkgui.glade | 219 +++++++++++++++++++++----------------- src/tabbed_chat_window.py | 3 +- 3 files changed, 140 insertions(+), 111 deletions(-) diff --git a/src/chat.py b/src/chat.py index 72bf68896..bceac6f8a 100644 --- a/src/chat.py +++ b/src/chat.py @@ -127,10 +127,11 @@ class Chat: start = '* ' child = self.childs[jid] + hb = self.notebook.get_tab_label(child).get_children()[0] if self.widget_name == 'tabbed_chat_window': - nickname = self.notebook.get_tab_label(child).get_children()[1] + nickname = hb.get_children()[1] elif self.widget_name == 'groupchat_window': - nickname = self.notebook.get_tab_label(child).get_children()[0] + nickname = hb.get_children()[0] #FIXME: when gtk2.4 is OOOOLD do it via glade2.10+ if gtk.pygtk_version >= (2, 6, 0) and gtk.gtk_version >= (2, 6, 0): @@ -413,7 +414,12 @@ class Chat: message_scrolledwindow.set_property('height-request', -1) self.bring_scroll_to_end(conversation_textview, diff_y - 18) return True - + + def on_tab_eventbox_button_press_event(self, widget, event, child): + if event.button == 3: + n = self.notebook.page_num(child) + self.notebook.set_current_page(n) + def new_tab(self, jid): #FIXME: text formating buttons will be hidden in 0.8 release for w in ['bold_togglebutton', 'italic_togglebutton', 'underline_togglebutton']: @@ -495,16 +501,19 @@ class Chat: self.notebook.set_show_tabs(True) if self.widget_name == 'tabbed_chat_window': - xm = gtk.glade.XML(GTKGUI_GLADE, 'chat_tab_hbox', APP) - tab_hbox = xm.get_widget('chat_tab_hbox') + xm = gtk.glade.XML(GTKGUI_GLADE, 'chats_eventbox', APP) + tab_hbox = xm.get_widget('chats_eventbox') elif self.widget_name == 'groupchat_window': - xm = gtk.glade.XML(GTKGUI_GLADE, 'groupchat_tab_hbox', APP) - tab_hbox = xm.get_widget('groupchat_tab_hbox') - - xm.signal_connect('on_close_button_clicked', - self.on_close_button_clicked, jid) + xm = gtk.glade.XML(GTKGUI_GLADE, 'gc_eventbox', APP) + tab_hbox = xm.get_widget('gc_eventbox') child = self.childs[jid] + + xm.signal_connect('on_close_button_clicked', + self.on_close_button_clicked, jid) + xm.signal_connect('on_tab_eventbox_button_press_event', + self.on_tab_eventbox_button_press_event, child) + self.notebook.append_page(child, tab_hbox) message_textview = self.xmls[jid].get_widget('message_textview') message_textview.connect('size-request', self.size_request, diff --git a/src/gtkgui.glade b/src/gtkgui.glade index fa843d9d4..143b72cbc 100644 --- a/src/gtkgui.glade +++ b/src/gtkgui.glade @@ -9106,60 +9106,69 @@ Custom - - 2 + True - False - 4 + False + False + - + + 2 True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - 20 - 20 - True - True - GTK_RELIEF_NONE - True - + False + 4 - + True - gtk-close - 1 + + False + False + GTK_JUSTIFY_LEFT + False + False 0.5 0.5 0 - 6 + 0 + + 0 + False + False + + + + + + 20 + 20 + True + True + GTK_RELIEF_NONE + True + + + + + True + gtk-close + 1 + 0.5 + 0.5 + 0 + 6 + + + + + 0 + False + False + - - 0 - False - False - @@ -9971,14 +9980,15 @@ Custom - + True - False + True + True False GTK_POS_TOP True @@ -10631,76 +10641,85 @@ Status message - + True - False - 4 + False + False + - + True - gtk-no - 4 - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - True - - False - False - GTK_JUSTIFY_LEFT - False - False - 0.5 - 0.5 - 0 - 0 - - - 0 - False - False - - - - - - 20 - 20 - True - True - GTK_RELIEF_NONE - True - + False + 4 - + True - gtk-close - 1 + gtk-no + 4 0.5 0.5 0 - 6 + 0 + + 0 + False + False + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + 20 + 20 + True + True + GTK_RELIEF_NONE + True + + + + + True + gtk-close + 1 + 0.5 + 0.5 + 0 + 6 + + + + + 0 + False + False + - - 0 - False - False - diff --git a/src/tabbed_chat_window.py b/src/tabbed_chat_window.py index 0d6c1730a..d4336a395 100644 --- a/src/tabbed_chat_window.py +++ b/src/tabbed_chat_window.py @@ -212,7 +212,8 @@ class TabbedChatWindow(chat.Chat): show = u.show keyID = u.keyID child = self.childs[jid] - status_image = self.notebook.get_tab_label(child).get_children()[0] + hb = self.notebook.get_tab_label(child).get_children()[0] + status_image = hb.get_children()[0] state_images = self.plugin.roster.get_appropriate_state_images(jid) image = state_images[show] banner_status_image = self.xmls[jid].get_widget('banner_status_image')