From 375073b01a3b097a727da6dfdff7919816c63e18 Mon Sep 17 00:00:00 2001 From: vanhofen Date: Thu, 21 May 2015 08:59:07 +0200 Subject: [PATCH] moviebrowser: add menu to allow copy, cat or truncate movies TODO: add good hints to explain these functions Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/d8a4dd2c0da9b21ef726aa0358734032d21d0ce1 Author: vanhofen Date: 2015-05-21 (Thu, 21 May 2015) Origin message was: ------------------ - moviebrowser: add menu to allow copy, cat or truncate movies TODO: add good hints to explain these functions ------------------ This commit was generated by Migit --- data/locale/deutsch.locale | 9 ++ data/locale/english.locale | 9 ++ src/gui/moviebrowser.cpp | 238 ++++++++++++++++++++++++++----------- src/gui/moviebrowser.h | 3 + src/system/locals.h | 9 ++ src/system/locals_intern.h | 9 ++ 6 files changed, 207 insertions(+), 70 deletions(-) diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index f486a410e..dc8072fd9 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -1565,11 +1565,15 @@ moviebrowser.head_filter Filme nach Kategorie filtern: moviebrowser.head_playlist Zuletzt gesehen: moviebrowser.head_recordlist Zuletzt aufgenommen: moviebrowser.hide_series Verstecke Serien +moviebrowser.hint_copy_onefile +moviebrowser.hint_copy_several +moviebrowser.hint_cut moviebrowser.hint_jumpbackward Rücksprung in 5 s\n '0' zum Weitersehen moviebrowser.hint_jumpforward Werbung überspringen in 5 s\n '0' zum Ansehen moviebrowser.hint_movieend Filmende in 5 s\n '0' zum Weitersehen moviebrowser.hint_newbook_backward Neue Wiederholung\n 'blue' für Endposition moviebrowser.hint_newbook_forward Neuer Werbesprung\n 'blue' für Endposition +moviebrowser.hint_truncate moviebrowser.info_audio Audio moviebrowser.info_channel Kanal moviebrowser.info_file Datei @@ -1601,6 +1605,10 @@ moviebrowser.info_videoformat Bildformat moviebrowser.last_play_max_items Zeilen 'zuletzt aufgenommen' moviebrowser.last_record_max_items Zeilen 'zuletzt gesehen' moviebrowser.load_default Lade Voreinstellung +moviebrowser.menu_copy_onefile Film kopieren +moviebrowser.menu_copy_several Film kopieren und teilen +moviebrowser.menu_cut Film schneiden +moviebrowser.menu_cut_head Kopieren, Schneiden und Kürzen moviebrowser.menu_directories_head Verzeichnisse/Freier Speicher moviebrowser.menu_help_head Hilfe moviebrowser.menu_main_bookmarks Markierungen @@ -1614,6 +1622,7 @@ moviebrowser.menu_parental_lock_head Jugendschutz moviebrowser.menu_parental_lock_rate_head Filme sperren ab moviebrowser.menu_save Veränderungen speichern moviebrowser.menu_save_all Starte Übernahme in allen sichtbaren Filminfos +moviebrowser.menu_truncate Film kürzen moviebrowser.option_browser Anzeigeoptionen moviebrowser.reload_at_start Filminfos neu laden bei Start moviebrowser.remount_at_start Filmdepot verbinden bei Start diff --git a/data/locale/english.locale b/data/locale/english.locale index eddb74d42..738b3889f 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -1567,11 +1567,15 @@ moviebrowser.head_filter Filter movies by category: moviebrowser.head_playlist Last played: moviebrowser.head_recordlist Last recorded: moviebrowser.hide_series Hide series +moviebrowser.hint_copy_onefile +moviebrowser.hint_copy_several +moviebrowser.hint_cut moviebrowser.hint_jumpbackward Jump back in 5 s\n '0' to cancel moviebrowser.hint_jumpforward Jump forward in 5 s\n '0' to cancel moviebrowser.hint_movieend Film end in 5 s\n '0' to cancel moviebrowser.hint_newbook_backward New jump back\n 'blue' for endposition moviebrowser.hint_newbook_forward New jump forward\n 'blue' for endposition +moviebrowser.hint_truncate moviebrowser.info_audio Audio moviebrowser.info_channel Channel moviebrowser.info_file File @@ -1603,6 +1607,10 @@ moviebrowser.info_videoformat Picture moviebrowser.last_play_max_items Number of lines last play moviebrowser.last_record_max_items Number of lines last record moviebrowser.load_default Load default settings +moviebrowser.menu_copy_onefile Copy movie +moviebrowser.menu_copy_several Copy and split movie +moviebrowser.menu_cut Cut movie +moviebrowser.menu_cut_head Copy, cut and truncate moviebrowser.menu_directories_head Paths moviebrowser.menu_help_head Help moviebrowser.menu_main_bookmarks Bookmarks @@ -1616,6 +1624,7 @@ moviebrowser.menu_parental_lock_head Parental Lock moviebrowser.menu_parental_lock_rate_head Lock movies from moviebrowser.menu_save Save changes moviebrowser.menu_save_all Start update of movie info files +moviebrowser.menu_truncate Truncate movie moviebrowser.option_browser Browser Options moviebrowser.reload_at_start Reload movie info at start moviebrowser.remount_at_start Remount at start diff --git a/src/gui/moviebrowser.cpp b/src/gui/moviebrowser.cpp index 181bd748c..b431c343a 100644 --- a/src/gui/moviebrowser.cpp +++ b/src/gui/moviebrowser.cpp @@ -497,6 +497,9 @@ void CMovieBrowser::init(void) show_mode = MB_SHOW_RECORDS; //FIXME CChannelLogo = NULL; + + m_doRefresh = false; + m_doLoadMovies = false; } void CMovieBrowser::initGlobalSettings(void) @@ -794,6 +797,15 @@ int CMovieBrowser::exec(CMenuTarget* parent, const std::string & actionKey) if (m_movieSelectionHandler != NULL) return showMovieInfoMenu(m_movieSelectionHandler); } + else if (actionKey == "show_movie_cut_menu") + { + if (m_movieSelectionHandler != NULL) + { + if (parent) + parent->hide(); + return showMovieCutMenu(); + } + } else if (actionKey == "save_movie_info") { m_movieInfo.saveMovieInfo(*m_movieSelectionHandler); @@ -868,6 +880,84 @@ int CMovieBrowser::exec(CMenuTarget* parent, const std::string & actionKey) showYTMenu(true); saveSettings(&m_settings); } + else if (actionKey == "copy_onefile" || actionKey == "copy_several") + { + bool onefile = (actionKey == "copy_onefile"); + if ((show_mode == MB_SHOW_RECORDS) && (ShowMsg(LOCALE_MESSAGEBOX_INFO, onefile ? LOCALE_MOVIEBROWSER_COPY : LOCALE_MOVIEBROWSER_COPIES, CMessageBox::mbrNo, CMessageBox::mbYes | CMessageBox::mbNo) == CMessageBox::mbrYes)) + { + CHintBox * hintBox = new CHintBox(LOCALE_MESSAGEBOX_INFO, LOCALE_MOVIEBROWSER_COPYING); + hintBox->paint(); + sleep(1); + hintBox->hide(); + delete hintBox; + framebuffer->paintBackground(); // clear screen + CMovieCut mc; + bool res = mc.copyMovie(m_movieSelectionHandler, &m_movieInfo, onefile); + //g_RCInput->clearRCMsg(); + if (res == 0) + ShowMsg(LOCALE_MESSAGEBOX_ERROR, LOCALE_MOVIEBROWSER_COPY_FAILED, CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); + else + m_doLoadMovies = true; + m_doRefresh = true; + } + } + else if (actionKey == "cut") + { +#if 0 + if ((m_movieSelectionHandler == playing_info) && (NeutrinoMessages::mode_ts == CNeutrinoApp::getInstance()->getMode())) + ShowMsg(LOCALE_MESSAGEBOX_ERROR, "Impossible to cut playing movie.", CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); + else +#endif + if ((show_mode == MB_SHOW_RECORDS) && (ShowMsg(LOCALE_MESSAGEBOX_INFO, LOCALE_MOVIEBROWSER_CUT, CMessageBox::mbrNo, CMessageBox::mbYes | CMessageBox::mbNo) == CMessageBox::mbrYes)) + { + CHintBox * hintBox = new CHintBox(LOCALE_MESSAGEBOX_INFO, LOCALE_MOVIEBROWSER_CUTTING); + hintBox->paint(); + sleep(1); + hintBox->hide(); + delete hintBox; + framebuffer->paintBackground(); // clear screen + CMovieCut mc; + bool res = mc.cutMovie(m_movieSelectionHandler, &m_movieInfo); + //g_RCInput->clearRCMsg(); + if (!res) + ShowMsg(LOCALE_MESSAGEBOX_ERROR, LOCALE_MOVIEBROWSER_CUT_FAILED, CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); + else + m_doLoadMovies = true; + m_doRefresh = true; + } + } + else if (actionKey == "truncate") + { + if ((show_mode == MB_SHOW_RECORDS) && m_movieSelectionHandler != NULL) + { + if ((m_movieSelectionHandler == playing_info) && (NeutrinoMessages::mode_ts == CNeutrinoApp::getInstance()->getMode())) + ShowMsg(LOCALE_MESSAGEBOX_ERROR, LOCALE_MOVIEBROWSER_TRUNCATE_FAILED_PLAYING, CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); + else if (m_movieSelectionHandler->bookmarks.end == 0) + ShowMsg(LOCALE_MESSAGEBOX_ERROR, LOCALE_MOVIEBROWSER_BOOK_NO_END, CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); + else + { + if (ShowMsg(LOCALE_MESSAGEBOX_INFO, LOCALE_MOVIEBROWSER_TRUNCATE, CMessageBox::mbrNo, CMessageBox::mbYes | CMessageBox::mbNo) == CMessageBox::mbrYes) + { + CHintBox * hintBox = new CHintBox(LOCALE_MESSAGEBOX_INFO, LOCALE_MOVIEBROWSER_TRUNCATING); + hintBox->paint(); + CMovieCut mc; + bool res = mc.truncateMovie(m_movieSelectionHandler); + hintBox->hide(); + delete hintBox; + g_RCInput->clearRCMsg(); + if (!res) + ShowMsg(LOCALE_MESSAGEBOX_ERROR, LOCALE_MOVIEBROWSER_TRUNCATE_FAILED, CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); + else + { + //printf("New movie info: size %lld len %d\n", res, m_movieSelectionHandler->bookmarks.end/60); + m_movieInfo.saveMovieInfo(*m_movieSelectionHandler); + m_doLoadMovies = true; + } + m_doRefresh = true; + } + } + } + } return returnval; } @@ -1142,6 +1232,8 @@ void CMovieBrowser::refresh(void) refreshFoot(); refreshLCD(); + + m_doRefresh = false; } std::string CMovieBrowser::getCurrentDir(void) @@ -1761,81 +1853,50 @@ bool CMovieBrowser::onButtonPressMainFrame(neutrino_msg_t msg) if (show_mode == MB_SHOW_YT) showYTMenu(); else + { showMenu(); - - } - else if (msg == CRCInput::RC_text || msg == CRCInput::RC_radio) { - if ((show_mode == MB_SHOW_RECORDS) && - (ShowMsg(LOCALE_MESSAGEBOX_INFO, msg == CRCInput::RC_radio ? LOCALE_MOVIEBROWSER_COPY : LOCALE_MOVIEBROWSER_COPIES, CMessageBox::mbrNo, CMessageBox::mbYes | CMessageBox::mbNo) == CMessageBox::mbrYes)) { - CHintBox * hintBox = new CHintBox(LOCALE_MESSAGEBOX_INFO, LOCALE_MOVIEBROWSER_COPYING); - hintBox->paint(); - sleep(1); - hintBox->hide(); - delete hintBox; - framebuffer->paintBackground(); // clear screen - CMovieCut mc; - bool res = mc.copyMovie(m_movieSelectionHandler, &m_movieInfo, msg == CRCInput::RC_radio); - //g_RCInput->clearRCMsg(); - if (res == 0) - ShowMsg(LOCALE_MESSAGEBOX_ERROR, LOCALE_MOVIEBROWSER_COPY_FAILED, CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); - else + if (m_doLoadMovies) loadMovies(); - refresh(); + if (m_doRefresh) + refresh(); } - } - else if (msg == CRCInput::RC_audio) { -#if 0 - if ((m_movieSelectionHandler == playing_info) && (NeutrinoMessages::mode_ts == CNeutrinoApp::getInstance()->getMode())) - ShowMsg(LOCALE_MESSAGEBOX_ERROR, "Impossible to cut playing movie.", CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); - else -#endif - if ((show_mode == MB_SHOW_RECORDS) && - (ShowMsg(LOCALE_MESSAGEBOX_INFO, LOCALE_MOVIEBROWSER_CUT, CMessageBox::mbrNo, CMessageBox::mbYes | CMessageBox::mbNo) == CMessageBox::mbrYes)) { - CHintBox * hintBox = new CHintBox(LOCALE_MESSAGEBOX_INFO, LOCALE_MOVIEBROWSER_CUTTING); - hintBox->paint(); - sleep(1); - hintBox->hide(); - delete hintBox; - framebuffer->paintBackground(); // clear screen - CMovieCut mc; - bool res = mc.cutMovie(m_movieSelectionHandler, &m_movieInfo); - //g_RCInput->clearRCMsg(); - if (!res) - ShowMsg(LOCALE_MESSAGEBOX_ERROR, LOCALE_MOVIEBROWSER_CUT_FAILED, CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); - else - loadMovies(); - refresh(); - } } - else if (msg == CRCInput::RC_games) { - if ((show_mode == MB_SHOW_RECORDS) && m_movieSelectionHandler != NULL) { - if ((m_movieSelectionHandler == playing_info) && (NeutrinoMessages::mode_ts == CNeutrinoApp::getInstance()->getMode())) - ShowMsg(LOCALE_MESSAGEBOX_ERROR, LOCALE_MOVIEBROWSER_TRUNCATE_FAILED_PLAYING, CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); - else if (m_movieSelectionHandler->bookmarks.end == 0) - ShowMsg(LOCALE_MESSAGEBOX_ERROR, LOCALE_MOVIEBROWSER_BOOK_NO_END, CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); - else { - if (ShowMsg(LOCALE_MESSAGEBOX_INFO, LOCALE_MOVIEBROWSER_TRUNCATE, CMessageBox::mbrNo, CMessageBox::mbYes | CMessageBox::mbNo) == CMessageBox::mbrYes) { - CHintBox * hintBox = new CHintBox(LOCALE_MESSAGEBOX_INFO, LOCALE_MOVIEBROWSER_TRUNCATING); - hintBox->paint(); - - CMovieCut mc; - bool res = mc.truncateMovie(m_movieSelectionHandler); - hintBox->hide(); - delete hintBox; - g_RCInput->clearRCMsg(); - if (!res) - ShowMsg(LOCALE_MESSAGEBOX_ERROR, LOCALE_MOVIEBROWSER_TRUNCATE_FAILED, CMessageBox::mbrCancel, CMessageBox::mbCancel, NEUTRINO_ICON_ERROR); - else { - //printf("New movie info: size %lld len %d\n", res, m_movieSelectionHandler->bookmarks.end/60); - m_movieInfo.saveMovieInfo(*m_movieSelectionHandler); - loadMovies(); - } - refresh(); - } - } - } - } else if (msg == CRCInput::RC_favorites) { + // just here to stay backward compatible with these horrible key assignments + else if (msg == CRCInput::RC_radio) + { + exec(NULL, "copy_onefile"); + if (m_doLoadMovies) + loadMovies(); + if (m_doRefresh) + refresh(); + } + else if (msg == CRCInput::RC_text) + { + exec(NULL, "copy_several"); + if (m_doLoadMovies) + loadMovies(); + if (m_doRefresh) + refresh(); + } + else if (msg == CRCInput::RC_audio) + { + exec(NULL, "cut"); + if (m_doLoadMovies) + loadMovies(); + if (m_doRefresh) + refresh(); + } + else if (msg == CRCInput::RC_games) + { + exec(NULL, "truncate"); + if (m_doLoadMovies) + loadMovies(); + if (m_doRefresh) + refresh(); + } + else if (msg == CRCInput::RC_favorites) + { if (m_movieSelectionHandler != NULL) { if (ShowMsg(LOCALE_MESSAGEBOX_INFO, LOCALE_MOVIEBROWSER_DELETE_SCREENSHOT, CMessageBox::mbrNo, CMessageBox:: mbYes | CMessageBox::mbNo) == CMessageBox::mbrYes) { std::string fname = getScreenshotName(m_movieSelectionHandler->file.Name, S_ISDIR(m_movieSelectionHandler->file.Mode)); @@ -2649,6 +2710,8 @@ void CMovieBrowser::loadMovies(bool doRefresh) refreshLastRecordList(); refreshFilterList(); } + + m_doLoadMovies = false; } void CMovieBrowser::loadAllMovieInfo(void) @@ -2783,6 +2846,39 @@ int CMovieBrowser::showMovieInfoMenu(MI_MOVIE_INFO* movie_info) return res; } +int CMovieBrowser::showMovieCutMenu() +{ + CMenuWidget movieCutMenu(LOCALE_MOVIEBROWSER_HEAD, NEUTRINO_ICON_MOVIEPLAYER); + movieCutMenu.addIntroItems(LOCALE_MOVIEBROWSER_MENU_CUT_HEAD); + CMenuForwarder *mf; + +#if 0 + mf = new CMenuForwarder(m_movieSelectionHandler->epgTitle, false); + mf->setHint(NEUTRINO_ICON_HINT_MOVIE, NONEXISTANT_LOCALE); + movieCutMenu.addItem(mf); + movieCutMenu.addItem(GenericMenuSeparator); +#endif + + mf = new CMenuForwarder(LOCALE_MOVIEBROWSER_MENU_COPY_ONEFILE, true, NULL, this, "copy_onefile", CRCInput::RC_red); + mf->setHint(NEUTRINO_ICON_HINT_MOVIE, LOCALE_MOVIEBROWSER_HINT_COPY_ONEFILE); + movieCutMenu.addItem(mf); + + mf = new CMenuForwarder(LOCALE_MOVIEBROWSER_MENU_COPY_SEVERAL, true, NULL, this, "copy_several", CRCInput::RC_green); + mf->setHint(NEUTRINO_ICON_HINT_MOVIE, LOCALE_MOVIEBROWSER_HINT_COPY_SEVERAL); + movieCutMenu.addItem(mf); + + mf = new CMenuForwarder(LOCALE_MOVIEBROWSER_MENU_CUT, true, NULL, this, "cut", CRCInput::RC_yellow); + mf->setHint(NEUTRINO_ICON_HINT_MOVIE, LOCALE_MOVIEBROWSER_HINT_CUT); + movieCutMenu.addItem(mf); + + mf = new CMenuForwarder(LOCALE_MOVIEBROWSER_MENU_TRUNCATE, true, NULL, this, "truncate", CRCInput::RC_blue); + mf->setHint(NEUTRINO_ICON_HINT_MOVIE, LOCALE_MOVIEBROWSER_HINT_TRUNCATE); + movieCutMenu.addItem(mf); + + int res = movieCutMenu.exec(NULL,""); + return res; +} + bool CMovieBrowser::showMenu(bool calledExternally) { /* first clear screen */ @@ -2893,6 +2989,8 @@ bool CMovieBrowser::showMenu(bool calledExternally) mainMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_SCAN_FOR_MOVIES, true, NULL, this, "reload_movie_info", CRCInput::RC_blue)); //mainMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_MENU_NFS_HEAD, true, NULL, nfs, NULL, CRCInput::RC_setup)); mainMenu.addItem(GenericMenuSeparatorLine); + mainMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_MENU_CUT_HEAD, (m_movieSelectionHandler != NULL), NULL, this, "show_movie_cut_menu", CRCInput::RC_1)); + mainMenu.addItem(GenericMenuSeparatorLine); mainMenu.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_MENU_HELP_HEAD, true, NULL, movieHelp, NULL, CRCInput::RC_help)); //mainMenu.addItem(GenericMenuSeparator); diff --git a/src/gui/moviebrowser.h b/src/gui/moviebrowser.h index 11651d267..a08b7ccdc 100644 --- a/src/gui/moviebrowser.h +++ b/src/gui/moviebrowser.h @@ -308,6 +308,8 @@ class CMovieBrowser : public CMenuTarget bool m_showMovieInfo; bool m_showFilter; bool newHeader; + bool m_doRefresh; + bool m_doLoadMovies; MI_MOVIE_INFO* m_movieSelectionHandler; int m_currentStartPos; @@ -432,6 +434,7 @@ class CMovieBrowser : public CMenuTarget ///// Menu //////////////////////////////////// bool showMenu(bool calledExternally = false); int showMovieInfoMenu(MI_MOVIE_INFO* movie_info); // P2 + int showMovieCutMenu(); // P2 int showStartPosSelectionMenu(void); // P2 ///// settings /////////////////////////////////// diff --git a/src/system/locals.h b/src/system/locals.h index f8de9c349..da243e55a 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -1594,11 +1594,15 @@ typedef enum LOCALE_MOVIEBROWSER_HEAD_PLAYLIST, LOCALE_MOVIEBROWSER_HEAD_RECORDLIST, LOCALE_MOVIEBROWSER_HIDE_SERIES, + LOCALE_MOVIEBROWSER_HINT_COPY_ONEFILE, + LOCALE_MOVIEBROWSER_HINT_COPY_SEVERAL, + LOCALE_MOVIEBROWSER_HINT_CUT, LOCALE_MOVIEBROWSER_HINT_JUMPBACKWARD, LOCALE_MOVIEBROWSER_HINT_JUMPFORWARD, LOCALE_MOVIEBROWSER_HINT_MOVIEEND, LOCALE_MOVIEBROWSER_HINT_NEWBOOK_BACKWARD, LOCALE_MOVIEBROWSER_HINT_NEWBOOK_FORWARD, + LOCALE_MOVIEBROWSER_HINT_TRUNCATE, LOCALE_MOVIEBROWSER_INFO_AUDIO, LOCALE_MOVIEBROWSER_INFO_CHANNEL, LOCALE_MOVIEBROWSER_INFO_FILE, @@ -1630,6 +1634,10 @@ typedef enum LOCALE_MOVIEBROWSER_LAST_PLAY_MAX_ITEMS, LOCALE_MOVIEBROWSER_LAST_RECORD_MAX_ITEMS, LOCALE_MOVIEBROWSER_LOAD_DEFAULT, + LOCALE_MOVIEBROWSER_MENU_COPY_ONEFILE, + LOCALE_MOVIEBROWSER_MENU_COPY_SEVERAL, + LOCALE_MOVIEBROWSER_MENU_CUT, + LOCALE_MOVIEBROWSER_MENU_CUT_HEAD, LOCALE_MOVIEBROWSER_MENU_DIRECTORIES_HEAD, LOCALE_MOVIEBROWSER_MENU_HELP_HEAD, LOCALE_MOVIEBROWSER_MENU_MAIN_BOOKMARKS, @@ -1643,6 +1651,7 @@ typedef enum LOCALE_MOVIEBROWSER_MENU_PARENTAL_LOCK_RATE_HEAD, LOCALE_MOVIEBROWSER_MENU_SAVE, LOCALE_MOVIEBROWSER_MENU_SAVE_ALL, + LOCALE_MOVIEBROWSER_MENU_TRUNCATE, LOCALE_MOVIEBROWSER_OPTION_BROWSER, LOCALE_MOVIEBROWSER_RELOAD_AT_START, LOCALE_MOVIEBROWSER_REMOUNT_AT_START, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index bd234bba9..da186219d 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -1594,11 +1594,15 @@ const char * locale_real_names[] = "moviebrowser.head_playlist", "moviebrowser.head_recordlist", "moviebrowser.hide_series", + "moviebrowser.hint_copy_onefile", + "moviebrowser.hint_copy_several", + "moviebrowser.hint_cut", "moviebrowser.hint_jumpbackward", "moviebrowser.hint_jumpforward", "moviebrowser.hint_movieend", "moviebrowser.hint_newbook_backward", "moviebrowser.hint_newbook_forward", + "moviebrowser.hint_truncate", "moviebrowser.info_audio", "moviebrowser.info_channel", "moviebrowser.info_file", @@ -1630,6 +1634,10 @@ const char * locale_real_names[] = "moviebrowser.last_play_max_items", "moviebrowser.last_record_max_items", "moviebrowser.load_default", + "moviebrowser.menu_copy_onefile", + "moviebrowser.menu_copy_several", + "moviebrowser.menu_cut", + "moviebrowser.menu_cut_head", "moviebrowser.menu_directories_head", "moviebrowser.menu_help_head", "moviebrowser.menu_main_bookmarks", @@ -1643,6 +1651,7 @@ const char * locale_real_names[] = "moviebrowser.menu_parental_lock_rate_head", "moviebrowser.menu_save", "moviebrowser.menu_save_all", + "moviebrowser.menu_truncate", "moviebrowser.option_browser", "moviebrowser.reload_at_start", "moviebrowser.remount_at_start",