mirror of
https://github.com/opentx/opentx.git
synced 2025-07-27 02:05:16 +03:00
Register popup fix
This commit is contained in:
parent
88bff79523
commit
61700b56b6
13 changed files with 26 additions and 16 deletions
|
@ -498,6 +498,7 @@ void runPopupRegister(event_t event)
|
|||
void startRegisterDialog(uint8_t module)
|
||||
{
|
||||
memclear(&reusableBuffer.moduleSetup.pxx2, sizeof(reusableBuffer.moduleSetup.pxx2));
|
||||
reusableBuffer.moduleSetup.pxx2.registerPopupVerticalPosition = ITEM_REGISTER_BUTTONS;
|
||||
moduleState[module].mode = MODULE_MODE_REGISTER;
|
||||
s_editMode = 0;
|
||||
POPUP_INPUT("", runPopupRegister);
|
||||
|
|
|
@ -634,7 +634,7 @@ void menuRadioSetup(event_t event)
|
|||
g_eeGeneral.stickMode = reusableBuffer.generalSettings.stickMode;
|
||||
checkTHR();
|
||||
resumePulses();
|
||||
clearKeyEvents();
|
||||
waitKeysReleased();
|
||||
}
|
||||
MOVE_CURSOR_FROM_HERE();
|
||||
break;
|
||||
|
|
|
@ -502,7 +502,7 @@ void menuRadioSetup(event_t event)
|
|||
g_eeGeneral.stickMode = reusableBuffer.generalSettings.stickMode;
|
||||
checkTHR();
|
||||
resumePulses();
|
||||
clearKeyEvents();
|
||||
waitKeysReleased();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -86,7 +86,7 @@ void readModelNotes()
|
|||
strcpy(buf, TEXT_EXT);
|
||||
}
|
||||
|
||||
clearKeyEvents();
|
||||
waitKeysReleased();
|
||||
event_t event = EVT_ENTRY;
|
||||
while (event != EVT_KEY_FIRST(KEY_EXIT)) {
|
||||
lcdRefreshWait();
|
||||
|
|
|
@ -61,7 +61,7 @@ void showAlertBox(const char * title, const char * text, const char * action, ui
|
|||
AUDIO_ERROR_MESSAGE(sound);
|
||||
lcdRefresh();
|
||||
lcdSetContrast();
|
||||
clearKeyEvents();
|
||||
waitKeysReleased();
|
||||
backlightOn();
|
||||
checkBacklight();
|
||||
}
|
||||
|
|
|
@ -440,8 +440,8 @@ bool menuRadioSetup(event_t event)
|
|||
else {
|
||||
g_eeGeneral.fai = editCheckBox(g_eeGeneral.fai, RADIO_SETUP_2ND_COLUMN, y, attr, event);
|
||||
if (attr && checkIncDec_Ret) {
|
||||
g_eeGeneral.fai = false;
|
||||
POPUP_CONFIRMATION("FAI mode?");
|
||||
g_eeGeneral.fai = false;
|
||||
POPUP_CONFIRMATION("FAI mode?");
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
@ -489,7 +489,7 @@ bool menuRadioSetup(event_t event)
|
|||
g_eeGeneral.stickMode = reusableBuffer.generalSettings.stickMode;
|
||||
checkTHR();
|
||||
resumePulses();
|
||||
clearKeyEvents();
|
||||
waitKeysReleased();
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -226,7 +226,7 @@ void showAlertBox(const char * title, const char * text, const char * action , u
|
|||
AUDIO_ERROR_MESSAGE(sound);
|
||||
lcdRefresh();
|
||||
lcdSetContrast();
|
||||
clearKeyEvents();
|
||||
waitKeysReleased();
|
||||
backlightOn();
|
||||
checkBacklight();
|
||||
}
|
||||
|
|
|
@ -91,6 +91,7 @@ enum
|
|||
|
||||
inline void POPUP_INFORMATION(const char * s)
|
||||
{
|
||||
killAllEvents();
|
||||
warningText = s;
|
||||
warningInfoText = nullptr;
|
||||
warningType = WARNING_TYPE_INFO;
|
||||
|
@ -99,6 +100,7 @@ enum
|
|||
|
||||
inline void POPUP_WARNING(const char * s)
|
||||
{
|
||||
killAllEvents();
|
||||
warningText = s;
|
||||
warningInfoText = nullptr;
|
||||
warningType = WARNING_TYPE_ASTERISK;
|
||||
|
@ -107,6 +109,7 @@ enum
|
|||
|
||||
inline void POPUP_CONFIRMATION(const char * s, PopupMenuHandler handler)
|
||||
{
|
||||
killAllEvents();
|
||||
warningText = s;
|
||||
warningInfoText = nullptr;
|
||||
warningType = WARNING_TYPE_CONFIRM;
|
||||
|
@ -116,6 +119,7 @@ enum
|
|||
|
||||
inline void POPUP_INPUT(const char * s, PopupFunc func)
|
||||
{
|
||||
killAllEvents();
|
||||
warningText = s;
|
||||
warningInfoText = nullptr;
|
||||
warningType = WARNING_TYPE_INPUT;
|
||||
|
|
|
@ -110,7 +110,7 @@ void readModelNotes()
|
|||
char *buf = strcat_modelname(&s_text_file[sizeof(MODELS_PATH)], g_eeGeneral.currModel);
|
||||
strcpy(buf, TEXT_EXT);
|
||||
|
||||
clearKeyEvents();
|
||||
waitKeysReleased();
|
||||
event_t event = EVT_ENTRY;
|
||||
while (event != EVT_KEY_BREAK(KEY_EXIT)) {
|
||||
lcdRefreshWait();
|
||||
|
|
|
@ -169,7 +169,14 @@ void killEvents(event_t event)
|
|||
}
|
||||
}
|
||||
|
||||
bool clearKeyEvents()
|
||||
void killAllEvents()
|
||||
{
|
||||
for (uint8_t key = 0; key < DIM(keys); key++) {
|
||||
keys[key].killEvents();
|
||||
}
|
||||
}
|
||||
|
||||
bool waitKeysReleased()
|
||||
{
|
||||
#if defined(PCBSKY9X)
|
||||
RTOS_WAIT_MS(200); // 200ms
|
||||
|
|
|
@ -113,11 +113,9 @@ inline void putEvent(event_t evt)
|
|||
|
||||
void pauseEvents(event_t event);
|
||||
void killEvents(event_t event);
|
||||
|
||||
bool clearKeyEvents();
|
||||
void killAllEvents();
|
||||
bool waitKeysReleased();
|
||||
event_t getEvent(bool trim=false);
|
||||
bool keyDown();
|
||||
|
||||
|
||||
|
||||
#endif // _KEYS_H_
|
||||
|
|
|
@ -873,7 +873,7 @@ void checkAll()
|
|||
readModelNotes();
|
||||
}
|
||||
|
||||
if (!clearKeyEvents()) {
|
||||
if (!waitKeysReleased()) {
|
||||
showMessageBox(STR_KEYSTUCK);
|
||||
tmr10ms_t tgtime = get_tmr10ms() + 500;
|
||||
while (tgtime != get_tmr10ms()) {
|
||||
|
|
|
@ -737,7 +737,7 @@ void checkSwitches()
|
|||
|
||||
lcdRefresh();
|
||||
lcdSetContrast();
|
||||
clearKeyEvents();
|
||||
waitKeysReleased();
|
||||
|
||||
last_bad_switches = switches_states;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue