CMsgBox: add option for No Yes button arrangement

Useful if order of red and green buttons must be changed.
Return values are untouched.
This commit is contained in:
2016-10-27 12:08:32 +02:00
parent 28acb0fefa
commit f1e4723964
2 changed files with 20 additions and 2 deletions

View File

@@ -179,6 +179,22 @@ void CMsgBox::initButtons()
btn.btn_alias = mbBack;
v_buttons.push_back(btn);
}
if (mb_show_button & mbNoYes){
btn.button = NEUTRINO_ICON_BUTTON_GREEN;
btn.text = BTN_TEXT(mbNo);
btn.directKey = CRCInput::RC_green;
btn.directKeyAlt = CRCInput::RC_home;
btn.btn_result = mbrNo;
btn.btn_alias = mbNo;
v_buttons.push_back(btn);
btn.button = NEUTRINO_ICON_BUTTON_RED;
btn.text = BTN_TEXT(mbYes);
btn.directKey = CRCInput::RC_red;
btn.directKeyAlt = CRCInput::RC_ok;
btn.btn_result = mbrYes;
btn.btn_alias = mbYes;
v_buttons.push_back(btn);
}
ccw_footer->setButtonLabels(v_buttons, 0, 125);
ccw_footer->getButtonChainObject()->setColorBody(col_body);

View File

@@ -74,7 +74,8 @@ class CMsgBox : public CHintBox
mbOKCancel = 0x20,
mbYesNoCancel = 0x40,
mbYesNo = 0x80,
mbAll = 0x100,
mbNoYes = 0x100,
mbAll = 0x200,
//unused allign stuff, only for compatibility
mbBtnAlignCenter1 = 0x0400, /* centered, large distances */
mbBtnAlignCenter2 = 0x0800, /* centered, small distances */
@@ -267,7 +268,8 @@ class CMsgBox : public CHintBox
* mbOKCancel = 0x20,
* mbYesNoCancel = 0x40,
* mbYesNo = 0x80,
* mbAll = 0x100,
* mbNoYes = 0x100,
* mbAll = 0x200,
* NOTE: allign parameters are currently not supported, these values are existing for compatibility only!
*/
void setShowedButtons(const int& ShowButtons){mb_show_button = ShowButtons; initButtons();}