Remove unnecessary locale/UTF-8 encoding conversions

This commit is contained in:
Jānis Rūcis
2010-05-20 19:13:48 +03:00
parent f1193766e1
commit b566370748
9 changed files with 20 additions and 38 deletions

View File

@@ -170,31 +170,13 @@ void IntRadioExport(GtkRadioButton& widget, const IntImportCallback& importCallb
}
typedef ImportExport<GtkRadioButton, int, IntRadioImport, IntRadioExport> IntRadioImportExport;
template<typename Type, typename Formatter>
class StringFromType
{
StringOutputStream value;
public:
StringFromType(const Type& type)
{
value << Formatter(type);
}
operator const char*() const
{
return value.c_str();
}
};
typedef StringFromType<const char*, ConvertLocaleToUTF8> LocaleToUTF8;
typedef StringFromType<const char*, ConvertUTF8ToLocale> UTF8ToLocale;
void TextEntryImport(GtkEntry& widget, const char* text)
{
gtk_entry_set_text(&widget, LocaleToUTF8(text));
gtk_entry_set_text(&widget, text);
}
void TextEntryExport(GtkEntry& widget, const StringImportCallback& importCallback)
{
importCallback(UTF8ToLocale(gtk_entry_get_text(&widget)));
importCallback(gtk_entry_get_text(&widget));
}
typedef ImportExport<GtkEntry, const char*, TextEntryImport, TextEntryExport> TextEntryImportExport;