@@ -798,12 +798,37 @@ namespace mo2::python {
798798 add_modinterface_classes (m);
799799 add_modrepository_classes (m);
800800
801- py::class_<PluginSetting>(m, " PluginSetting" )
802- .def (py::init<const QString&, const QString&, const QVariant&>(), " key" _a,
803- " description" _a, " default_value" _a)
804- .def_readwrite (" key" , &PluginSetting::key)
805- .def_readwrite (" description" , &PluginSetting::description)
806- .def_readwrite (" default_value" , &PluginSetting::defaultValue);
801+ py::class_<Setting>(m, " Setting" )
802+ .def (py::init ([](const QString& name, const QString& description,
803+ const QVariant& defaultValue) {
804+ mo2::python::show_deprecation_warning (
805+ " Setting(key, description, default)" ,
806+ " Setting(key, description, default) is deprecated, use "
807+ " Setting(name, title, description, default) instead." );
808+ return Setting (name, description, defaultValue);
809+ }),
810+ " key" _a, " description" _a, " default_value" _a)
811+ .def (py::init<const QString&, const QString&, const QString&,
812+ const QVariant&>(),
813+ " name" _a, " title" _a, " description" _a, " default_value" _a)
814+ .def (py::init<const QString&, const QString&, const QString&,
815+ const QString&, const QVariant&>(),
816+ " name" _a, " title" _a, " description" _a, " group" _a, " default_value" _a)
817+ .def_property_readonly (" name" , &Setting::name)
818+ .def_property_readonly (" title" , &Setting::title)
819+ .def_property_readonly (" description" , &Setting::description)
820+ .def_property_readonly (" group" , &Setting::group)
821+ .def_property_readonly (" default_value" , &Setting::defaultValue);
822+
823+ // deprecated alias
824+ m.attr (" PluginSetting" ) = m.attr (" Setting" );
825+
826+ py::class_<SettingGroup>(m, " SettingGroup" )
827+ .def (py::init<const QString&, const QString&, const QString&>(), " name" _a,
828+ " title" _a, " description" _a)
829+ .def_property_readonly (" name" , &SettingGroup::name)
830+ .def_property_readonly (" title" , &SettingGroup::title)
831+ .def_property_readonly (" description" , &SettingGroup::description);
807832
808833 py::class_<PluginRequirementFactory>(m, " PluginRequirementFactory" )
809834 // pluginDependency
0 commit comments