mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-04 20:06:41 +01:00
Qt/WatchWidget: Don't update if not paused.
This commit is contained in:
parent
0461fae99e
commit
6d38dd9821
@ -85,6 +85,16 @@ void WatchWidget::CreateWidgets()
|
|||||||
m_table->setContextMenuPolicy(Qt::CustomContextMenu);
|
m_table->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
m_table->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
m_table->setSelectionMode(QAbstractItemView::ExtendedSelection);
|
||||||
m_table->setSelectionBehavior(QAbstractItemView::SelectRows);
|
m_table->setSelectionBehavior(QAbstractItemView::SelectRows);
|
||||||
|
m_table->setHorizontalHeaderLabels(
|
||||||
|
{tr("Label"), tr("Address"), tr("Hexadecimal"),
|
||||||
|
// i18n: The base 10 numeral system. Not related to non-integer numbers
|
||||||
|
tr("Decimal"),
|
||||||
|
// i18n: Data type used in computing
|
||||||
|
tr("String"),
|
||||||
|
// i18n: Floating-point (non-integer) number
|
||||||
|
tr("Float"), tr("Locked")});
|
||||||
|
m_table->setRowCount(1);
|
||||||
|
SetEmptyRow(0);
|
||||||
|
|
||||||
m_new = m_toolbar->addAction(tr("New"), this, &WatchWidget::OnNewWatch);
|
m_new = m_toolbar->addAction(tr("New"), this, &WatchWidget::OnNewWatch);
|
||||||
m_delete = m_toolbar->addAction(tr("Delete"), this, &WatchWidget::OnDelete);
|
m_delete = m_toolbar->addAction(tr("Delete"), this, &WatchWidget::OnDelete);
|
||||||
@ -146,23 +156,22 @@ void WatchWidget::Update()
|
|||||||
|
|
||||||
m_updating = true;
|
m_updating = true;
|
||||||
|
|
||||||
m_table->clear();
|
if (Core::GetState() != Core::State::Paused)
|
||||||
|
{
|
||||||
|
m_table->setDisabled(true);
|
||||||
|
m_updating = false;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
m_table->setDisabled(false);
|
||||||
|
m_table->clearContents();
|
||||||
|
|
||||||
|
Core::CPUThreadGuard guard;
|
||||||
|
|
||||||
int size = static_cast<int>(PowerPC::debug_interface.GetWatches().size());
|
int size = static_cast<int>(PowerPC::debug_interface.GetWatches().size());
|
||||||
|
|
||||||
m_table->setRowCount(size + 1);
|
m_table->setRowCount(size + 1);
|
||||||
|
|
||||||
m_table->setHorizontalHeaderLabels(
|
|
||||||
{tr("Label"), tr("Address"), tr("Hexadecimal"),
|
|
||||||
// i18n: The base 10 numeral system. Not related to non-integer numbers
|
|
||||||
tr("Decimal"),
|
|
||||||
// i18n: Data type used in computing
|
|
||||||
tr("String"),
|
|
||||||
// i18n: Floating-point (non-integer) number
|
|
||||||
tr("Float"), tr("Locked")});
|
|
||||||
|
|
||||||
Core::CPUThreadGuard guard;
|
|
||||||
|
|
||||||
for (int i = 0; i < size; i++)
|
for (int i = 0; i < size; i++)
|
||||||
{
|
{
|
||||||
const auto& entry = PowerPC::debug_interface.GetWatch(i);
|
const auto& entry = PowerPC::debug_interface.GetWatch(i);
|
||||||
@ -211,19 +220,24 @@ void WatchWidget::Update()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SetEmptyRow(size);
|
||||||
|
|
||||||
|
m_updating = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void WatchWidget::SetEmptyRow(int row)
|
||||||
|
{
|
||||||
auto* label = new QTableWidgetItem;
|
auto* label = new QTableWidgetItem;
|
||||||
label->setData(Qt::UserRole, -1);
|
label->setData(Qt::UserRole, -1);
|
||||||
|
|
||||||
m_table->setItem(size, 0, label);
|
m_table->setItem(row, 0, label);
|
||||||
|
|
||||||
for (int i = 1; i < NUM_COLUMNS; i++)
|
for (int i = 1; i < NUM_COLUMNS; i++)
|
||||||
{
|
{
|
||||||
auto* no_edit = new QTableWidgetItem;
|
auto* no_edit = new QTableWidgetItem;
|
||||||
no_edit->setFlags(Qt::ItemIsEnabled);
|
no_edit->setFlags(Qt::ItemIsEnabled);
|
||||||
m_table->setItem(size, i, no_edit);
|
m_table->setItem(row, i, no_edit);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_updating = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void WatchWidget::closeEvent(QCloseEvent*)
|
void WatchWidget::closeEvent(QCloseEvent*)
|
||||||
|
@ -48,6 +48,7 @@ private:
|
|||||||
|
|
||||||
void UpdateButtonsEnabled();
|
void UpdateButtonsEnabled();
|
||||||
void Update();
|
void Update();
|
||||||
|
void SetEmptyRow(int row);
|
||||||
|
|
||||||
void ShowContextMenu();
|
void ShowContextMenu();
|
||||||
void OnItemChanged(QTableWidgetItem* item);
|
void OnItemChanged(QTableWidgetItem* item);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user