From 88a1acdfc072ec48c348124ed59d60cf8368f83a Mon Sep 17 00:00:00 2001 From: dreamsyntax Date: Wed, 8 Apr 2020 18:12:23 -0700 Subject: implement CodeDiffTool Feature Add Diff button to CodeWidget Add Code Diff Tool window for recording and differencing functions. Allows finding specific functions based on when they run. --- Source/Core/DolphinQt/Debugger/CodeWidget.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'Source/Core/DolphinQt/Debugger/CodeWidget.cpp') diff --git a/Source/Core/DolphinQt/Debugger/CodeWidget.cpp b/Source/Core/DolphinQt/Debugger/CodeWidget.cpp index 67dd73c04b..3be5a75776 100644 --- a/Source/Core/DolphinQt/Debugger/CodeWidget.cpp +++ b/Source/Core/DolphinQt/Debugger/CodeWidget.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -95,6 +96,7 @@ void CodeWidget::CreateWidgets() m_search_address = new QLineEdit; m_search_symbols = new QLineEdit; + m_code_diff = new QPushButton(tr("Diff")); m_code_view = new CodeViewWidget; m_search_address->setPlaceholderText(tr("Search Address")); @@ -146,6 +148,7 @@ void CodeWidget::CreateWidgets() layout->addWidget(m_search_address, 0, 0); layout->addWidget(m_search_symbols, 0, 1); + layout->addWidget(m_code_diff, 0, 2); layout->addWidget(m_code_splitter, 1, 0, -1, -1); QWidget* widget = new QWidget(this); @@ -158,6 +161,7 @@ void CodeWidget::ConnectWidgets() connect(m_search_address, &QLineEdit::textChanged, this, &CodeWidget::OnSearchAddress); connect(m_search_address, &QLineEdit::returnPressed, this, &CodeWidget::OnSearchAddress); connect(m_search_symbols, &QLineEdit::textChanged, this, &CodeWidget::OnSearchSymbols); + connect(m_code_diff, &QPushButton::pressed, this, &CodeWidget::OnDiff); connect(m_symbols_list, &QListWidget::itemPressed, this, &CodeWidget::OnSelectSymbol); connect(m_callstack_list, &QListWidget::itemPressed, this, &CodeWidget::OnSelectCallstack); @@ -176,6 +180,16 @@ void CodeWidget::ConnectWidgets() connect(m_code_view, &CodeViewWidget::ShowMemory, this, &CodeWidget::ShowMemory); } +void CodeWidget::OnDiff() +{ + if (!m_diff_dialog) + m_diff_dialog = new CodeDiffDialog(this); + m_diff_dialog->setWindowFlag(Qt::WindowMinimizeButtonHint); + m_diff_dialog->show(); + m_diff_dialog->raise(); + m_diff_dialog->activateWindow(); +} + void CodeWidget::OnSearchAddress() { bool good = true; -- cgit v1.2.3