Welcome to mirror list, hosted at ThFree Co, Russian Federation.

dev.gajim.org/gajim/gajim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlovetox <philipp@hoerist.com>2022-08-20 15:10:53 +0300
committerlovetox <philipp@hoerist.com>2022-08-20 15:10:53 +0300
commita0d690741d3ee71b392695861882364513ffafe1 (patch)
treea0520c9df2ece9b504a8c5e9dc2db203dd3b1d49
parente42454940ef98a84acce09760e7c2f86587ecd19 (diff)
cq: Avatar: Respect AvatarCacheT when setting values
-rw-r--r--gajim/gtk/avatar.py18
1 files changed, 9 insertions, 9 deletions
diff --git a/gajim/gtk/avatar.py b/gajim/gtk/avatar.py
index ad32c3151..34459d021 100644
--- a/gajim/gtk/avatar.py
+++ b/gajim/gtk/avatar.py
@@ -52,8 +52,8 @@ from .util import make_rgba
log = logging.getLogger('gajim.gui.avatar')
-AvatarCacheT = dict[JID, dict[tuple[int, int, Optional[str]],
- cairo.ImageSurface]]
+AvatarCacheT = dict[Union[JID, str], dict[tuple[int, int, Optional[str]],
+ cairo.ImageSurface]]
def generate_avatar(letters: str,
@@ -340,7 +340,7 @@ class AvatarStorage(metaclass=Singleton):
def __init__(self):
self._cache: AvatarCacheT = defaultdict(dict)
- def invalidate_cache(self, jid: JID) -> None:
+ def invalidate_cache(self, jid: Union[JID, str]) -> None:
self._cache.pop(jid, None)
def get_pixbuf(self,
@@ -412,11 +412,11 @@ class AvatarStorage(metaclass=Singleton):
if transport_icon is not None:
surface = load_icon_surface(transport_icon, size, scale)
- self._cache[jid][(size, scale)] = surface
+ self._cache[jid][(size, scale, None)] = surface
return surface
if not default:
- surface = self._cache[jid].get((size, scale))
+ surface = self._cache[jid].get((size, scale, None))
if surface is not None:
return surface
@@ -425,7 +425,7 @@ class AvatarStorage(metaclass=Singleton):
surface = self.surface_from_filename(avatar_sha, size, scale)
if surface is not None:
surface = clip(surface, style)
- self._cache[jid][(size, scale)] = surface
+ self._cache[jid][(size, scale, None)] = surface
return surface
# avatar_sha set, but image is missing
@@ -436,7 +436,7 @@ class AvatarStorage(metaclass=Singleton):
name = get_groupchat_name(con, jid)
letter = self._generate_letter(name)
surface = generate_default_avatar(letter, str(jid), size, scale, style)
- self._cache[jid][(size, scale)] = surface
+ self._cache[jid][(size, scale, None)] = surface
return surface
def get_workspace_surface(self,
@@ -444,7 +444,7 @@ class AvatarStorage(metaclass=Singleton):
size: int,
scale: int) -> Optional[cairo.ImageSurface]:
- surface = self._cache[workspace_id].get((size, scale))
+ surface = self._cache[workspace_id].get((size, scale, None))
if surface is not None:
return surface
@@ -465,7 +465,7 @@ class AvatarStorage(metaclass=Singleton):
letter = name[:1].upper()
surface = make_workspace_avatar(
letter, rgba_to_float(rgba), size, scale)
- self._cache[workspace_id][(size, scale)] = surface
+ self._cache[workspace_id][(size, scale, None)] = surface
return surface
@staticmethod