MCPcopy Create free account
hub / github.com/OpenXcom/OpenXcom / lstSavesPress

Method lstSavesPress

src/Menu/ListSaveState.cpp:96–133  ·  view source on GitHub ↗

* Names the selected save. * @param action Pointer to an action. */

Source from the content-addressed store, hash-verified

94 * @param action Pointer to an action.
95 */
96void 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.

Callers

nothing calls this directly

Calls 12

getDetailsMethod · 0.80
getSelectedRowMethod · 0.80
setCellTextMethod · 0.80
getCellTextMethod · 0.80
getColumnXMethod · 0.80
getRowYMethod · 0.80
setScrollingMethod · 0.80
setTextMethod · 0.45
setXMethod · 0.45
setYMethod · 0.45
setVisibleMethod · 0.45
setFocusMethod · 0.45

Tested by

no test coverage detected