Files
Upsilon/apps/settings/sub_menu/display_mode_controller.h
Léa Saviot bb2e8ad3c5 [apps/settings] Fix selection
Scenario: Got to About menu, press 6 on FCC ID then cancel, there are
two selected rows
This reverts 41e41b8d4 with a better fix
2020-02-12 15:13:24 +01:00

37 lines
1.6 KiB
C++

#ifndef SETTINGS_DISPLAY_MODE_CONTROLLER_H
#define SETTINGS_DISPLAY_MODE_CONTROLLER_H
#include "preferences_controller.h"
#include "../message_table_cell_with_editable_text_with_separator.h"
#include "../../shared/parameter_text_field_delegate.h"
namespace Settings {
class DisplayModeController : public PreferencesController, public Shared::ParameterTextFieldDelegate {
public:
DisplayModeController(Responder * parentResponder, InputEventHandlerDelegate * inputEventHandlerDelegate);
KDCoordinate rowHeight(int j) override;
KDCoordinate cumulatedHeightFromIndex(int j) override;
int indexFromCumulatedHeight(KDCoordinate offsetY) override;
HighlightCell * reusableCell(int index, int type) override;
int reusableCellCount(int type) override;
int typeAtLocation(int i, int j) override;
void willDisplayCellForIndex(HighlightCell * cell, int index) override;
bool textFieldShouldFinishEditing(TextField * textField, Ion::Events::Event event) override;
bool textFieldDidFinishEditing(TextField * textField, const char * text, Ion::Events::Event event) override;
/* DisplayModeController is different to GenericSubController as it can
* display the modal view if there is a syntax error in the text field. We
* need to tweak the different Responder methods to handle the modal view
* properly. */
void didEnterResponderChain(Responder * previousFirstResponder) override {} // Override GenericSubController which reinitializes the selected cell
private:
static constexpr int k_resultFormatType = 0;
static constexpr int k_significantDigitsType = 1;
MessageTableCellWithEditableTextWithSeparator m_editableCell;
};
}
#endif