int CBookmarkManager::createBookmark (const std::string & url, const std::string & time) {
    char bookmarkname[26]="";
    CStringInputSMS bookmarkname_input(LOCALE_MOVIEPLAYER_BOOKMARKNAME, bookmarkname, 25, LOCALE_MOVIEPLAYER_BOOKMARKNAME_HINT1, LOCALE_MOVIEPLAYER_BOOKMARKNAME_HINT2, "abcdefghijklmnopqrstuvwxyz\xE4\xF6\xFC\xDF""0123456789-_");
    bookmarkname_input.exec(NULL, "");
    // TODO: return -1 if no name was entered
    return createBookmark(ZapitTools::Latin1_to_UTF8(bookmarkname), url, time);
}
int CBookmarkManager::createBookmark (const std::string & url, const std::string & time) {
    char bookmarkname[26]="";
    CStringInputSMS bookmarkname_input(LOCALE_MOVIEPLAYER_BOOKMARKNAME, bookmarkname, 25, LOCALE_MOVIEPLAYER_BOOKMARKNAME_HINT1, LOCALE_MOVIEPLAYER_BOOKMARKNAME_HINT2, "abcdefghijklmnopqrstuvwxyz0123456789-_");
    bookmarkname_input.exec(NULL, "");
    // TODO: return -1 if no name was entered
    if(!strlen(bookmarkname)) return -1;
    return createBookmark(std::string(bookmarkname), url, time);
}
int CBookmarkManager::createBookmark (const std::string & url, const std::string & time) {
	std::string bookmarkname;
	CStringInputSMS bookmarkname_input(LOCALE_MOVIEPLAYER_BOOKMARKNAME, &bookmarkname, 25, LOCALE_MOVIEPLAYER_BOOKMARKNAME_HINT1, LOCALE_MOVIEPLAYER_BOOKMARKNAME_HINT2, "abcdefghijklmnopqrstuvwxyz0123456789-_", this);
	bookmarkname_input.exec(NULL, "");
	if (bookmarkname_entered)
	{
		bookmarkname_entered = false;
		return createBookmark(bookmarkname, url, time);
	}
	return -1;
}
void CBookmarkManager::renameBookmark (unsigned int index) {
	if (index >= bookmarks.size())
		return;

	CBookmark & theBookmark = bookmarks[index];
	char bookmarkname[26];
	strncpy (bookmarkname, theBookmark.getName(), 25);
	CStringInputSMS bookmarkname_input(LOCALE_MOVIEPLAYER_BOOKMARKNAME, bookmarkname, 25, LOCALE_MOVIEPLAYER_BOOKMARKNAME_HINT1, LOCALE_MOVIEPLAYER_BOOKMARKNAME_HINT2, "abcdefghijklmnopqrstuvwxyz0123456789-_");
	bookmarkname_input.exec(NULL, "");

	if (strcmp(theBookmark.getName(), bookmarkname) != 0)
	{
		theBookmark.setName(std::string(bookmarkname));
		bookmarksmodified=true;
	}
}
void CBookmarkManager::renameBookmark (unsigned int index) {
	if (index >= bookmarks.size())
		return;

	CBookmark & theBookmark = bookmarks[index];
	char bookmarkname[26];
	strncpy (bookmarkname, ZapitTools::UTF8_to_Latin1(theBookmark.getName()).c_str(), 25);
	CStringInputSMS bookmarkname_input(LOCALE_MOVIEPLAYER_BOOKMARKNAME, bookmarkname, 25, LOCALE_MOVIEPLAYER_BOOKMARKNAME_HINT1, LOCALE_MOVIEPLAYER_BOOKMARKNAME_HINT2, "abcdefghijklmnopqrstuvwxyz\xE4\xF6\xFC\xDF""0123456789-_");
	bookmarkname_input.exec(NULL, "");

	if (strcmp(ZapitTools::UTF8_to_Latin1(theBookmark.getName()).c_str(), bookmarkname) != 0)
	{
		theBookmark.setName(ZapitTools::Latin1_to_UTF8(bookmarkname));
		bookmarksmodified=true;
	}
}