fix join gc dialog

This commit is contained in:
Denis Fomin 2013-01-04 15:20:04 +04:00
parent 80fcd4d577
commit 04e92b0398
2 changed files with 68 additions and 50 deletions

View File

@ -1,21 +1,27 @@
<?xml version="1.0"?>
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk+" version="2.16"/>
<!-- interface-naming-policy toplevel-contextual -->
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-find</property>
</object>
<object class="GtkWindow" id="join_groupchat_window">
<property name="can_focus">False</property>
<property name="border_width">6</property>
<property name="title" translatable="yes">Join Group Chat</property>
<property name="type_hint">dialog</property>
<signal name="destroy" handler="on_join_groupchat_window_destroy"/>
<signal name="key_press_event" handler="on_join_groupchat_window_key_press_event"/>
<signal name="destroy" handler="on_join_groupchat_window_destroy" swapped="no"/>
<signal name="key-press-event" handler="on_join_groupchat_window_key_press_event" swapped="no"/>
<child>
<object class="GtkVBox" id="vbox28">
<property name="visible">True</property>
<property name="orientation">vertical</property>
<property name="can_focus">False</property>
<property name="spacing">12</property>
<child>
<object class="GtkTable" id="table15">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="n_rows">8</property>
<property name="n_columns">2</property>
<property name="column_spacing">12</property>
@ -26,7 +32,7 @@
<property name="can_focus">True</property>
<property name="has_focus">True</property>
<property name="activates_default">True</property>
<signal name="changed" handler="on_required_entry_changed"/>
<signal name="changed" handler="on_required_entry_changed" swapped="no"/>
</object>
<packing>
<property name="left_attach">1</property>
@ -41,7 +47,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="activates_default">True</property>
<signal name="changed" handler="on_required_entry_changed"/>
<signal name="changed" handler="on_required_entry_changed" swapped="no"/>
</object>
<packing>
<property name="left_attach">1</property>
@ -54,6 +60,7 @@
<child>
<object class="GtkLabel" id="label143">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Room:</property>
</object>
@ -67,6 +74,7 @@
<child>
<object class="GtkLabel" id="label142">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Nickname:</property>
</object>
@ -80,6 +88,7 @@
<child>
<object class="GtkLabel" id="label225">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Recently:</property>
</object>
@ -93,7 +102,8 @@
<child>
<object class="GtkComboBox" id="recently_combobox">
<property name="visible">True</property>
<signal name="changed" handler="on_recently_combobox_changed"/>
<property name="can_focus">False</property>
<signal name="changed" handler="on_recently_combobox_changed" swapped="no"/>
</object>
<packing>
<property name="left_attach">1</property>
@ -107,6 +117,7 @@
<child>
<object class="GtkLabel" id="label145">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Password:</property>
</object>
@ -135,11 +146,14 @@
<child>
<object class="GtkCheckButton" id="auto_join_checkbutton">
<property name="label" translatable="yes">Join this room _automatically when I connect</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
</object>
<packing>
@ -152,6 +166,7 @@
</child>
<child>
<object class="GtkLabel" id="account_label">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Account</property>
@ -163,8 +178,9 @@
</child>
<child>
<object class="GtkComboBox" id="account_combobox">
<property name="can_focus">False</property>
<property name="no_show_all">True</property>
<signal name="changed" handler="on_account_combobox_changed"/>
<signal name="changed" handler="on_account_combobox_changed" swapped="no"/>
</object>
<packing>
<property name="left_attach">1</property>
@ -176,12 +192,15 @@
<child>
<object class="GtkCheckButton" id="bookmark_checkbutton">
<property name="label" translatable="yes">_Bookmark this room</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
<property name="use_action_appearance">False</property>
<property name="use_underline">True</property>
<property name="xalign">0</property>
<property name="draw_indicator">True</property>
<signal name="toggled" handler="on_bookmark_checkbutton_toggled"/>
<signal name="toggled" handler="on_bookmark_checkbutton_toggled" swapped="no"/>
</object>
<packing>
<property name="right_attach">2</property>
@ -194,6 +213,7 @@
<child>
<object class="GtkLabel" id="label1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Server:</property>
</object>
@ -205,27 +225,27 @@
<child>
<object class="GtkHBox" id="hbox1">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">6</property>
<child>
<object class="GtkComboBox" id="server_comboboxentry">
<property name="visible">True</property>
<property name="model">liststore1</property>
</object>
<packing>
<property name="position">0</property>
</packing>
<placeholder/>
</child>
<child>
<object class="GtkButton" id="browse_rooms_button">
<property name="label" translatable="yes">Bro_wse Rooms</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_action_appearance">False</property>
<property name="image">image1</property>
<property name="use_underline">True</property>
<signal name="clicked" handler="on_browse_rooms_button_clicked"/>
<signal name="clicked" handler="on_browse_rooms_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
@ -241,23 +261,27 @@
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkHButtonBox" id="hbuttonbox12">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">12</property>
<property name="layout_style">end</property>
<child>
<object class="GtkButton" id="cancel_button">
<property name="label">gtk-cancel</property>
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="receives_default">False</property>
<property name="use_action_appearance">False</property>
<property name="use_stock">True</property>
<signal name="clicked" handler="on_cancel_button_clicked"/>
<signal name="clicked" handler="on_cancel_button_clicked" swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
@ -267,24 +291,29 @@
</child>
<child>
<object class="GtkButton" id="join_button">
<property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="can_default">True</property>
<property name="has_default">True</property>
<property name="receives_default">False</property>
<signal name="clicked" handler="on_join_button_clicked"/>
<property name="use_action_appearance">False</property>
<signal name="clicked" handler="on_join_button_clicked" swapped="no"/>
<child>
<object class="GtkAlignment" id="alignment25">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<child>
<object class="GtkHBox" id="hbox37">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="spacing">2</property>
<child>
<object class="GtkImage" id="image148">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="stock">gtk-apply</property>
</object>
<packing>
@ -296,6 +325,7 @@
<child>
<object class="GtkLabel" id="label146">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="label" translatable="yes">_Join</property>
<property name="use_underline">True</property>
</object>
@ -319,6 +349,7 @@
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
<property name="pack_type">end</property>
<property name="position">1</property>
</packing>
@ -326,14 +357,4 @@
</object>
</child>
</object>
<object class="GtkListStore" id="liststore1">
<columns>
<!-- column-name gchararray1 -->
<column type="gchararray"/>
</columns>
</object>
<object class="GtkImage" id="image1">
<property name="visible">True</property>
<property name="stock">gtk-find</property>
</object>
</interface>

View File

@ -2382,18 +2382,13 @@ class JoinGroupchatWindow:
title = _('Join Group Chat')
self.window.set_title(title)
self.server_comboboxentry = self.xml.get_object('server_comboboxentry')
liststore = Gtk.ListStore(str)
self.server_comboboxentry.set_model(liststore)
cell = Gtk.CellRendererText()
self.server_comboboxentry.pack_start(cell, True)
self.server_comboboxentry.add_attribute(cell, 'text', 0)
self.server_comboboxentry.set_active(-1)
self.server_model = liststore#self.server_comboboxentry.get_model()
server_list = []
# get the muc server of our server
if 'jabber' in gajim.connections[account].muc_jid:
server_list.append(gajim.connections[account].muc_jid['jabber'])
self.server_model = Gtk.ListStore(str)
self.server_comboboxentry = Gtk.ComboBox.new_with_model_and_entry(
self.server_model)
self.server_comboboxentry.set_entry_text_column(0)
hbox1 = self.xml.get_object('hbox1')
hbox1.pack_start(self.server_comboboxentry, False, False, 0)
self.recently_combobox = self.xml.get_object('recently_combobox')
liststore = Gtk.ListStore(str)
@ -2402,6 +2397,11 @@ class JoinGroupchatWindow:
self.recently_combobox.pack_start(cell, True)
self.recently_combobox.add_attribute(cell, 'text', 0)
self.recently_groupchat = gajim.config.get('recently_groupchat').split()
server_list = []
# get the muc server of our server
if 'jabber' in gajim.connections[account].muc_jid:
server_list.append(gajim.connections[account].muc_jid['jabber'])
for g in self.recently_groupchat:
liststore.append([g])
server = gajim.get_server_from_jid(g)
@ -2410,7 +2410,7 @@ class JoinGroupchatWindow:
for s in server_list:
self.server_model.append([s])
self.server_comboboxentry.set_active(0)
self._set_room_jid(room_jid)
@ -2474,8 +2474,7 @@ class JoinGroupchatWindow:
room, server = gajim.get_name_and_server_from_jid(room_jid)
self._room_jid_entry.set_text(room)
model = self.server_comboboxentry.get_model()
model.append([server])
#self.server_comboboxentry.set_active(0)
self.server_comboboxentry.get_child().set_text(server)
def on_recently_combobox_changed(self, widget):
model = widget.get_model()
@ -2521,10 +2520,8 @@ class JoinGroupchatWindow:
'groupchat.'))
return
nickname = self._nickname_entry.get_text()
row = self.server_comboboxentry.get_child().get_displayed_row()
model = self.server_comboboxentry.get_model()
server = model[row][0].strip()
room = self._room_jid_entry.get_text().decode('utf-8').strip()
server = self.server_comboboxentry.get_child().get_text()
room = self._room_jid_entry.get_text().strip()
room_jid = room + '@' + server
password = self._password_entry.get_text()
try: