| 2097 | // ------------------------------------------------ |
| 2098 | |
| 2099 | bool MainWindow::eventFilter(QObject *obj, QEvent *e) { |
| 2100 | if (!guiDebug) { |
| 2101 | return QMainWindow::eventFilter(obj, e); |
| 2102 | } |
| 2103 | |
| 2104 | if (e->type() == QEvent::MouseButtonPress) { |
| 2105 | QString name = obj->objectName(); |
| 2106 | |
| 2107 | if (name.length() > 3) { |
| 2108 | return QMainWindow::eventFilter(obj, e); |
| 2109 | } |
| 2110 | |
| 2111 | if (name == QStringLiteral("hl")) gotoMemAddr(hex2int(ui->hlregView->text())); |
| 2112 | if (name == QStringLiteral("de")) gotoMemAddr(hex2int(ui->deregView->text())); |
| 2113 | if (name == QStringLiteral("bc")) gotoMemAddr(hex2int(ui->bcregView->text())); |
| 2114 | if (name == QStringLiteral("ix")) gotoMemAddr(hex2int(ui->ixregView->text())); |
| 2115 | if (name == QStringLiteral("iy")) gotoMemAddr(hex2int(ui->iyregView->text())); |
| 2116 | if (name == QStringLiteral("hl_")) gotoMemAddr(hex2int(ui->hl_regView->text())); |
| 2117 | if (name == QStringLiteral("de_")) gotoMemAddr(hex2int(ui->de_regView->text())); |
| 2118 | if (name == QStringLiteral("bc_")) gotoMemAddr(hex2int(ui->bc_regView->text())); |
| 2119 | if (name == QStringLiteral("spl")) gotoMemAddr(hex2int(ui->splregView->text())); |
| 2120 | if (name == QStringLiteral("pc")) gotoMemAddr(hex2int(ui->pcregView->text())); |
| 2121 | } else if (e->type() == QEvent::MouseMove) { |
| 2122 | QString name = obj->objectName(); |
| 2123 | |
| 2124 | if (name.length() < 4) { |
| 2125 | return QMainWindow::eventFilter(obj, e); |
| 2126 | } |
| 2127 | |
| 2128 | QLineEdit *widget = static_cast<QLineEdit*>(obj); |
| 2129 | |
| 2130 | unsigned int num = widget->text().toUInt(Q_NULLPTR, 16); |
| 2131 | unsigned int num0 = num & 255; |
| 2132 | unsigned int num1 = (num >> 8) & 255; |
| 2133 | unsigned int num2 = (num >> 16) & 255; |
| 2134 | |
| 2135 | QString t; |
| 2136 | QString val = QString::number(num); |
| 2137 | QString val0 = QString::number(num0); |
| 2138 | QString val1 = QString::number(num1); |
| 2139 | QString val2 = QString::number(num2); |
| 2140 | |
| 2141 | if (num > 0x7FFFFF) { |
| 2142 | val += QStringLiteral("\n\t") + QString::number(static_cast<int32_t>(num | 0xFF000000u)); |
| 2143 | } |
| 2144 | if (num0 > 0x7F) { |
| 2145 | val0 += QStringLiteral("\t") + QString::number(static_cast<int8_t>(num0)); |
| 2146 | } |
| 2147 | if (num1 > 0x7F) { |
| 2148 | val1 += QStringLiteral("\t") + QString::number(static_cast<int8_t>(num1)); |
| 2149 | } |
| 2150 | if (num2 > 0x7F) { |
| 2151 | val2 += QStringLiteral("\t") + QString::number(static_cast<int8_t>(num2)); |
| 2152 | } |
| 2153 | |
| 2154 | if (name == QStringLiteral("afregView")) |
| 2155 | t = QStringLiteral("a:\t") + val1 + |
| 2156 | QStringLiteral("\nf:\t") + val0; |