Permalink
Browse files

Qt/debugger: change how the selected line in the code widget looks

Not only it colors the entire row instead of just the address, but if the pc is the selected row, the pc color will overwrite the selection, this is done via a stylesheet.
  • Loading branch information...
aldelaro5 committed May 5, 2018
1 parent 9a2dd47 commit 70ca98c8e782353f8885faf5854540cdef305e03
@@ -39,6 +39,7 @@ CodeViewWidget::CodeViewWidget()
setShowGrid(false);
setContextMenuPolicy(Qt::CustomContextMenu);
setSelectionMode(QAbstractItemView::SingleSelection);
setSelectionBehavior(QAbstractItemView::SelectRows);
verticalScrollBar()->setHidden(true);
for (int i = 0; i < columnCount(); i++)
@@ -56,6 +57,7 @@ CodeViewWidget::CodeViewWidget()
Update();
connect(this, &CodeViewWidget::customContextMenuRequested, this, &CodeViewWidget::OnContextMenu);
connect(this, &CodeViewWidget::itemSelectionChanged, this, &CodeViewWidget::OnSelectionChanged);
connect(&Settings::Instance(), &Settings::DebugFontChanged, this, &QWidget::setFont);
connect(&Settings::Instance(), &Settings::EmulationStateChanged, this, [this] {
m_address = PC;
@@ -168,7 +170,7 @@ void CodeViewWidget::Update()
if (addr == GetAddress())
{
addr_item->setSelected(true);
selectRow(addr_item->row());
}
}
@@ -390,6 +392,19 @@ void CodeViewWidget::OnRenameSymbol()
}
}
void CodeViewWidget::OnSelectionChanged()
{
if (m_address == PowerPC::ppcState.pc)
{
setStyleSheet(QString::fromStdString(
"QTableView::item:selected {background-color: #00FF00; color: #000000;}"));
}
else if (!styleSheet().isEmpty())
{
setStyleSheet(QString::fromStdString(""));
}
}
void CodeViewWidget::OnSetSymbolSize()
{
const u32 addr = GetContextAddress();
@@ -49,6 +49,7 @@ class CodeViewWidget : public QTableWidget
void OnCopyCode();
void OnCopyHex();
void OnRenameSymbol();
void OnSelectionChanged();
void OnSetSymbolSize();
void OnSetSymbolEndAddress();
void OnRunToHere();

0 comments on commit 70ca98c

Please sign in to comment.