- added page btn to explorer and moved set btn. EXPLORER/SAVE_BTN and EXPLORER/CANCEL_BTN are now EXPLORER/SET_BTN and EXPLORER/BACK_BTN. hopefully fixed MAIN/MESSAAGE.

This commit is contained in:
fledge68 2013-08-03 19:40:46 +00:00
parent 669000a661
commit b56528e5a8
4 changed files with 74 additions and 71 deletions

View File

@ -882,7 +882,6 @@ private:
// //
void _refreshBoot(); void _refreshBoot();
void _refreshExplorer(s8 direction = 0); void _refreshExplorer(s8 direction = 0);
static bool _sortEntries(string first, string second);
// //
void _hideCheatSettings(bool instant = false); void _hideCheatSettings(bool instant = false);
void _hideError(bool instant = false); void _hideError(bool instant = false);

View File

@ -22,20 +22,17 @@
#include "defines.h" #include "defines.h"
extern const u8 blank_png[]; extern const u8 blank_png[];
extern const u8 btnnext_png[];
extern const u8 btnnexts_png[];
extern const u8 btnprev_png[];
extern const u8 btnprevs_png[];
TexData m_explorerBg; TexData m_explorerBg;
s16 entries[7]; s16 entries[7];
s16 entries_sel[7]; s16 entries_sel[7];
s16 explorerLblSelFolder; s16 m_explorerLblSelFolder;
s16 explorerBtnSave; s16 m_explorerBtnSet;
s16 explorerBtnCancel; s16 m_explorerBtnBack;
s16 explorerBtnPrev; s16 m_explorerLblPage;
s16 explorerBtnNext; s16 m_explorerBtnPageM;
s16 explorerLblUser[4]; s16 m_explorerBtnPageP;
s16 m_explorerLblUser[4];
u32 dirs = 0; u32 dirs = 0;
u32 files = 0; u32 files = 0;
@ -60,18 +57,16 @@ void CMenu::_hideExplorer(bool instant)
m_btnMgr.hide(entries_sel[i], instant); m_btnMgr.hide(entries_sel[i], instant);
} }
m_btnMgr.hide(explorerBtnNext, instant); m_btnMgr.hide(m_explorerLblSelFolder, instant);
m_btnMgr.hide(explorerBtnPrev, instant); m_btnMgr.hide(m_explorerLblPage, instant);
m_btnMgr.hide(explorerLblSelFolder, instant); m_btnMgr.hide(m_explorerBtnPageM, instant);
if(folderExplorer) m_btnMgr.hide(m_explorerBtnPageP, instant);
m_btnMgr.hide(m_explorerBtnSet, instant);
m_btnMgr.hide(m_explorerBtnBack, instant);
for(u8 i = 0; i < ARRAY_SIZE(m_explorerLblUser); ++i)
{ {
m_btnMgr.hide(explorerBtnSave, instant); if(m_explorerLblUser[i] != -1)
m_btnMgr.hide(explorerBtnCancel, instant); m_btnMgr.hide(m_explorerLblUser[i], instant);
}
for(u8 i = 0; i < ARRAY_SIZE(explorerLblUser); ++i)
{
if(explorerLblUser[i] != -1)
m_btnMgr.hide(explorerLblUser[i], instant);
} }
if(elements != NULL) if(elements != NULL)
free(elements); free(elements);
@ -83,18 +78,15 @@ void CMenu::_showExplorer(void)
{ {
_setBg(m_explorerBg, m_explorerBg); _setBg(m_explorerBg, m_explorerBg);
m_btnMgr.show(explorerBtnNext); m_btnMgr.show(m_explorerLblSelFolder);
m_btnMgr.show(explorerBtnPrev); m_btnMgr.show(m_explorerBtnBack);
m_btnMgr.show(explorerLblSelFolder);
if(folderExplorer) if(folderExplorer)
m_btnMgr.show(m_explorerBtnSet);
for(u8 i = 0; i < ARRAY_SIZE(m_explorerLblUser); ++i)
{ {
m_btnMgr.show(explorerBtnSave); if(m_explorerLblUser[i] != -1)
m_btnMgr.show(explorerBtnCancel); m_btnMgr.show(m_explorerLblUser[i]);
}
for(u8 i = 0; i < ARRAY_SIZE(explorerLblUser); ++i)
{
if(explorerLblUser[i] != -1)
m_btnMgr.show(explorerLblUser[i]);
} }
_refreshExplorer(); _refreshExplorer();
} }
@ -118,22 +110,22 @@ void CMenu::_Explorer(void)
} }
else if(BTN_A_PRESSED) else if(BTN_A_PRESSED)
{ {
if(m_btnMgr.selected(explorerBtnNext)) if(m_btnMgr.selected(m_explorerBtnPageP))
{ {
_refreshExplorer(1); _refreshExplorer(1);
} }
else if(m_btnMgr.selected(explorerBtnPrev)) else if(m_btnMgr.selected(m_explorerBtnPageM))
{ {
_refreshExplorer(-1); _refreshExplorer(-1);
} }
else if(m_btnMgr.selected(explorerBtnSave)) else if(m_btnMgr.selected(m_explorerBtnSet))
{ {
//only when save is clicked do we set path to dir //only when set is clicked do we set path to dir
if(dir[0] != '\0') if(dir[0] != '\0')
path = dir; path = dir;
break; break;
} }
else if(m_btnMgr.selected(explorerBtnCancel)) else if(m_btnMgr.selected(m_explorerBtnBack))
break; break;
//if "..." is selected and path is not empty then go up(back) one folder //if "..." is selected and path is not empty then go up(back) one folder
else if(m_btnMgr.selected(entries_sel[0]) && dir[0] != '\0') else if(m_btnMgr.selected(entries_sel[0]) && dir[0] != '\0')
@ -187,7 +179,7 @@ void CMenu::_Explorer(void)
{ {
strcat(dir, elements[start_pos+(i-1)].name); strcat(dir, elements[start_pos+(i-1)].name);
folderPath = dir; folderPath = dir;
while(folderPath.length() > 32) while(folderPath.length() > 48)
{ {
//this if won't happen the first time //this if won't happen the first time
if(folderPath.find_first_of("/") == string::npos) if(folderPath.find_first_of("/") == string::npos)
@ -251,34 +243,28 @@ void CMenu::_initExplorer()
{ {
memset(dir, 0, MAX_FAT_PATH); memset(dir, 0, MAX_FAT_PATH);
TexData blank_btn; TexData blank_btn;
TexData texPrev;
TexData texPrevS;
TexData texNext;
TexData texNextS;
TexHandle.fromPNG(blank_btn, blank_png); TexHandle.fromPNG(blank_btn, blank_png);
TexHandle.fromPNG(texPrev, btnprev_png);
TexHandle.fromPNG(texPrevS, btnprevs_png);
TexHandle.fromPNG(texNext, btnnext_png);
TexHandle.fromPNG(texNextS, btnnexts_png);
m_explorerBg = _texture("EXPLORER/BG", "texture", theme.bg, false); m_explorerBg = _texture("EXPLORER/BG", "texture", theme.bg, false);
_addUserLabels(explorerLblUser, ARRAY_SIZE(explorerLblUser), "EXPLORER"); _addUserLabels(m_explorerLblUser, ARRAY_SIZE(m_explorerLblUser), "EXPLORER");
explorerLblSelFolder = _addLabel("EXPLORER/SELECTED_FOLDER", theme.lblFont, L"", 30, 50, 560, 40, theme.lblFontColor, FTGX_JUSTIFY_LEFT); m_explorerLblSelFolder = _addText("EXPLORER/SELECTED_FOLDER", theme.txtFont, L"", 30, 30, 560, 40, theme.txtFontColor, FTGX_JUSTIFY_LEFT);
explorerBtnSave = _addButton("EXPLORER/SAVE_BTN", theme.btnFont, L"", 520, 344, 100, 40, theme.btnFontColor); m_explorerBtnSet = _addButton("EXPLORER/SET_BTN", theme.btnFont, L"", 255, 400, 150, 56, theme.btnFontColor);
explorerBtnCancel = _addButton("EXPLORER/CANCEL_BTN", theme.btnFont, L"", 520, 400, 100, 40, theme.btnFontColor); m_explorerBtnBack = _addButton("EXPLORER/BACK_BTN", theme.btnFont, L"", 420, 400, 200, 56, theme.btnFontColor);
explorerBtnNext = _addPicButton("EXPLORER/NEXT_BTN", texNext, texNextS, 540, 146, 60, 60); m_explorerBtnPageM = _addPicButton("EXPLORER/PAGE_MINUS", theme.btnTexMinus, theme.btnTexMinusS, 20, 400, 56, 56);
explorerBtnPrev = _addPicButton("EXPLORER/PREV_BTN", texPrev, texPrevS, 20, 146, 60, 60); m_explorerLblPage = _addLabel("EXPLORER/PAGE_BTN", theme.btnFont, L"", 76, 400, 100, 56, theme.btnFontColor, FTGX_JUSTIFY_CENTER | FTGX_ALIGN_MIDDLE, theme.btnTexC);
m_explorerBtnPageP = _addPicButton("EXPLORER/PAGE_PLUS", theme.btnTexPlus, theme.btnTexPlusS, 176, 400, 56, 56);
_setHideAnim(explorerLblSelFolder, "EXPLORER/SELECTED_FOLDER", 0, 0, -2.f, 0.f);
_setHideAnim(explorerBtnSave, "EXPLORER/SAVE_BTN", 0, 0, -2.f, 0.f); _setHideAnim(m_explorerLblSelFolder, "EXPLORER/SELECTED_FOLDER", 0, 0, -2.f, 0.f);
_setHideAnim(explorerBtnCancel, "EXPLORER/CANCEL_BTN", 0, 0, -2.f, 0.f); _setHideAnim(m_explorerBtnSet, "EXPLORER/SET_BTN", 0, 0, -2.f, 0.f);
_setHideAnim(explorerBtnNext, "EXPLORER/NEXT_BTN", 0, 0, 0.f, 0.f); _setHideAnim(m_explorerBtnBack, "EXPLORER/BACK_BTN", 0, 0, -2.f, 0.f);
_setHideAnim(explorerBtnPrev, "EXPLORER/PREV_BTN", 0, 0, 0.f, 0.f); _setHideAnim(m_explorerLblPage, "EXPLORER/PAGE_BTN", 0, 0, 1.f, -1.f);
_setHideAnim(m_explorerBtnPageM, "EXPLORER/PAGE_MINUS", 0, 0, 1.f, -1.f);
_setHideAnim(m_explorerBtnPageP, "EXPLORER/PAGE_PLUS", 0, 0, 1.f, -1.f);
for(u8 i = 0; i < 7; ++i) for(u8 i = 0; i < 7; ++i)
{ {
entries_sel[i] = _addPicButton(fmt("EXPLORER/ENTRY_%i_BTN", i), blank_btn, blank_btn, 100, 100+(i*50), 380, 45); entries_sel[i] = _addPicButton(fmt("EXPLORER/ENTRY_%i_BTN", i), blank_btn, blank_btn, 40, 75+(i*45), 380, 45);
entries[i] = _addLabel(fmt("EXPLORER/ENTRY_%i", i), theme.lblFont, L"", 100, 100+(i*50), 480, 40, theme.lblFontColor, FTGX_JUSTIFY_LEFT); entries[i] = _addText(fmt("EXPLORER/ENTRY_%i", i), theme.txtFont, L"", 40, 75+(i*45), 480, 40, theme.txtFontColor, FTGX_JUSTIFY_LEFT);
_setHideAnim(entries[i], fmt("EXPLORER/ENTRY_%i", i), 0, 0, 1.f, 0.f); _setHideAnim(entries[i], fmt("EXPLORER/ENTRY_%i", i), 0, 0, 1.f, 0.f);
_setHideAnim(entries_sel[i], fmt("EXPLORER/ENTRY_%i_BTN", i), 0, 0, 1.f, 0.f); _setHideAnim(entries_sel[i], fmt("EXPLORER/ENTRY_%i_BTN", i), 0, 0, 1.f, 0.f);
} }
@ -288,8 +274,8 @@ void CMenu::_initExplorer()
void CMenu::_textExplorer(void) void CMenu::_textExplorer(void)
{ {
m_btnMgr.setText(explorerBtnSave, _t("cfgne34", L"Save")); m_btnMgr.setText(m_explorerBtnSet, _t("cfgne34", L"Set"));
m_btnMgr.setText(explorerBtnCancel, _t("cfgne35", L"Cancel")); m_btnMgr.setText(m_explorerBtnBack, _t("cfgne35", L"Back"));
} }
static bool list_element_cmp(list_element a, list_element b) static bool list_element_cmp(list_element a, list_element b)
@ -308,7 +294,9 @@ void CMenu::_refreshExplorer(s8 direction)
m_btnMgr.setText(entries[i], L" "); m_btnMgr.setText(entries[i], L" ");
} }
m_btnMgr.setText(entries[0], L". . ."); m_btnMgr.setText(entries[0], L". . .");
m_btnMgr.setText(explorerLblSelFolder, wfmt(_fmt("cfgne36",L"Path = %.32s"), folderPath.c_str()), true); wstringEx path(_t("cfgne36", L"Path ="));
path.append(wfmt(L" %.48s", folderPath.c_str()));
m_btnMgr.setText(m_explorerLblSelFolder, path, true);
if(direction == 0) if(direction == 0)
start_pos = 0; start_pos = 0;
@ -316,6 +304,9 @@ void CMenu::_refreshExplorer(s8 direction)
//if path is empty show device+partitions only //if path is empty show device+partitions only
if(dir[0] == '\0') if(dir[0] == '\0')
{ {
m_btnMgr.hide(m_explorerLblPage, true);
m_btnMgr.hide(m_explorerBtnPageM, true);
m_btnMgr.hide(m_explorerBtnPageP, true);
for(u8 i = 1; i < 7; ++i) for(u8 i = 1; i < 7; ++i)
{ {
if(DeviceHandle.IsInserted(i-1)) if(DeviceHandle.IsInserted(i-1))
@ -389,14 +380,27 @@ void CMenu::_refreshExplorer(s8 direction)
start_pos = start_pos >= 6 ? start_pos - 6 : (elements_num % 6 ? (elements_num - elements_num % 6) : elements_num - 6); start_pos = start_pos >= 6 ? start_pos - 6 : (elements_num % 6 ? (elements_num - elements_num % 6) : elements_num - 6);
else if(direction == 1) else if(direction == 1)
start_pos = start_pos + 6 >= elements_num ? 0 : start_pos + 6; start_pos = start_pos + 6 >= elements_num ? 0 : start_pos + 6;
if(elements_num > 0)
{
m_btnMgr.setText(m_explorerLblPage, wfmt(L"%i / %i", (start_pos/6 + 1), ((elements_num - 1)/6 +1)));
m_btnMgr.show(m_explorerLblPage);
m_btnMgr.show(m_explorerBtnPageM);
m_btnMgr.show(m_explorerBtnPageP);
}
else
{
m_btnMgr.hide(m_explorerLblPage, true);
m_btnMgr.hide(m_explorerBtnPageM, true);
m_btnMgr.hide(m_explorerBtnPageP, true);
}
for(u8 i = 1; i < 7; i++) for(u8 i = 1; i < 7; i++)
{ {
if(start_pos+i > elements_num) if(start_pos+i > elements_num)
break; break;
if(start_pos+i <= dirs) if(start_pos+i <= dirs)
m_btnMgr.setText(entries[i], wfmt(L"/%.32s", elements[start_pos+i-1].name)); m_btnMgr.setText(entries[i], wfmt(L"/%.48s", elements[start_pos+i-1].name));
else else
m_btnMgr.setText(entries[i], wfmt(L"%.32s", elements[start_pos+i-1].name)); m_btnMgr.setText(entries[i], wfmt(L"%.48s", elements[start_pos+i-1].name));
m_btnMgr.show(entries[i]); m_btnMgr.show(entries[i]);
m_btnMgr.show(entries_sel[i]); m_btnMgr.show(entries_sel[i]);
} }

View File

@ -146,7 +146,7 @@ void CMenu::_showMain(void)
{ {
case COVERFLOW_USB: case COVERFLOW_USB:
case COVERFLOW_DML: case COVERFLOW_DML:
m_btnMgr.setText(m_mainLblInit, _t("main2", L"Welcome to WiiFlow. I have not found any games. Click Install to install games, or Select partition to select your partition type."), true); m_btnMgr.setText(m_mainLblInit, _t("main2", L"Welcome to WiiFlow. I have not found any games. Click Install to install games, or Select partition to select your partition type."));
m_btnMgr.show(m_mainBtnInit); m_btnMgr.show(m_mainBtnInit);
m_btnMgr.show(m_mainBtnInit2); m_btnMgr.show(m_mainBtnInit2);
m_btnMgr.show(m_mainLblInit); m_btnMgr.show(m_mainLblInit);
@ -166,12 +166,12 @@ void CMenu::_showMain(void)
} }
break; break;
case COVERFLOW_HOMEBREW: case COVERFLOW_HOMEBREW:
m_btnMgr.setText(m_mainLblInit, _t("main4", L"Welcome to WiiFlow. I have not found any homebrew apps. Select partition to select your partition type."), true); m_btnMgr.setText(m_mainLblInit, _t("main4", L"Welcome to WiiFlow. I have not found any homebrew apps. Select partition to select your partition type."));
m_btnMgr.show(m_mainBtnInit2); m_btnMgr.show(m_mainBtnInit2);
m_btnMgr.show(m_mainLblInit); m_btnMgr.show(m_mainLblInit);
break; break;
case COVERFLOW_PLUGIN: case COVERFLOW_PLUGIN:
m_btnMgr.setText(m_mainLblInit, _t("main5", L"Welcome to WiiFlow. I have not found any plugins. Select partition to select your partition type."), true); m_btnMgr.setText(m_mainLblInit, _t("main5", L"Welcome to WiiFlow. I have not found any plugins. Select partition to select your partition type."));
m_btnMgr.show(m_mainBtnInit2); m_btnMgr.show(m_mainBtnInit2);
m_btnMgr.show(m_mainLblInit); m_btnMgr.show(m_mainLblInit);
break; break;

View File

@ -135,9 +135,9 @@ cfgne30=Flashing save files finished!
cfgne31=Select Partition cfgne31=Select Partition
cfgne32=Change Nand cfgne32=Change Nand
cfgne33=Change Saves Nand cfgne33=Change Saves Nand
cfgne34=Save cfgne34=Set
cfgne35=Cancel cfgne35=Back
cfgne36=Path = %.32s cfgne36=Path =
cfgp1=Game Partition cfgp1=Game Partition
cfgp3=Init network on boot cfgp3=Init network on boot
cfgpl1=Select Plugins cfgpl1=Select Plugins