Add support for title to Option.add_if_missing()

This commit is contained in:
Laurent Monin
2024-04-13 18:20:36 +02:00
parent ba5c8dbc2b
commit fac0ed5155
2 changed files with 4 additions and 3 deletions

View File

@@ -401,9 +401,9 @@ class Option(QtCore.QObject):
return opt.title
@classmethod
def add_if_missing(cls, section, name, default):
def add_if_missing(cls, section, name, default, *args, **kwargs):
if not cls.exists(section, name):
cls(section, name, default)
cls(section, name, default, *args, **kwargs)
@classmethod
def exists(cls, section, name):

View File

@@ -110,8 +110,9 @@ class TestPicardConfigOption(TestPicardConfigCommon):
Option.add_if_missing("setting", "option", "def")
self.assertEqual(self.config.setting["option"], "abc")
Option.add_if_missing("setting", "missing_option", "def")
Option.add_if_missing("setting", "missing_option", "def", title="TITLE")
self.assertEqual(self.config.setting["missing_option"], "def")
self.assertEqual(Option.get_title('setting', 'missing_option'), 'TITLE')
def test_double_declaration(self):
Option("setting", "option", "abc")