Branch Watch Tool: Smarter Context Menu

Also, right-clicking the table's scroll area when all columns are hidden will show the column visibility menu.
This commit is contained in:
mitaclaw
2024-05-24 17:26:14 -07:00
parent 46a89936ae
commit cf6a392979
4 changed files with 130 additions and 118 deletions

View File

@ -9,6 +9,8 @@
#include <QDialog>
#include <QModelIndexList>
#include "Common/CommonTypes.h"
namespace Core
{
class BranchWatch;
@ -85,11 +87,11 @@ private:
void OnTableClicked(const QModelIndex& index);
void OnTableContextMenu(const QPoint& pos);
void OnTableHeaderContextMenu(const QPoint& pos);
void OnTableDelete(QModelIndexList index_list);
void OnTableDelete();
void OnTableDeleteKeypress();
void OnTableSetBLR(QModelIndexList index_list);
void OnTableSetNOP(QModelIndexList index_list);
void OnTableCopyAddress(QModelIndexList index_list);
void OnTableSetBLR();
void OnTableSetNOP();
void OnTableCopyAddress();
void SaveSettings();
@ -102,6 +104,9 @@ private:
void Save(const Core::CPUThreadGuard& guard, const std::string& filepath);
void Load(const Core::CPUThreadGuard& guard, const std::string& filepath);
void AutoSave(const Core::CPUThreadGuard& guard);
void SetStubPatches(u32 value) const;
[[nodiscard]] QMenu* GetTableContextMenu(const QModelIndex& index);
Core::System& m_system;
Core::BranchWatch& m_branch_watch;
@ -110,6 +115,10 @@ private:
QPushButton *m_btn_start_pause, *m_btn_clear_watch, *m_btn_path_was_taken, *m_btn_path_not_taken,
*m_btn_was_overwritten, *m_btn_not_overwritten, *m_btn_wipe_recent_hits;
QAction* m_act_autosave;
QAction* m_act_insert_nop;
QAction* m_act_insert_blr;
QAction* m_act_copy_address;
QMenu* m_mnu_table_context = nullptr;
QMenu* m_mnu_column_visibility;
QToolBar* m_control_toolbar;
@ -119,5 +128,6 @@ private:
QStatusBar* m_status_bar;
QTimer* m_timer;
QModelIndexList m_index_list_temp;
std::optional<std::string> m_autosave_filepath;
};