Philipp Hörist pushed to branch master at gajim / gajim

Commits:

4 changed files:

Changes:

  • gajim/common/setting_values.py
    ... ... @@ -164,7 +164,7 @@ class _ACCOUNT_DEFAULT:
    164 164
     ]
    
    165 165
     
    
    166 166
     AllSettings = Literal[BoolSettings, IntSettings, StringSettings]
    
    167
    -AllSettingsT = Union[str, int, bool]
    
    167
    +AllSettingsT = Union[str, int, bool, list[str]]
    
    168 168
     
    
    169 169
     APP_SETTINGS = {
    
    170 170
         'always_english_wikipedia': False,
    

  • gajim/common/settings.py
    ... ... @@ -585,6 +585,12 @@ def set_app_setting(self,
    585 585
                             value: Optional[int]) -> None:
    
    586 586
             ...
    
    587 587
     
    
    588
    +    @overload
    
    589
    +    def set_app_setting(self,
    
    590
    +                        setting: Literal['workspace_order'],
    
    591
    +                        value: list[str]) -> None:
    
    592
    +        ...
    
    593
    +
    
    588 594
         def set_app_setting(self,
    
    589 595
                             setting: str,
    
    590 596
                             value: Optional[AllSettingsT]) -> None:
    

  • gajim/gtk/avatar.py
    ... ... @@ -52,8 +52,8 @@
    52 52
     log = logging.getLogger('gajim.gui.avatar')
    
    53 53
     
    
    54 54
     
    
    55
    -AvatarCacheT = dict[JID, dict[tuple[int, int, Optional[str]],
    
    56
    -                              cairo.ImageSurface]]
    
    55
    +AvatarCacheT = dict[Union[JID, str], dict[tuple[int, int, Optional[str]],
    
    56
    +                                          cairo.ImageSurface]]
    
    57 57
     
    
    58 58
     
    
    59 59
     def generate_avatar(letters: str,
    
    ... ... @@ -340,7 +340,7 @@ class AvatarStorage(metaclass=Singleton):
    340 340
         def __init__(self):
    
    341 341
             self._cache: AvatarCacheT = defaultdict(dict)
    
    342 342
     
    
    343
    -    def invalidate_cache(self, jid: JID) -> None:
    
    343
    +    def invalidate_cache(self, jid: Union[JID, str]) -> None:
    
    344 344
             self._cache.pop(jid, None)
    
    345 345
     
    
    346 346
         def get_pixbuf(self,
    
    ... ... @@ -412,11 +412,11 @@ def get_muc_surface(self,
    412 412
     
    
    413 413
             if transport_icon is not None:
    
    414 414
                 surface = load_icon_surface(transport_icon, size, scale)
    
    415
    -            self._cache[jid][(size, scale)] = surface
    
    415
    +            self._cache[jid][(size, scale, None)] = surface
    
    416 416
                 return surface
    
    417 417
     
    
    418 418
             if not default:
    
    419
    -            surface = self._cache[jid].get((size, scale))
    
    419
    +            surface = self._cache[jid].get((size, scale, None))
    
    420 420
                 if surface is not None:
    
    421 421
                     return surface
    
    422 422
     
    
    ... ... @@ -425,7 +425,7 @@ def get_muc_surface(self,
    425 425
                     surface = self.surface_from_filename(avatar_sha, size, scale)
    
    426 426
                     if surface is not None:
    
    427 427
                         surface = clip(surface, style)
    
    428
    -                    self._cache[jid][(size, scale)] = surface
    
    428
    +                    self._cache[jid][(size, scale, None)] = surface
    
    429 429
                         return surface
    
    430 430
     
    
    431 431
                     # avatar_sha set, but image is missing
    
    ... ... @@ -436,7 +436,7 @@ def get_muc_surface(self,
    436 436
             name = get_groupchat_name(con, jid)
    
    437 437
             letter = self._generate_letter(name)
    
    438 438
             surface = generate_default_avatar(letter, str(jid), size, scale, style)
    
    439
    -        self._cache[jid][(size, scale)] = surface
    
    439
    +        self._cache[jid][(size, scale, None)] = surface
    
    440 440
             return surface
    
    441 441
     
    
    442 442
         def get_workspace_surface(self,
    
    ... ... @@ -444,7 +444,7 @@ def get_workspace_surface(self,
    444 444
                                   size: int,
    
    445 445
                                   scale: int) -> Optional[cairo.ImageSurface]:
    
    446 446
     
    
    447
    -        surface = self._cache[workspace_id].get((size, scale))
    
    447
    +        surface = self._cache[workspace_id].get((size, scale, None))
    
    448 448
             if surface is not None:
    
    449 449
                 return surface
    
    450 450
     
    
    ... ... @@ -465,7 +465,7 @@ def get_workspace_surface(self,
    465 465
             letter = name[:1].upper()
    
    466 466
             surface = make_workspace_avatar(
    
    467 467
                 letter, rgba_to_float(rgba), size, scale)
    
    468
    -        self._cache[workspace_id][(size, scale)] = surface
    
    468
    +        self._cache[workspace_id][(size, scale, None)] = surface
    
    469 469
             return surface
    
    470 470
     
    
    471 471
         @staticmethod
    

  • pyrightconfig.json
    ... ... @@ -123,6 +123,7 @@
    123 123
             "gajim/gtk/util.py",
    
    124 124
             "gajim/gtk/video_preview.py",
    
    125 125
             "gajim/gtk/workspace_dialog.py",
    
    126
    +        "gajim/gtk/workspace_side_bar.py",
    
    126 127
             "gajim/gtk/xml_console.py",
    
    127 128
             "gajim/plugins/gajimplugin.py",
    
    128 129
             "gajim/plugins/helpers.py",