Skip to content

Commit a86e03f

Browse files
committed
Fixing AccessibleRegistersView
1 parent 1c4d7ab commit a86e03f

File tree

6 files changed

+15
-20
lines changed

6 files changed

+15
-20
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
#pragma once
12
#include "AccessibleRegistersView.h"
23

34
QAccessibleInterface* accessibleInterfaceFactory(const QString & classname, QObject* object);

src/gui/Src/Accessible/AccessibleRegistersView.cpp

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,10 @@
22
#ifndef QT_NO_ACCESSIBILITY
33
#include "AccessibleRegistersView.h"
44

5-
AccessibleRegistersViewItem::AccessibleRegistersViewItem() : mParent(nullptr), id(RegistersView::REGISTER_NAME::CAX)
5+
AccessibleRegistersViewItem::AccessibleRegistersViewItem(AccessibleRegistersView* parent, RegistersView::REGISTER_NAME id) : mParent(parent), id(id)
66
{
77
}
88

9-
void AccessibleRegistersViewItem::setRegistersView(AccessibleRegistersView* parent, int id)
10-
{
11-
this->mParent = parent;
12-
this->id = (RegistersView::REGISTER_NAME)id;
13-
}
14-
159
QString AccessibleRegistersViewItem::text(QAccessible::Text t) const
1610
{
1711
RegistersView* w = mParent->m_registersView;
@@ -20,8 +14,8 @@ QString AccessibleRegistersViewItem::text(QAccessible::Text t) const
2014
case QAccessible::Name:
2115
case QAccessible::Value:
2216
if(w->mLABELDISPLAY.contains(id))
23-
return QString(w->mRegisterMapping[id]) + " = " + w->GetRegStringValueFromValue(w->mSelected, w->registerValue(&w->mRegDumpStruct, w->mSelected)) + ' ' + w->getRegisterLabel(id);
24-
return QString(w->mRegisterMapping[id]) + " = " + w->GetRegStringValueFromValue(w->mSelected, w->registerValue(&w->mRegDumpStruct, w->mSelected));
17+
return QString(w->mRegisterMapping[id]) + " = " + w->GetRegStringValueFromValue(id, w->registerValue(&w->mRegDumpStruct, id)) + ' ' + w->getRegisterLabel(id);
18+
return QString(w->mRegisterMapping[id]) + " = " + w->GetRegStringValueFromValue(id, w->registerValue(&w->mRegDumpStruct, id));
2519
case QAccessible::Help:
2620
return w->helpRegister(id);
2721
default:
@@ -53,7 +47,7 @@ QWindow* AccessibleRegistersViewItem::window() const
5347

5448
QAccessibleInterface* AccessibleRegistersViewItem::parent() const
5549
{
56-
return dynamic_cast<QAccessibleInterface*>(mParent);
50+
return mParent;
5751
}
5852

5953
QAccessibleInterface* AccessibleRegistersViewItem::child(int index) const
@@ -142,8 +136,7 @@ QAccessibleInterface* AccessibleRegistersView::child(int index) const
142136
}
143137
else
144138
{
145-
auto child = new AccessibleRegistersViewItem();
146-
child->setRegistersView(const_cast<AccessibleRegistersView*>(this), index);
139+
auto child = new AccessibleRegistersViewItem(const_cast<AccessibleRegistersView*>(this), (RegistersView::REGISTER_NAME)index);
147140
interfaces[index] = QAccessible::registerAccessibleInterface(child);
148141
return child;
149142
}
@@ -164,7 +157,10 @@ QAccessibleInterface* AccessibleRegistersView::childAt(int x, int y) const
164157

165158
QAccessibleInterface* AccessibleRegistersView::focusChild() const
166159
{
167-
return child(m_registersView->mSelected);
160+
if(m_registersView->mSelected < RegistersView::UNKNOWN)
161+
return child(m_registersView->mSelected);
162+
else
163+
return (QAccessibleInterface*)this;
168164
}
169165

170166
bool AccessibleRegistersView::isValid() const

src/gui/Src/Accessible/AccessibleRegistersView.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#ifndef QT_NO_ACCESSIBILITY
33
#include <array>
44
#include <QAccessibleWidget>
5-
#include "../Gui/RegistersView.h"
5+
#include "Gui/RegistersView.h"
66

77
class AccessibleRegistersView;
88

@@ -11,8 +11,7 @@ class AccessibleRegistersViewItem : public QAccessibleInterface
1111
RegistersView::REGISTER_NAME id;
1212
AccessibleRegistersView* mParent;
1313
public:
14-
AccessibleRegistersViewItem();
15-
void setRegistersView(AccessibleRegistersView* parent, int id);
14+
AccessibleRegistersViewItem(AccessibleRegistersView* parent, RegistersView::REGISTER_NAME id);
1615

1716
QString text(QAccessible::Text t) const override;
1817
QColor foregroundColor() const override;
@@ -40,7 +39,7 @@ class AccessibleRegistersView : public QAccessibleWidget
4039
~AccessibleRegistersView();
4140
int childCount() const override;
4241
QAccessibleInterface* child(int index) const override;
43-
QAccessibleInterface* QAccessibleInterface::childAt(int x, int y) const override;
42+
QAccessibleInterface* childAt(int x, int y) const override;
4443
QAccessibleInterface* focusChild() const override;
4544
bool isValid() const override;
4645
QAccessible::Role role() const override;

src/gui/Src/Gui/CPURegistersView.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#include <QListWidget>
2-
#include <QAccessibleEvent>
32
#include "MiscUtil.h"
43
#include "CPUWidget.h"
54
#include "CPUDisassembly.h"

src/gui/Src/Gui/RegistersView.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3368,7 +3368,7 @@ void RegistersView::accessibilitySelectionChanged()
33683368
else
33693369
{
33703370
QAccessibleEvent focusEvent(static_cast<RegistersView*>(this), QAccessible::Focus);
3371-
QAccessible::updateAccessibility(&updateEvent);
3371+
QAccessible::updateAccessibility(&focusEvent);
33723372
}
33733373
}
33743374
}

src/gui/Src/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
#include <QDir>
1212
#include "MiscUtil.h"
1313
#include <dwmapi.h>
14-
#include "../Accessible/Accessible.h"
14+
#include "Accessible/Accessible.h"
1515

1616
MyApplication::MyApplication(int & argc, char** argv)
1717
: QApplication(argc, argv)

0 commit comments

Comments
 (0)