mirror of
https://github.com/UpsilonNumworks/Upsilon.git
synced 2026-03-28 18:20:14 +01:00
[apps/settings] Enable to modify settings
Change-Id: Idd5e28a64d08d607f5bb2065a45ab4ecf5a26dca
This commit is contained in:
@@ -14,12 +14,13 @@ const SettingsNode menu[5] = {SettingsNode("Unite d'angles", angleChildren, 2),
|
||||
SettingsNode("Langue", languageChildren, 2)};
|
||||
const SettingsNode model = SettingsNode("Parametres", menu, 5);
|
||||
|
||||
MainController::MainController(Responder * parentResponder) :
|
||||
MainController::MainController(Responder * parentResponder, Preference * preference) :
|
||||
ViewController(parentResponder),
|
||||
m_selectableTableView(SelectableTableView(this, this, Metric::TopMargin, Metric::RightMargin,
|
||||
Metric::BottomMargin, Metric::LeftMargin)),
|
||||
m_nodeModel((Node *)&model),
|
||||
m_subController(this)
|
||||
m_preference(preference),
|
||||
m_subController(this, m_preference)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -40,7 +41,7 @@ void MainController::didBecomeFirstResponder() {
|
||||
|
||||
bool MainController::handleEvent(Ion::Events::Event event) {
|
||||
if (event == Ion::Events::OK) {
|
||||
m_subController.setNodeModel(m_nodeModel->children(m_selectableTableView.selectedRow()));
|
||||
m_subController.setNodeModel(m_nodeModel->children(m_selectableTableView.selectedRow()), m_selectableTableView.selectedRow());
|
||||
StackViewController * stack = stackController();
|
||||
stack->push(&m_subController);
|
||||
}
|
||||
@@ -65,13 +66,30 @@ KDCoordinate MainController::cellHeight() {
|
||||
return Metric::ParameterCellHeight;
|
||||
}
|
||||
|
||||
void MainController::willDisplayCellForIndex(TableViewCell * cell, int index) {
|
||||
MenuCell * myCell = (MenuCell *)cell;
|
||||
myCell->setText(m_nodeModel->children(index)->label());
|
||||
switch (index) {
|
||||
case 0:
|
||||
myCell->setSubtitle(m_nodeModel->children(index)->children((int)m_preference->angleUnit())->label());
|
||||
break;
|
||||
case 1:
|
||||
myCell->setSubtitle(m_nodeModel->children(index)->children((int)m_preference->displayMode())->label());
|
||||
break;
|
||||
case 2:
|
||||
myCell->setSubtitle(m_nodeModel->children(index)->children((int)m_preference->numberType())->label());
|
||||
break;
|
||||
case 3:
|
||||
myCell->setSubtitle(m_nodeModel->children(index)->children((int)m_preference->complexFormat())->label());
|
||||
break;
|
||||
case 4:
|
||||
myCell->setSubtitle(m_nodeModel->children(index)->children((int)m_preference->language())->label());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
StackViewController * MainController::stackController() const {
|
||||
return (StackViewController *)parentResponder();
|
||||
}
|
||||
|
||||
void MainController::willDisplayCellForIndex(TableViewCell * cell, int index) {
|
||||
ChevronMenuListCell * myCell = (ChevronMenuListCell *)cell;
|
||||
myCell->setText(m_nodeModel->children(index)->label());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user