Cleanup: Turn widget accessor-functions into simple pointers

The keeps track of different sub widgets needed by other parts
of the code, notably:
	MainTab
	PlannerDetails
	PlannerSettingsWidget
	ProfileWidget2
	DivePlannerWidget
	DiveListView
Access to these widgets was provided with accessor functions.
Now these functions were very weird: instead of simply returning
pointers that were stored in the class, they accessed a data
structure which describes the different application states.
But this data structure was "duck-typed", so there was an
implicit agreement at which position the pointers to the
widgets were put inside. The widgets were then down-cast by
the accessor functions. This might make sense if the individual
widgets could for some reason be replaced by other widgets
[dynamic plugins?], but even then it would be strange, as one
would expect to get a pointer to some base class.

Therefore, directly store the properly typed pointers to the
widgets and simply remove the accessor functions. Why bother?

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2018-10-12 15:07:40 +02:00 committed by Dirk Hohndel
parent 11a211fb02
commit 78e2560296
14 changed files with 175 additions and 201 deletions

View file

@ -92,7 +92,7 @@ void TagWidget::reparse()
* Do not show the completer when not in edit mode - basically
* this returns when we are accepting or discarding the changes.
*/
if (MainWindow::instance()->information()->isEditing() == false) {
if (MainWindow::instance()->information->isEditing() == false) {
return;
}
@ -186,7 +186,7 @@ void TagWidget::keyPressEvent(QKeyEvent *e)
}
}
if (e->key() == Qt::Key_Tab && lastFinishedTag) { // if we already end in comma, go to next/prev field
MainWindow::instance()->information()->nextInputField(e); // by sending the key event to the MainTab widget
MainWindow::instance()->information->nextInputField(e); // by sending the key event to the MainTab widget
} else if (e->key() == Qt::Key_Tab || e->key() == Qt::Key_Return) { // otherwise let's pretend this is a comma instead
QKeyEvent fakeEvent(e->type(), Qt::Key_Comma, e->modifiers(), QString(","));
keyPressEvent(&fakeEvent);