mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-09-02 02:11:04 +02:00
moviebrowser: rework frame height setup in moviebrowser setup
Usability with height presets was not really user friendly.
Origin commit data
------------------
Commit: c2b49e93c2
Author: Thilo Graf <dbt@novatux.de>
Date: 2019-06-05 (Wed, 05 Jun 2019)
This commit is contained in:
@@ -378,10 +378,10 @@ void CMovieBrowser::init(void)
|
||||
if (m_settings.parentalLock >= MB_PARENTAL_LOCK_MAX_NUMBER)
|
||||
m_settings.parentalLock = MB_PARENTAL_LOCK_OFF;
|
||||
|
||||
m_settings.browserFrameHeight = m_settings.browserAdditional ? m_settings.browserFrameHeightAdditional : m_settings.browserFrameHeightGeneral;
|
||||
/* convert from old pixel-based to new percent values */
|
||||
if (m_settings.browserFrameHeight > 100)
|
||||
m_settings.browserFrameHeight = 50;
|
||||
|
||||
if (m_settings.browserFrameHeight < MIN_BROWSER_FRAME_HEIGHT)
|
||||
m_settings.browserFrameHeight = MIN_BROWSER_FRAME_HEIGHT;
|
||||
if (m_settings.browserFrameHeight > MAX_BROWSER_FRAME_HEIGHT)
|
||||
@@ -476,7 +476,9 @@ void CMovieBrowser::initGlobalSettings(void)
|
||||
initGlobalStorageSettings();
|
||||
|
||||
/***** Browser List **************/
|
||||
m_settings.browserFrameHeight = 65; /* percent */
|
||||
m_settings.browserFrameHeightGeneral = 65; /* percent */
|
||||
m_settings.browserFrameHeightAdditional = 75; /* percent */
|
||||
m_settings.browserFrameHeight = m_settings.browserFrameHeightGeneral; /* percent */
|
||||
m_settings.browserCutLongRowText = 1;
|
||||
|
||||
m_settings.browserRowNr = 6;
|
||||
@@ -541,6 +543,8 @@ void CMovieBrowser::initFrames(void)
|
||||
m_cBoxFrameBrowserList.iWidth = m_cBoxFrame.iWidth / 3 * 2;
|
||||
else
|
||||
m_cBoxFrameBrowserList.iWidth = m_cBoxFrame.iWidth;
|
||||
|
||||
m_settings.browserFrameHeight = m_settings.browserAdditional ? m_settings.browserFrameHeightAdditional : m_settings.browserFrameHeightGeneral;
|
||||
m_cBoxFrameBrowserList.iHeight = m_cBoxFrame.iHeight * m_settings.browserFrameHeight / 100;
|
||||
|
||||
|
||||
@@ -674,7 +678,9 @@ bool CMovieBrowser::loadSettings(MB_SETTINGS* settings)
|
||||
settings->store.storageDirUsed[i] = configfile.getInt32("mb_dir_used" + to_string(i), false);
|
||||
}
|
||||
/* these variables are used for the listframes */
|
||||
settings->browserFrameHeight = configfile.getInt32("mb_browserFrameHeight", 50);
|
||||
settings->browserFrameHeightGeneral = configfile.getInt32("mb_browserFrameHeightGeneral", 65);
|
||||
settings->browserFrameHeightAdditional = configfile.getInt32("mb_browserFrameHeightAdditional", 75);
|
||||
settings->browserFrameHeight = configfile.getInt32("mb_browserFrameHeight", settings->browserFrameHeightGeneral);
|
||||
settings->browserCutLongRowText = configfile.getInt32("mb_browserCutLongRowText", 1);
|
||||
settings->browserRowNr = configfile.getInt32("mb_browserRowNr", 0);
|
||||
for (int i = 0; i < MB_MAX_ROWS && i < settings->browserRowNr; i++)
|
||||
@@ -742,7 +748,9 @@ bool CMovieBrowser::saveSettings(MB_SETTINGS* settings)
|
||||
configfile.setInt32("mb_dir_used" + to_string(i), settings->store.storageDirUsed[i]); // do not save this so far
|
||||
}
|
||||
/* these variables are used for the listframes */
|
||||
configfile.setInt32("mb_browserFrameHeight", settings->browserFrameHeight);
|
||||
configfile.setInt32("mb_browserFrameHeightGeneral", settings->browserFrameHeightGeneral);
|
||||
configfile.setInt32("mb_browserFrameHeightAdditional", settings->browserFrameHeightAdditional);
|
||||
configfile.setInt32("mb_browserFrameHeight", settings->browserAdditional ? settings->browserFrameHeightAdditional : settings->browserFrameHeightGeneral);
|
||||
configfile.setInt32("mb_browserCutLongRowText", settings->browserCutLongRowText);
|
||||
|
||||
configfile.setInt32("mb_browserRowNr",settings->browserRowNr);
|
||||
@@ -3529,6 +3537,7 @@ int CMovieBrowser::showMovieInfoMenu(MI_MOVIE_INFO* movie_info)
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
int CMovieBrowser::showMovieCutMenu()
|
||||
{
|
||||
CMenuWidget movieCutMenu(LOCALE_MOVIEBROWSER_HEAD, NEUTRINO_ICON_MOVIEPLAYER);
|
||||
@@ -3560,6 +3569,23 @@ int CMovieBrowser::showMovieCutMenu()
|
||||
return res;
|
||||
}
|
||||
|
||||
void CMovieBrowser::changeBrowserHeight(CMenuForwarder* fw1, CMenuForwarder* fw2)
|
||||
{
|
||||
if (m_settings.browserAdditional)
|
||||
{
|
||||
fw1->setActive(false);
|
||||
fw2->setActive(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
fw1->setActive(true);
|
||||
fw2->setActive(false);
|
||||
}
|
||||
|
||||
fw1->paint();
|
||||
fw2->paint();
|
||||
}
|
||||
|
||||
bool CMovieBrowser::showMenu(bool calledExternally)
|
||||
{
|
||||
/* first clear screen */
|
||||
@@ -3613,15 +3639,29 @@ bool CMovieBrowser::showMenu(bool calledExternally)
|
||||
int oldAdditional = m_settings.browserAdditional;
|
||||
CIntInput playMaxUserIntInput(LOCALE_MOVIEBROWSER_LAST_PLAY_MAX_ITEMS, (int *)&m_settings.lastPlayMaxItems, 3, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE);
|
||||
CIntInput recMaxUserIntInput(LOCALE_MOVIEBROWSER_LAST_RECORD_MAX_ITEMS, (int *)&m_settings.lastRecordMaxItems, 3, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE);
|
||||
CIntInput browserFrameUserIntInput(LOCALE_MOVIEBROWSER_BROWSER_FRAME_HIGH, (int *)&m_settings.browserFrameHeight, 3, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE);
|
||||
|
||||
CIntInput* browserFrameUserIntInputAdd = new CIntInput(LOCALE_MOVIEBROWSER_BROWSER_FRAME_HIGH, (int *)&m_settings.browserFrameHeightAdditional, 3, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE);
|
||||
CIntInput* browserFrameUserIntInputGen = new CIntInput(LOCALE_MOVIEBROWSER_BROWSER_FRAME_HIGH, (int *)&m_settings.browserFrameHeightGeneral, 3, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE);
|
||||
|
||||
CIntInput browserRowNrIntInput(LOCALE_MOVIEBROWSER_BROWSER_ROW_NR, (int *)&m_settings.browserRowNr, 1, NONEXISTANT_LOCALE, NONEXISTANT_LOCALE);
|
||||
|
||||
CMenuWidget optionsMenuBrowser(LOCALE_MOVIEBROWSER_HEAD, NEUTRINO_ICON_MOVIEPLAYER);
|
||||
optionsMenuBrowser.addIntroItems(LOCALE_MOVIEBROWSER_OPTION_BROWSER);
|
||||
optionsMenuBrowser.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_LAST_PLAY_MAX_ITEMS, true, playMaxUserIntInput.getValue(), &playMaxUserIntInput));
|
||||
optionsMenuBrowser.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_LAST_RECORD_MAX_ITEMS, true, recMaxUserIntInput.getValue(), &recMaxUserIntInput));
|
||||
optionsMenuBrowser.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_BROWSER_FRAME_HIGH, true, browserFrameUserIntInput.getValue(), &browserFrameUserIntInput));
|
||||
optionsMenuBrowser.addItem(new CMenuOptionChooser(LOCALE_MOVIEBROWSER_BROWSER_ADDITIONAL, (int*)(&m_settings.browserAdditional), MESSAGEBOX_NO_YES_OPTIONS, MESSAGEBOX_NO_YES_OPTION_COUNT, true));
|
||||
optionsMenuBrowser.addItem(GenericMenuSeparatorLine);
|
||||
|
||||
CMenuForwarder* fw1 = new CMenuForwarder(LOCALE_MOVIEBROWSER_BROWSER_FRAME_HIGH, !m_settings.browserAdditional, browserFrameUserIntInputGen->getValue(), browserFrameUserIntInputGen);
|
||||
CMenuForwarder* fw2 = new CMenuForwarder(LOCALE_MOVIEBROWSER_BROWSER_FRAME_HIGH_ADDITIONAL, m_settings.browserAdditional, browserFrameUserIntInputAdd->getValue(), browserFrameUserIntInputAdd);
|
||||
|
||||
CMenuOptionChooser *oj = new CMenuOptionChooser(LOCALE_MOVIEBROWSER_BROWSER_ADDITIONAL, (int*)(&m_settings.browserAdditional), MESSAGEBOX_NO_YES_OPTIONS, MESSAGEBOX_NO_YES_OPTION_COUNT, true);
|
||||
oj->OnAfterChangeOption.connect(sigc::bind(sigc::mem_fun(*this, &CMovieBrowser::changeBrowserHeight), fw1, fw2));
|
||||
|
||||
optionsMenuBrowser.addItem(oj);
|
||||
optionsMenuBrowser.addItem(fw1);
|
||||
optionsMenuBrowser.addItem(fw2);
|
||||
|
||||
optionsMenuBrowser.addItem(GenericMenuSeparatorLine);
|
||||
optionsMenuBrowser.addItem(new CMenuOptionChooser(LOCALE_MOVIEBROWSER_BROWSER_CUT_LONG_ROWTEXT, (int*)(&m_settings.browserCutLongRowText), MESSAGEBOX_NO_YES_OPTIONS, MESSAGEBOX_NO_YES_OPTION_COUNT, true));
|
||||
optionsMenuBrowser.addItem(new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_MOVIEBROWSER_BROWSER_ROW_HEAD));
|
||||
optionsMenuBrowser.addItem(new CMenuForwarder(LOCALE_MOVIEBROWSER_BROWSER_ROW_NR, true, browserRowNrIntInput.getValue(), &browserRowNrIntInput));
|
||||
@@ -3691,10 +3731,13 @@ bool CMovieBrowser::showMenu(bool calledExternally)
|
||||
// post menu handling
|
||||
if (m_parentalLock != MB_PARENTAL_LOCK_OFF_TMP)
|
||||
m_settings.parentalLock = m_parentalLock;
|
||||
|
||||
m_settings.browserFrameHeight = m_settings.browserAdditional ? m_settings.browserFrameHeightAdditional : m_settings.browserFrameHeightGeneral;
|
||||
if (m_settings.browserFrameHeight < MIN_BROWSER_FRAME_HEIGHT)
|
||||
m_settings.browserFrameHeight = MIN_BROWSER_FRAME_HEIGHT;
|
||||
if (m_settings.browserFrameHeight > MAX_BROWSER_FRAME_HEIGHT)
|
||||
m_settings.browserFrameHeight = MAX_BROWSER_FRAME_HEIGHT;
|
||||
|
||||
if (m_settings.browserRowNr > MB_MAX_ROWS)
|
||||
m_settings.browserRowNr = MB_MAX_ROWS;
|
||||
if (m_settings.browserRowNr < 1)
|
||||
@@ -3718,20 +3761,6 @@ bool CMovieBrowser::showMenu(bool calledExternally)
|
||||
);
|
||||
|
||||
if (reInitFrames) {
|
||||
#if 1
|
||||
if (oldAdditional != m_settings.browserAdditional)
|
||||
{
|
||||
/*
|
||||
Bad 'hack' to force a smaller m_pcInfo1 box.
|
||||
This can be reconfigured by user later.
|
||||
It's just to align view to channellist's view.
|
||||
*/
|
||||
if (m_settings.browserAdditional)
|
||||
m_settings.browserFrameHeight = 75;
|
||||
else
|
||||
m_settings.browserFrameHeight = 65;
|
||||
}
|
||||
#endif
|
||||
initFrames();
|
||||
hide();
|
||||
paint();
|
||||
|
@@ -99,6 +99,8 @@ typedef struct
|
||||
|
||||
/* these variables are used for the listframes */
|
||||
int browserFrameHeight;
|
||||
int browserFrameHeightGeneral;
|
||||
int browserFrameHeightAdditional;
|
||||
int browserRowNr;
|
||||
MB_INFO_ITEM browserRowItem[MB_MAX_ROWS];
|
||||
int browserRowWidth[MB_MAX_ROWS];
|
||||
@@ -376,6 +378,8 @@ class CMovieBrowser : public CMenuTarget, public CProgressSignals
|
||||
void clearSelection();
|
||||
bool supportedExtension(CFile &file);
|
||||
bool addFile(CFile &file, int dirItNr);
|
||||
|
||||
void changeBrowserHeight(CMenuForwarder* fw1, CMenuForwarder* fw2);
|
||||
};
|
||||
|
||||
// I tried a lot to use the menu.cpp as ListBox selection, and I got three solution which are all garbage.
|
||||
|
Reference in New Issue
Block a user