diff --git a/picard/config.py b/picard/config.py index d01993e62..39e3d10ea 100644 --- a/picard/config.py +++ b/picard/config.py @@ -393,6 +393,13 @@ class Option(QtCore.QObject): raise OptionError("No such option", section, name) return opt.default + @classmethod + def get_title(cls, section, name): + opt = cls.get(section, name) + if opt is None: + raise OptionError("No such option", section, name) + return opt.title + @classmethod def add_if_missing(cls, section, name, default): if not cls.exists(section, name): diff --git a/test/test_config.py b/test/test_config.py index d4af919ab..c70b43f17 100644 --- a/test/test_config.py +++ b/test/test_config.py @@ -124,6 +124,12 @@ class TestPicardConfigOption(TestPicardConfigCommon): with self.assertRaisesRegex(OptionError, "^Option setting/unknown_option: No such option"): Option.get_default("setting", "unknown_option") + def test_get_title(self): + Option("setting", "option", "abc", title="Title") + self.assertEqual(Option.get_title("setting", "option"), "Title") + with self.assertRaisesRegex(OptionError, "^Option setting/unknown_option: No such option"): + Option.get_title("setting", "unknown_option") + class TestPicardConfigSection(TestPicardConfigCommon):