diff --git a/gtk/main.cc b/gtk/main.cc index 4761cb006..6d49d798c 100644 --- a/gtk/main.cc +++ b/gtk/main.cc @@ -11,6 +11,7 @@ #include #include +#include #include #include @@ -46,11 +47,29 @@ Glib::OptionEntry create_option_entry(Glib::ustring const& long_name, gchar shor entry.set_description(description); return entry; } + +bool to_ustring(tr_variant const& src, Glib::ustring* tgt) +{ + if (auto str = tr::serializer::to_value(src)) + { + *tgt = Glib::ustring{ std::move(*str) }; + return true; + } + + return false; +} + +tr_variant from_ustring(Glib::ustring const& ustr) +{ + return tr::serializer::to_variant(ustr.raw()); +} + } // namespace int main(int argc, char** argv) { tr::app::init(); + tr::serializer::Converters::add(to_ustring, from_ustring); /* init i18n */ bindtextdomain(AppTranslationDomainName, TRANSMISSIONLOCALEDIR);