[apps] In curve views, reselect the view when entering responder chain

Change-Id: I4453b7f646f29ab3ea15a572ef7bf883d739cba2
This commit is contained in:
Émilie Feral
2017-05-05 20:52:00 +02:00
parent 96733dbbdc
commit d411cf176b
4 changed files with 18 additions and 6 deletions

View File

@@ -152,6 +152,15 @@ void InteractiveCurveViewController::viewWillAppear() {
curveView()->setOkView(&m_okView);
}
void InteractiveCurveViewController::didEnterResponderChain(Responder * previousFirstResponder) {
if (!curveView()->isMainViewSelected()) {
curveView()->selectMainView(true);
header()->setSelectedButton(-1);
reloadBannerView();
curveView()->reload();
}
}
void InteractiveCurveViewController::willExitResponderChain(Responder * nextFirstResponder) {
if (nextFirstResponder == tabController()) {
curveView()->selectMainView(false);

View File

@@ -31,6 +31,7 @@ public:
void viewWillAppear() override;
void willExitResponderChain(Responder * nextFirstResponder) override;
void didEnterResponderChain(Responder * previousFirstResponder) override;
protected:
constexpr static float k_numberOfCursorStepsInGradUnit = 5.0f;
virtual BannerView * bannerView() = 0;

View File

@@ -125,11 +125,13 @@ Responder * HistogramController::defaultController() {
return tabController();
}
void HistogramController::viewWillAppear() {
m_view.selectMainView(true);
header()->setSelectedButton(-1);
reloadBannerView();
m_view.reload();
void HistogramController::didEnterResponderChain(Responder * previousFirstResponder) {
if (!m_view.isMainViewSelected()) {
m_view.selectMainView(true);
header()->setSelectedButton(-1);
reloadBannerView();
m_view.reload();
}
}
void HistogramController::willExitResponderChain(Responder * nextFirstResponder) {

View File

@@ -27,7 +27,7 @@ public:
bool isEmpty() const override;
I18n::Message emptyMessage() override;
Responder * defaultController() override;
void viewWillAppear() override;
void didEnterResponderChain(Responder * previousFirstResponder) override;
void willExitResponderChain(Responder * nextFirstResponder) override;
private:
constexpr static int k_maxNumberOfBarsPerWindow = 100;