diff options
| author | Nitch2024 <cedrick.collomb@gmail.com> | 2025-03-29 12:43:15 -0700 |
|---|---|---|
| committer | Nitch2024 <cedrick.collomb@gmail.com> | 2025-03-29 12:43:15 -0700 |
| commit | 1b87ea83e6064d534c3ba71d036f05ff4ffd5ec6 (patch) | |
| tree | e898747082b81a00f0d2a6b8e206d5b701a99d0f /Source/Core | |
| parent | 1981f222284448cc8a69d970e1f8569dacec684e (diff) | |
[Debugger] CTRL+G support in code and memory view
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/DolphinQt/Debugger/CodeViewWidget.cpp | 5 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/Debugger/CodeViewWidget.h | 1 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/Debugger/CodeWidget.cpp | 7 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/Debugger/CodeWidget.h | 1 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/Debugger/MemoryViewWidget.cpp | 10 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/Debugger/MemoryViewWidget.h | 2 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/Debugger/MemoryWidget.cpp | 8 | ||||
| -rw-r--r-- | Source/Core/DolphinQt/Debugger/MemoryWidget.h | 1 |
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; |
