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

Commits:

1 changed file:

Changes:

  • gajim/common/settings.py
    ... ... @@ -383,6 +383,13 @@ class _Settings:
    383 383
             if setting not in APP_SETTINGS:
    
    384 384
                 raise ValueError(f'Invalid app setting: {setting}')
    
    385 385
     
    
    386
    +        if value is None:
    
    387
    +            try:
    
    388
    +                del self._settings['app'][setting]
    
    389
    +            except KeyError:
    
    390
    +                pass
    
    391
    +            return
    
    392
    +
    
    386 393
             default = APP_SETTINGS[setting]
    
    387 394
             if not isinstance(value, type(default)):
    
    388 395
                 raise TypeError(f'Invalid type for {setting}: '
    
    ... ... @@ -484,6 +491,13 @@ class _Settings:
    484 491
             if setting not in ACCOUNT_SETTINGS['account']:
    
    485 492
                 raise ValueError(f'Invalid account setting: {setting}')
    
    486 493
     
    
    494
    +        if value is None:
    
    495
    +            try:
    
    496
    +                del self._account_settings[account]['account'][setting]
    
    497
    +            except KeyError:
    
    498
    +                pass
    
    499
    +            return
    
    500
    +
    
    487 501
             default = ACCOUNT_SETTINGS['account'][setting]
    
    488 502
             if not isinstance(value, type(default)):
    
    489 503
                 raise TypeError(f'Invalid type for {setting}: '
    
    ... ... @@ -529,6 +543,13 @@ class _Settings:
    529 543
             if setting not in ACCOUNT_SETTINGS['group_chat']:
    
    530 544
                 raise ValueError(f'Invalid group chat setting: {setting}')
    
    531 545
     
    
    546
    +        if value is None:
    
    547
    +            try:
    
    548
    +                del self._account_settings[account]['group_chat'][setting]
    
    549
    +            except KeyError:
    
    550
    +                pass
    
    551
    +            return
    
    552
    +
    
    532 553
             default = ACCOUNT_SETTINGS['group_chat'][setting]
    
    533 554
             if default is HAS_APP_DEFAULT:
    
    534 555
                 if context is None:
    
    ... ... @@ -579,6 +600,13 @@ class _Settings:
    579 600
             if setting not in ACCOUNT_SETTINGS['contact']:
    
    580 601
                 raise ValueError(f'Invalid contact setting: {setting}')
    
    581 602
     
    
    603
    +        if value is None:
    
    604
    +            try:
    
    605
    +                del self._account_settings[account]['contact'][setting]
    
    606
    +            except KeyError:
    
    607
    +                pass
    
    608
    +            return
    
    609
    +
    
    582 610
             default = ACCOUNT_SETTINGS['contact'][setting]
    
    583 611
             if default is HAS_APP_DEFAULT:
    
    584 612
                 default = APP_SETTINGS[f'{setting}_default']