* Names the selected save. * @param action Pointer to an action. */
| 94 | * @param action Pointer to an action. |
| 95 | */ |
| 96 | void ListSaveState::lstSavesPress(Action *action) |
| 97 | { |
| 98 | ListGamesState::lstSavesPress(action); |
| 99 | if (action->getDetails()->button.button == SDL_BUTTON_LEFT) |
| 100 | { |
| 101 | _previousSelectedRow = _selectedRow; |
| 102 | _selectedRow = _lstSaves->getSelectedRow(); |
| 103 | |
| 104 | switch (_previousSelectedRow) |
| 105 | { |
| 106 | case -1: // first click on the savegame list |
| 107 | break; |
| 108 | case 0: |
| 109 | _lstSaves->setCellText(_previousSelectedRow , 0, tr("STR_NEW_SAVED_GAME_SLOT")); |
| 110 | break; |
| 111 | default: |
| 112 | _lstSaves->setCellText(_previousSelectedRow , 0, _selected); |
| 113 | } |
| 114 | |
| 115 | _selected = _lstSaves->getCellText(_lstSaves->getSelectedRow(), 0); |
| 116 | _lstSaves->setCellText(_lstSaves->getSelectedRow(), 0, L""); |
| 117 | if (_lstSaves->getSelectedRow() == 0) |
| 118 | { |
| 119 | _edtSave->setText(L""); |
| 120 | _selected = L""; |
| 121 | } |
| 122 | else |
| 123 | { |
| 124 | _edtSave->setText(_selected); |
| 125 | } |
| 126 | _edtSave->setX(_lstSaves->getColumnX(0)); |
| 127 | _edtSave->setY(_lstSaves->getRowY(_selectedRow)); |
| 128 | _edtSave->setVisible(true); |
| 129 | _edtSave->setFocus(true, false); |
| 130 | _lstSaves->setScrolling(false); |
| 131 | ListGamesState::disableSort(); |
| 132 | } |
| 133 | } |
| 134 | |
| 135 | /** |
| 136 | * Saves the selected save. |
nothing calls this directly
no test coverage detected