Fix buttons and labels of pages>1 in file picker
This commit is contained in:
@@ -1826,6 +1826,47 @@ class cFilePicker {
|
|||||||
cStack& stk = get_stack();
|
cStack& stk = get_stack();
|
||||||
int num_pages = ceil((float)save_file_mtimes.size() / parties_per_page);
|
int num_pages = ceil((float)save_file_mtimes.size() / parties_per_page);
|
||||||
stk.setPageCount(num_pages);
|
stk.setPageCount(num_pages);
|
||||||
|
// HACK: For some reason which should be fixed, the buttons and labels on subsequent pages
|
||||||
|
// aren't getting text on the static buttons and labels
|
||||||
|
std::string save_button_text = me["save1"].getText();
|
||||||
|
std::string ext_label_text = me["file1-extension-label"].getText();
|
||||||
|
std::string load_button_text = me["load1"].getText();
|
||||||
|
std::string auto_button_text = me["auto1"].getText();
|
||||||
|
std::string newer_label_text = me["auto1-more-recent"].getText();
|
||||||
|
for(int i = 0; i < stk.getPageCount(); ++i){
|
||||||
|
stk.setPage(i);
|
||||||
|
if(saving){
|
||||||
|
me["title-load"].hide();
|
||||||
|
me["title-auto"].hide();
|
||||||
|
me["file1"].setText(""); // Keep the frame
|
||||||
|
me["file1-extension-label"].setText(ext_label_text);
|
||||||
|
for(int i = 0; i < SLOTS_PER_PAGE; ++i){
|
||||||
|
me["save" + std::to_string(i+1)].setText(save_button_text);
|
||||||
|
me["load" + std::to_string(i+1)].hide();
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(picking_auto){
|
||||||
|
me["title-load"].hide();
|
||||||
|
std::string title = me["title-auto"].getText();
|
||||||
|
fs::path party_name = save_folder.filename();
|
||||||
|
party_name.replace_extension();
|
||||||
|
boost::replace_first(title, "{Folder}", party_name.string());
|
||||||
|
me["title-auto"].setText(title);
|
||||||
|
}else{
|
||||||
|
me["title-auto"].hide();
|
||||||
|
}
|
||||||
|
me["title-save"].hide();
|
||||||
|
me["file1-field"].hide();
|
||||||
|
me["file1-extension-label"].hide();
|
||||||
|
for(int i = 0; i < SLOTS_PER_PAGE; ++i){
|
||||||
|
me["save" + std::to_string(i+1)].hide();
|
||||||
|
me["load" + std::to_string(i+1)].setText(load_button_text);
|
||||||
|
me["auto" + std::to_string(i+1)].setText(auto_button_text);
|
||||||
|
me["auto" + std::to_string(i+1) + "-more-recent"].setText(newer_label_text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
stk.setPage(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void empty_slot(int idx) {
|
void empty_slot(int idx) {
|
||||||
@@ -2083,32 +2124,6 @@ public:
|
|||||||
fs::path run() {
|
fs::path run() {
|
||||||
template_info_str = me["info1"].getText();
|
template_info_str = me["info1"].getText();
|
||||||
|
|
||||||
if(saving){
|
|
||||||
me["title-load"].hide();
|
|
||||||
me["title-auto"].hide();
|
|
||||||
me["file1"].setText(""); // Keep the frame
|
|
||||||
for(int i = 0; i < SLOTS_PER_PAGE; ++i){
|
|
||||||
me["load" + std::to_string(i+1)].hide();
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
if(picking_auto){
|
|
||||||
me["title-load"].hide();
|
|
||||||
std::string title = me["title-auto"].getText();
|
|
||||||
fs::path party_name = save_folder.filename();
|
|
||||||
party_name.replace_extension();
|
|
||||||
boost::replace_first(title, "{Folder}", party_name.string());
|
|
||||||
me["title-auto"].setText(title);
|
|
||||||
}else{
|
|
||||||
me["title-auto"].hide();
|
|
||||||
}
|
|
||||||
me["title-save"].hide();
|
|
||||||
me["file1-field"].hide();
|
|
||||||
me["file1-extension-label"].hide();
|
|
||||||
for(int i = 0; i < SLOTS_PER_PAGE; ++i){
|
|
||||||
me["save" + std::to_string(i+1)].hide();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
me["cancel"].attachClickHandler(std::bind(&cFilePicker::doCancel, this));
|
me["cancel"].attachClickHandler(std::bind(&cFilePicker::doCancel, this));
|
||||||
me["find"].attachClickHandler(std::bind(&cFilePicker::doFileBrowser, this));
|
me["find"].attachClickHandler(std::bind(&cFilePicker::doFileBrowser, this));
|
||||||
// Since it would be crazy to record and replay the metadata shown on a player's save picker
|
// Since it would be crazy to record and replay the metadata shown on a player's save picker
|
||||||
|
Reference in New Issue
Block a user