1
0
This repository has been archived on 2024-03-23. You can view files and clone it, but cannot push or open issues or pull requests.
citra-canary/src/citra_qt/configuration/configure_cheats.h
GPUCode 88ea66053e
Miscallenious fixes to gl backend and qt frontend (#6834)
* renderer_gl: Make rasterizer normal class member

* It doesn't need to be heap allocated anymore

* gl_rasterizer: Remove default_texture

* It's unused

* gl_rasterizer: General cleanup

* gl_rasterizer: Lower case lambdas

* Match style with review comments from vulkan backend

* rasterizer_cache: Prevent memory leak

* Since the switch from shared_ptr these surfaces were no longer being destroyed properly. Use our garbage collector for that purpose to destroy it safely for both backends

* rasterizer_cache: Make temp copy of old surface

* The custom surface would override the memory region of the old region resulting in garbage data, this ensures the custom surface is constructed correctly

* citra_qt: Manually create dialog tabs

* Allows for custom constructors which is very useful. While at it, global state is now eliminated from configuration

* citra_qt: Eliminate global system usage

* core: Remove global system usage in memory and HIO

* citra_qt: Use qOverload

* tests: Run clang format

* gl_texture_runtime: Fix surface scaling
2023-08-02 01:40:39 +03:00

67 lines
1.7 KiB
C++

// Copyright 2018 Citra Emulator Project
// Licensed under GPLv2 or any later version
// Refer to the license.txt file included.
#pragma once
#include <memory>
#include <QWidget>
#include "common/common_types.h"
namespace Cheats {
class CheatBase;
class CheatEngine;
} // namespace Cheats
namespace Core {
class System;
}
namespace Ui {
class ConfigureCheats;
} // namespace Ui
class ConfigureCheats : public QWidget {
Q_OBJECT
public:
explicit ConfigureCheats(Core::System& system, u64 title_id, QWidget* parent = nullptr);
~ConfigureCheats();
bool ApplyConfiguration();
private:
/**
* Loads the cheats from the CheatEngine, and populates the table.
*/
void LoadCheats();
/**
* Pops up a message box asking if the user wants to save the current cheat.
* If the user selected Yes, attempts to save the current cheat.
* @return true if the user selected No, or if the cheat was saved successfully
* false if the user selected Cancel, or if the user selected Yes but saving failed
*/
bool CheckSaveCheat();
/**
* Saves the current cheat as the row-th cheat in the cheat list.
* @return true if the cheat is saved successfully, false otherwise
*/
bool SaveCheat(int row);
private slots:
void OnRowSelected(int row, int column);
void OnCheckChanged(int state);
void OnTextEdited();
void OnDeleteCheat();
void OnAddCheat();
private:
std::unique_ptr<Ui::ConfigureCheats> ui;
std::vector<std::shared_ptr<Cheats::CheatBase>> cheats;
bool edited = false, newly_created = false;
int last_row = -1, last_col = -1;
u64 title_id;
std::unique_ptr<Cheats::CheatEngine> cheat_engine;
};