we no longer stay in change status message item in status switcher
This commit is contained in:
parent
5b1d6457d9
commit
5894307bf9
|
@ -1400,7 +1400,7 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
|||
self.send_status(account, status, message)
|
||||
|
||||
def on_status_combobox_changed(self, widget):
|
||||
'''When we change our status'''
|
||||
'''When we change our status via the combobox'''
|
||||
model = self.status_combobox.get_model()
|
||||
active = self.status_combobox.get_active()
|
||||
if active == -1: # no active item
|
||||
|
@ -1414,7 +1414,9 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
|||
return
|
||||
status = model[active][2].decode('utf-8')
|
||||
one_connected = helpers.one_account_connected()
|
||||
if not status: # We choose change status message
|
||||
if active == 7: # We choose change status message (7 is that)
|
||||
# do not change show, just show change status dialog
|
||||
#FIXME: remove this if block when http://bugzilla.gnome.org/show_bug.cgi?id=318518 is fixed
|
||||
if not one_connected:
|
||||
dialogs.ErrorDialog(_('No account connected'),
|
||||
_('You must be connected to change your status message.')
|
||||
|
@ -1428,9 +1430,13 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
|||
if not gajim.config.get_per('accounts', acct,
|
||||
'sync_with_global_status'):
|
||||
continue
|
||||
show = gajim.SHOW_LIST[gajim.connections[acct].connected]
|
||||
self.send_status(acct, show, message)
|
||||
current_show = gajim.SHOW_LIST[gajim.connections[acct].connected]
|
||||
self.send_status(acct, current_show, message)
|
||||
self.status_combobox.set_active(self.previous_status_combobox_active)
|
||||
return
|
||||
# we are about to change show, so save this new show so in case
|
||||
# after user chooses "Change status" menuitem we can return to this show
|
||||
self.previous_status_combobox_active = active
|
||||
if status == 'invisible':
|
||||
bug_user = False
|
||||
for acct in accounts:
|
||||
|
@ -2383,14 +2389,25 @@ _('If "%s" accepts this request you will know his status.') %jid)
|
|||
# sensitivity to False because by default we're offline
|
||||
self.status_message_menuitem_iter = liststore.append(
|
||||
[_('Change Status Message...'), img, '', False])
|
||||
# Add a Separator (self.iter_is_separator() checks on string SEPARATOR)
|
||||
# Add a Separator (self.itFer_is_separator() checks on string SEPARATOR)
|
||||
liststore.append(['SEPARATOR', None, '', True])
|
||||
|
||||
uf_show = helpers.get_uf_show('offline')
|
||||
liststore.append([uf_show, self.jabber_state_images['offline'],
|
||||
'offline', True])
|
||||
|
||||
status_combobox_items = ['online', 'chat', 'away', 'xa', 'dnd', 'invisible',
|
||||
'separator1', 'change_status_msg', 'separator2', 'offline']
|
||||
self.status_combobox.set_model(liststore)
|
||||
self.status_combobox.set_active(9) # default to offline
|
||||
|
||||
# default to offline
|
||||
number_of_menuitem = status_combobox_items.index('offline')
|
||||
self.status_combobox.set_active(number_of_menuitem)
|
||||
|
||||
# holds index to previously selected item so if "change status message..."
|
||||
# is selected we can fallback to previously selected item and not stay
|
||||
# with that item selected
|
||||
self.previous_status_combobox_active = number_of_menuitem
|
||||
|
||||
showOffline = gajim.config.get('showoffline')
|
||||
self.xml.get_widget('show_offline_contacts_menuitem').set_active(
|
||||
|
|
Loading…
Reference in New Issue