rpcsx/rpcs3/rpcs3qt/patch_creator_dialog.h
2021-09-04 10:39:32 +02:00

52 lines
1.1 KiB
C++

#pragma once
#include "Utilities/bin_patch.h"
#include <QDialog>
#include <QComboBox>
#include <QKeyEvent>
namespace Ui
{
class patch_creator_dialog;
}
class patch_creator_dialog : public QDialog
{
Q_OBJECT
public:
explicit patch_creator_dialog(QWidget* parent = nullptr);
~patch_creator_dialog();
private:
Ui::patch_creator_dialog* ui;
QFont mMonoFont;
QColor mValidColor;
QColor mInvalidColor;
bool m_valid = true; // Will be invalidated immediately
enum class move_direction
{
up,
down
};
void add_instruction(int row);
void remove_instructions();
void move_instructions(int src_row, int rows_to_move, int distance, move_direction dir);
bool can_move_instructions(QModelIndexList& selection, move_direction dir);
static void init_patch_type_bombo_box(QComboBox* combo_box, patch_type set_type, bool searchable);
QComboBox* create_patch_type_bombo_box(patch_type set_type);
private Q_SLOTS:
void show_table_menu(const QPoint& pos);
void validate();
void generate_yml(const QString& text = {});
void export_patch();
protected:
bool eventFilter(QObject* object, QEvent* event) override;
};