Only enable Join button when all required entries have values; closes #1262
This commit is contained in:
parent
987ae74c10
commit
dd44704af4
|
@ -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:
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue