Only enable Join button when all required entries have values; closes #1262

This commit is contained in:
Travis Shirk 2006-01-14 21:59:59 +00:00
parent 987ae74c10
commit dd44704af4
2 changed files with 26 additions and 0 deletions

View File

@ -718,6 +718,19 @@ _('You can not join a group chat unless you are connected.')).get_response()
elif room and server:
self.xml.get_widget('join_button').grab_focus()
self._empty_required_widgets = []
self._server_entry = self.xml.get_widget('server_entry')
self._room_entry = self.xml.get_widget('room_entry')
self._nickname_entry = self.xml.get_widget('nickname_entry')
if not self._server_entry.get_text():
self._empty_required_widgets.append(self._server_entry)
if not self._room_entry.get_text():
self._empty_required_widgets.append(self._room_entry)
if not self._nickname_entry.get_text():
self._empty_required_widgets.append(self._nickname_entry)
if len(self._empty_required_widgets):
self.xml.get_widget('join_button').set_sensitive(False)
self.window.show_all()
def on_join_groupchat_window_destroy(self, widget):
@ -729,6 +742,16 @@ _('You can not join a group chat unless you are connected.')).get_response()
if event.keyval == gtk.keysyms.Escape: # ESCAPE
widget.destroy()
def on_required_entry_changed(self, widget):
if not widget.get_text():
self._empty_required_widgets.append(widget)
self.xml.get_widget('join_button').set_sensitive(False)
else:
if widget in self._empty_required_widgets:
self._empty_required_widgets.remove(widget)
if len(self._empty_required_widgets) == 0:
self.xml.get_widget('join_button').set_sensitive(True)
def on_room_entry_key_press_event(self, widget, event):
# Check for pressed @ and jump to server_entry if found
if event.keyval == gtk.keysyms.at:

View File

@ -9434,6 +9434,7 @@ Custom</property>
<property name="invisible_char">*</property>
<property name="activates_default">True</property>
<signal name="key_press_event" handler="on_server_entry_key_press_event" last_modification_time="Fri, 25 Nov 2005 22:09:39 GMT"/>
<signal name="changed" handler="on_required_entry_changed" last_modification_time="Sat, 14 Jan 2006 21:51:55 GMT"/>
</widget>
<packing>
<property name="left_attach">1</property>
@ -9457,6 +9458,7 @@ Custom</property>
<property name="invisible_char">*</property>
<property name="activates_default">True</property>
<signal name="key_press_event" handler="on_room_entry_key_press_event" last_modification_time="Fri, 25 Nov 2005 22:07:30 GMT"/>
<signal name="changed" handler="on_required_entry_changed" last_modification_time="Sat, 14 Jan 2006 21:51:39 GMT"/>
</widget>
<packing>
<property name="left_attach">1</property>
@ -9478,6 +9480,7 @@ Custom</property>
<property name="has_frame">True</property>
<property name="invisible_char">*</property>
<property name="activates_default">True</property>
<signal name="changed" handler="on_required_entry_changed" last_modification_time="Sat, 14 Jan 2006 21:51:24 GMT"/>
</widget>
<packing>
<property name="left_attach">1</property>