diff --git a/UI/PauseScreen.cpp b/UI/PauseScreen.cpp index fda2826f35..85bb56ae3e 100644 --- a/UI/PauseScreen.cpp +++ b/UI/PauseScreen.cpp @@ -107,8 +107,6 @@ protected: gridsettings.fillCells = true; GridLayout *grid = content->Add(new GridLayoutList(gridsettings, new LinearLayoutParams(FILL_PARENT, WRAP_CONTENT, Margins(10, 0)))); - Choice *back = new Choice(di->T("Back")); - const bool hasUndo = SaveState::HasUndoSaveInSlot(saveStatePrefix_, slot_); const bool undoEnabled = g_Config.bEnableStateUndo; @@ -120,14 +118,14 @@ protected: undoButton->SetEnabled(hasUndo); } - grid->Add(new Choice(pa->T("Save State")))->OnClick.Handle(this, &ScreenshotViewScreen::OnSaveState); + grid->Add(new Choice(pa->T("Save State"), ImageID("I_FILE_SAVE")))->OnClick.Handle(this, &ScreenshotViewScreen::OnSaveState); // We can unconditionally show the load state button, because you can only pop this dialog up if a state exists. - grid->Add(new Choice(pa->T("Load State")))->OnClick.Handle(this, &ScreenshotViewScreen::OnLoadState); - grid->Add(new Choice(pa->T("Delete State")))->OnClick.Handle(this, &ScreenshotViewScreen::OnDeleteState); + grid->Add(new Choice(pa->T("Load State"), ImageID("I_FOLDER_OPEN")))->OnClick.Handle(this, &ScreenshotViewScreen::OnLoadState); + grid->Add(new Choice(di->T("Delete"), ImageID("I_TRASHCAN")))->OnClick.Handle(this, &ScreenshotViewScreen::OnDeleteState); if (undoButton) { grid->Add(undoButton)->OnClick.Handle(this, &ScreenshotViewScreen::OnUndoState); } - grid->Add(back)->OnClick.Handle(this, &UIScreen::OnBack); + grid->Add(new Choice(di->T("Back"), ImageID("I_NAVIGATE_BACK")))->OnClick.Handle(this, &UIScreen::OnBack); scroll->Add(content); parent->Add(scroll); @@ -410,21 +408,21 @@ void GamePauseScreen::CreateSavestateControls(UI::LinearLayout *leftColumnItems, *extraRow = nullptr; - LinearLayout *buttonRow = new LinearLayout(ORIENT_HORIZONTAL, new LinearLayoutParams(Margins(10, 0, 0, 0))); + LinearLayout *buttonRow = new LinearLayout(ORIENT_HORIZONTAL, new LinearLayoutParams(Margins(10, 0, 0, 10))); if (g_Config.bEnableStateUndo && !Achievements::HardcoreModeActive() && NetworkAllowSaveState()) { - UI::Choice *loadUndoButton = buttonRow->Add(new Choice(pa->T("Undo last load"), ImageID("I_NAVIGATE_BACK"), new LinearLayoutParams(WRAP_CONTENT, WRAP_CONTENT))); - loadUndoButton->SetEnabled(SaveState::HasUndoLoad(saveStatePrefix_)); - loadUndoButton->OnClick.Add([this](UI::EventParams &e) { - SaveState::UndoLoad(saveStatePrefix_, &AfterSaveStateAction); - TriggerFinish(DR_CANCEL); - }); - UI::Choice *saveUndoButton = buttonRow->Add(new Choice(pa->T("Undo last save"), ImageID("I_NAVIGATE_BACK"), new LinearLayoutParams(WRAP_CONTENT, WRAP_CONTENT))); saveUndoButton->SetEnabled(SaveState::HasUndoLastSave(saveStatePrefix_)); saveUndoButton->OnClick.Add([this](UI::EventParams &e) { SaveState::UndoLastSave(saveStatePrefix_); RecreateViews(); }); + + UI::Choice *loadUndoButton = buttonRow->Add(new Choice(pa->T("Undo last load"), ImageID("I_NAVIGATE_BACK"), new LinearLayoutParams(WRAP_CONTENT, WRAP_CONTENT))); + loadUndoButton->SetEnabled(SaveState::HasUndoLoad(saveStatePrefix_)); + loadUndoButton->OnClick.Add([this](UI::EventParams &e) { + SaveState::UndoLoad(saveStatePrefix_, &AfterSaveStateAction); + TriggerFinish(DR_CANCEL); + }); } if (g_Config.iRewindSnapshotInterval > 0 && !Achievements::HardcoreModeActive() && NetworkAllowSaveState()) { @@ -474,7 +472,7 @@ void GamePauseScreen::CreateViews() { } if (portrait) { - // We have room for a title bar. Use the game DB title if available. + // We have room for a title bar in portrait mode. Use the game DB title if available. std::string title; std::vector dbInfos; const bool inGameDB = g_gameDB.GetGameInfos(g_paramSFO.GetDiscID(), &dbInfos); diff --git a/UI/UIAtlas.cpp b/UI/UIAtlas.cpp index e68c41cf1f..d1ac589e94 100644 --- a/UI/UIAtlas.cpp +++ b/UI/UIAtlas.cpp @@ -184,6 +184,7 @@ static const ImageMeta imageIDs[] = { {"I_SHORTCUT", false}, {"I_KEYBOARD", false}, {"I_MOUSE", false}, + {"I_FILE_SAVE", false}, }; static std::string PNGNameFromID(std::string_view id) { diff --git a/assets/ui_images/images.svg b/assets/ui_images/images.svg index 80237be237..af42711bf1 100644 --- a/assets/ui_images/images.svg +++ b/assets/ui_images/images.svg @@ -24,9 +24,9 @@ inkscape:pagecheckerboard="true" inkscape:deskcolor="#d1d1d1" inkscape:document-units="px" - inkscape:zoom="2.8284271" - inkscape:cx="-1.2374369" - inkscape:cy="458.73552" + inkscape:zoom="5.6568542" + inkscape:cx="302.55332" + inkscape:cy="546.85871" inkscape:window-width="3840" inkscape:window-height="2071" inkscape:window-x="-9" @@ -3007,16 +3007,14 @@ style="baseline-shift:baseline;display:inline;overflow:visible;opacity:1;vector-effect:none;fill:#ffffff;marker:none;enable-background:accumulate;stop-color:#000000;stop-opacity:1" d="m 50.070957,117.73958 -1.123047,2.20508 v 8.18946 h 11.127879 v -8.34376 l -0.503906,-0.34765 h -4.096629 l -0.835938,-1.70313 z m 0.357422,0.58399 h 3.847656 l 0.833984,1.70508 h 4.280223 l 0.101563,0.0684 v 7.45117 h -9.957957 v -7.4668 z" id="I_FOLDER" - sodipodi:nodetypes="cccccccccccccccccc" />