[apps] Less operations in willExitResponderChain if exiting app

If nextFirstResponder is nullptr, it means we are exiting the app, so
there is no need to relayout, reselect, ...
We did it bbefore because a long time ago, we used to keep all apps side
by side so they had to be thouroughly cleaned when exiting
This commit is contained in:
Léa Saviot
2020-01-21 11:56:56 +01:00
parent 90e5a08d3a
commit 88ab0e686c
9 changed files with 18 additions and 4 deletions

View File

@@ -46,6 +46,9 @@ void HistoryController::didBecomeFirstResponder() {
}
void HistoryController::willExitResponderChain(Responder * nextFirstResponder) {
if (nextFirstResponder == nullptr) {
return;
}
if (nextFirstResponder == parentResponder()) {
m_selectableTableView.deselectTable();
}

View File

@@ -48,6 +48,9 @@ void FloatParameterController<T>::viewWillAppear() {
template<typename T>
void FloatParameterController<T>::willExitResponderChain(Responder * nextFirstResponder) {
if (nextFirstResponder == nullptr) {
return;
}
if (parentResponder() == nullptr) {
m_selectableTableView.deselectTable();
m_selectableTableView.scrollToCell(0,0);

View File

@@ -207,6 +207,7 @@ void FunctionListController::didEnterResponderChain(Responder * previousFirstRes
void FunctionListController::willExitResponderChain(Responder * nextFirstResponder) {
if (nextFirstResponder == tabController()) {
assert(tabController() != nullptr);
selectableTableView()->deselectTable();
footer()->setSelectedButton(-1);
}

View File

@@ -165,7 +165,8 @@ void InteractiveCurveViewController::viewDidDisappear() {
}
void InteractiveCurveViewController::willExitResponderChain(Responder * nextFirstResponder) {
if (nextFirstResponder == nullptr || nextFirstResponder == tabController()) {
if (nextFirstResponder == tabController()) {
assert(tabController() != nullptr);
curveView()->selectMainView(false);
header()->setSelectedButton(-1);
curveView()->reload();

View File

@@ -17,6 +17,7 @@ void TabTableController::viewWillAppear() {
void TabTableController::willExitResponderChain(Responder * nextFirstResponder) {
if (nextFirstResponder == tabController()) {
assert(tabController() != nullptr);
selectableTableView()->deselectTable();
selectableTableView()->scrollToCell(0,0);
}

View File

@@ -129,6 +129,7 @@ void ValuesController::didBecomeFirstResponder() {
void ValuesController::willExitResponderChain(Responder * nextFirstResponder) {
if (nextFirstResponder == tabController()) {
assert(tabController() != nullptr);
selectableTableView()->deselectTable();
selectableTableView()->scrollToCell(0,0);
header()->setSelectedButton(-1);

View File

@@ -70,7 +70,8 @@ void HistogramController::viewWillAppear() {
}
void HistogramController::willExitResponderChain(Responder * nextFirstResponder) {
if (nextFirstResponder == nullptr || nextFirstResponder == tabController()) {
if (nextFirstResponder == tabController()) {
assert(tabController() != nullptr);
if (selectedSeriesIndex() >= 0) {
m_view.dataViewAtIndex(selectedSeriesIndex())->setForceOkDisplay(false);
}

View File

@@ -79,7 +79,8 @@ void MultipleDataViewController::didEnterResponderChain(Responder * firstRespond
}
void MultipleDataViewController::willExitResponderChain(Responder * nextFirstResponder) {
if (nextFirstResponder == nullptr || nextFirstResponder == tabController()) {
if (nextFirstResponder == tabController()) {
assert(tabController() != nullptr);
assert(*m_selectedSeriesIndex >= 0);
multipleDataView()->deselectDataView(*m_selectedSeriesIndex);
multipleDataView()->setDisplayBanner(false);

View File

@@ -58,7 +58,9 @@ void SelectableTableView::didEnterResponderChain(Responder * previousFirstRespon
}
void SelectableTableView::willExitResponderChain(Responder * nextFirstResponder) {
unhighlightSelectedCell();
if (nextFirstResponder != nullptr) {
unhighlightSelectedCell();
}
}
void SelectableTableView::deselectTable(bool withinTemporarySelection) {