summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorNitch2024 <cedrick.collomb@gmail.com>2025-03-29 12:43:15 -0700
committerNitch2024 <cedrick.collomb@gmail.com>2025-03-29 12:43:15 -0700
commit1b87ea83e6064d534c3ba71d036f05ff4ffd5ec6 (patch)
treee898747082b81a00f0d2a6b8e206d5b701a99d0f /Source
parent1981f222284448cc8a69d970e1f8569dacec684e (diff)
[Debugger] CTRL+G support in code and memory view
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp5
-rw-r--r--Source/Core/DolphinQt/Debugger/CodeViewWidget.h1
-rw-r--r--Source/Core/DolphinQt/Debugger/CodeWidget.cpp7
-rw-r--r--Source/Core/DolphinQt/Debugger/CodeWidget.h1
-rw-r--r--Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp10
-rw-r--r--Source/Core/DolphinQt/Debugger/MemoryViewWidget.h2
-rw-r--r--Source/Core/DolphinQt/Debugger/MemoryWidget.cpp8
-rw-r--r--Source/Core/DolphinQt/Debugger/MemoryWidget.h1
8 files changed, 35 insertions, 0 deletions
diff --git a/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp b/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp
index 696ff60d47..1f5de76ff0 100644
--- a/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp
+++ b/Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp
@@ -1085,6 +1085,11 @@ void CodeViewWidget::keyPressEvent(QKeyEvent* event)
m_address += rowCount() * sizeof(u32);
Update();
return;
+ case Qt::Key_G:
+ if (event->modifiers() == Qt::ControlModifier)
+ {
+ emit ActivateSearch();
+ }
default:
QWidget::keyPressEvent(event);
break;
diff --git a/Source/Core/DolphinQt/Debugger/CodeViewWidget.h b/Source/Core/DolphinQt/Debugger/CodeViewWidget.h
index 3fc78489ba..b59bd27277 100644
--- a/Source/Core/DolphinQt/Debugger/CodeViewWidget.h
+++ b/Source/Core/DolphinQt/Debugger/CodeViewWidget.h
@@ -58,6 +58,7 @@ signals:
void RequestPPCComparison(u32 address, bool translate_address);
void ShowMemory(u32 address);
void UpdateCodeWidget();
+ void ActivateSearch();
private:
enum class ReplaceWith
diff --git a/Source/Core/DolphinQt/Debugger/CodeWidget.cpp b/Source/Core/DolphinQt/Debugger/CodeWidget.cpp
index eedf70a192..526165ee5c 100644
--- a/Source/Core/DolphinQt/Debugger/CodeWidget.cpp
+++ b/Source/Core/DolphinQt/Debugger/CodeWidget.cpp
@@ -212,6 +212,7 @@ void CodeWidget::ConnectWidgets()
connect(m_code_view, &CodeViewWidget::RequestPPCComparison, this,
&CodeWidget::RequestPPCComparison);
connect(m_code_view, &CodeViewWidget::ShowMemory, this, &CodeWidget::ShowMemory);
+ connect(m_code_view, &CodeViewWidget::ActivateSearch, this, &CodeWidget::ActivateSearchAddress);
}
void CodeWidget::OnBranchWatchDialog()
@@ -243,6 +244,12 @@ void CodeWidget::OnPPCSymbolsChanged()
}
}
+void CodeWidget::ActivateSearchAddress()
+{
+ m_search_address->setFocus();
+ m_search_address->selectAll();
+}
+
void CodeWidget::OnSearchAddress()
{
bool good = true;
diff --git a/Source/Core/DolphinQt/Debugger/CodeWidget.h b/Source/Core/DolphinQt/Debugger/CodeWidget.h
index bf51db9d59..62f2642222 100644
--- a/Source/Core/DolphinQt/Debugger/CodeWidget.h
+++ b/Source/Core/DolphinQt/Debugger/CodeWidget.h
@@ -50,6 +50,7 @@ public:
void Update();
void UpdateSymbols();
+ void ActivateSearchAddress();
signals:
void RequestPPCComparison(u32 address, bool translate_address);
void ShowMemory(u32 address);
diff --git a/Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp b/Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp
index 75cafdd814..ef39421294 100644
--- a/Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp
+++ b/Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp
@@ -123,6 +123,11 @@ public:
case Qt::Key_PageDown:
m_view->m_address += this->rowCount() * m_view->m_bytes_per_row;
break;
+ case Qt::Key_G:
+ if (event->modifiers() == Qt::ControlModifier)
+ {
+ m_view->TriggerActivateSearch();
+ }
default:
QWidget::keyPressEvent(event);
return;
@@ -252,6 +257,11 @@ void MemoryViewWidget::UpdateFont(const QFont& font)
UpdateDispatcher(UpdateType::Full);
}
+void MemoryViewWidget::TriggerActivateSearch()
+{
+ emit ActivateSearch();
+}
+
constexpr int GetTypeSize(MemoryViewWidget::Type type)
{
switch (type)
diff --git a/Source/Core/DolphinQt/Debugger/MemoryViewWidget.h b/Source/Core/DolphinQt/Debugger/MemoryViewWidget.h
index 29d006f7db..46643e39a4 100644
--- a/Source/Core/DolphinQt/Debugger/MemoryViewWidget.h
+++ b/Source/Core/DolphinQt/Debugger/MemoryViewWidget.h
@@ -105,12 +105,14 @@ signals:
void AutoUpdate();
void ShowCode(u32 address);
void RequestWatch(QString name, u32 address);
+ void ActivateSearch();
private:
void OnContextMenu(const QPoint& pos);
void OnCopyAddress(u32 addr);
void OnCopyHex(u32 addr);
void UpdateBreakpointTags();
+ void TriggerActivateSearch();
void UpdateColumns();
void ScrollbarActionTriggered(int action);
void ScrollbarSliderReleased();
diff --git a/Source/Core/DolphinQt/Debugger/MemoryWidget.cpp b/Source/Core/DolphinQt/Debugger/MemoryWidget.cpp
index 4d06e74b10..4c15e92a03 100644
--- a/Source/Core/DolphinQt/Debugger/MemoryWidget.cpp
+++ b/Source/Core/DolphinQt/Debugger/MemoryWidget.cpp
@@ -361,6 +361,8 @@ void MemoryWidget::ConnectWidgets()
connect(m_bp_log_check, &QCheckBox::toggled, this, &MemoryWidget::OnBPLogChanged);
connect(m_memory_view, &MemoryViewWidget::ShowCode, this, &MemoryWidget::ShowCode);
connect(m_memory_view, &MemoryViewWidget::RequestWatch, this, &MemoryWidget::RequestWatch);
+ connect(m_memory_view, &MemoryViewWidget::ActivateSearch, this,
+ &MemoryWidget::ActivateSearchAddress);
}
void MemoryWidget::closeEvent(QCloseEvent*)
@@ -565,6 +567,12 @@ void MemoryWidget::SetAddress(u32 address)
m_memory_view->setFocus();
}
+void MemoryWidget::ActivateSearchAddress()
+{
+ m_search_address->setFocus();
+ m_search_address->lineEdit()->selectAll();
+}
+
void MemoryWidget::OnSearchAddress()
{
const auto target_addr = GetTargetAddress();
diff --git a/Source/Core/DolphinQt/Debugger/MemoryWidget.h b/Source/Core/DolphinQt/Debugger/MemoryWidget.h
index 9104e0516c..fad91e0626 100644
--- a/Source/Core/DolphinQt/Debugger/MemoryWidget.h
+++ b/Source/Core/DolphinQt/Debugger/MemoryWidget.h
@@ -82,6 +82,7 @@ private:
void RegisterAfterFrameEventCallback();
void RemoveAfterFrameEventCallback();
void AutoUpdateTable();
+ void ActivateSearchAddress();
Core::System& m_system;