#pragma once #include "core/cheats.h" #include "ui_cheatmanagerdialog.h" #include #include #include #include #include #include #include class CheatManagerDialog : public QDialog { Q_OBJECT public: CheatManagerDialog(QWidget* parent); ~CheatManagerDialog(); protected: void showEvent(QShowEvent* event); void resizeEvent(QResizeEvent* event); private Q_SLOTS: void resizeColumns(); CheatList* getCheatList() const; void updateCheatList(); void saveCheatList(); void cheatListCurrentItemChanged(QTreeWidgetItem* current, QTreeWidgetItem* previous); void cheatListItemActivated(QTreeWidgetItem* item); void cheatListItemChanged(QTreeWidgetItem* item, int column); void activateCheat(u32 index); void newCategoryClicked(); void addCodeClicked(); void editCodeClicked(); void deleteCodeClicked(); void activateCodeClicked(); void importClicked(); void exportClicked(); void addToWatchClicked(); void removeWatchClicked(); void scanCurrentItemChanged(QTableWidgetItem* current, QTableWidgetItem* previous); void watchCurrentItemChanged(QTableWidgetItem* current, QTableWidgetItem* previous); void scanItemChanged(QTableWidgetItem* item); void watchItemChanged(QTableWidgetItem* item); void updateScanValue(); void updateScanUi(); private: void setupAdditionalUi(); void connectUi(); void setUpdateTimerEnabled(bool enabled); void updateResults(); void updateResultsValues(); void updateWatch(); void updateWatchValues(); void fillItemForCheatCode(QTreeWidgetItem* item, u32 index, const CheatCode& code); QTreeWidgetItem* getItemForCheatIndex(u32 index) const; QTreeWidgetItem* getItemForCheatGroup(const std::string& group) const; int getSelectedCheatIndex() const; int getSelectedResultIndex() const; int getSelectedWatchIndex() const; Ui::CheatManagerDialog m_ui; MemoryScan m_scanner; MemoryWatchList m_watch; QTimer* m_update_timer = nullptr; };