Commit b543f1ab authored by Philipp Hörist's avatar Philipp Hörist
Browse files

Profile: Show error if avatar upload fails

parent d58d6126
Pipeline #7363 passed with stages
in 7 minutes and 8 seconds
...@@ -236,8 +236,10 @@ def _on_save_clicked(self, _widget): ...@@ -236,8 +236,10 @@ def _on_save_clicked(self, _widget):
else: else:
# Only update avatar if it changed # Only update avatar if it changed
con.get_module('UserAvatar').set_avatar(self._new_avatar, con.get_module('UserAvatar').set_avatar(
public=public) self._new_avatar,
nick = GLib.markup_escape_text(self._ui.nickname_entry.get_text()) nick = GLib.markup_escape_text(self._ui.nickname_entry.get_text())
con.get_module('UserNickname').set_nickname(nick, public=public) con.get_module('UserNickname').set_nickname(nick, public=public)
...@@ -247,6 +249,28 @@ def _on_save_clicked(self, _widget): ...@@ -247,6 +249,28 @@ def _on_save_clicked(self, _widget):
self.account, 'name') self.account, 'name')
app.nicks[self.account] = nick app.nicks[self.account] = nick
def _on_set_avatar(self, task):
except StanzaError as error:
if self._new_avatar is None:
# Trying to remove the avatar but the node does not exist
if error.condition == 'item-not-found':
title = _('Error while uploading avatar')
text = error.get_text()
if (error.condition == 'not-acceptable' and
error.app_condition == 'payload-too-big'):
text = _('Avatar file size too big')
ErrorDialog(title, text)
self._new_avatar = False
def _on_remove_avatar(self, _button): def _on_remove_avatar(self, _button):
contact = app.contacts.create_contact(self._jid, self.account) contact = app.contacts.create_contact(self._jid, self.account)
scale = self.get_scale_factor() scale = self.get_scale_factor()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment