diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index d16e6f0e6..42a5b7f15 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -1864,10 +1864,10 @@ moviebrowser.info_file Datei moviebrowser.info_filename Dateiname moviebrowser.info_genre_major Genre moviebrowser.info_genre_minor Genre (untergeordnet) -moviebrowser.info_head Film Informationen +moviebrowser.info_head Film-Informationen moviebrowser.info_head_update Inhalte in allen sichtbaren Filminfos speichern -moviebrowser.info_info1 Info 1 -moviebrowser.info_info2 Info 2 +moviebrowser.info_info1 Genre bzw. Episoden +moviebrowser.info_info2 Film-Beschreibung moviebrowser.info_length Spieldauer (Min) moviebrowser.info_parental_lockage FSK moviebrowser.info_parental_lockage_0year immer @@ -1924,9 +1924,9 @@ moviebrowser.short_filename Name moviebrowser.short_format Format moviebrowser.short_genre_major Genre moviebrowser.short_genre_minor Genre -moviebrowser.short_info1 Info 1 -moviebrowser.short_info2 Info 2 -moviebrowser.short_length Min +moviebrowser.short_info1 Genre/Episoden +moviebrowser.short_info2 Beschreibung +moviebrowser.short_length Länge moviebrowser.short_parental_lockage FSK moviebrowser.short_path Pfad moviebrowser.short_prevplaydate Zuletzt diff --git a/data/locale/english.locale b/data/locale/english.locale index 0c2185ea9..71b258c48 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -1864,10 +1864,10 @@ moviebrowser.info_file File moviebrowser.info_filename Filename moviebrowser.info_genre_major Genre moviebrowser.info_genre_minor Genre (minor) -moviebrowser.info_head Film Information +moviebrowser.info_head Movie informations moviebrowser.info_head_update Save changes in all movie info files -moviebrowser.info_info1 Info 1 -moviebrowser.info_info2 Info 2 +moviebrowser.info_info1 Genre resp. episodes +moviebrowser.info_info2 Movie description moviebrowser.info_length Length (Min) moviebrowser.info_parental_lockage Parental Lock age moviebrowser.info_parental_lockage_0year always @@ -1924,9 +1924,9 @@ moviebrowser.short_filename Name moviebrowser.short_format Format moviebrowser.short_genre_major Genre moviebrowser.short_genre_minor Genre -moviebrowser.short_info1 Info 1 -moviebrowser.short_info2 Info 2 -moviebrowser.short_length Min +moviebrowser.short_info1 Genre/Episodes +moviebrowser.short_info2 Description +moviebrowser.short_length Length moviebrowser.short_parental_lockage Age moviebrowser.short_path Path moviebrowser.short_prevplaydate Last diff --git a/src/gui/moviebrowser/mb.cpp b/src/gui/moviebrowser/mb.cpp index 828732685..35b1ac382 100644 --- a/src/gui/moviebrowser/mb.cpp +++ b/src/gui/moviebrowser/mb.cpp @@ -1007,7 +1007,6 @@ int CMovieBrowser::exec(CMenuTarget* parent, const std::string & actionKey) } } } - return returnval; } @@ -2108,18 +2107,42 @@ bool CMovieBrowser::onButtonPressMainFrame(neutrino_msg_t msg) if (m_settings.gui != MB_GUI_LAST_PLAY && m_settings.gui != MB_GUI_LAST_RECORD) { // sorting is not avialable for last play and record - do - { - if (m_settings.sorting.item + 1 >= MB_INFO_MAX_NUMBER) - m_settings.sorting.item = (MB_INFO_ITEM)0; - else - m_settings.sorting.item = (MB_INFO_ITEM)(m_settings.sorting.item + 1); - } while (sortBy[m_settings.sorting.item] == NULL); - TRACE("[mb]->new sorting %d,%s\n",m_settings.sorting.item,g_Locale->getText(m_localizedItemName[m_settings.sorting.item])); - refreshBrowserList(); - refreshMovieInfo(); - refreshFoot(); + int directkey = 1; + int selected = -1; + CMenuSelectorTarget * selector = new CMenuSelectorTarget(&selected); + + CMenuWidget m(LOCALE_MOVIEBROWSER_FOOT_SORT, NEUTRINO_ICON_SETTINGS); + m.addIntroItems(); + + // just show sorting options for displayed rows; sorted by rows + for (int row = 0; row < MB_MAX_ROWS && row < m_settings.browserRowNr; row++) + { + for (unsigned int i = 0; i < MB_INFO_MAX_NUMBER; i++) + { + if (sortBy[i] == NULL) + continue; + + if (m_settings.browserRowItem[row] == i) + m.addItem(new CMenuForwarder(g_Locale->getText(m_localizedItemName[i]), true, NULL, selector, to_string(i).c_str(), CRCInput::convertDigitToKey(directkey++))); + } + } + + m.enableSaveScreen(true); + m.exec(NULL, ""); + + delete selector; + + if (selected >= 0) + { + m_settings.sorting.item = (MB_INFO_ITEM) selected; + + TRACE("[mb]->new sorting %d, %s\n", m_settings.sorting.item, g_Locale->getText(m_localizedItemName[m_settings.sorting.item])); + + refreshBrowserList(); + refreshMovieInfo(); + refreshFoot(); + } } } else if (msg == CRCInput::RC_spkr) diff --git a/src/gui/moviebrowser/mb.h b/src/gui/moviebrowser/mb.h index 04da140e9..e26c64903 100644 --- a/src/gui/moviebrowser/mb.h +++ b/src/gui/moviebrowser/mb.h @@ -66,7 +66,6 @@ /* percent */ #define MIN_BROWSER_FRAME_HEIGHT 10 #define MAX_BROWSER_FRAME_HEIGHT 80 -// void strReplace(std::string& orig, const char* fstr, const std::string &rstr); #define MB_MAX_ROWS LF_MAX_ROWS #define MB_MAX_DIRS NETWORK_NFS_NR_OF_ENTRIES diff --git a/src/gui/moviebrowser/mb_functions.h b/src/gui/moviebrowser/mb_functions.h index a5fd547d3..b83a9b405 100644 --- a/src/gui/moviebrowser/mb_functions.h +++ b/src/gui/moviebrowser/mb_functions.h @@ -43,8 +43,6 @@ #include "mb_types.h" #include -void strReplace(std::string& orig, const char* fstr, const std::string &rstr); - static std::string rateFormat(int i) { return to_string(i/10) + "," + to_string(i%10);