Skip to content

Commit

Permalink
DolphinQt: add a 'add to watch' context menu item that allows you to …
Browse files Browse the repository at this point in the history
…add a memory location found in a cheat search to be added to the watch list
  • Loading branch information
iwubcode committed Dec 23, 2022
1 parent 7d7fcdd commit c8a6ff6
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 0 deletions.
4 changes: 4 additions & 0 deletions Source/Core/DolphinQt/CheatSearchWidget.cpp
Expand Up @@ -454,6 +454,10 @@ void CheatSearchWidget::OnAddressTableContextMenu()
QMenu* menu = new QMenu(this);

menu->addAction(tr("Show in memory"), [this, address] { emit ShowMemory(address); });
menu->addAction(tr("Add to watch"), this, [this, address] {
const QString name = QStringLiteral("mem_%1").arg(address, 8, 16, QLatin1Char('0'));
emit RequestWatch(name, address);
});
menu->addAction(tr("Generate Action Replay Code"), this, &CheatSearchWidget::GenerateARCode);

menu->exec(QCursor::pos());
Expand Down
1 change: 1 addition & 0 deletions Source/Core/DolphinQt/CheatSearchWidget.h
Expand Up @@ -41,6 +41,7 @@ class CheatSearchWidget : public QWidget

signals:
void ActionReplayCodeGenerated(const ActionReplay::ARCode& ar_code);
void RequestWatch(QString name, u32 address);
void ShowMemory(const u32 address);

private:
Expand Down
2 changes: 2 additions & 0 deletions Source/Core/DolphinQt/CheatsManager.cpp
Expand Up @@ -123,6 +123,8 @@ void CheatsManager::OnNewSessionCreated(const Cheats::CheatSearchSessionBase& se
m_ar_code->AddCode(ar_code);
});
w->connect(w, &CheatSearchWidget::ShowMemory, [this](u32 address) { emit ShowMemory(address); });
w->connect(w, &CheatSearchWidget::RequestWatch,
[this](QString name, u32 address) { emit RequestWatch(name, address); });
m_tab_widget->setCurrentIndex(tab_index);
}

Expand Down
1 change: 1 addition & 0 deletions Source/Core/DolphinQt/CheatsManager.h
Expand Up @@ -36,6 +36,7 @@ class CheatsManager : public QDialog
signals:
void OpenGeneralSettings();
void ShowMemory(u32 address);
void RequestWatch(QString name, u32 address);

private:
void CreateWidgets();
Expand Down
1 change: 1 addition & 0 deletions Source/Core/DolphinQt/MainWindow.cpp
Expand Up @@ -466,6 +466,7 @@ void MainWindow::CreateComponents()
connect(m_breakpoint_widget, &BreakpointWidget::ShowMemory, m_memory_widget,
&MemoryWidget::SetAddress);
connect(m_cheats_manager, &CheatsManager::ShowMemory, m_memory_widget, &MemoryWidget::SetAddress);
connect(m_cheats_manager, &CheatsManager::RequestWatch, request_watch);
}

void MainWindow::ConnectMenuBar()
Expand Down

0 comments on commit c8a6ff6

Please sign in to comment.